Browse Source

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.
mac-autoexp
Nico de Poel 3 years ago
parent
commit
882075862f
  1. 28
      Assets/Resources/FSR2/shaders/ffx_common_types.h

28
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;

Loading…
Cancel
Save