vkd3d: Emit vertex buffer sizes even when not using dynamic stride.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
This commit is contained in:
Hans-Kristian Arntzen 2020-07-09 15:14:04 +02:00
parent 0f91099dd4
commit 84d9e4b0db
1 changed files with 16 additions and 4 deletions

View File

@ -3790,10 +3790,22 @@ static void d3d12_command_list_update_dynamic_state(struct d3d12_command_list *l
while (update_vbos)
{
range = vkd3d_bitmask_iter32_range(&update_vbos);
VK_CALL(vkCmdBindVertexBuffers(list->vk_command_buffer,
range.offset, range.count,
dyn_state->vertex_buffers + range.offset,
dyn_state->vertex_offsets + range.offset));
if (list->device->device_info.extended_dynamic_state_features.extendedDynamicState)
{
VK_CALL(vkCmdBindVertexBuffers2EXT(list->vk_command_buffer,
range.offset, range.count,
dyn_state->vertex_buffers + range.offset,
dyn_state->vertex_offsets + range.offset,
dyn_state->vertex_sizes + range.offset,
NULL));
}
else
{
VK_CALL(vkCmdBindVertexBuffers(list->vk_command_buffer,
range.offset, range.count,
dyn_state->vertex_buffers + range.offset,
dyn_state->vertex_offsets + range.offset));
}
}
}