mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-23 13:20:14 +01:00
hasvk: Pre-plumbing needed for VK_KHR_maintenance5
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34298>
This commit is contained in:
parent
255166a349
commit
0d6d23a54f
3 changed files with 6 additions and 5 deletions
|
|
@ -2442,6 +2442,7 @@ struct anv_cmd_graphics_state {
|
||||||
struct anv_buffer *index_buffer;
|
struct anv_buffer *index_buffer;
|
||||||
uint32_t index_type; /**< 3DSTATE_INDEX_BUFFER.IndexFormat */
|
uint32_t index_type; /**< 3DSTATE_INDEX_BUFFER.IndexFormat */
|
||||||
uint32_t index_offset;
|
uint32_t index_offset;
|
||||||
|
uint32_t index_size;
|
||||||
|
|
||||||
struct vk_sample_locations_state sample_locations;
|
struct vk_sample_locations_state sample_locations;
|
||||||
|
|
||||||
|
|
@ -2838,7 +2839,7 @@ struct anv_graphics_pipeline {
|
||||||
/* Shaders */
|
/* Shaders */
|
||||||
struct anv_shader_bin * shaders[ANV_GRAPHICS_SHADER_STAGE_COUNT];
|
struct anv_shader_bin * shaders[ANV_GRAPHICS_SHADER_STAGE_COUNT];
|
||||||
|
|
||||||
VkShaderStageFlags active_stages;
|
VkPipelineCreateFlags2KHR active_stages;
|
||||||
|
|
||||||
struct vk_sample_locations_state sample_locations;
|
struct vk_sample_locations_state sample_locations;
|
||||||
struct vk_dynamic_graphics_state dynamic_state;
|
struct vk_dynamic_graphics_state dynamic_state;
|
||||||
|
|
|
||||||
|
|
@ -5899,10 +5899,11 @@ static uint32_t vk_to_intel_index_type(VkIndexType type)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void genX(CmdBindIndexBuffer)(
|
void genX(CmdBindIndexBuffer2KHR)(
|
||||||
VkCommandBuffer commandBuffer,
|
VkCommandBuffer commandBuffer,
|
||||||
VkBuffer _buffer,
|
VkBuffer _buffer,
|
||||||
VkDeviceSize offset,
|
VkDeviceSize offset,
|
||||||
|
VkDeviceSize size,
|
||||||
VkIndexType indexType)
|
VkIndexType indexType)
|
||||||
{
|
{
|
||||||
ANV_FROM_HANDLE(anv_cmd_buffer, cmd_buffer, commandBuffer);
|
ANV_FROM_HANDLE(anv_cmd_buffer, cmd_buffer, commandBuffer);
|
||||||
|
|
@ -5912,7 +5913,7 @@ void genX(CmdBindIndexBuffer)(
|
||||||
cmd_buffer->state.gfx.index_buffer = buffer;
|
cmd_buffer->state.gfx.index_buffer = buffer;
|
||||||
cmd_buffer->state.gfx.index_type = vk_to_intel_index_type(indexType);
|
cmd_buffer->state.gfx.index_type = vk_to_intel_index_type(indexType);
|
||||||
cmd_buffer->state.gfx.index_offset = offset;
|
cmd_buffer->state.gfx.index_offset = offset;
|
||||||
|
cmd_buffer->state.gfx.index_size = vk_buffer_range(&buffer->vk, offset, size);
|
||||||
cmd_buffer->state.gfx.dirty |= ANV_CMD_DIRTY_INDEX_BUFFER;
|
cmd_buffer->state.gfx.dirty |= ANV_CMD_DIRTY_INDEX_BUFFER;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -349,8 +349,7 @@ genX(cmd_buffer_flush_dynamic_state)(struct anv_cmd_buffer *cmd_buffer)
|
||||||
buffer->address.bo,
|
buffer->address.bo,
|
||||||
ISL_SURF_USAGE_INDEX_BUFFER_BIT);
|
ISL_SURF_USAGE_INDEX_BUFFER_BIT);
|
||||||
ib.BufferStartingAddress = anv_address_add(buffer->address, offset);
|
ib.BufferStartingAddress = anv_address_add(buffer->address, offset);
|
||||||
ib.BufferSize = vk_buffer_range(&buffer->vk, offset,
|
ib.BufferSize = cmd_buffer->state.gfx.index_size;
|
||||||
VK_WHOLE_SIZE);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue