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