From 20a4235c4c96592e13648da494ca446288ac9a2f Mon Sep 17 00:00:00 2001 From: Jordan Justen Date: Sun, 29 Mar 2020 02:16:06 -0700 Subject: [PATCH] anv, iris: Set MediaSamplerDOPClockGateEnable for gen12+ This has been shown to help performance on TGL and DG1. This could be applied to gen9+, but we still need to show if it helps with those platforms. Rework: * Make change in src/intel/vulkan/genX_cmd_buffer.c too. (Ken) * Keep mask as 3 for gen < 12 Cc: mesa-stable@lists.freedesktop.org Signed-off-by: Jordan Justen Reviewed-by: Kenneth Graunke Part-of: --- src/gallium/drivers/iris/iris_state.c | 3 ++- src/intel/vulkan/genX_cmd_buffer.c | 3 ++- src/intel/vulkan/genX_state.c | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/gallium/drivers/iris/iris_state.c b/src/gallium/drivers/iris/iris_state.c index cf36dfa81d9..29c0bf9591a 100644 --- a/src/gallium/drivers/iris/iris_state.c +++ b/src/gallium/drivers/iris/iris_state.c @@ -667,7 +667,8 @@ emit_pipeline_select(struct iris_batch *batch, uint32_t pipeline) iris_emit_cmd(batch, GENX(PIPELINE_SELECT), sel) { #if GEN_GEN >= 9 - sel.MaskBits = 3; + sel.MaskBits = GEN_GEN >= 12 ? 0x13 : 3; + sel.MediaSamplerDOPClockGateEnable = GEN_GEN >= 12; #endif sel.PipelineSelection = pipeline; } diff --git a/src/intel/vulkan/genX_cmd_buffer.c b/src/intel/vulkan/genX_cmd_buffer.c index 8bcb4f4affd..09b0b42f679 100644 --- a/src/intel/vulkan/genX_cmd_buffer.c +++ b/src/intel/vulkan/genX_cmd_buffer.c @@ -4651,7 +4651,8 @@ genX(flush_pipeline_select)(struct anv_cmd_buffer *cmd_buffer, anv_batch_emit(&cmd_buffer->batch, GENX(PIPELINE_SELECT), ps) { #if GEN_GEN >= 9 - ps.MaskBits = 3; + ps.MaskBits = GEN_GEN >= 12 ? 0x13 : 3; + ps.MediaSamplerDOPClockGateEnable = GEN_GEN >= 12; #endif ps.PipelineSelection = pipeline; } diff --git a/src/intel/vulkan/genX_state.c b/src/intel/vulkan/genX_state.c index 908c676a880..a29938e90de 100644 --- a/src/intel/vulkan/genX_state.c +++ b/src/intel/vulkan/genX_state.c @@ -120,7 +120,8 @@ genX(init_device_state)(struct anv_device *device) anv_batch_emit(&batch, GENX(PIPELINE_SELECT), ps) { #if GEN_GEN >= 9 - ps.MaskBits = 3; + ps.MaskBits = GEN_GEN >= 12 ? 0x13 : 3; + ps.MediaSamplerDOPClockGateEnable = GEN_GEN >= 12; #endif ps.PipelineSelection = _3D; }