diff options
Diffstat (limited to 'tests/bugs/split-nested-types.hlsl')
| -rw-r--r-- | tests/bugs/split-nested-types.hlsl | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/tests/bugs/split-nested-types.hlsl b/tests/bugs/split-nested-types.hlsl index 577f64a75..2bfea49c2 100644 --- a/tests/bugs/split-nested-types.hlsl +++ b/tests/bugs/split-nested-types.hlsl @@ -1,9 +1,19 @@ //TEST:COMPARE_HLSL:-no-mangle -profile ps_5_0 #ifdef __SLANG__ + +#define BEGIN_CBUFFER(NAME) cbuffer NAME +#define END_CBUFFER(NAME, REG) /**/ +#define CBUFFER_REF(NAME, FIELD) FIELD + import split_nested_types; + #else +#define BEGIN_CBUFFER(NAME) struct SLANG_ParameterGroup_##NAME +#define END_CBUFFER(NAME, REG) ; cbuffer NAME : REG { SLANG_ParameterGroup_##NAME NAME; } +#define CBUFFER_REF(NAME, FIELD) NAME.FIELD + #define A A_0 #define x x_0 @@ -31,12 +41,13 @@ struct M #endif -cbuffer C +BEGIN_CBUFFER(C) { M m; } +END_CBUFFER(C,register(b0)) float4 main() : SV_TARGET { - return m.b.y; + return CBUFFER_REF(C,m).b.y; } |
