mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-04 02:40:11 +01:00
anv: Emit CS Stall before Instruction Cache flush for gen12 WA
Before flushing the instruction cache with a pipe control, we need to use a CS Stall pipe control. Ref: GEN:BUG:1409226450 Rework: Add stall-at-scoreboard (Lionel) Rework: Merge with other anvil pre-invalidate stalls (Lionel) Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3457> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3457>
This commit is contained in:
parent
da03e07cc2
commit
2969012d03
1 changed files with 6 additions and 0 deletions
|
|
@ -2022,6 +2022,12 @@ genX(cmd_buffer_apply_pipe_flushes)(struct anv_cmd_buffer *cmd_buffer)
|
|||
bits |= ANV_PIPE_TILE_CACHE_FLUSH_BIT;
|
||||
}
|
||||
|
||||
/* GEN:BUG:1409226450, Wait for EU to be idle before pipe control which
|
||||
* invalidates the instruction cache
|
||||
*/
|
||||
if (GEN_GEN == 12 && (bits & ANV_PIPE_INSTRUCTION_CACHE_INVALIDATE_BIT))
|
||||
bits |= ANV_PIPE_CS_STALL_BIT | ANV_PIPE_STALL_AT_SCOREBOARD_BIT;
|
||||
|
||||
if ((GEN_GEN >= 8 && GEN_GEN <= 9) &&
|
||||
(bits & ANV_PIPE_CS_STALL_BIT) &&
|
||||
(bits & ANV_PIPE_VF_CACHE_INVALIDATE_BIT)) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue