yum-mirror/slang
Making it easier to work with shaders
git clone https://git.yummers.dev/yum-mirror/slang
a23adc221
master
1//TEST:COMPARE_HLSL: -profile ps_5_0 -entry main 2 3// Ensure declaration order in output is correct 4 5#ifdef __SLANG__ 6#define BEGIN_CBUFFER(NAME) cbuffer NAME 7#define END_CBUFFER(NAME, REG) /**/ 8#define CBUFFER_REF(NAME, FIELD) FIELD 9#else 10#define BEGIN_CBUFFER(NAME) struct SLANG_ParameterGroup_##NAME 11#define END_CBUFFER(NAME, REG) ; cbuffer NAME : REG { SLANG_ParameterGroup_##NAME NAME; } 12#define CBUFFER_REF(NAME, FIELD) NAME.FIELD 13 14#define A A_0 15#define x x_0 16#define B B_0 17#define y y_0 18#define C C_0 19#define a a_0 20#define b b_0 21#endif 22 23struct A 24{ 25 float x; 26}; 27 28struct B 29{ 30 float y; 31 Texture2D t; 32}; 33 34BEGIN_CBUFFER(C) 35{ 36 A a; 37 B b; 38} 39END_CBUFFER(C,register(b0)) 40 41float4 main() : SV_TARGET 42{ 43 return CBUFFER_REF(C,a).x; 44}