From 9971d85ce4234a0f5825f3bdfd5db634dfe6a55d Mon Sep 17 00:00:00 2001 From: Nico de Poel Date: Mon, 20 Jan 2025 18:44:38 +0100 Subject: [PATCH] Changed output texture formats from half to float, fixes Metal shader compilation issues on iOS --- .../Upscaling/SGSR2/Shaders/2_pass_cs/sgsr2_convert.compute | 2 +- .../Upscaling/SGSR2/Shaders/2_pass_cs/sgsr2_upscale.compute | 4 ++-- .../Upscaling/SGSR2/Shaders/3_pass_cs/sgsr2_activate.compute | 4 ++-- .../Upscaling/SGSR2/Shaders/3_pass_cs/sgsr2_convert.compute | 4 ++-- .../Upscaling/SGSR2/Shaders/3_pass_cs/sgsr2_upscale.compute | 4 ++-- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/SGSR2/Shaders/2_pass_cs/sgsr2_convert.compute b/Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/SGSR2/Shaders/2_pass_cs/sgsr2_convert.compute index 5d4711e..5bfb16e 100644 --- a/Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/SGSR2/Shaders/2_pass_cs/sgsr2_convert.compute +++ b/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); TYPED_TEXTURE2D_X(float, InputDepth) : register(t1); 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); [numthreads(8, 8, 1)] diff --git a/Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/SGSR2/Shaders/2_pass_cs/sgsr2_upscale.compute b/Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/SGSR2/Shaders/2_pass_cs/sgsr2_upscale.compute index 11d11c2..62c689d 100644 --- a/Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/SGSR2/Shaders/2_pass_cs/sgsr2_upscale.compute +++ b/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(MotionDepthClipAlphaBuffer) : register(t1); 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)] void CS(uint3 gl_GlobalInvocationID : SV_DispatchThreadID) diff --git a/Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/SGSR2/Shaders/3_pass_cs/sgsr2_activate.compute b/Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/SGSR2/Shaders/3_pass_cs/sgsr2_activate.compute index 7527649..d925608 100644 --- a/Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/SGSR2/Shaders/3_pass_cs/sgsr2_activate.compute +++ b/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(half4, MotionDepthAlphaBuffer) : register(t1); +TEXTURE2D_X(MotionDepthAlphaBuffer) : register(t1); 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); [numthreads(8, 8, 1)] diff --git a/Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/SGSR2/Shaders/3_pass_cs/sgsr2_convert.compute b/Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/SGSR2/Shaders/3_pass_cs/sgsr2_convert.compute index e049225..e1cd580 100644 --- a/Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/SGSR2/Shaders/3_pass_cs/sgsr2_convert.compute +++ b/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); TYPED_TEXTURE2D_X(float, InputDepth) : register(t2); 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); [numthreads(8, 8, 1)] @@ -100,5 +100,5 @@ void CS(uint3 gl_GlobalInvocationID : SV_DispatchThreadID) alpha_mask = (0.35f * 1000.0f) * alpha_mask; 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); } diff --git a/Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/SGSR2/Shaders/3_pass_cs/sgsr2_upscale.compute b/Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/SGSR2/Shaders/3_pass_cs/sgsr2_upscale.compute index d96307d..727d358 100644 --- a/Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/SGSR2/Shaders/3_pass_cs/sgsr2_upscale.compute +++ b/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(MotionDepthClipAlphaBuffer) : register(t1); 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)] void CS(uint3 gl_GlobalInvocationID : SV_DispatchThreadID)