@ -260,6 +260,29 @@ typedef int16_t FfxInt16;
typedef int16_t2 FfxInt16x2 ;
typedef int16_t3 FfxInt16x3 ;
typedef int16_t4 FfxInt16x4 ;
# elif SHADER_API_PSSL
# pragma argument(realtypes) / / Enable true 16-bit types
typedef half FfxFloat16 ;
typedef half2 FfxFloat16x2 ;
typedef half3 FfxFloat16x3 ;
typedef half4 FfxFloat16x4 ;
/ / / A typedef for an unsigned 16 bit integer .
/ / /
/ / / @ ingroup GPU
typedef ushort FfxUInt16 ;
typedef ushort2 FfxUInt16x2 ;
typedef ushort3 FfxUInt16x3 ;
typedef ushort4 FfxUInt16x4 ;
/ / / A typedef for a signed 16 bit integer .
/ / /
/ / / @ ingroup GPU
typedef short FfxInt16 ;
typedef short2 FfxInt16x2 ;
typedef short3 FfxInt16x3 ;
typedef short4 FfxInt16x4 ;
# else / / #if FFX_HLSL_SM>=62
typedef min16float FfxFloat16 ;
typedef min16float2 FfxFloat16x2 ;
@ -334,7 +357,7 @@ typedef min16int4 FfxInt16x4;
/ / # define FFX_HALF ( 1 )
/ / # define FFX_HLSL_SM ( 62 )
# if FFX_HALF
# if FFX_HALF && !defined(SHADER_API_PSSL)
# if FFX_HLSL_SM >= 62
@ -372,7 +395,7 @@ typedef min16int4 FfxInt16x4;
# if defined(FFX_GPU)
/ / Common typedefs :
# if defined(FFX_HLSL)
# if defined(FFX_HLSL) && !defined(SHADER_API_PSSL)
FFX_MIN16_SCALAR ( FFX_MIN16_F , float ) ;
FFX_MIN16_VECTOR ( FFX_MIN16_F2 , float , 2 ) ;
FFX_MIN16_VECTOR ( FFX_MIN16_F3 , float , 3 ) ;
@ -446,6 +469,79 @@ typedef FfxUInt32x3 Prefix##_U3; \
typedef FfxUInt32x4 Prefix # # _U4 ;
# endif / / #if defined(FFX_HLSL)
# if defined(SHADER_API_PSSL)
# define unorm
# define globallycoherent
# if FFX_HALF
# define FFX_MIN16_F half
# define FFX_MIN16_F2 half2
# define FFX_MIN16_F3 half3
# define FFX_MIN16_F4 half4
# define FFX_MIN16_I short
# define FFX_MIN16_I2 short2
# define FFX_MIN16_I3 short3
# define FFX_MIN16_I4 short4
# define FFX_MIN16_U ushort
# define FFX_MIN16_U2 ushort2
# define FFX_MIN16_U3 ushort3
# define FFX_MIN16_U4 ushort4
# define FFX_16BIT_F half
# define FFX_16BIT_F2 half2
# define FFX_16BIT_F3 half3
# define FFX_16BIT_F4 half4
# define FFX_16BIT_I short
# define FFX_16BIT_I2 short2
# define FFX_16BIT_I3 short3
# define FFX_16BIT_I4 short4
# define FFX_16BIT_U ushort
# define FFX_16BIT_U2 ushort2
# define FFX_16BIT_U3 ushort3
# define FFX_16BIT_U4 ushort4
# else / / FFX_HALF
# define FFX_MIN16_F float
# define FFX_MIN16_F2 float2
# define FFX_MIN16_F3 float3
# define FFX_MIN16_F4 float4
# define FFX_MIN16_I int
# define FFX_MIN16_I2 int2
# define FFX_MIN16_I3 int3
# define FFX_MIN16_I4 int4
# define FFX_MIN16_U uint
# define FFX_MIN16_U2 uint2
# define FFX_MIN16_U3 uint3
# define FFX_MIN16_U4 uint4
# define FFX_16BIT_F float
# define FFX_16BIT_F2 float2
# define FFX_16BIT_F3 float3
# define FFX_16BIT_F4 float4
# define FFX_16BIT_I int
# define FFX_16BIT_I2 int2
# define FFX_16BIT_I3 int3
# define FFX_16BIT_I4 int4
# define FFX_16BIT_U uint
# define FFX_16BIT_U2 uint2
# define FFX_16BIT_U3 uint3
# define FFX_16BIT_U4 uint4
# endif / / FFX_HALF
# endif / / #if defined(SHADER_API_PSSL)
# if defined(FFX_GLSL)
# if FFX_HALF