diff options
| author | Rye Cogtail <rye@lindenlab.com> | 2024-08-23 22:06:28 -0400 | 
|---|---|---|
| committer | Rye Mutt <rye@alchemyviewer.org> | 2024-08-24 00:55:34 -0400 | 
| commit | 2ca193ce468cd4420e0ed47a7991661d1b1ca635 (patch) | |
| tree | 01d98ff74eaa70bcb98d896aa93f7baf42d6f76f /indra/newview/app_settings/shaders/class1/deferred | |
| parent | cbca17825614d18a96994c94ec0c38e9d8e812cf (diff) | |
Improve FXAA quality and performance when GL version is greater then 4
Adds gather4 support under GLSL 4.0+
Diffstat (limited to 'indra/newview/app_settings/shaders/class1/deferred')
| -rw-r--r-- | indra/newview/app_settings/shaders/class1/deferred/fxaaF.glsl | 20 | 
1 files changed, 17 insertions, 3 deletions
| diff --git a/indra/newview/app_settings/shaders/class1/deferred/fxaaF.glsl b/indra/newview/app_settings/shaders/class1/deferred/fxaaF.glsl index 94dac7e5a9..16e23a3da7 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/fxaaF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/fxaaF.glsl @@ -256,6 +256,10 @@ A. Or use FXAA_GREEN_AS_LUMA.      #define FXAA_GLSL_130 0  #endif  /*--------------------------------------------------------------------------*/ +#ifndef FXAA_GLSL_400 +    #define FXAA_GLSL_400 0 +#endif +/*--------------------------------------------------------------------------*/  #ifndef FXAA_HLSL_3      #define FXAA_HLSL_3 0  #endif @@ -342,8 +346,8 @@ A. Or use FXAA_GREEN_AS_LUMA.      // 1 = API supports gather4 on alpha channel.      // 0 = API does not support gather4 on alpha channel.      // -    #if (FXAA_GLSL_130 == 0) -        #define FXAA_GATHER4_ALPHA 0 +    #if (FXAA_GLSL_400 == 1) +        #define FXAA_GATHER4_ALPHA 1      #endif      #if (FXAA_HLSL_5 == 1)          #define FXAA_GATHER4_ALPHA 1 @@ -652,7 +656,7 @@ NOTE the other tuning knobs are now in the shader function inputs!                                  API PORTING  ============================================================================*/ -#if (FXAA_GLSL_120 == 1) || (FXAA_GLSL_130 == 1) +#if (FXAA_GLSL_120 == 1) || (FXAA_GLSL_130 == 1) || (FXAA_GLSL_400 == 1)      #define FxaaBool bool      #define FxaaDiscard discard      #define FxaaFloat float @@ -714,6 +718,16 @@ NOTE the other tuning knobs are now in the shader function inputs!      #endif  #endif  /*--------------------------------------------------------------------------*/ +#if (FXAA_GLSL_400 == 1) +    // Requires "#version 400" or better +    #define FxaaTexTop(t, p) textureLod(t, p, 0.0) +    #define FxaaTexOff(t, p, o, r) textureLodOffset(t, p, 0.0, o) +    #define FxaaTexAlpha4(t, p) textureGather(t, p, 3) +    #define FxaaTexOffAlpha4(t, p, o) textureGatherOffset(t, p, o, 3) +    #define FxaaTexGreen4(t, p) textureGather(t, p, 1) +    #define FxaaTexOffGreen4(t, p, o) textureGatherOffset(t, p, o, 1) +#endif +/*--------------------------------------------------------------------------*/  #if (FXAA_HLSL_3 == 1) || (FXAA_360 == 1) || (FXAA_PS3 == 1)      #define FxaaInt2 float2      #define FxaaTex sampler2D | 
