diff --git a/Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/ASR/Shaders/ffxm_fsr2_common.cginc b/Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/ASR/Shaders/ffxm_fsr2_common.cginc index 5be235b..9acbae8 100644 --- a/Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/ASR/Shaders/ffxm_fsr2_common.cginc +++ b/Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/ASR/Shaders/ffxm_fsr2_common.cginc @@ -3,13 +3,6 @@ #pragma warning(disable: 3205) // Conversion from larger type to smaller, possible loss of data #pragma warning(disable: 3556) // Integer divides might be much slower, try using uints if possible -// Doesn't work for: -// - DX11: forces use of DXC which is not supported -// - XB1: native FP16 seems to be unsupported -#if defined(SHADER_API_VULKAN) || defined(SHADER_API_PSSL) -//#pragma require Native16Bit // *sigh* Unity STILL ignores the #if guard when compiling for standalone -#endif - // If these keywords are set by Unity, redefine them to have a truthy value #ifdef FFXM_FSR2_OPTION_SHADER_OPT_PERFORMANCE #undef FFXM_FSR2_OPTION_SHADER_OPT_PERFORMANCE diff --git a/Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/ASR/Shaders/ffxm_fsr2_compute_luminance_pyramid_pass.compute b/Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/ASR/Shaders/ffxm_fsr2_compute_luminance_pyramid_pass.compute deleted file mode 100644 index 5d4044b..0000000 --- a/Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/ASR/Shaders/ffxm_fsr2_compute_luminance_pyramid_pass.compute +++ /dev/null @@ -1,14 +0,0 @@ -#pragma kernel main - -#pragma multi_compile __ FFXM_HALF -#pragma multi_compile __ FFXM_FSR2_OPTION_LOW_RESOLUTION_MOTION_VECTORS -#pragma multi_compile __ FFXM_FSR2_OPTION_JITTERED_MOTION_VECTORS -#pragma multi_compile __ FFXM_FSR2_OPTION_INVERTED_DEPTH - -#pragma multi_compile __ UNITY_FFXM_TEXTURE2D_X_ARRAY - -#include "ffxm_fsr2_common.cginc" - -#define FFXM_SPD_NO_WAVE_OPERATIONS - -#include "shaders/ffxm_fsr2_compute_luminance_pyramid_pass.hlsl" diff --git a/Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/ASR/Shaders/ffxm_fsr2_fs.shader b/Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/ASR/Shaders/ffxm_fsr2_fragment_modern.shader similarity index 85% rename from Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/ASR/Shaders/ffxm_fsr2_fs.shader rename to Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/ASR/Shaders/ffxm_fsr2_fragment_modern.shader index 5be5aae..9ab1cb9 100644 --- a/Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/ASR/Shaders/ffxm_fsr2_fs.shader +++ b/Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/ASR/Shaders/ffxm_fsr2_fragment_modern.shader @@ -1,4 +1,4 @@ -Shader "TND/ASR/ffx_fsr2_fs" +Shader "TND/ASR/ffxm_fsr2_fragment_modern" { SubShader { @@ -12,6 +12,9 @@ Shader "TND/ASR/ffx_fsr2_fs" #pragma vertex VertMain #pragma fragment main #pragma target 4.5 + #pragma only_renderers d3d11 vulkan metal ps5 xboxseries + #pragma use_dxc + #pragma require Native16Bit //#pragma enable_d3d11_debug_symbols #pragma multi_compile __ FFXM_HALF @@ -32,6 +35,9 @@ Shader "TND/ASR/ffx_fsr2_fs" #pragma vertex VertMain #pragma fragment main #pragma target 4.5 + #pragma only_renderers d3d11 vulkan metal ps5 xboxseries + #pragma use_dxc + #pragma require Native16Bit //#pragma enable_d3d11_debug_symbols #pragma multi_compile __ FFXM_HALF @@ -56,6 +62,9 @@ Shader "TND/ASR/ffx_fsr2_fs" #pragma vertex VertMain #pragma fragment main #pragma target 4.5 + #pragma only_renderers d3d11 vulkan metal ps5 xboxseries + #pragma use_dxc + #pragma require Native16Bit //#pragma enable_d3d11_debug_symbols #pragma multi_compile __ FFXM_HALF @@ -81,6 +90,9 @@ Shader "TND/ASR/ffx_fsr2_fs" #pragma vertex VertMain #pragma fragment main #pragma target 4.5 + #pragma only_renderers d3d11 vulkan metal ps5 xboxseries + #pragma use_dxc + #pragma require Native16Bit //#pragma enable_d3d11_debug_symbols #pragma multi_compile __ FFXM_HALF @@ -108,6 +120,9 @@ Shader "TND/ASR/ffx_fsr2_fs" #pragma vertex VertMain #pragma fragment main #pragma target 4.5 + #pragma only_renderers d3d11 vulkan metal ps5 xboxseries + #pragma use_dxc + #pragma require Native16Bit //#pragma enable_d3d11_debug_symbols #pragma multi_compile __ UNITY_FFXM_TEXTURE2D_X_ARRAY diff --git a/Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/ASR/Shaders/ffxm_fsr2_fs.shader.meta b/Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/ASR/Shaders/ffxm_fsr2_fragment_modern.shader.meta similarity index 100% rename from Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/ASR/Shaders/ffxm_fsr2_fs.shader.meta rename to Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/ASR/Shaders/ffxm_fsr2_fragment_modern.shader.meta diff --git a/Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/ASR/Shaders/ffxm_fsr2_lock_pass.compute b/Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/ASR/Shaders/ffxm_fsr2_lock_modern.compute similarity index 79% rename from Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/ASR/Shaders/ffxm_fsr2_lock_pass.compute rename to Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/ASR/Shaders/ffxm_fsr2_lock_modern.compute index 660b922..e3c6aab 100644 --- a/Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/ASR/Shaders/ffxm_fsr2_lock_pass.compute +++ b/Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/ASR/Shaders/ffxm_fsr2_lock_modern.compute @@ -1,4 +1,7 @@ #pragma kernel main +#pragma only_renderers d3d11 vulkan metal ps5 xboxseries +#pragma use_dxc +#pragma require Native16Bit #pragma multi_compile __ FFXM_HALF #pragma multi_compile __ FFXM_FSR2_OPTION_LOW_RESOLUTION_MOTION_VECTORS diff --git a/Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/ASR/Shaders/ffxm_fsr2_lock_pass.compute.meta b/Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/ASR/Shaders/ffxm_fsr2_lock_modern.compute.meta similarity index 100% rename from Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/ASR/Shaders/ffxm_fsr2_lock_pass.compute.meta rename to Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/ASR/Shaders/ffxm_fsr2_lock_modern.compute.meta diff --git a/Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/ASR/Shaders/ffxm_fsr2_luma_pyramid_modern.compute b/Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/ASR/Shaders/ffxm_fsr2_luma_pyramid_modern.compute new file mode 100644 index 0000000..31b26cf --- /dev/null +++ b/Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/ASR/Shaders/ffxm_fsr2_luma_pyramid_modern.compute @@ -0,0 +1,24 @@ +#pragma kernel main +#pragma only_renderers d3d11 vulkan metal ps5 xboxseries +#pragma use_dxc +#pragma require Native16Bit + +#pragma multi_compile __ FFXM_HALF +#pragma multi_compile __ FFXM_FSR2_OPTION_LOW_RESOLUTION_MOTION_VECTORS +#pragma multi_compile __ FFXM_FSR2_OPTION_JITTERED_MOTION_VECTORS +#pragma multi_compile __ FFXM_FSR2_OPTION_INVERTED_DEPTH + +#pragma multi_compile __ UNITY_FFXM_TEXTURE2D_X_ARRAY + +#include "ffxm_fsr2_common.cginc" + +// Enable wave operations for the platforms that support it +#if (defined(SHADER_API_D3D12) || defined(SHADER_API_VULKAN) || defined(SHADER_API_METAL) || defined(SHADER_API_GAMECORE)) && !defined(SHADER_API_MOBILE) +#pragma require WaveBasic // Required for WaveGetLaneIndex +#pragma require WaveBallot // Required for WaveReadLaneAt +#pragma require QuadShuffle // Required for QuadReadAcross +#else +#define FFXM_SPD_NO_WAVE_OPERATIONS +#endif + +#include "shaders/ffxm_fsr2_compute_luminance_pyramid_pass.hlsl" diff --git a/Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/ASR/Shaders/ffxm_fsr2_compute_luminance_pyramid_pass.compute.meta b/Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/ASR/Shaders/ffxm_fsr2_luma_pyramid_modern.compute.meta similarity index 100% rename from Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/ASR/Shaders/ffxm_fsr2_compute_luminance_pyramid_pass.compute.meta rename to Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/ASR/Shaders/ffxm_fsr2_luma_pyramid_modern.compute.meta