mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-03-17 19:00:33 +01:00
anv: add missing wokraround for texture cache invalidate
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18743>
(cherry picked from commit f9dbb65e7f)
This commit is contained in:
parent
90001a78d1
commit
6cf16955f7
2 changed files with 26 additions and 1 deletions
|
|
@ -1372,7 +1372,7 @@
|
|||
"description": "anv: add missing wokraround for texture cache invalidate",
|
||||
"nominated": true,
|
||||
"nomination_type": 0,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": null
|
||||
},
|
||||
|
|
|
|||
|
|
@ -286,6 +286,18 @@ genX(cmd_buffer_emit_state_base_address)(struct anv_cmd_buffer *cmd_buffer)
|
|||
pc.StateCacheInvalidationEnable = true;
|
||||
#if GFX_VERx10 == 125
|
||||
pc.InstructionCacheInvalidateEnable = true;
|
||||
#endif
|
||||
#if GFX_VER >= 9 && GFX_VER <= 11
|
||||
/* From the SKL PRM, Vol. 2a, "PIPE_CONTROL",
|
||||
*
|
||||
* "Workaround : “CS Stall” bit in PIPE_CONTROL command must be
|
||||
* always set for GPGPU workloads when “Texture Cache Invalidation
|
||||
* Enable” bit is set".
|
||||
*
|
||||
* Workaround stopped appearing in TGL PRMs.
|
||||
*/
|
||||
pc.CommandStreamerStallEnable =
|
||||
cmd_buffer->state.current_pipeline == GPGPU;
|
||||
#endif
|
||||
anv_debug_dump_pc(pc);
|
||||
}
|
||||
|
|
@ -2269,6 +2281,19 @@ genX(emit_apply_pipe_flushes)(struct anv_batch *batch,
|
|||
pipe.InstructionCacheInvalidateEnable =
|
||||
bits & ANV_PIPE_INSTRUCTION_CACHE_INVALIDATE_BIT;
|
||||
|
||||
#if GFX_VER >= 9 && GFX_VER <= 11
|
||||
/* From the SKL PRM, Vol. 2a, "PIPE_CONTROL",
|
||||
*
|
||||
* "Workaround : “CS Stall” bit in PIPE_CONTROL command must be
|
||||
* always set for GPGPU workloads when “Texture Cache
|
||||
* Invalidation Enable” bit is set".
|
||||
*
|
||||
* Workaround stopped appearing in TGL PRMs.
|
||||
*/
|
||||
if (current_pipeline == GPGPU && pipe.TextureCacheInvalidationEnable)
|
||||
pipe.CommandStreamerStallEnable = true;
|
||||
#endif
|
||||
|
||||
/* From the SKL PRM, Vol. 2a, "PIPE_CONTROL",
|
||||
*
|
||||
* "When VF Cache Invalidate is set “Post Sync Operation” must be
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue