diff options
| author | Emmanuel Hansen <emmausssss@gmail.com> | 2023-02-27 21:11:55 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-02-27 18:11:55 -0300 |
| commit | 80b497213981512e9ba1a629bcd5e2c519d2e566 (patch) | |
| tree | 0b0e8f074be1486402457ba17c941ceca1e4acff /Ryujinx.Graphics.OpenGL/Effects/Shaders/smaa_blend.glsl | |
| parent | 5d85468302dd21a93ac141abfb7b8749b938dc9a (diff) | |
Add Support for Post Processing Effects (#3616)
* Add Post Processing Effects
* fix events and shader issues
* fix gtk upscale slider value
* fix bgra games
* don't swap swizzle if already swapped
* restore opengl texture state after effects run
* addressed review
* use single pipeline for smaa and fsr
* call finish on all pipelines
* addressed review
* attempt fix file case
* attempt fixing file case
* fix filter level tick frequency
* adjust filter slider margins
* replace fxaa shaders with original shader
* addressed review
Diffstat (limited to 'Ryujinx.Graphics.OpenGL/Effects/Shaders/smaa_blend.glsl')
| -rw-r--r-- | Ryujinx.Graphics.OpenGL/Effects/Shaders/smaa_blend.glsl | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/Ryujinx.Graphics.OpenGL/Effects/Shaders/smaa_blend.glsl b/Ryujinx.Graphics.OpenGL/Effects/Shaders/smaa_blend.glsl new file mode 100644 index 00000000..c875ce12 --- /dev/null +++ b/Ryujinx.Graphics.OpenGL/Effects/Shaders/smaa_blend.glsl @@ -0,0 +1,26 @@ +layout(rgba8, binding = 0) uniform image2D imgOutput; + +uniform sampler2D inputTexture; +layout( location=0 ) uniform vec2 invResolution; +uniform sampler2D samplerArea; +uniform sampler2D samplerSearch; + +void main() { + ivec2 loc = ivec2(gl_GlobalInvocationID.x * 4, gl_GlobalInvocationID.y * 4); + for(int i = 0; i < 4; i++) + { + for(int j = 0; j < 4; j++) + { + ivec2 texelCoord = ivec2(loc.x + i, loc.y + j); + vec2 coord = (texelCoord + vec2(0.5)) / invResolution; + vec2 pixCoord; + vec4 offset[3]; + + SMAABlendingWeightCalculationVS(coord, pixCoord, offset); + + vec4 oColor = SMAABlendingWeightCalculationPS(coord, pixCoord, offset, inputTexture, samplerArea, samplerSearch, ivec4(0)); + + imageStore(imgOutput, texelCoord, oColor); + } + } +} |
