Browse Source

Added multi-compile keywords for all fragment shaders, and added Metal workaround for texture atomics

asr-console
Nico de Poel 11 months ago
parent
commit
c8eebd63ed
  1. 7
      Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/ASR/Shaders/ffxm_fsr2_common.cginc
  2. 26
      Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/ASR/Shaders/ffxm_fsr2_fs.shader

7
Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/ASR/Shaders/ffxm_fsr2_common.cginc

@ -2,3 +2,10 @@
#pragma warning(disable: 3203) // Signed/unsigned mismatch
#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
// Work around the lack of texture atomics on Metal
#if defined(SHADER_API_METAL)
#define InterlockedAdd(dest, val, orig) { (orig) = (dest); (dest) += (val); }
#define InterlockedMin(dest, val) { (dest) = min((dest), (val)); }
#define InterlockedMax(dest, val) { (dest) = max((dest), (val)); }
#endif

26
Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/ASR/Shaders/ffxm_fsr2_fs.shader

@ -13,6 +13,9 @@ Shader "TND/ASR/ffx_fsr2_fs"
#pragma fragment main
#pragma target 4.5
//#pragma enable_d3d11_debug_symbols
#pragma multi_compile __ FFXM_HALF
#pragma multi_compile __ UNITY_FFXM_TEXTURE2D_X_ARRAY
#include "ffxm_fsr2_common.cginc"
#include "shaders/ffxm_fsr2_vs.hlsl"
@ -31,6 +34,13 @@ Shader "TND/ASR/ffx_fsr2_fs"
#pragma target 4.5
//#pragma enable_d3d11_debug_symbols
#pragma multi_compile __ FFXM_HALF
#pragma multi_compile __ FFXM_FSR2_OPTION_HDR_COLOR_INPUT
#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"
#include "shaders/ffxm_fsr2_vs.hlsl"
#include "shaders/ffxm_fsr2_reconstruct_previous_depth_pass_fs.hlsl"
@ -48,6 +58,12 @@ Shader "TND/ASR/ffx_fsr2_fs"
#pragma target 4.5
//#pragma enable_d3d11_debug_symbols
#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"
#include "shaders/ffxm_fsr2_vs.hlsl"
#include "shaders/ffxm_fsr2_depth_clip_pass_fs.hlsl"
@ -65,6 +81,14 @@ Shader "TND/ASR/ffx_fsr2_fs"
#pragma target 4.5
//#pragma enable_d3d11_debug_symbols
#pragma multi_compile __ FFXM_HALF
#pragma multi_compile __ FFXM_FSR2_OPTION_REPROJECT_USE_LANCZOS_TYPE
#pragma multi_compile __ FFXM_FSR2_OPTION_HDR_COLOR_INPUT
#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_APPLY_SHARPENING
#pragma multi_compile __ UNITY_FFXM_TEXTURE2D_X_ARRAY
#include "ffxm_fsr2_common.cginc"
#include "shaders/ffxm_fsr2_vs.hlsl"
#include "shaders/ffxm_fsr2_accumulate_pass_fs.hlsl"
@ -82,6 +106,8 @@ Shader "TND/ASR/ffx_fsr2_fs"
#pragma target 4.5
//#pragma enable_d3d11_debug_symbols
#pragma multi_compile __ UNITY_FFXM_TEXTURE2D_X_ARRAY
#include "ffxm_fsr2_common.cginc"
#include "shaders/ffxm_fsr2_vs.hlsl"
#include "shaders/ffxm_fsr2_rcas_pass_fs.hlsl"

Loading…
Cancel
Save