Mesa (master): anv/pipeline: Fix setting per sample shading in pixel shader

Anuj Phogat aphogat at kemper.freedesktop.org
Thu Jul 28 20:16:26 UTC 2016


Module: Mesa
Branch: master
Commit: 0f94cdc976256529afe8047f566dfd23df449ac2
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0f94cdc976256529afe8047f566dfd23df449ac2

Author: Anuj Phogat <anuj.phogat at gmail.com>
Date:   Thu Jul 28 09:36:26 2016 -0700

anv/pipeline: Fix setting per sample shading in pixel shader

We should use the persample_dispatch variable in prog_data.

Fixes all (~60) the DEQP sample shading tests. Many tests exited with
VK_ERROR_OUT_OF_DEVICE_MEMORY without this patch.

V2: Use the shader key bits set in brw_compile_fs (Jason)

Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>

---

 src/intel/vulkan/gen8_pipeline.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/src/intel/vulkan/gen8_pipeline.c b/src/intel/vulkan/gen8_pipeline.c
index cc10d3a..67ffca6 100644
--- a/src/intel/vulkan/gen8_pipeline.c
+++ b/src/intel/vulkan/gen8_pipeline.c
@@ -365,16 +365,13 @@ genX(graphics_pipeline_create)(
             wm_prog_data->dispatch_grf_start_reg_2;
       }
 
-      bool per_sample_ps = pCreateInfo->pMultisampleState &&
-                           pCreateInfo->pMultisampleState->sampleShadingEnable;
-
       anv_batch_emit(&pipeline->batch, GENX(3DSTATE_PS_EXTRA), ps) {
          ps.PixelShaderValid              = true;
          ps.PixelShaderKillsPixel         = wm_prog_data->uses_kill;
          ps.PixelShaderComputedDepthMode  = wm_prog_data->computed_depth_mode;
          ps.AttributeEnable               = wm_prog_data->num_varying_inputs > 0;
          ps.oMaskPresenttoRenderTarget    = wm_prog_data->uses_omask;
-         ps.PixelShaderIsPerSample        = per_sample_ps;
+         ps.PixelShaderIsPerSample        = wm_prog_data->persample_dispatch;
          ps.PixelShaderUsesSourceDepth    = wm_prog_data->uses_src_depth;
          ps.PixelShaderUsesSourceW        = wm_prog_data->uses_src_w;
 #if GEN_GEN >= 9




More information about the mesa-commit mailing list