diff options
author | Jason Ekstrand <[email protected]> | 2020-01-16 17:59:43 -0600 |
---|---|---|
committer | Jason Ekstrand <[email protected]> | 2020-01-30 18:45:52 -0600 |
commit | e1bdb127b6875df602bd736465d597725f326621 (patch) | |
tree | c7772845ab6bf4a787f05af3a07fcb7bf78efbe9 /src/intel/blorp | |
parent | 9da9abf8a7a605cc9b79bd4240ff715b79ac774a (diff) |
anv,iris: Set 3DSTATE_SF::DerefBlockSize to per-poly on Gen12+
According to the BSpec, this should prevent hangs when using shaders
with large URB entries. A more precise fix can be done but it requires
re-arranging URB setup.
Cc: [email protected]
Reviewed-by: Jordan Justen <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3454>
Diffstat (limited to 'src/intel/blorp')
-rw-r--r-- | src/intel/blorp/blorp_genX_exec.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/intel/blorp/blorp_genX_exec.h b/src/intel/blorp/blorp_genX_exec.h index 9db829c30f2..84b7cac7e67 100644 --- a/src/intel/blorp/blorp_genX_exec.h +++ b/src/intel/blorp/blorp_genX_exec.h @@ -671,7 +671,11 @@ blorp_emit_sf_config(struct blorp_batch *batch, #if GEN_GEN >= 8 - blorp_emit(batch, GENX(3DSTATE_SF), sf); + blorp_emit(batch, GENX(3DSTATE_SF), sf) { +#if GEN_GEN >= 12 + sf.DerefBlockSize = PerPolyDerefMode; +#endif + } blorp_emit(batch, GENX(3DSTATE_RASTER), raster) { raster.CullMode = CULLMODE_NONE; |