Skip to content

Commit

Permalink
vkd3d: Handle multiple direct draws for mesh shaders.
Browse files Browse the repository at this point in the history
Not super useful without state updates due to lack of DrawIndex, but it
is what it is.

Signed-off-by: Hans-Kristian Arntzen <[email protected]>
  • Loading branch information
HansKristian-Work committed Jun 24, 2024
1 parent 5235e47 commit 8bb7629
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions libs/vkd3d/command.c
Original file line number Diff line number Diff line change
Expand Up @@ -13834,13 +13834,16 @@ static void STDMETHODCALLTYPE d3d12_command_list_ExecuteIndirect(d3d12_command_l
if (count_buffer || list->predication.fallback_enabled)
{
VK_CALL(vkCmdDrawMeshTasksIndirectCountEXT(list->cmd.vk_command_buffer, arg_impl->res.vk_buffer,
arg_buffer_offset + arg_impl->mem.offset, scratch.buffer, scratch.offset,
arg_buffer_offset + arg_impl->mem.offset, scratch.buffer, scratch.offset,
max_command_count, signature_desc->ByteStride));
}
else
{
/* Not very useful to do MDI without state change with mesh shaders, but ...
* Has to work. */
VK_CALL(vkCmdDrawMeshTasksIndirectEXT(list->cmd.vk_command_buffer,
scratch.buffer, scratch.offset, 1, 0));
scratch.buffer, scratch.offset,
max_command_count, signature_desc->ByteStride));
}
break;

Expand Down

0 comments on commit 8bb7629

Please sign in to comment.