#pragma kernel CS //#pragma multi_compile_local __ FFX_HALF // causes a hard-coded error message from the shader include ¯\_(ツ)_/¯ #pragma multi_compile_local __ FFX_FSR2_OPTION_REPROJECT_USE_LANCZOS_TYPE #pragma multi_compile_local __ FFX_FSR2_OPTION_HDR_COLOR_INPUT #pragma multi_compile_local __ FFX_FSR2_OPTION_LOW_RESOLUTION_MOTION_VECTORS #pragma multi_compile_local __ FFX_FSR2_OPTION_JITTERED_MOTION_VECTORS #pragma multi_compile_local __ FFX_FSR2_OPTION_INVERTED_DEPTH #pragma multi_compile_local __ FFX_FSR2_OPTION_APPLY_SHARPENING #define FFX_GPU // Compiling for GPU #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"