| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- using System;
- namespace Ryujinx.Graphics.Shader
- {
- [Flags]
- public enum InterpolationQualifier
- {
- None = 0,
- Flat = 1,
- NoPerspective = 2,
- Smooth = 3,
- Centroid = 1 << 16,
- Sample = 1 << 17,
- FlagsMask = Centroid | Sample
- }
- public static class InterpolationQualifierExtensions
- {
- public static string ToGlslQualifier(this InterpolationQualifier iq)
- {
- string output = string.Empty;
- switch (iq & ~InterpolationQualifier.FlagsMask)
- {
- case InterpolationQualifier.Flat: output = "flat"; break;
- case InterpolationQualifier.NoPerspective: output = "noperspective"; break;
- case InterpolationQualifier.Smooth: output = "smooth"; break;
- }
- if ((iq & InterpolationQualifier.Centroid) != 0)
- {
- output = "centroid " + output;
- }
- else if ((iq & InterpolationQualifier.Sample) != 0)
- {
- output = "sample " + output;
- }
- return output;
- }
- }
- }
|