anv: take primitive ID override to account Wa_14015297576
authorTapani Pälli <tapani.palli@intel.com>
Tue, 4 Apr 2023 05:40:34 +0000 (08:40 +0300)
committerTapani Pälli <tapani.palli@intel.com>
Tue, 4 Apr 2023 07:41:58 +0000 (10:41 +0300)
Commit ca4ec49b0e0 took primitive ID override fields in to use, this
has to be checked as part of Wa_14015297576.

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/22282>

src/intel/vulkan/anv_private.h
src/intel/vulkan/genX_pipeline.c
src/intel/vulkan/gfx8_cmd_buffer.c

index 2583e81..94c4e55 100644 (file)
@@ -3115,6 +3115,7 @@ struct anv_graphics_pipeline {
    bool                                         kill_pixel;
    bool                                         force_fragment_thread_dispatch;
    bool                                         uses_xfb;
+   bool                                         primitive_id_override;
 
    /* Number of VERTEX_ELEMENT_STATE input elements used by the shader */
    uint32_t                                     vs_input_elements;
index e78ff37..1cfbdf3 100644 (file)
@@ -524,6 +524,7 @@ emit_3dstate_sbe(struct anv_graphics_pipeline *pipeline)
          sbe.PrimitiveIDOverrideComponentY = true;
          sbe.PrimitiveIDOverrideComponentZ = true;
          sbe.PrimitiveIDOverrideComponentW = true;
+         pipeline->primitive_id_override = true;
       }
    } else {
       assert(anv_pipeline_is_mesh(pipeline));
index b7565ee..29dc23e 100644 (file)
@@ -260,7 +260,8 @@ genX(cmd_emit_te)(struct anv_cmd_buffer *cmd_buffer)
           *
           * Disable Tessellation Distribution when primitive Id is enabled.
           */
-         if (geom_or_tess_prim_id_used(pipeline))
+         if (pipeline->primitive_id_override ||
+             geom_or_tess_prim_id_used(pipeline))
             te.TessellationDistributionMode = TEDMODE_OFF;
       }