Browse Source

Ported over jitter UV fixes from Snapdragon GitHub repo

sgsr2_fs
Nico de Poel 1 year ago
parent
commit
299200cb9c
  1. 4
      Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/SGSR2/Shaders/2_pass_cs/sgsr2_upscale.compute
  2. 4
      Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/SGSR2/Shaders/2_pass_fs/sgsr2_upscale.hlsl
  3. 4
      Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/SGSR2/Shaders/3_pass_cs/sgsr2_upscale.compute

4
Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/SGSR2/Shaders/2_pass_cs/sgsr2_upscale.compute

@ -31,8 +31,8 @@ void CS(uint3 gl_GlobalInvocationID : SV_DispatchThreadID)
float2 InputInfoViewportSize = float2(renderSize); float2 InputInfoViewportSize = float2(renderSize);
float2 Hruv = (float2(gl_GlobalInvocationID.xy) + 0.5f) * HistoryInfoViewportSizeInverse; float2 Hruv = (float2(gl_GlobalInvocationID.xy) + 0.5f) * HistoryInfoViewportSizeInverse;
float2 Jitteruv; float2 Jitteruv;
Jitteruv.x = clamp(Hruv.x + (InputJitter.x * HistoryInfoViewportSizeInverse.x), 0.0, 1.0);
Jitteruv.y = clamp(Hruv.y + (InputJitter.y * HistoryInfoViewportSizeInverse.y), 0.0, 1.0);
Jitteruv.x = clamp(Hruv.x + (InputJitter.x * renderSizeRcp.x), 0.0, 1.0);
Jitteruv.y = clamp(Hruv.y + (InputJitter.y * renderSizeRcp.y), 0.0, 1.0);
int2 InputPos = int2(Jitteruv * InputInfoViewportSize); int2 InputPos = int2(Jitteruv * InputInfoViewportSize);
float4 mda = SAMPLE_TEXTURE2D_X_LOD(MotionDepthClipAlphaBuffer, S_LINEAR_CLAMP, Jitteruv, 0).xyzw; float4 mda = SAMPLE_TEXTURE2D_X_LOD(MotionDepthClipAlphaBuffer, S_LINEAR_CLAMP, Jitteruv, 0).xyzw;

4
Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/SGSR2/Shaders/2_pass_fs/sgsr2_upscale.hlsl

@ -28,8 +28,8 @@ void sgsr2_upscale(const half2 texCoord, out half4 Output)
float2 Hruv = texCoord; float2 Hruv = texCoord;
float2 Jitteruv; float2 Jitteruv;
Jitteruv.x = clamp(Hruv.x + (jitterOffset.x * displaySizeRcp.x), 0.0, 1.0);
Jitteruv.y = clamp(Hruv.y + (jitterOffset.y * displaySizeRcp.y), 0.0, 1.0);
Jitteruv.x = clamp(Hruv.x + (jitterOffset.x * renderSizeRcp.x), 0.0, 1.0);
Jitteruv.y = clamp(Hruv.y + (jitterOffset.y * renderSizeRcp.y), 0.0, 1.0);
int2 InputPos = int2(Jitteruv * renderSize); int2 InputPos = int2(Jitteruv * renderSize);

4
Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/SGSR2/Shaders/3_pass_cs/sgsr2_upscale.compute

@ -31,8 +31,8 @@ void CS(uint3 gl_GlobalInvocationID : SV_DispatchThreadID)
float2 InputInfoViewportSize = float2(renderSize); float2 InputInfoViewportSize = float2(renderSize);
float2 Hruv = (float2(gl_GlobalInvocationID.xy) + 0.5f) * HistoryInfoViewportSizeInverse; float2 Hruv = (float2(gl_GlobalInvocationID.xy) + 0.5f) * HistoryInfoViewportSizeInverse;
float2 Jitteruv; float2 Jitteruv;
Jitteruv.x = clamp(Hruv.x + (InputJitter.x * HistoryInfoViewportSizeInverse.x), 0.0, 1.0);
Jitteruv.y = clamp(Hruv.y + (InputJitter.y * HistoryInfoViewportSizeInverse.y), 0.0, 1.0);
Jitteruv.x = clamp(Hruv.x + (InputJitter.x * renderSizeRcp.x), 0.0, 1.0);
Jitteruv.y = clamp(Hruv.y + (InputJitter.y * renderSizeRcp.y), 0.0, 1.0);
int2 InputPos = int2(Jitteruv * InputInfoViewportSize); int2 InputPos = int2(Jitteruv * InputInfoViewportSize);

Loading…
Cancel
Save