mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-02-06 00:40:11 +00:00
vk: Explicitly declare null subpass dependencies
- We do not want any actual dependencies, but it turns out removing them entirely makes the driver add even worse dependencies.
This commit is contained in:
parent
4018b833ad
commit
23f1515448
@ -184,6 +184,28 @@ namespace vk
|
||||
attachment_references.push_back({ attachment_count, dsv_layout });
|
||||
}
|
||||
|
||||
VkSubpassDependency null_subpass_dependencies[2] =
|
||||
{
|
||||
{
|
||||
.srcSubpass = VK_SUBPASS_EXTERNAL,
|
||||
.dstSubpass = 0,
|
||||
.srcStageMask = VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT,
|
||||
.dstStageMask = VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT,
|
||||
.srcAccessMask = 0,
|
||||
.dstAccessMask = 0,
|
||||
.dependencyFlags = VK_DEPENDENCY_BY_REGION_BIT
|
||||
},
|
||||
{
|
||||
.srcSubpass = 0,
|
||||
.dstSubpass = VK_SUBPASS_EXTERNAL,
|
||||
.srcStageMask = VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT,
|
||||
.dstStageMask = VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT,
|
||||
.srcAccessMask = 0,
|
||||
.dstAccessMask = 0,
|
||||
.dependencyFlags = VK_DEPENDENCY_BY_REGION_BIT
|
||||
}
|
||||
};
|
||||
|
||||
VkSubpassDescription subpass = {};
|
||||
subpass.pipelineBindPoint = VK_PIPELINE_BIND_POINT_GRAPHICS;
|
||||
subpass.colorAttachmentCount = attachment_count;
|
||||
@ -196,8 +218,8 @@ namespace vk
|
||||
rp_info.pAttachments = attachments.data();
|
||||
rp_info.subpassCount = 1;
|
||||
rp_info.pSubpasses = &subpass;
|
||||
rp_info.pDependencies = nullptr;
|
||||
rp_info.dependencyCount = 0;
|
||||
rp_info.dependencyCount = 2;
|
||||
rp_info.pDependencies = null_subpass_dependencies;
|
||||
|
||||
VkRenderPass result;
|
||||
CHECK_RESULT(vkCreateRenderPass(dev, &rp_info, NULL, &result));
|
||||
|
Loading…
x
Reference in New Issue
Block a user