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