1
1
mirror of https://github.com/ryujinx-mirror/ryujinx.git synced 2025-08-24 14:46:28 -05:00

Use vector transform feedback outputs if possible (#3832)

This commit is contained in:
gdkchan
2022-11-12 20:20:40 -03:00
committed by GitHub
parent 51a27032f0
commit 9daf029f35
13 changed files with 180 additions and 82 deletions

View File

@@ -62,10 +62,18 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv
context.AddCapability(Capability.TransformFeedback);
}
if (config.Stage == ShaderStage.Fragment && context.Config.GpuAccessor.QueryHostSupportsFragmentShaderInterlock())
if (config.Stage == ShaderStage.Fragment)
{
context.AddCapability(Capability.FragmentShaderPixelInterlockEXT);
context.AddExtension("SPV_EXT_fragment_shader_interlock");
if (context.Info.Inputs.Contains(AttributeConsts.Layer))
{
context.AddCapability(Capability.Geometry);
}
if (context.Config.GpuAccessor.QueryHostSupportsFragmentShaderInterlock())
{
context.AddCapability(Capability.FragmentShaderPixelInterlockEXT);
context.AddExtension("SPV_EXT_fragment_shader_interlock");
}
}
else if (config.Stage == ShaderStage.Geometry)
{