diff options
author | Jason Ekstrand <[email protected]> | 2017-12-15 16:55:54 -0800 |
---|---|---|
committer | Jason Ekstrand <[email protected]> | 2018-01-23 21:10:46 -0800 |
commit | 4064fe59e7144fa822568543cfcc043387645d4e (patch) | |
tree | 4c90ef72f2a4e91f680b63be5e4254524ba3e3d6 /src | |
parent | 38ec78049f69821091a2d42b0f457a1b044d4273 (diff) |
anv/cmd_buffer: Move gen7 index buffer state to graphics state
Tested-by: Józef Kucia <[email protected]>
Reviewed-by: Topi Pohjolainen <[email protected]>
Cc: "18.0" <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/intel/vulkan/anv_private.h | 12 | ||||
-rw-r--r-- | src/intel/vulkan/gen7_cmd_buffer.c | 14 |
2 files changed, 13 insertions, 13 deletions
diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h index c6fab614a90..b351c6f63b3 100644 --- a/src/intel/vulkan/anv_private.h +++ b/src/intel/vulkan/anv_private.h @@ -1696,6 +1696,12 @@ struct anv_cmd_graphics_state { uint32_t vb_dirty; struct anv_dynamic_state dynamic; + + struct { + struct anv_buffer *index_buffer; + uint32_t index_type; /**< 3DSTATE_INDEX_BUFFER.IndexFormat */ + uint32_t index_offset; + } gen7; }; /** State tracking for compute pipeline @@ -1769,12 +1775,6 @@ struct anv_cmd_state { * is one of the states in render_pass_states. */ struct anv_state null_surface_state; - - struct { - struct anv_buffer * index_buffer; - uint32_t index_type; /**< 3DSTATE_INDEX_BUFFER.IndexFormat */ - uint32_t index_offset; - } gen7; }; struct anv_cmd_pool { diff --git a/src/intel/vulkan/gen7_cmd_buffer.c b/src/intel/vulkan/gen7_cmd_buffer.c index db96c4f39ae..cbeb8389486 100644 --- a/src/intel/vulkan/gen7_cmd_buffer.c +++ b/src/intel/vulkan/gen7_cmd_buffer.c @@ -116,9 +116,9 @@ void genX(CmdBindIndexBuffer)( cmd_buffer->state.gfx.dirty |= ANV_CMD_DIRTY_INDEX_BUFFER; if (GEN_IS_HASWELL) cmd_buffer->state.restart_index = restart_index_for_type[indexType]; - cmd_buffer->state.gen7.index_buffer = buffer; - cmd_buffer->state.gen7.index_type = vk_to_gen_index_type[indexType]; - cmd_buffer->state.gen7.index_offset = offset; + cmd_buffer->state.gfx.gen7.index_buffer = buffer; + cmd_buffer->state.gfx.gen7.index_type = vk_to_gen_index_type[indexType]; + cmd_buffer->state.gfx.gen7.index_offset = offset; } static uint32_t @@ -227,11 +227,11 @@ genX(cmd_buffer_flush_dynamic_state)(struct anv_cmd_buffer *cmd_buffer) } } - if (cmd_buffer->state.gen7.index_buffer && + if (cmd_buffer->state.gfx.gen7.index_buffer && cmd_buffer->state.gfx.dirty & (ANV_CMD_DIRTY_PIPELINE | ANV_CMD_DIRTY_INDEX_BUFFER)) { - struct anv_buffer *buffer = cmd_buffer->state.gen7.index_buffer; - uint32_t offset = cmd_buffer->state.gen7.index_offset; + struct anv_buffer *buffer = cmd_buffer->state.gfx.gen7.index_buffer; + uint32_t offset = cmd_buffer->state.gfx.gen7.index_offset; #if GEN_IS_HASWELL anv_batch_emit(&cmd_buffer->batch, GEN75_3DSTATE_VF, vf) { @@ -244,7 +244,7 @@ genX(cmd_buffer_flush_dynamic_state)(struct anv_cmd_buffer *cmd_buffer) #if !GEN_IS_HASWELL ib.CutIndexEnable = pipeline->primitive_restart; #endif - ib.IndexFormat = cmd_buffer->state.gen7.index_type; + ib.IndexFormat = cmd_buffer->state.gfx.gen7.index_type; ib.MemoryObjectControlState = GENX(MOCS); ib.BufferStartingAddress = |