From b89de25b10fd489bfbfd914d7047573f9742bb66 Mon Sep 17 00:00:00 2001 From: Nico de Poel Date: Fri, 17 Feb 2023 16:18:46 +0100 Subject: [PATCH] Tweaks to make the FSR2 shaders compile on PS4/5 platforms. FFX_HALF doesn't seem to be a thing in FSR 2.2 anymore anyway, so might as well keep that disabled. --- Assets/Resources/FSR2/ffx_fsr2_rcas_pass.compute | 4 ++-- Assets/Resources/FSR2/shaders/ffx_common_types.h | 13 +++++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/Assets/Resources/FSR2/ffx_fsr2_rcas_pass.compute b/Assets/Resources/FSR2/ffx_fsr2_rcas_pass.compute index ec95368..7b16f1c 100644 --- a/Assets/Resources/FSR2/ffx_fsr2_rcas_pass.compute +++ b/Assets/Resources/FSR2/ffx_fsr2_rcas_pass.compute @@ -1,7 +1,7 @@ // Each #kernel tells which function to compile; you can have many kernels #pragma kernel CS -#pragma kernel CS_HALF CS=CS_HALF FFX_HALF -#pragma kernel CS_HDR CS=CS_HDR FFX_FSR2_OPTION_HDR_COLOR_INPUT +//#pragma kernel CS_HALF CS=CS_HALF FFX_HALF +//#pragma kernel CS_HDR CS=CS_HDR FFX_FSR2_OPTION_HDR_COLOR_INPUT // Some global defines are needed #define FFX_GPU // Compiling for GPU diff --git a/Assets/Resources/FSR2/shaders/ffx_common_types.h b/Assets/Resources/FSR2/shaders/ffx_common_types.h index ddd1786..17e9938 100644 --- a/Assets/Resources/FSR2/shaders/ffx_common_types.h +++ b/Assets/Resources/FSR2/shaders/ffx_common_types.h @@ -267,6 +267,19 @@ typedef min16int4 FfxInt16x4; #endif //FFX_HLSL_6_2 +#elif SHADER_API_PSSL + +#define FFX_MIN16_SCALAR( TypeName, BaseComponentType ) typedef BaseComponentType TypeName; +#define FFX_MIN16_VECTOR( TypeName, BaseComponentType, COL ) typedef BaseComponentType##COL TypeName; +#define FFX_MIN16_MATRIX( TypeName, BaseComponentType, ROW, COL ) typedef BaseComponentType##ROW##x##COL TypeName; + +#define FFX_16BIT_SCALAR( TypeName, BaseComponentType ) typedef BaseComponentType TypeName; +#define FFX_16BIT_VECTOR( TypeName, BaseComponentType, COL ) typedef BaseComponentType##COL TypeName; +#define FFX_16BIT_MATRIX( TypeName, BaseComponentType, ROW, COL ) typedef BaseComponentType##ROW##x##COL TypeName; + +#define unorm +#define globallycoherent + #else //FFX_HALF #define FFX_MIN16_SCALAR( TypeName, BaseComponentType ) typedef BaseComponentType TypeName;