mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 07:08:04 +02:00
radv: slightly rework initializing the default graphics state
All these parameters are only used for graphics. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41136>
This commit is contained in:
parent
461154fd5c
commit
669d3915c6
1 changed files with 25 additions and 20 deletions
|
|
@ -7800,11 +7800,32 @@ radv_handle_rendering_image_transition(struct radv_cmd_buffer *cmd_buffer, struc
|
|||
}
|
||||
|
||||
static void
|
||||
radv_init_default_dynamic_graphics_state(struct radv_cmd_buffer *cmd_buffer)
|
||||
radv_init_default_state(struct radv_cmd_buffer *cmd_buffer)
|
||||
{
|
||||
vk_dynamic_graphics_state_init(&cmd_buffer->state.dynamic.vk);
|
||||
const struct radv_device *device = radv_cmd_buffer_device(cmd_buffer);
|
||||
const struct radv_physical_device *pdev = radv_device_physical(device);
|
||||
|
||||
cmd_buffer->state.dynamic.color_write_enable = 0xffffffffu;
|
||||
cmd_buffer->state.predication_type = -1;
|
||||
|
||||
if (cmd_buffer->qf == RADV_QUEUE_GENERAL) {
|
||||
vk_dynamic_graphics_state_init(&cmd_buffer->state.dynamic.vk);
|
||||
|
||||
cmd_buffer->state.dynamic.color_write_enable = 0xffffffffu;
|
||||
|
||||
cmd_buffer->state.last_index_type = -1;
|
||||
cmd_buffer->state.last_primitive_restart_en = pdev->info.gfx_level >= GFX11 ? false : -1;
|
||||
cmd_buffer->state.last_num_instances = -1;
|
||||
cmd_buffer->state.last_first_instance = -1;
|
||||
cmd_buffer->state.last_drawid = -1;
|
||||
cmd_buffer->state.last_subpass_color_count = MAX_RTS;
|
||||
|
||||
cmd_buffer->state.dirty |= RADV_CMD_DIRTY_GUARDBAND | RADV_CMD_DIRTY_OCCLUSION_QUERY |
|
||||
RADV_CMD_DIRTY_DB_SHADER_CONTROL | RADV_CMD_DIRTY_FRAGMENT_OUTPUT;
|
||||
if (pdev->info.rbplus_allowed)
|
||||
cmd_buffer->state.dirty |= RADV_CMD_DIRTY_RBPLUS;
|
||||
|
||||
cmd_buffer->state.dirty_dynamic |= RADV_DYNAMIC_ALL;
|
||||
}
|
||||
}
|
||||
|
||||
VKAPI_ATTR VkResult VKAPI_CALL
|
||||
|
|
@ -7820,25 +7841,9 @@ radv_BeginCommandBuffer(VkCommandBuffer commandBuffer, const VkCommandBufferBegi
|
|||
if (cmd_buffer->qf == RADV_QUEUE_SPARSE)
|
||||
return result;
|
||||
|
||||
cmd_buffer->state.last_index_type = -1;
|
||||
cmd_buffer->state.last_primitive_restart_en = pdev->info.gfx_level >= GFX11 ? false : -1;
|
||||
cmd_buffer->state.last_num_instances = -1;
|
||||
cmd_buffer->state.last_first_instance = -1;
|
||||
cmd_buffer->state.last_drawid = -1;
|
||||
cmd_buffer->state.last_subpass_color_count = MAX_RTS;
|
||||
cmd_buffer->state.predication_type = -1;
|
||||
|
||||
cmd_buffer->usage_flags = pBeginInfo->flags;
|
||||
|
||||
cmd_buffer->state.dirty |= RADV_CMD_DIRTY_GUARDBAND | RADV_CMD_DIRTY_OCCLUSION_QUERY |
|
||||
RADV_CMD_DIRTY_DB_SHADER_CONTROL | RADV_CMD_DIRTY_FRAGMENT_OUTPUT;
|
||||
if (pdev->info.rbplus_allowed)
|
||||
cmd_buffer->state.dirty |= RADV_CMD_DIRTY_RBPLUS;
|
||||
|
||||
cmd_buffer->state.dirty_dynamic |= RADV_DYNAMIC_ALL;
|
||||
|
||||
if (cmd_buffer->qf == RADV_QUEUE_GENERAL)
|
||||
radv_init_default_dynamic_graphics_state(cmd_buffer);
|
||||
radv_init_default_state(cmd_buffer);
|
||||
|
||||
if (cmd_buffer->qf == RADV_QUEUE_COMPUTE || device->vk.enabled_features.taskShader) {
|
||||
uint32_t pred_value = 0;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue