diff options
author | Connor Abbott <[email protected]> | 2020-07-13 12:22:20 +0200 |
---|---|---|
committer | Connor Abbott <[email protected]> | 2020-07-14 10:23:58 +0200 |
commit | e1fa740c4c1412458b56732a222c86bef3bd6b31 (patch) | |
tree | 2e9b03427366051d8e4e0f3532f57217e826a9ec /src/freedreno/computerator/a6xx.c | |
parent | dad042b15a919d3a057482b99021a819ee81df64 (diff) |
freedreno/a6xx: Rename and document HLSQ_UPDATE_CNTL
It turns out that this clears CP_LOAD_STATE6 packets, including
disabling any pending loads for SS6_INDIRECT/SS6_BINDLESS (these loads
don't actually happen until the draw itself, and I'm not sure if they
happen if the state is unused by the shader) and marking constants and
UBO descriptors loaded with SS6_DIRECT as invalid. It's used very
differently from HLSQ_UPDATE_CNTL on a4xx from whence the name came, and
unlike on a4xx it's not readable, so this probably doesn't line up with
HLSQ_UPDATE_CNTL on a4xx.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5877>
Diffstat (limited to 'src/freedreno/computerator/a6xx.c')
-rw-r--r-- | src/freedreno/computerator/a6xx.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/freedreno/computerator/a6xx.c b/src/freedreno/computerator/a6xx.c index 72b0f067efe..21d7d1c4894 100644 --- a/src/freedreno/computerator/a6xx.c +++ b/src/freedreno/computerator/a6xx.c @@ -117,8 +117,15 @@ cs_program_emit(struct fd_ringbuffer *ring, struct kernel *kernel) const struct ir3_info *i = &v->info; enum a3xx_threadsize thrsz = FOUR_QUADS; - OUT_PKT4(ring, REG_A6XX_HLSQ_UPDATE_CNTL, 1); - OUT_RING(ring, 0xff); + OUT_PKT4(ring, REG_A6XX_HLSQ_INVALIDATE_CMD, 1); + OUT_RING(ring, A6XX_HLSQ_INVALIDATE_CMD_VS_STATE | + A6XX_HLSQ_INVALIDATE_CMD_HS_STATE | + A6XX_HLSQ_INVALIDATE_CMD_DS_STATE | + A6XX_HLSQ_INVALIDATE_CMD_GS_STATE | + A6XX_HLSQ_INVALIDATE_CMD_FS_STATE | + A6XX_HLSQ_INVALIDATE_CMD_CS_STATE | + A6XX_HLSQ_INVALIDATE_CMD_CS_IBO | + A6XX_HLSQ_INVALIDATE_CMD_GFX_IBO); unsigned constlen = align(v->constlen, 4); OUT_PKT4(ring, REG_A6XX_HLSQ_CS_CNTL, 1); |