/ src / Ryujinx.Graphics.OpenGL / Effects / Shaders / smaa_neighbour.glsl
smaa_neighbour.glsl
 1  layout(rgba8, binding = 0) uniform image2D imgOutput;
 2  
 3  uniform sampler2D inputTexture;
 4  layout( location=0 ) uniform vec2 invResolution;
 5  uniform sampler2D samplerBlend;
 6  
 7  void main() {
 8      vec2 loc = ivec2(gl_GlobalInvocationID.x * 4, gl_GlobalInvocationID.y * 4);
 9      for(int i = 0; i < 4; i++)
10      {
11          for(int j = 0; j < 4; j++)
12          {
13              ivec2 texelCoord = ivec2(loc.x + i, loc.y + j);
14              vec2 coord = (texelCoord + vec2(0.5)) / invResolution;
15              vec2 pixCoord;
16              vec4 offset;
17              
18              SMAANeighborhoodBlendingVS(coord, offset);
19  
20              vec4 oColor = SMAANeighborhoodBlendingPS(coord, offset, inputTexture, samplerBlend);
21  
22              imageStore(imgOutput,  texelCoord, oColor);
23          }
24      }
25  
26  }