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:
Rob Clark
2023-09-03 09:18:42 -07:00
committed by Marge Bot
parent 9b2780dcaf
commit c2e8b52922
3 changed files with 628 additions and 610 deletions
+8
View File
@@ -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