Module: Mesa Branch: staging/20.2 Commit: b38d1d1b25ab4853082e24e8e500cfe061ab0fb1 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b38d1d1b25ab4853082e24e8e500cfe061ab0fb1
Author: Anuj Phogat <[email protected]> Date: Wed Sep 9 11:05:18 2020 -0700 intel/gen9: Enable MSC RAW Hazard Avoidance Workaround # 22011374674 Applied to i965, iris and anv drivers No performance impact is observed with WA. Cc: mesa-stable Signed-off-by: Anuj Phogat <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> (cherry picked from commit 545d852a7a7bc8a509d22096bdb7fb578d4bab65) --- .pick_status.json | 2 +- src/gallium/drivers/iris/iris_state.c | 2 ++ src/intel/vulkan/genX_state.c | 2 ++ src/mesa/drivers/dri/i965/brw_defines.h | 1 + src/mesa/drivers/dri/i965/brw_state_upload.c | 2 ++ 5 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.pick_status.json b/.pick_status.json index 68902006bee..921cdd55752 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -1039,7 +1039,7 @@ "description": "intel/gen9: Enable MSC RAW Hazard Avoidance", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": null }, diff --git a/src/gallium/drivers/iris/iris_state.c b/src/gallium/drivers/iris/iris_state.c index e494121ef69..1397e06226c 100644 --- a/src/gallium/drivers/iris/iris_state.c +++ b/src/gallium/drivers/iris/iris_state.c @@ -944,6 +944,8 @@ iris_init_render_context(struct iris_batch *batch) iris_pack_state(GENX(CACHE_MODE_1), ®_val, reg) { reg.FloatBlendOptimizationEnable = true; reg.FloatBlendOptimizationEnableMask = true; + reg.MSCRAWHazardAvoidanceBit = true; + reg.MSCRAWHazardAvoidanceBitMask = true; reg.PartialResolveDisableInVC = true; reg.PartialResolveDisableInVCMask = true; } diff --git a/src/intel/vulkan/genX_state.c b/src/intel/vulkan/genX_state.c index a29938e90de..e490c40f07c 100644 --- a/src/intel/vulkan/genX_state.c +++ b/src/intel/vulkan/genX_state.c @@ -131,6 +131,8 @@ genX(init_device_state)(struct anv_device *device) anv_pack_struct(&cache_mode_1, GENX(CACHE_MODE_1), .FloatBlendOptimizationEnable = true, .FloatBlendOptimizationEnableMask = true, + .MSCRAWHazardAvoidanceBit = true, + .MSCRAWHazardAvoidanceBitMask = true, .PartialResolveDisableInVC = true, .PartialResolveDisableInVCMask = true); diff --git a/src/mesa/drivers/dri/i965/brw_defines.h b/src/mesa/drivers/dri/i965/brw_defines.h index 76ec9a26a27..e52e75f3a9f 100644 --- a/src/mesa/drivers/dri/i965/brw_defines.h +++ b/src/mesa/drivers/dri/i965/brw_defines.h @@ -1561,6 +1561,7 @@ enum brw_pixel_shader_coverage_mask_mode { #define GEN7_CACHE_MODE_0 0x7000 #define GEN7_CACHE_MODE_1 0x7004 # define GEN9_FLOAT_BLEND_OPTIMIZATION_ENABLE (1 << 4) +# define GEN9_MSC_RAW_HAZARD_AVOIDANCE_BIT (1 << 9) # define GEN8_HIZ_NP_PMA_FIX_ENABLE (1 << 11) # define GEN8_HIZ_NP_EARLY_Z_FAILS_DISABLE (1 << 13) # define GEN9_PARTIAL_RESOLVE_DISABLE_IN_VC (1 << 1) diff --git a/src/mesa/drivers/dri/i965/brw_state_upload.c b/src/mesa/drivers/dri/i965/brw_state_upload.c index 564ac0e677e..7d0cf96ddfd 100644 --- a/src/mesa/drivers/dri/i965/brw_state_upload.c +++ b/src/mesa/drivers/dri/i965/brw_state_upload.c @@ -206,8 +206,10 @@ brw_upload_initial_gpu_state(struct brw_context *brw) */ brw_load_register_imm32(brw, GEN7_CACHE_MODE_1, REG_MASK(GEN9_FLOAT_BLEND_OPTIMIZATION_ENABLE) | + REG_MASK(GEN9_MSC_RAW_HAZARD_AVOIDANCE_BIT) | REG_MASK(GEN9_PARTIAL_RESOLVE_DISABLE_IN_VC) | GEN9_FLOAT_BLEND_OPTIMIZATION_ENABLE | + GEN9_MSC_RAW_HAZARD_AVOIDANCE_BIT | GEN9_PARTIAL_RESOLVE_DISABLE_IN_VC); } _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
