intel/blorp: add a new flag to communicate PSS sync need
This is required for Wa_18019816803 when blorp emit DS state. 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/18411>
This commit is contained in:
@@ -109,6 +109,9 @@ enum blorp_batch_flags {
|
||||
|
||||
/** Use the hardware blitter to perform any operations in this batch */
|
||||
BLORP_BATCH_USE_BLITTER = (1 << 4),
|
||||
|
||||
/** Need a PSS Stall Sync, Wa_18019816803. */
|
||||
BLORP_BATCH_NEED_PSS_STALL_SYNC = (1 << 5),
|
||||
};
|
||||
|
||||
struct blorp_batch {
|
||||
|
@@ -1249,6 +1249,18 @@ blorp_emit_depth_stencil_state(struct blorp_batch *batch,
|
||||
return 0;
|
||||
|
||||
GENX(3DSTATE_WM_DEPTH_STENCIL_pack)(NULL, dw, &ds);
|
||||
|
||||
#if INTEL_NEEDS_WA_18019816803
|
||||
/* Check if need PSS Stall sync. */
|
||||
if (intel_needs_workaround(batch->blorp->compiler->devinfo, 18019816803) &&
|
||||
batch->flags & BLORP_BATCH_NEED_PSS_STALL_SYNC) {
|
||||
blorp_emit(batch, GENX(PIPE_CONTROL), pc) {
|
||||
pc.PSSStallSyncEnable = true;
|
||||
}
|
||||
batch->flags &= ~BLORP_BATCH_NEED_PSS_STALL_SYNC;
|
||||
}
|
||||
#endif
|
||||
|
||||
#else
|
||||
uint32_t offset;
|
||||
void *state = blorp_alloc_dynamic_state(batch,
|
||||
|
Reference in New Issue
Block a user