vkd3d: Don't synchronize against PREPROCESS stages.
They are implied when using isPreprocessed = VK_FALSE. Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
This commit is contained in:
parent
6434db2c82
commit
e497e56aa1
|
@ -4084,9 +4084,9 @@ static HRESULT d3d12_command_list_build_init_commands(struct d3d12_command_list
|
||||||
barrier.sType = VK_STRUCTURE_TYPE_MEMORY_BARRIER;
|
barrier.sType = VK_STRUCTURE_TYPE_MEMORY_BARRIER;
|
||||||
barrier.pNext = NULL;
|
barrier.pNext = NULL;
|
||||||
barrier.srcAccessMask = VK_ACCESS_SHADER_WRITE_BIT;
|
barrier.srcAccessMask = VK_ACCESS_SHADER_WRITE_BIT;
|
||||||
barrier.dstAccessMask = VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV | VK_ACCESS_INDIRECT_COMMAND_READ_BIT;
|
barrier.dstAccessMask = VK_ACCESS_INDIRECT_COMMAND_READ_BIT;
|
||||||
VK_CALL(vkCmdPipelineBarrier(list->vk_init_commands, VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT,
|
VK_CALL(vkCmdPipelineBarrier(list->vk_init_commands, VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT,
|
||||||
VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT | VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV,
|
VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT,
|
||||||
0, 1, &barrier, 0, NULL, 0, NULL));
|
0, 1, &barrier, 0, NULL, 0, NULL));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9575,9 +9575,9 @@ static void d3d12_command_list_execute_indirect_state_template(
|
||||||
if (vk_patch_cmd_buffer == list->vk_command_buffer)
|
if (vk_patch_cmd_buffer == list->vk_command_buffer)
|
||||||
{
|
{
|
||||||
barrier.srcAccessMask = VK_ACCESS_SHADER_WRITE_BIT;
|
barrier.srcAccessMask = VK_ACCESS_SHADER_WRITE_BIT;
|
||||||
barrier.dstAccessMask = VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV | VK_ACCESS_INDIRECT_COMMAND_READ_BIT;
|
barrier.dstAccessMask = VK_ACCESS_INDIRECT_COMMAND_READ_BIT;
|
||||||
VK_CALL(vkCmdPipelineBarrier(vk_patch_cmd_buffer, VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT,
|
VK_CALL(vkCmdPipelineBarrier(vk_patch_cmd_buffer, VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT,
|
||||||
VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT | VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV,
|
VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT,
|
||||||
0, 1, &barrier, 0, NULL, 0, NULL));
|
0, 1, &barrier, 0, NULL, 0, NULL));
|
||||||
/* The barrier is deferred if we moved the dispatch to init command buffer. */
|
/* The barrier is deferred if we moved the dispatch to init command buffer. */
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue