
#define SAMPLER2DARRAYARG( NAME ) Texture2D_Array NAME, SamplerState NAME#SS #define SAMPLER2DARRAY( NAME ) Texture2D_Array NAME SamplerState NAME#SS #define SAMPLER3D( NAME ) Texture3D NAME SamplerState NAME#SS #define SAMPLER2DSHADOW_SRT( NAME ) Texture2D NAME SamplerComparisonState NAME#SS //SAMPLER2D( NAME )

#define SAMPLER2D( NAME ) Texture2D NAME SamplerState NAME#SS #define SAMPLERCUBE( NAME, REG ) SamplerState NAME#SS : register( s#REG ) TextureCube NAME#TU : register( t#REG ) #define SAMPLER2DSHADOW_SRT( NAME ) sampler2DShadow NAME #define SAMPLER2DARRAY( NAME ) sampler2DArray NAME #define SAMPLER2D_TEMP( NAME, INDEX ) uniform sampler2D NAME #define SAMPLERCUBEARG( NAME ) in samplerCube NAME #define SAMPLERCUBE( NAME ) samplerCube NAME #define SAMPLER2DARRAYARG( NAME ) in sampler2DArray NAME #define SAMPLER2DARG( NAME ) in sampler2D NAME #define SAMPLER2DSHADOW( NAME, REG ) uniform sampler2DShadow NAME These can be deleted if ARB_derivative_control can be used OTHERWISE IT TRIES TO PUT IT IN A CONSTANT BUFFER AND FOR SOME REASON IT DOESN'T WORK.

USE STATIC_CONST INSTEAD FOR A COMPILED IN CONSTANT. #define const ERROR, DON'T USE CONST FOR PS4. matrix constructors interpret the passed vectors as row vectors, not column vectors temp thing to know what things are still required on ps4.

This happens a lot because of defining different things. disable warnings for unused parameters. #if defined( _F01_ ) || defined( D_LOD0 ) || defined( D_LOD1 ) || defined( D_LOD2 ) || defined( D_LOD3) || defined( D_LOD4 ) this is because materials, vertex layouts and shaders need to be synced on 360 to avoid patching define these flags so they don't get ignored in build process and in the comb mask #pragma argument (allow-scratch-buffer-spill) layout( origin_upper_left, pixel_center_integer ) in vec4 gl_FragCoord #extension GL_ARB_derivative_control : enable #extension GL_ARB_fragment_coord_conventions : enable
