5#ifndef JPH_SHADER_OVERRIDE_MACROS
8 JPH_SUPPRESS_WARNING_PUSH
24 #define JPH_SHADER_CONSTANT(type, name, value) constexpr type name = value;
26 #define JPH_SHADER_CONSTANTS_BEGIN(type, name) struct type {
27 #define JPH_SHADER_CONSTANTS_MEMBER(type, name) type c##name;
28 #define JPH_SHADER_CONSTANTS_END(type) };
30 #define JPH_SHADER_BIND_BEGIN(name)
31 #define JPH_SHADER_BIND_END(name)
32 #define JPH_SHADER_BIND_BUFFER(type, name)
33 #define JPH_SHADER_BIND_RW_BUFFER(type, name)
35 JPH_SUPPRESS_WARNING_POP
37 #pragma pack_matrix(column_major)
52 #define JPH_SHADER_CONSTANT(type, name, value) static const type name = value;
54 #define JPH_SHADER_CONSTANTS_BEGIN(type, name) cbuffer name {
55 #define JPH_SHADER_CONSTANTS_MEMBER(type, name) type c##name;
56 #define JPH_SHADER_CONSTANTS_END(type) };
58 #define JPH_SHADER_FUNCTION_BEGIN(return_type, name, group_size_x, group_size_y, group_size_z) \
59 [numthreads(group_size_x, group_size_y, group_size_z)] \
61 #define JPH_SHADER_PARAM_THREAD_ID(name) uint3 name : SV_DispatchThreadID
62 #define JPH_SHADER_FUNCTION_END )
64 #define JPH_SHADER_BUFFER(type) StructuredBuffer<type>
65 #define JPH_SHADER_RW_BUFFER(type) RWStructuredBuffer<type>
67 #define JPH_SHADER_BIND_BEGIN(name)
68 #define JPH_SHADER_BIND_END(name)
69 #define JPH_SHADER_BIND_BUFFER(type, name) JPH_SHADER_BUFFER(type) name;
70 #define JPH_SHADER_BIND_RW_BUFFER(type, name) JPH_SHADER_RW_BUFFER(type) name;
72 #define JPH_AtomicAdd InterlockedAdd
75#define JPH_SHADER_STRUCT_BEGIN(name) struct name {
76#define JPH_SHADER_STRUCT_MEMBER(type, name) type m##name;
77#define JPH_SHADER_STRUCT_END(name) };
79#define JPH_IN(type) in type
80#define JPH_OUT(type) out type
81#define JPH_IN_OUT(type) in out type
#define JPH_SUPPRESS_WARNINGS
Definition Core.h:336
unsigned int uint
Definition Core.h:500
uint JPH_uint
Definition ShaderCore.h:42
int JPH_int
Definition ShaderCore.h:45
int3 JPH_int3
Definition ShaderCore.h:46
int4 JPH_int4
Definition ShaderCore.h:47
uint4 JPH_uint4
Definition ShaderCore.h:44
float4x4 JPH_Mat44
Definition ShaderCore.h:50
float JPH_float
Definition ShaderCore.h:39
float3 JPH_float3
Definition ShaderCore.h:40
float4 JPH_Plane
Definition ShaderCore.h:49
float4 JPH_float4
Definition ShaderCore.h:41
float4 JPH_Quat
Definition ShaderCore.h:48
uint3 JPH_uint3
Definition ShaderCore.h:43