Browse Source

Added some quick hacks to allow the shaders to compile for Metal.

These "interlocked" functions are not interlocked anymore now, but it's good enough for an initial test on MacOS.
mac-autoexp
Nico de Poel 3 years ago
parent
commit
9733de7067
  1. 4
      Assets/Resources/FSR2/ffx_fsr2_compute_luminance_pyramid_pass.compute
  2. 5
      Assets/Resources/FSR2/ffx_fsr2_reconstruct_previous_depth_pass.compute

4
Assets/Resources/FSR2/ffx_fsr2_compute_luminance_pyramid_pass.compute

@ -12,4 +12,8 @@
#define FFX_HLSL // Compile for plain HLSL
#define SPD_NO_WAVE_OPERATIONS // Wave operations require shader model 6.0; this works with #pragma use_dxc but only on D3D12
#if SHADER_API_METAL
#define InterlockedAdd(dest, val, orig) { (orig) = (dest); (dest) += (val); }
#endif
#include "shaders/ffx_fsr2_compute_luminance_pyramid_pass.hlsl"

5
Assets/Resources/FSR2/ffx_fsr2_reconstruct_previous_depth_pass.compute

@ -11,4 +11,9 @@
#define FFX_GPU // Compiling for GPU
#define FFX_HLSL // Compile for plain HLSL
#if SHADER_API_METAL
#define InterlockedMin(dest, val) { (dest) = min((dest), (val)); }
#define InterlockedMax(dest, val) { (dest) = max((dest), (val)); }
#endif
#include "shaders/ffx_fsr2_reconstruct_previous_depth_pass.hlsl"
Loading…
Cancel
Save