Remove output interpolation qualifier (#1070)
This commit is contained in:
parent
45c7424f7c
commit
5b5239ab5b
6 changed files with 14 additions and 71 deletions
|
@ -400,9 +400,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl
|
|||
{
|
||||
for (int attr = 0; attr < MaxAttributes; attr++)
|
||||
{
|
||||
string iq = $"{DefineNames.OutQualifierPrefixName}{attr} ";
|
||||
|
||||
context.AppendLine($"layout (location = {attr}) {iq}out vec4 {DefaultNames.OAttributePrefix}{attr};");
|
||||
context.AppendLine($"layout (location = {attr}) out vec4 {DefaultNames.OAttributePrefix}{attr};");
|
||||
}
|
||||
|
||||
foreach (int attr in info.OAttributes.OrderBy(x => x).Where(x => x >= MaxAttributes))
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
namespace Ryujinx.Graphics.Shader
|
||||
{
|
||||
public static class DefineNames
|
||||
{
|
||||
public const string OutQualifierPrefixName = "S_OUT_QUALIFIER";
|
||||
}
|
||||
}
|
|
@ -3,7 +3,7 @@ using System;
|
|||
namespace Ryujinx.Graphics.Shader
|
||||
{
|
||||
[Flags]
|
||||
public enum InterpolationQualifier
|
||||
enum InterpolationQualifier
|
||||
{
|
||||
None = 0,
|
||||
|
||||
|
@ -17,18 +17,17 @@ namespace Ryujinx.Graphics.Shader
|
|||
FlagsMask = Centroid | Sample
|
||||
}
|
||||
|
||||
public static class InterpolationQualifierExtensions
|
||||
static class InterpolationQualifierExtensions
|
||||
{
|
||||
public static string ToGlslQualifier(this InterpolationQualifier iq)
|
||||
{
|
||||
string output = string.Empty;
|
||||
|
||||
switch (iq & ~InterpolationQualifier.FlagsMask)
|
||||
string output = (iq & ~InterpolationQualifier.FlagsMask) switch
|
||||
{
|
||||
case InterpolationQualifier.Flat: output = "flat"; break;
|
||||
case InterpolationQualifier.NoPerspective: output = "noperspective"; break;
|
||||
case InterpolationQualifier.Smooth: output = "smooth"; break;
|
||||
}
|
||||
InterpolationQualifier.Flat => "flat",
|
||||
InterpolationQualifier.NoPerspective => "noperspective",
|
||||
InterpolationQualifier.Smooth => "smooth",
|
||||
_ => string.Empty
|
||||
};
|
||||
|
||||
if ((iq & InterpolationQualifier.Centroid) != 0)
|
||||
{
|
||||
|
|
|
@ -10,25 +10,20 @@ namespace Ryujinx.Graphics.Shader
|
|||
public ReadOnlyCollection<TextureDescriptor> Textures { get; }
|
||||
public ReadOnlyCollection<TextureDescriptor> Images { get; }
|
||||
|
||||
public ReadOnlyCollection<InterpolationQualifier> InterpolationQualifiers { get; }
|
||||
|
||||
public bool UsesInstanceId { get; }
|
||||
|
||||
internal ShaderProgramInfo(
|
||||
BufferDescriptor[] cBuffers,
|
||||
BufferDescriptor[] sBuffers,
|
||||
TextureDescriptor[] textures,
|
||||
TextureDescriptor[] images,
|
||||
InterpolationQualifier[] interpolationQualifiers,
|
||||
bool usesInstanceId)
|
||||
BufferDescriptor[] cBuffers,
|
||||
BufferDescriptor[] sBuffers,
|
||||
TextureDescriptor[] textures,
|
||||
TextureDescriptor[] images,
|
||||
bool usesInstanceId)
|
||||
{
|
||||
CBuffers = Array.AsReadOnly(cBuffers);
|
||||
SBuffers = Array.AsReadOnly(sBuffers);
|
||||
Textures = Array.AsReadOnly(textures);
|
||||
Images = Array.AsReadOnly(images);
|
||||
|
||||
InterpolationQualifiers = Array.AsReadOnly(interpolationQualifiers);
|
||||
|
||||
UsesInstanceId = usesInstanceId;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -79,7 +79,6 @@ namespace Ryujinx.Graphics.Shader.Translation
|
|||
program.SBufferDescriptors,
|
||||
program.TextureDescriptors,
|
||||
program.ImageDescriptors,
|
||||
sInfo.InterpolationQualifiers,
|
||||
sInfo.UsesInstanceId);
|
||||
|
||||
string glslCode = program.Code;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue