aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.Gpu/Shader/GpuChannelGraphicsState.cs
diff options
context:
space:
mode:
authorgdkchan <gab.dark.100@gmail.com>2023-04-05 00:25:19 -0300
committerGitHub <noreply@github.com>2023-04-05 05:25:19 +0200
commitc532118d94dea0bbafff7b92000c1a25cd4e021d (patch)
treee381eb2b7ca638d6c550eae8557da11325d5ba44 /Ryujinx.Graphics.Gpu/Shader/GpuChannelGraphicsState.cs
parent52d6f2e656c21c3e6693df93a3f09cd2e6a4e40e (diff)
Use index fragment shader output when dual source blend is enabled (#4404)1.1.696
* Use index fragment shader output when dual source blend is enabled * Shader cache version bump * Actually set DualSourceBlendEnabled to true * Fix XML doc --------- Co-authored-by: Ac_K <Acoustik666@gmail.com>
Diffstat (limited to 'Ryujinx.Graphics.Gpu/Shader/GpuChannelGraphicsState.cs')
-rw-r--r--Ryujinx.Graphics.Gpu/Shader/GpuChannelGraphicsState.cs10
1 files changed, 9 insertions, 1 deletions
diff --git a/Ryujinx.Graphics.Gpu/Shader/GpuChannelGraphicsState.cs b/Ryujinx.Graphics.Gpu/Shader/GpuChannelGraphicsState.cs
index 70ac5017..5247a096 100644
--- a/Ryujinx.Graphics.Gpu/Shader/GpuChannelGraphicsState.cs
+++ b/Ryujinx.Graphics.Gpu/Shader/GpuChannelGraphicsState.cs
@@ -93,6 +93,11 @@ namespace Ryujinx.Graphics.Gpu.Shader
public Array8<AttributeType> FragmentOutputTypes;
/// <summary>
+ /// Indicates whether dual source blend is enabled.
+ /// </summary>
+ public bool DualSourceBlendEnable;
+
+ /// <summary>
/// Creates a new GPU graphics state.
/// </summary>
/// <param name="earlyZForce">Early Z force enable</param>
@@ -111,6 +116,7 @@ namespace Ryujinx.Graphics.Gpu.Shader
/// <param name="hasConstantBufferDrawParameters">Indicates that the draw is writing the base vertex, base instance and draw index to Constant Buffer 0</param>
/// <param name="hasUnalignedStorageBuffer">Indicates that any storage buffer use is unaligned</param>
/// <param name="fragmentOutputTypes">Type of the fragment shader outputs</param>
+ /// <param name="dualSourceBlendEnable">Type of the vertex attributes consumed by the shader</param>
public GpuChannelGraphicsState(
bool earlyZForce,
PrimitiveTopology topology,
@@ -127,7 +133,8 @@ namespace Ryujinx.Graphics.Gpu.Shader
ref Array32<AttributeType> attributeTypes,
bool hasConstantBufferDrawParameters,
bool hasUnalignedStorageBuffer,
- ref Array8<AttributeType> fragmentOutputTypes)
+ ref Array8<AttributeType> fragmentOutputTypes,
+ bool dualSourceBlendEnable)
{
EarlyZForce = earlyZForce;
Topology = topology;
@@ -145,6 +152,7 @@ namespace Ryujinx.Graphics.Gpu.Shader
HasConstantBufferDrawParameters = hasConstantBufferDrawParameters;
HasUnalignedStorageBuffer = hasUnalignedStorageBuffer;
FragmentOutputTypes = fragmentOutputTypes;
+ DualSourceBlendEnable = dualSourceBlendEnable;
}
}
} \ No newline at end of file