From 882075862f39e9f08214eca35da76f8f6e2f0417 Mon Sep 17 00:00:00 2001 From: Nico de Poel Date: Sun, 26 Feb 2023 00:49:01 +0100 Subject: [PATCH] Moved PSSL type definitions up, so that they apply both when FFX_HALF is defined and when not. This allows the shaders to compile for PS4/5 in both modes. Should look into proper half-precision support; fp16 is only supported on PS4 Pro, on base PS4 everything compiles down to fp32 anyway. --- .../Resources/FSR2/shaders/ffx_common_types.h | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/Assets/Resources/FSR2/shaders/ffx_common_types.h b/Assets/Resources/FSR2/shaders/ffx_common_types.h index 10d4bd9..0901925 100644 --- a/Assets/Resources/FSR2/shaders/ffx_common_types.h +++ b/Assets/Resources/FSR2/shaders/ffx_common_types.h @@ -243,7 +243,20 @@ typedef min16int4 FfxInt16x4; // #define FFX_HALF (1) // #define FFX_HLSL_6_2 (1) -#if FFX_HALF +#if 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 global_memory + +#elif FFX_HALF #if FFX_HLSL_6_2 @@ -267,19 +280,6 @@ 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 global_memory - #else //FFX_HALF #define FFX_MIN16_SCALAR( TypeName, BaseComponentType ) typedef BaseComponentType TypeName;