Mesa (main): anv: move restart index to gfx state

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Jul 19 03:28:38 UTC 2022


Module: Mesa
Branch: main
Commit: 2bfcd291553b2b3088e04637a27872443e9e42ef
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2bfcd291553b2b3088e04637a27872443e9e42ef

Author: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Date:   Mon Jul  4 10:05:21 2022 +0300

anv: move restart index to gfx state

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17601>

---

 src/intel/vulkan/anv_cmd_buffer.c  | 2 +-
 src/intel/vulkan/anv_private.h     | 3 ++-
 src/intel/vulkan/genX_cmd_buffer.c | 2 +-
 src/intel/vulkan/gfx7_cmd_buffer.c | 2 +-
 src/intel/vulkan/gfx8_cmd_buffer.c | 2 +-
 5 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/src/intel/vulkan/anv_cmd_buffer.c b/src/intel/vulkan/anv_cmd_buffer.c
index 9f15ef75f4a..a83cc64a1ff 100644
--- a/src/intel/vulkan/anv_cmd_buffer.c
+++ b/src/intel/vulkan/anv_cmd_buffer.c
@@ -258,8 +258,8 @@ anv_cmd_state_init(struct anv_cmd_buffer *cmd_buffer)
    memset(state, 0, sizeof(*state));
 
    state->current_pipeline = UINT32_MAX;
-   state->restart_index = UINT32_MAX;
    anv_dynamic_state_init(&state->gfx.dynamic);
+   state->gfx.restart_index = UINT32_MAX;
    state->gfx.dirty = ANV_CMD_DIRTY_DYNAMIC_ALL;
 }
 
diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h
index 27b6a61f898..408f95360a6 100644
--- a/src/intel/vulkan/anv_private.h
+++ b/src/intel/vulkan/anv_private.h
@@ -2890,6 +2890,8 @@ struct anv_cmd_graphics_state {
    struct anv_vb_cache_range vb_bound_ranges[33];
    struct anv_vb_cache_range vb_dirty_ranges[33];
 
+   uint32_t restart_index;
+
    VkShaderStageFlags push_constant_stages;
 
    struct anv_dynamic_state dynamic;
@@ -2954,7 +2956,6 @@ struct anv_cmd_state {
    VkShaderStageFlags                           descriptors_dirty;
    VkShaderStageFlags                           push_constants_dirty;
 
-   uint32_t                                     restart_index;
    struct anv_vertex_binding                    vertex_bindings[MAX_VBS];
    bool                                         xfb_enabled;
    struct anv_xfb_binding                       xfb_bindings[MAX_XFB_BUFFERS];
diff --git a/src/intel/vulkan/genX_cmd_buffer.c b/src/intel/vulkan/genX_cmd_buffer.c
index 9671fd20333..445c8cef695 100644
--- a/src/intel/vulkan/genX_cmd_buffer.c
+++ b/src/intel/vulkan/genX_cmd_buffer.c
@@ -7396,7 +7396,7 @@ void genX(CmdBindIndexBuffer)(
    ANV_FROM_HANDLE(anv_cmd_buffer, cmd_buffer, commandBuffer);
    ANV_FROM_HANDLE(anv_buffer, buffer, _buffer);
 
-   cmd_buffer->state.restart_index = restart_index_for_type(indexType);
+   cmd_buffer->state.gfx.restart_index = restart_index_for_type(indexType);
    cmd_buffer->state.gfx.index_buffer = buffer;
    cmd_buffer->state.gfx.index_type = vk_to_intel_index_type(indexType);
    cmd_buffer->state.gfx.index_offset = offset;
diff --git a/src/intel/vulkan/gfx7_cmd_buffer.c b/src/intel/vulkan/gfx7_cmd_buffer.c
index c230c0a6329..b59b54407a8 100644
--- a/src/intel/vulkan/gfx7_cmd_buffer.c
+++ b/src/intel/vulkan/gfx7_cmd_buffer.c
@@ -207,7 +207,7 @@ genX(cmd_buffer_flush_dynamic_state)(struct anv_cmd_buffer *cmd_buffer)
 #if GFX_VERx10 == 75
       anv_batch_emit(&cmd_buffer->batch, GFX75_3DSTATE_VF, vf) {
          vf.IndexedDrawCutIndexEnable  = d->primitive_restart_enable;
-         vf.CutIndex                   = cmd_buffer->state.restart_index;
+         vf.CutIndex                   = cmd_buffer->state.gfx.restart_index;
       }
 #endif
 
diff --git a/src/intel/vulkan/gfx8_cmd_buffer.c b/src/intel/vulkan/gfx8_cmd_buffer.c
index efd0b1bdc6a..21959427f30 100644
--- a/src/intel/vulkan/gfx8_cmd_buffer.c
+++ b/src/intel/vulkan/gfx8_cmd_buffer.c
@@ -588,7 +588,7 @@ genX(cmd_buffer_flush_dynamic_state)(struct anv_cmd_buffer *cmd_buffer)
          vf.GeometryDistributionEnable = true;
 #endif
          vf.IndexedDrawCutIndexEnable  = d->primitive_restart_enable;
-         vf.CutIndex                   = cmd_buffer->state.restart_index;
+         vf.CutIndex                   = cmd_buffer->state.gfx.restart_index;
       }
    }
 



More information about the mesa-commit mailing list