mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-04 22:49:13 +02:00
iris: replace constant cache invalidate with hdc flush
This implements Wa_14010840176.
Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21364>
(cherry picked from commit 231ede4f0c)
This commit is contained in:
parent
b6045c5fa9
commit
b0be9a58af
2 changed files with 17 additions and 2 deletions
|
|
@ -14,7 +14,7 @@
|
|||
"description": "iris: replace constant cache invalidate with hdc flush",
|
||||
"nominated": true,
|
||||
"nomination_type": 0,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": null,
|
||||
"notes": null
|
||||
|
|
|
|||
|
|
@ -9049,6 +9049,22 @@ iris_emit_raw_pipe_control(struct iris_batch *batch,
|
|||
flags |= PIPE_CONTROL_DEPTH_STALL;
|
||||
}
|
||||
|
||||
batch_mark_sync_for_pipe_control(batch, flags);
|
||||
|
||||
#if INTEL_NEEDS_WA_14010840176
|
||||
/* "If the intention of “constant cache invalidate” is
|
||||
* to invalidate the L1 cache (which can cache constants), use “HDC
|
||||
* pipeline flush” instead of Constant Cache invalidate command."
|
||||
*
|
||||
* "If L3 invalidate is needed, the w/a should be to set state invalidate
|
||||
* in the pipe control command, in addition to the HDC pipeline flush."
|
||||
*/
|
||||
if (flags & PIPE_CONTROL_CONST_CACHE_INVALIDATE) {
|
||||
flags &= ~PIPE_CONTROL_CONST_CACHE_INVALIDATE;
|
||||
flags |= PIPE_CONTROL_FLUSH_HDC | PIPE_CONTROL_STATE_CACHE_INVALIDATE;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Emit --------------------------------------------------------------- */
|
||||
|
||||
if (INTEL_DEBUG(DEBUG_PIPE_CONTROL)) {
|
||||
|
|
@ -9084,7 +9100,6 @@ iris_emit_raw_pipe_control(struct iris_batch *batch,
|
|||
imm, reason);
|
||||
}
|
||||
|
||||
batch_mark_sync_for_pipe_control(batch, flags);
|
||||
iris_batch_sync_region_start(batch);
|
||||
|
||||
const bool trace_pc =
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue