Vulkan: Fix vertex position Z conversion with geometry shader passthrough (#3781)

* Vulkan: Fix vertex position Z conversion with geometry shader passthrough

* Shader cache version bump
This commit is contained in:
gdkchan 2022-10-21 01:48:21 -03:00 committed by GitHub
parent 1e5b45f580
commit 5fdc46ac7f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 2 deletions

View file

@ -306,7 +306,10 @@ namespace Ryujinx.Graphics.Shader.Translation
config._perPatchAttributeLocations = locationsMap;
}
if (config.Stage != ShaderStage.Fragment)
// We don't consider geometry shaders using the geometry shader passthrough feature
// as being the last because when this feature is used, it can't actually modify any of the outputs,
// so the stage that comes before it is the last one that can do modifications.
if (config.Stage != ShaderStage.Fragment && (config.Stage != ShaderStage.Geometry || !config.GpPassthrough))
{
LastInVertexPipeline = false;
}