Browse Source

Changed output texture formats from half to float, fixes Metal shader compilation issues on iOS

sgsr2_fs
Nico de Poel 1 year ago
parent
commit
9971d85ce4
  1. 2
      Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/SGSR2/Shaders/2_pass_cs/sgsr2_convert.compute
  2. 4
      Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/SGSR2/Shaders/2_pass_cs/sgsr2_upscale.compute
  3. 4
      Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/SGSR2/Shaders/3_pass_cs/sgsr2_activate.compute
  4. 4
      Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/SGSR2/Shaders/3_pass_cs/sgsr2_convert.compute
  5. 4
      Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/SGSR2/Shaders/3_pass_cs/sgsr2_upscale.compute

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

@ -13,7 +13,7 @@
TEXTURE2D_X(InputColor) : register(t0); TEXTURE2D_X(InputColor) : register(t0);
TYPED_TEXTURE2D_X(float, InputDepth) : register(t1); TYPED_TEXTURE2D_X(float, InputDepth) : register(t1);
TYPED_TEXTURE2D_X(float2, InputVelocity) : register(t2); TYPED_TEXTURE2D_X(float2, InputVelocity) : register(t2);
RW_TEXTURE2D_X(half4, MotionDepthClipAlphaBuffer) : register(u0);
RW_TEXTURE2D_X(float4, MotionDepthClipAlphaBuffer) : register(u0);
RW_TEXTURE2D_X(uint, YCoCgColor) : register(u1); RW_TEXTURE2D_X(uint, YCoCgColor) : register(u1);
[numthreads(8, 8, 1)] [numthreads(8, 8, 1)]

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

@ -14,8 +14,8 @@
TEXTURE2D_X(PrevHistoryOutput) : register(t0); TEXTURE2D_X(PrevHistoryOutput) : register(t0);
TEXTURE2D_X(MotionDepthClipAlphaBuffer) : register(t1); TEXTURE2D_X(MotionDepthClipAlphaBuffer) : register(t1);
TYPED_TEXTURE2D_X(uint, YCoCgColor) : register(t2); TYPED_TEXTURE2D_X(uint, YCoCgColor) : register(t2);
RW_TEXTURE2D_X(half4, SceneColorOutput) : register(u0);
RW_TEXTURE2D_X(half4, HistoryOutput) : register(u1);
RW_TEXTURE2D_X(float4, SceneColorOutput) : register(u0);
RW_TEXTURE2D_X(float4, HistoryOutput) : register(u1);
[numthreads(8, 8, 1)] [numthreads(8, 8, 1)]
void CS(uint3 gl_GlobalInvocationID : SV_DispatchThreadID) void CS(uint3 gl_GlobalInvocationID : SV_DispatchThreadID)

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

@ -11,9 +11,9 @@
//============================================================================================================ //============================================================================================================
TYPED_TEXTURE2D_X(uint, PrevLumaHistory) : register(t0); TYPED_TEXTURE2D_X(uint, PrevLumaHistory) : register(t0);
TYPED_TEXTURE2D_X(half4, MotionDepthAlphaBuffer) : register(t1);
TEXTURE2D_X(MotionDepthAlphaBuffer) : register(t1);
TYPED_TEXTURE2D_X(uint, YCoCgColor) : register(t2); TYPED_TEXTURE2D_X(uint, YCoCgColor) : register(t2);
RW_TEXTURE2D_X(half4, MotionDepthClipAlphaBuffer) : register(u0);
RW_TEXTURE2D_X(float4, MotionDepthClipAlphaBuffer) : register(u0);
RW_TEXTURE2D_X(uint, LumaHistory) : register(u1); RW_TEXTURE2D_X(uint, LumaHistory) : register(u1);
[numthreads(8, 8, 1)] [numthreads(8, 8, 1)]

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

@ -14,7 +14,7 @@ TEXTURE2D_X(InputOpaqueColor) : register(t0);
TEXTURE2D_X(InputColor) : register(t1); TEXTURE2D_X(InputColor) : register(t1);
TYPED_TEXTURE2D_X(float, InputDepth) : register(t2); TYPED_TEXTURE2D_X(float, InputDepth) : register(t2);
TYPED_TEXTURE2D_X(float2, InputVelocity) : register(t3); TYPED_TEXTURE2D_X(float2, InputVelocity) : register(t3);
RW_TEXTURE2D_X(half4, MotionDepthAlphaBuffer) : register(u0);
RW_TEXTURE2D_X(float4, MotionDepthAlphaBuffer) : register(u0);
RW_TEXTURE2D_X(uint, YCoCgColor) : register(u1); RW_TEXTURE2D_X(uint, YCoCgColor) : register(u1);
[numthreads(8, 8, 1)] [numthreads(8, 8, 1)]
@ -100,5 +100,5 @@ void CS(uint3 gl_GlobalInvocationID : SV_DispatchThreadID)
alpha_mask = (0.35f * 1000.0f) * alpha_mask; alpha_mask = (0.35f * 1000.0f) * alpha_mask;
YCoCgColor[COORD_TEXTURE2D_X(InputPos)] = ((x11 << 21u) | (y11 << 10u)) | z10; YCoCgColor[COORD_TEXTURE2D_X(InputPos)] = ((x11 << 21u) | (y11 << 10u)) | z10;
MotionDepthAlphaBuffer[COORD_TEXTURE2D_X(InputPos)] = half4(motion, NearestZ, alpha_mask);
MotionDepthAlphaBuffer[COORD_TEXTURE2D_X(InputPos)] = float4(motion, NearestZ, alpha_mask);
} }

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

@ -14,8 +14,8 @@
TEXTURE2D_X(PrevHistoryOutput) : register(t0); TEXTURE2D_X(PrevHistoryOutput) : register(t0);
TEXTURE2D_X(MotionDepthClipAlphaBuffer) : register(t1); TEXTURE2D_X(MotionDepthClipAlphaBuffer) : register(t1);
TYPED_TEXTURE2D_X(uint, YCoCgColor) : register(t2); TYPED_TEXTURE2D_X(uint, YCoCgColor) : register(t2);
RW_TEXTURE2D_X(half4, SceneColorOutput) : register(u0);
RW_TEXTURE2D_X(half4, HistoryOutput) : register(u1);
RW_TEXTURE2D_X(float4, SceneColorOutput) : register(u0);
RW_TEXTURE2D_X(float4, HistoryOutput) : register(u1);
[numthreads(8, 8, 1)] [numthreads(8, 8, 1)]
void CS(uint3 gl_GlobalInvocationID : SV_DispatchThreadID) void CS(uint3 gl_GlobalInvocationID : SV_DispatchThreadID)

Loading…
Cancel
Save