radv: remove dynamic uniform/storage buffers support with DGC

vkd3d-proton is the only user of NV DGC and it doesn't need that.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29726>
This commit is contained in:
Samuel Pitoiset
2024-06-14 11:31:57 +02:00
committed by Marge Bot
parent fda97d6d0a
commit dd66e43bd9
2 changed files with 5 additions and 11 deletions

View File

@@ -154,7 +154,7 @@ radv_get_sequence_size(const struct radv_indirect_command_layout *layout, struct
}
if (need_copy) {
*upload_size += align(layout->push_constant_size + 16 * layout->dynamic_offset_count, 16);
*upload_size += align(layout->push_constant_size, 16);
}
}
@@ -1822,7 +1822,7 @@ radv_CreateIndirectCommandsLayoutNV(VkDevice _device, const VkIndirectCommandsLa
layout->push_constant_offsets[j] = pCreateInfo->pTokens[i].offset + k * 4;
}
layout->push_constant_size = pipeline_layout->push_constant_size;
layout->dynamic_offset_count = pipeline_layout->dynamic_offset_count;
assert(!pipeline_layout->dynamic_offset_count);
break;
}
case VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV:
@@ -2126,8 +2126,8 @@ radv_prepare_dgc(struct radv_cmd_buffer *cmd_buffer, const VkGeneratedCommandsIn
.stream_addr = stream_addr,
};
upload_size = layout->push_constant_size + 16 * layout->dynamic_offset_count +
sizeof(layout->push_constant_offsets) + ARRAY_SIZE(pipeline->shaders) * 12;
upload_size =
layout->push_constant_size + sizeof(layout->push_constant_offsets) + ARRAY_SIZE(pipeline->shaders) * 12;
if (!layout->push_constant_mask)
upload_size = 0;
@@ -2182,7 +2182,7 @@ radv_prepare_dgc(struct radv_cmd_buffer *cmd_buffer, const VkGeneratedCommandsIn
params.push_constant_shader_cnt = idx;
params.const_copy_size = layout->push_constant_size + 16 * layout->dynamic_offset_count;
params.const_copy_size = layout->push_constant_size;
params.push_constant_mask = layout->push_constant_mask;
memcpy(upload_data, layout->push_constant_offsets, sizeof(layout->push_constant_offsets));
@@ -2190,11 +2190,6 @@ radv_prepare_dgc(struct radv_cmd_buffer *cmd_buffer, const VkGeneratedCommandsIn
memcpy(upload_data, cmd_buffer->push_constants, layout->push_constant_size);
upload_data = (char *)upload_data + layout->push_constant_size;
struct radv_descriptor_state *descriptors_state =
radv_get_descriptors_state(cmd_buffer, pGeneratedCommandsInfo->pipelineBindPoint);
memcpy(upload_data, descriptors_state->dynamic_buffers, 16 * layout->dynamic_offset_count);
upload_data = (char *)upload_data + 16 * layout->dynamic_offset_count;
}
radv_buffer_init(&token_buffer, device, cmd_buffer->upload.upload_bo, upload_size, upload_offset);

View File

@@ -44,7 +44,6 @@ struct radv_indirect_command_layout {
uint64_t push_constant_mask;
uint32_t push_constant_offsets[MAX_PUSH_CONSTANTS_SIZE / 4];
uint32_t push_constant_size;
uint32_t dynamic_offset_count;
uint32_t ibo_type_32;
uint32_t ibo_type_8;