mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2025-02-21 19:21:47 +00:00
[vulkan] Use more correct dependency flags
I was reading about multi-pass rendering on mobile devices (https://developer.oculus.com/blog/loads-stores-passes-and-advanced-gpu-pipelines/) and discovered that I had used the wrong flags (but then, I think Graham Sellers had, too, since used his Vulkan Programming Guide as a reference). Doesn't seem to make any difference on desktop, but as there's no loss there, but potential gains on mobile, I'd say it's a win.
This commit is contained in:
parent
1e9329ccf6
commit
da39bb2df3
1 changed files with 11 additions and 11 deletions
|
@ -426,19 +426,19 @@
|
||||||
{
|
{
|
||||||
srcSubpass = 0; // depth
|
srcSubpass = 0; // depth
|
||||||
dstSubpass = 1; // translucent
|
dstSubpass = 1; // translucent
|
||||||
srcStageMask = color_attachment_output;
|
srcStageMask = late_fragment_tests;
|
||||||
dstStageMask = fragment_shader;
|
dstStageMask = fragment_shader|early_fragment_tests;
|
||||||
srcAccessMask = color_attachment_write;
|
srcAccessMask = depth_stencil_attachment_write;
|
||||||
dstAccessMask = shader_read;
|
dstAccessMask = input_attachment_read|depth_stencil_attachment_read;
|
||||||
dependencyFlags = by_region;
|
dependencyFlags = by_region;
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
srcSubpass = 0; // depth
|
srcSubpass = 0; // depth
|
||||||
dstSubpass = 2; // g-buffer
|
dstSubpass = 2; // g-buffer
|
||||||
srcStageMask = color_attachment_output;
|
srcStageMask = late_fragment_tests;
|
||||||
dstStageMask = fragment_shader;
|
dstStageMask = early_fragment_tests;
|
||||||
srcAccessMask = color_attachment_write;
|
srcAccessMask = depth_stencil_attachment_write;
|
||||||
dstAccessMask = shader_read;
|
dstAccessMask = depth_stencil_attachment_read;
|
||||||
dependencyFlags = by_region;
|
dependencyFlags = by_region;
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -447,7 +447,7 @@
|
||||||
srcStageMask = color_attachment_output;
|
srcStageMask = color_attachment_output;
|
||||||
dstStageMask = fragment_shader;
|
dstStageMask = fragment_shader;
|
||||||
srcAccessMask = color_attachment_write;
|
srcAccessMask = color_attachment_write;
|
||||||
dstAccessMask = shader_read;
|
dstAccessMask = input_attachment_read;
|
||||||
dependencyFlags = by_region;
|
dependencyFlags = by_region;
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -456,7 +456,7 @@
|
||||||
srcStageMask = color_attachment_output;
|
srcStageMask = color_attachment_output;
|
||||||
dstStageMask = fragment_shader;
|
dstStageMask = fragment_shader;
|
||||||
srcAccessMask = color_attachment_write;
|
srcAccessMask = color_attachment_write;
|
||||||
dstAccessMask = shader_read;
|
dstAccessMask = input_attachment_read;
|
||||||
dependencyFlags = by_region;
|
dependencyFlags = by_region;
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -465,7 +465,7 @@
|
||||||
srcStageMask = color_attachment_output;
|
srcStageMask = color_attachment_output;
|
||||||
dstStageMask = fragment_shader;
|
dstStageMask = fragment_shader;
|
||||||
srcAccessMask = color_attachment_write;
|
srcAccessMask = color_attachment_write;
|
||||||
dstAccessMask = shader_read;
|
dstAccessMask = input_attachment_read;
|
||||||
dependencyFlags = by_region;
|
dependencyFlags = by_region;
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
Loading…
Reference in a new issue