yum-mirror/slang

Making it easier to work with shaders

git clone https://git.yummers.dev/yum-mirror/slang

Yong HeMake `-no-mangle` option work, add `-no-hlsl-binding`. (#3817)a23adc221

master
727 B44 linesraw
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}