
* Move some properties out of ShaderConfig * Stop using ShaderConfig on backends * Replace ShaderConfig usages on Translator and passes * Move remaining properties out of ShaderConfig and delete ShaderConfig * Remove ResourceManager property from TranslatorContext * Move Rewriter passes to separate transform pass files * Fix TransformPasses.RunPass on cases where a node is removed * Move remaining ClipDistancePrimitivesWritten and UsedFeatures updates to decode stage * Reduce excessive parameter passing a bit by using structs more * Remove binding parameter from ShaderProperties methods since it is redundant * Replace decoder instruction checks with switch statement * Put GLSL on the same plan as SPIR-V for input/output declaration * Stop mutating TranslatorContext state when Translate is called * Pass most of the graphics state using a struct instead of individual query methods * Auto-format * Auto-format * Add backend logging interface * Auto-format * Remove unnecessary use of interpolated strings * Remove more modifications of AttributeUsage after decode * PR feedback * gl_Layer is not supported on compute
30 lines
805 B
C#
30 lines
805 B
C#
namespace Ryujinx.Graphics.Shader.CodeGen.Glsl.Instructions
|
|
{
|
|
static class InstGenFSI
|
|
{
|
|
public static string FSIBegin(CodeGenContext context)
|
|
{
|
|
if (context.HostCapabilities.SupportsFragmentShaderInterlock)
|
|
{
|
|
return "beginInvocationInterlockARB()";
|
|
}
|
|
else if (context.HostCapabilities.SupportsFragmentShaderOrderingIntel)
|
|
{
|
|
return "beginFragmentShaderOrderingINTEL()";
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
public static string FSIEnd(CodeGenContext context)
|
|
{
|
|
if (context.HostCapabilities.SupportsFragmentShaderInterlock)
|
|
{
|
|
return "endInvocationInterlockARB()";
|
|
}
|
|
|
|
return null;
|
|
}
|
|
}
|
|
}
|