diff --git a/src/intel/vulkan/genX_cmd_buffer.c b/src/intel/vulkan/genX_cmd_buffer.c index c31653e1633..2f04eca4d0d 100644 --- a/src/intel/vulkan/genX_cmd_buffer.c +++ b/src/intel/vulkan/genX_cmd_buffer.c @@ -6169,14 +6169,16 @@ void genX(CmdBindIndexBuffer2KHR)( cmd_buffer->state.gfx.dirty |= ANV_CMD_DIRTY_RESTART_INDEX; } + uint32_t index_size = buffer ? vk_buffer_range(&buffer->vk, offset, size) : 0; uint32_t index_type = vk_to_intel_index_type(indexType); if (cmd_buffer->state.gfx.index_buffer != buffer || cmd_buffer->state.gfx.index_type != index_type || - cmd_buffer->state.gfx.index_offset != offset) { + cmd_buffer->state.gfx.index_offset != offset || + cmd_buffer->state.gfx.index_size != index_size) { 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; - cmd_buffer->state.gfx.index_size = buffer ? vk_buffer_range(&buffer->vk, offset, size) : 0; + cmd_buffer->state.gfx.index_size = index_size; cmd_buffer->state.gfx.dirty |= ANV_CMD_DIRTY_INDEX_BUFFER; } }