freedreno/a6xx: Re-write the function-of-doom
Re-write the program state building to align more closely with turnip, for easier comparision. Signed-off-by: Rob Clark <robdclark@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24999>
This commit is contained in:
@@ -180,4 +180,12 @@ __reg_iova(const struct fd_reg_pair *reg)
|
||||
ring->cur = __p; \
|
||||
} while (0)
|
||||
|
||||
#define OUT_BUF(ring, dwords, sizedwords) \
|
||||
do { \
|
||||
uint32_t *__p = ring->cur; \
|
||||
memcpy(__p, dwords, 4 * sizedwords); \
|
||||
__p += sizedwords; \
|
||||
ring->cur = __p; \
|
||||
} while (0)
|
||||
|
||||
#endif /* FD6_PACK_H */
|
||||
|
||||
@@ -806,9 +806,11 @@ fd6_emit_restore(struct fd_batch *batch, struct fd_ringbuffer *ring)
|
||||
WRITE(REG_A6XX_UCHE_UNKNOWN_0E12, screen->info->a6xx.magic.UCHE_UNKNOWN_0E12);
|
||||
WRITE(REG_A6XX_UCHE_CLIENT_PF, screen->info->a6xx.magic.UCHE_CLIENT_PF);
|
||||
WRITE(REG_A6XX_RB_UNKNOWN_8E01, screen->info->a6xx.magic.RB_UNKNOWN_8E01);
|
||||
WRITE(REG_A6XX_SP_UNKNOWN_A9A8, 0);
|
||||
WRITE(REG_A6XX_SP_MODE_CONTROL,
|
||||
A6XX_SP_MODE_CONTROL_CONSTANT_DEMOTION_ENABLE | 4);
|
||||
WRITE(REG_A6XX_VFD_ADD_OFFSET, A6XX_VFD_ADD_OFFSET_VERTEX);
|
||||
WRITE(REG_A6XX_VPC_UNKNOWN_9107, 0);
|
||||
WRITE(REG_A6XX_RB_UNKNOWN_8811, 0x00000010);
|
||||
WRITE(REG_A6XX_PC_MODE_CNTL, screen->info->a6xx.magic.PC_MODE_CNTL);
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user