1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2024-11-29 10:24:10 +01:00

[dxvk] Remove transform feedback self-dependency from render passes

Fixes a whole bunch of validaton errors since this was technically invalid.
This commit is contained in:
Philip Rebohle 2021-08-23 17:30:05 +02:00
parent 2f5c7562c2
commit fa4f40a0e6
No known key found for this signature in database
GPG Key ID: C8CC613427A31C99

View File

@ -140,7 +140,7 @@ namespace dxvk {
if (m_format.depth.format == VK_FORMAT_UNDEFINED)
subpass.pDepthStencilAttachment = nullptr;
std::array<VkSubpassDependency, 4> subpassDeps;
std::array<VkSubpassDependency, 3> subpassDeps;
uint32_t subpassDepCount = 0;
VkPipelineStageFlags renderStages = 0;
@ -187,17 +187,6 @@ namespace dxvk {
0, renderAccess };
}
if (ops.barrier.srcStages & (
VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT |
VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT |
VK_PIPELINE_STAGE_ALL_COMMANDS_BIT)) {
subpassDeps[subpassDepCount++] = { 0, 0,
VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT,
VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT, /* XXX */
VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT,
VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT, 0 };
}
if (ops.barrier.srcStages & (
VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT |
VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT |