diff options
Diffstat (limited to 'tests')
36 files changed, 361 insertions, 57 deletions
diff --git a/tests/bindings/array-of-struct-of-resource.hlsl b/tests/bindings/array-of-struct-of-resource.hlsl index 71492ef49..8ba71c7a3 100644 --- a/tests/bindings/array-of-struct-of-resource.hlsl +++ b/tests/bindings/array-of-struct-of-resource.hlsl @@ -27,11 +27,15 @@ float4 main() : SV_Target #else +#define a _SV04testL0 +#define b _SV04testL1 +#define s _SV01s + Texture2D a[2]; Texture2D b[2]; SamplerState s; -float4 main() : SV_Target +float4 main() : SV_TARGET { return use(a[0],s) + use(b[0],s) diff --git a/tests/bindings/binding0.hlsl b/tests/bindings/binding0.hlsl index 9ca092562..fcd7e7b54 100644 --- a/tests/bindings/binding0.hlsl +++ b/tests/bindings/binding0.hlsl @@ -8,6 +8,12 @@ #define R(X) /**/ #else #define R(X) X + +#define C _SV022SLANG_parameterGroup_C +#define t _SV01t +#define s _SV01s +#define c _SV022SLANG_ParameterGroup_C1c + #endif float4 use(float4 val) { return val; }; @@ -21,7 +27,7 @@ cbuffer C R(: register(b0)) float c; } -float4 main() : SV_Target +float4 main() : SV_TARGET { return use(t,s) + use(c); }
\ No newline at end of file diff --git a/tests/bindings/binding1.hlsl b/tests/bindings/binding1.hlsl index 879a19816..adc06edaa 100644 --- a/tests/bindings/binding1.hlsl +++ b/tests/bindings/binding1.hlsl @@ -15,15 +15,22 @@ #define R(X) /**/ #else #define R(X) X + +#define tB _SV02tB +#define sB _SV02sB + +#define C1 _SV023SLANG_parameterGroup_C1 +#define c1 _SV023SLANG_ParameterGroup_C12c1 + #endif float4 use(float4 val) { return val; }; float4 use(Texture2D t, SamplerState s) { return t.Sample(s, 0.0); } -Texture2D t0 R(: register(t0)); -Texture2D t1 R(: register(t1)); -SamplerState s0 R(: register(s0)); -SamplerState s1 R(: register(s1)); +Texture2D tA R(: register(t0)); +Texture2D tB R(: register(t1)); +SamplerState sA R(: register(s0)); +SamplerState sB R(: register(s1)); cbuffer C0 R(: register(b0)) { @@ -35,7 +42,7 @@ cbuffer C1 R(: register(b1)) float c1; } -float4 main() : SV_Target +float4 main() : SV_TARGET { - return use(t1,s1) + use(c1); + return use(tB,sB) + use(c1); }
\ No newline at end of file diff --git a/tests/bindings/explicit-binding.hlsl b/tests/bindings/explicit-binding.hlsl index 313f5a091..758be959b 100644 --- a/tests/bindings/explicit-binding.hlsl +++ b/tests/bindings/explicit-binding.hlsl @@ -7,6 +7,24 @@ #define R(X) /**/ #else #define R(X) X + +#define CA _SV023SLANG_parameterGroup_CA +#define ca _SV023SLANG_ParameterGroup_CA2ca + +#define CB _SV023SLANG_parameterGroup_CB +#define cb _SV023SLANG_ParameterGroup_CB2cb + +#define CC _SV023SLANG_parameterGroup_CC +#define cc _SV023SLANG_ParameterGroup_CC2cc + +#define sa _SV02sa +#define sb _SV02sb +#define sc _SV02sc + +#define ta _SV02ta +#define tb _SV02tb +#define tc _SV02tc + #endif float4 use(float4 val) { return val; }; @@ -46,7 +64,7 @@ cbuffer CC : register(b9) float cc; } -float4 main() : SV_Target +float4 main() : SV_TARGET { // Go ahead and use everything in this case: return use(ta, sa) + use(ca) diff --git a/tests/bindings/glsl-parameter-blocks.slang b/tests/bindings/glsl-parameter-blocks.slang index 48eacbb0f..d356df775 100644 --- a/tests/bindings/glsl-parameter-blocks.slang +++ b/tests/bindings/glsl-parameter-blocks.slang @@ -1,9 +1,6 @@ #version 450 core //TEST:CROSS_COMPILE: -profile ps_5_0 -entry main -target spirv-assembly -// Note: disabled because the translation of `Texture2D.Sample()` -// requires handling of local variables with resource types in the IR. - struct Test { float4 a; diff --git a/tests/bindings/glsl-parameter-blocks.slang.glsl b/tests/bindings/glsl-parameter-blocks.slang.glsl index d05eea485..b65ee0e49 100644 --- a/tests/bindings/glsl-parameter-blocks.slang.glsl +++ b/tests/bindings/glsl-parameter-blocks.slang.glsl @@ -1,39 +1,56 @@ //TEST_IGNORE_FILE: #version 450 core -struct _ST04Test +#define Test _ST04Test +#define a _SV04Test1a + +#define gTest _SV05gTestL0 +#define gTest_t _SV05gTestL1 +#define gTest_s _SV05gTestL2 + +#define ParameterBlock_gTest _S1 + +#define main_result _S2 +#define uv _S3 + +#define temp_uv _S4 +#define temp_a _S5 +#define temp_sample _S6 +#define temp_add _S7 + +struct Test { vec4 a; }; layout(binding = 0, set = 1) -uniform _S1 +uniform ParameterBlock_gTest { - _ST04Test _SV05gTestL0; + Test gTest; }; layout(binding = 1, set = 1) -uniform texture2D _SV05gTestL1; +uniform texture2D gTest_t; layout(binding = 2, set = 1) -uniform sampler _SV05gTestL2; +uniform sampler gTest_s; layout(location = 0) -out vec4 _S2; +out vec4 main_result; layout(location = 0) -in vec2 _S3; +in vec2 uv; void main() { - vec2 _S4 = _S3; + vec2 temp_uv = uv; - vec4 _S5 = _SV05gTestL0.a; + vec4 temp_a = gTest.a; - vec4 _S6 = texture(sampler2D(_SV05gTestL1, _SV05gTestL2), _S4); + vec4 temp_sample = texture(sampler2D(gTest_t, gTest_s), temp_uv); - vec4 _S7 = _S5 + _S6; - _S2 = _S7; + vec4 temp_add = temp_a + temp_sample; + main_result = temp_add; return; } diff --git a/tests/bindings/multi-file-extra.hlsl b/tests/bindings/multi-file-extra.hlsl index 7852d7c48..8bf8be414 100644 --- a/tests/bindings/multi-file-extra.hlsl +++ b/tests/bindings/multi-file-extra.hlsl @@ -9,6 +9,36 @@ #define R(X) /**/ #else #define R(X) X + +#define sharedC _SV028SLANG_parameterGroup_sharedC +#define sharedCA _SV028SLANG_ParameterGroup_sharedC8sharedCA +#define sharedCB _SV028SLANG_ParameterGroup_sharedC8sharedCB +#define sharedCC _SV028SLANG_ParameterGroup_sharedC8sharedCC +#define sharedCD _SV028SLANG_ParameterGroup_sharedC8sharedCD + +#define vertexC _SV028SLANG_parameterGroup_vertexC +#define vertexCA _SV028SLANG_ParameterGroup_vertexC8vertexCA +#define vertexCB _SV028SLANG_ParameterGroup_vertexC8vertexCB +#define vertexCC _SV028SLANG_ParameterGroup_vertexC8vertexCC +#define vertexCD _SV028SLANG_ParameterGroup_vertexC8vertexCD + +#define fragmentC _SV030SLANG_parameterGroup_fragmentC +#define fragmentCA _SV030SLANG_ParameterGroup_fragmentC10fragmentCA +#define fragmentCB _SV030SLANG_ParameterGroup_fragmentC10fragmentCB +#define fragmentCC _SV030SLANG_ParameterGroup_fragmentC10fragmentCC +#define fragmentCD _SV030SLANG_ParameterGroup_fragmentC10fragmentCD + +#define sharedS _SV07sharedS +#define sharedT _SV07sharedT +#define sharedTV _SV08sharedTV +#define sharedTF _SV08sharedTF + +#define vertexS _SV07vertexS +#define vertexT _SV07vertexT + +#define fragmentS _SV09fragmentS +#define fragmentT _SV09fragmentT + #endif float4 use(float val) { return val; }; @@ -48,7 +78,7 @@ Texture2D sharedTV R(: register(t2)); Texture2D sharedTF R(: register(t3)); -float4 main() : SV_Target +float4 main() : SV_TARGET { // Go ahead and use everything here, just to make sure things got placed correctly return use(sharedT, sharedS) diff --git a/tests/bindings/multi-file.hlsl b/tests/bindings/multi-file.hlsl index 4038ea3ca..bc00b0f69 100644 --- a/tests/bindings/multi-file.hlsl +++ b/tests/bindings/multi-file.hlsl @@ -10,6 +10,36 @@ #define R(X) /**/ #else #define R(X) X + +#define sharedC _SV028SLANG_parameterGroup_sharedC +#define sharedCA _SV028SLANG_ParameterGroup_sharedC8sharedCA +#define sharedCB _SV028SLANG_ParameterGroup_sharedC8sharedCB +#define sharedCC _SV028SLANG_ParameterGroup_sharedC8sharedCC +#define sharedCD _SV028SLANG_ParameterGroup_sharedC8sharedCD + +#define vertexC _SV028SLANG_parameterGroup_vertexC +#define vertexCA _SV028SLANG_ParameterGroup_vertexC8vertexCA +#define vertexCB _SV028SLANG_ParameterGroup_vertexC8vertexCB +#define vertexCC _SV028SLANG_ParameterGroup_vertexC8vertexCC +#define vertexCD _SV028SLANG_ParameterGroup_vertexC8vertexCD + +#define fragmentC _SV030SLANG_parameterGroup_fragmentC +#define fragmentCA _SV030SLANG_ParameterGroup_fragmentC10fragmentCA +#define fragmentCB _SV030SLANG_ParameterGroup_fragmentC10fragmentCB +#define fragmentCC _SV030SLANG_ParameterGroup_fragmentC10fragmentCC +#define fragmentCD _SV030SLANG_ParameterGroup_fragmentC10fragmentCD + +#define sharedS _SV07sharedS +#define sharedT _SV07sharedT +#define sharedTV _SV08sharedTV +#define sharedTF _SV08sharedTF + +#define vertexS _SV07vertexS +#define vertexT _SV07vertexT + +#define fragmentS _SV09fragmentS +#define fragmentT _SV09fragmentT + #endif float4 use(float val) { return val; }; @@ -18,8 +48,8 @@ float4 use(float3 val) { return float4(val,0.0); }; float4 use(float4 val) { return val; }; float4 use(Texture2D t, SamplerState s) { - // This is the vertex shader, so we can't do implicit-gradient sampling - return t.SampleGrad(s, 0.0, 0.0, 0.0); + // This is the vertex shader, so we can't do implicit-gradient sampling + return t.SampleGrad(s, 0.0, 0.0, 0.0); } // Start with some parameters that will appear in both shaders @@ -27,10 +57,10 @@ Texture2D sharedT R(: register(t0)); SamplerState sharedS R(: register(s0)); cbuffer sharedC R(: register(b0)) { - float3 sharedCA R(: packoffset(c0)); - float sharedCB R(: packoffset(c0.w)); - float3 sharedCC R(: packoffset(c1)); - float2 sharedCD R(: packoffset(c2)); + float3 sharedCA R(: packoffset(c0)); + float sharedCB R(: packoffset(c0.w)); + float3 sharedCC R(: packoffset(c1)); + float2 sharedCD R(: packoffset(c2)); } // Then some parameters specific to this shader @@ -41,10 +71,10 @@ Texture2D vertexT R(: register(t1)); SamplerState vertexS R(: register(s1)); cbuffer vertexC R(: register(b1)) { - float3 vertexCA R(: packoffset(c0)); - float vertexCB R(: packoffset(c0.w)); - float3 vertexCC R(: packoffset(c1)); - float2 vertexCD R(: packoffset(c2)); + float3 vertexCA R(: packoffset(c0)); + float vertexCB R(: packoffset(c0.w)); + float3 vertexCC R(: packoffset(c1)); + float2 vertexCD R(: packoffset(c2)); } // And end with some shared parameters again @@ -52,13 +82,13 @@ Texture2D sharedTV R(: register(t2)); Texture2D sharedTF R(: register(t3)); -float4 main() : SV_Position +float4 main() : SV_POSITION { - // Go ahead and use everything here, just to make sure things got placed correctly - return use(sharedT, sharedS) - + use(sharedCD) - + use(vertexT, vertexS) - + use(vertexCD) - + use(sharedTV, vertexS) - ; + // Go ahead and use everything here, just to make sure things got placed correctly + return use(sharedT, sharedS) + + use(sharedCD) + + use(vertexT, vertexS) + + use(vertexCD) + + use(sharedTV, vertexS) + ; }
\ No newline at end of file diff --git a/tests/bindings/multiple-parameter-blocks.slang b/tests/bindings/multiple-parameter-blocks.slang index 2b0a38c1c..96a78316a 100644 --- a/tests/bindings/multiple-parameter-blocks.slang +++ b/tests/bindings/multiple-parameter-blocks.slang @@ -37,7 +37,7 @@ Texture2D _SV02p1L0 : register(t0, space1); Texture2D _SV02p1L1[4] : register(t1, space1); SamplerState _SV02p1L2 : register(s0, space1); -float4 main(float v : V) : SV_Target +float4 main(float v : V) : SV_TARGET { return use(_SV01pL0, _SV01pL2) + use(_SV01pL1[int(v)], _SV01pL2) diff --git a/tests/bindings/packoffset.hlsl b/tests/bindings/packoffset.hlsl index 69cebdc40..5b8650a9b 100644 --- a/tests/bindings/packoffset.hlsl +++ b/tests/bindings/packoffset.hlsl @@ -7,6 +7,17 @@ #define R(X) /**/ #else #define R(X) X + +#define CA _SV023SLANG_parameterGroup_CAL0 +#define ca _SV023SLANG_ParameterGroup_CA2ca +#define cb _SV023SLANG_ParameterGroup_CA2cb +#define cc _SV023SLANG_ParameterGroup_CA2cc +#define cd _SV023SLANG_ParameterGroup_CA2cd +#define ce _SV023SLANG_ParameterGroup_CA2ce + +#define ta _SV023SLANG_parameterGroup_CAL1 +#define sa _SV023SLANG_parameterGroup_CAL2 + #endif float4 use(float val) { return val; }; @@ -27,7 +38,7 @@ cbuffer CA R(: register(b0)) SamplerState sa R(: register(s0)); } -float4 main() : SV_Target +float4 main() : SV_TARGET { // Go ahead and use everything in this case: return use(ta, sa) diff --git a/tests/bindings/parameter-blocks.slang b/tests/bindings/parameter-blocks.slang index ae5d9a647..62503e49b 100644 --- a/tests/bindings/parameter-blocks.slang +++ b/tests/bindings/parameter-blocks.slang @@ -26,11 +26,15 @@ float4 main(float v : V) : SV_Target #else +#define t _SV01pL0 +#define ta _SV01pL1 +#define s _SV01pL2 + Texture2D t : register(t0, space0); Texture2D ta[4] : register(t1, space0); SamplerState s : register(s0, space0); -float4 main(float v : V) : SV_Target +float4 main(float v : V) : SV_TARGET { return use(ta[int(v)], s) + use(t, s); diff --git a/tests/bindings/resources-in-cbuffer.hlsl b/tests/bindings/resources-in-cbuffer.hlsl index 647e64c32..5706bd39c 100644 --- a/tests/bindings/resources-in-cbuffer.hlsl +++ b/tests/bindings/resources-in-cbuffer.hlsl @@ -8,6 +8,36 @@ #define R(X) /**/ #else #define R(X) X + +#define CA _SV023SLANG_parameterGroup_CAL0 +#define caa _SV023SLANG_ParameterGroup_CA3caa +#define cab _SV023SLANG_ParameterGroup_CA3cab +#define cac _SV023SLANG_ParameterGroup_CA3cac +#define cad _SV023SLANG_ParameterGroup_CA3cad +#define cae _SV023SLANG_ParameterGroup_CA3cae +#define ta _SV023SLANG_parameterGroup_CAL1 +#define sa _SV023SLANG_parameterGroup_CAL2 + +#define CB _SV023SLANG_parameterGroup_CBL0 +#define cba _SV023SLANG_ParameterGroup_CB3cba +#define cbb _SV023SLANG_ParameterGroup_CB3cbb +#define cbc _SV023SLANG_ParameterGroup_CB3cbc +#define cbd _SV023SLANG_ParameterGroup_CB3cbd +#define cbe _SV023SLANG_ParameterGroup_CB3cbe +#define tbx _SV023SLANG_parameterGroup_CBL1 +#define tby _SV023SLANG_parameterGroup_CBL2 +#define sb _SV023SLANG_parameterGroup_CBL3 + +#define CC _SV023SLANG_parameterGroup_CCL0 +#define cca _SV023SLANG_ParameterGroup_CC3cca +#define ccb _SV023SLANG_ParameterGroup_CC3ccb +#define ccc _SV023SLANG_ParameterGroup_CC3ccc +#define ccd _SV023SLANG_ParameterGroup_CC3ccd +#define cce _SV023SLANG_ParameterGroup_CC3cce +#define tc _SV023SLANG_parameterGroup_CCL1 +#define scx _SV023SLANG_parameterGroup_CCL2 +#define scy _SV023SLANG_parameterGroup_CCL3 + #endif float4 use(float val) { return val; }; @@ -54,7 +84,7 @@ cbuffer CC R(: register(b2)) SamplerState scy R(: register(s3)); } -float4 main() : SV_Target +float4 main() : SV_TARGET { // Go ahead and use everything in this case: return use(ta, sa) diff --git a/tests/bindings/targets-and-uavs-structure.hlsl b/tests/bindings/targets-and-uavs-structure.hlsl index 6c9ee0340..359083069 100644 --- a/tests/bindings/targets-and-uavs-structure.hlsl +++ b/tests/bindings/targets-and-uavs-structure.hlsl @@ -7,6 +7,11 @@ #define R(X) /**/ #else #define R(X) X + +#define Foo _ST03Foo +#define v _SV03Foo1v +#define fooBuffer _SV09fooBuffer + #endif float4 use(float val) { return val; }; diff --git a/tests/bindings/targets-and-uavs.hlsl b/tests/bindings/targets-and-uavs.hlsl index ad0d84e5c..24efa418c 100644 --- a/tests/bindings/targets-and-uavs.hlsl +++ b/tests/bindings/targets-and-uavs.hlsl @@ -9,6 +9,11 @@ #define R(X) /**/ #else #define R(X) X + +#define Foo _ST03Foo +#define v _SV03Foo1v +#define fooBuffer _SV09fooBuffer + #endif float4 use(float val) { return val; }; @@ -22,7 +27,7 @@ struct Foo { float2 v; }; // This should be allocated a register *after* the render target RWStructuredBuffer<Foo> fooBuffer R(: register(u1)); -float4 main() : SV_Target +float4 main() : SV_TARGET { return use(fooBuffer[12].v); }
\ No newline at end of file diff --git a/tests/bugs/gh-103.slang b/tests/bugs/gh-103.slang index b89f38098..5d271d508 100644 --- a/tests/bugs/gh-103.slang +++ b/tests/bugs/gh-103.slang @@ -2,6 +2,12 @@ // Ensure that matrix-times-scalar works +#ifndef __SLANG__ +#define C _SV022SLANG_parameterGroup_C +#define a _SV022SLANG_ParameterGroup_C1a +#define b _SV022SLANG_ParameterGroup_C1b +#endif + float4x4 doIt(float4x4 a, float b) { return a * b; @@ -13,7 +19,7 @@ cbuffer C float b; }; -float4 main() : SV_Target +float4 main() : SV_TARGET { return doIt(a, b)[0]; } diff --git a/tests/bugs/gh-333.slang b/tests/bugs/gh-333.slang index fdc478950..5a0a5769f 100644 --- a/tests/bugs/gh-333.slang +++ b/tests/bugs/gh-333.slang @@ -2,6 +2,16 @@ // Ensure declaration order in output is correct +#ifndef __SLANG__ +#define A _ST01A +#define x _SV01A1x +#define B _ST01B +#define y _SV01B1y +#define C _SV022SLANG_parameterGroup_CL0 +#define a _SV022SLANG_ParameterGroup_C1a +#define b _SV022SLANG_ParameterGroup_C1b +#endif + struct A { float x; @@ -19,7 +29,7 @@ cbuffer C B b; }; -float4 main() : SV_Target +float4 main() : SV_TARGET { return a.x; } diff --git a/tests/bugs/implicit-conversion-binary-op.hlsl b/tests/bugs/implicit-conversion-binary-op.hlsl index 75ff737da..b9a558474 100644 --- a/tests/bugs/implicit-conversion-binary-op.hlsl +++ b/tests/bugs/implicit-conversion-binary-op.hlsl @@ -10,7 +10,7 @@ float4 main( float4 a : A, uint4 b : B - ) : SV_Target + ) : SV_TARGET { return a * b; } diff --git a/tests/bugs/split-nested-types.hlsl b/tests/bugs/split-nested-types.hlsl index 0a8a8f9ff..8216a4e36 100644 --- a/tests/bugs/split-nested-types.hlsl +++ b/tests/bugs/split-nested-types.hlsl @@ -4,11 +4,24 @@ import split_nested_types; #else +#define A _ST01A +#define x _SV01A1x + +#define B _ST01B +#define y _SV01B1y + +#define M _ST01M +#define a _SV01M1a +#define b _SV01M1b + +#define C _SV022SLANG_parameterGroup_CL0 +#define m _SV022SLANG_ParameterGroup_C1m + struct A { int x; }; struct B { float y; }; -struct C { Texture2D t; SamplerState s; }; +struct CC { Texture2D t; SamplerState s; }; struct M { @@ -23,7 +36,7 @@ cbuffer C M m; } -float4 main() : SV_target +float4 main() : SV_TARGET { return m.b.y; } diff --git a/tests/bugs/split-nested-types.slang b/tests/bugs/split-nested-types.slang index ccf95d906..3bd4e239f 100644 --- a/tests/bugs/split-nested-types.slang +++ b/tests/bugs/split-nested-types.slang @@ -4,11 +4,11 @@ struct A { int x; }; struct B { float y; }; -struct C { Texture2D t; SamplerState s; }; +struct CC { Texture2D t; SamplerState s; }; struct M { A a; B b; - C c; + CC c; }; diff --git a/tests/bugs/vec-init-list.hlsl b/tests/bugs/vec-init-list.hlsl index be1bc5c6f..d9d0b83f9 100644 --- a/tests/bugs/vec-init-list.hlsl +++ b/tests/bugs/vec-init-list.hlsl @@ -2,6 +2,14 @@ // Check handling of initializer list for vector +#ifndef __SLANG__ + +#define C _SV022SLANG_parameterGroup_C +#define a _SV022SLANG_ParameterGroup_C1a +#define SV_Position SV_POSITION + +#endif + cbuffer C : register(b0) { float4 a; diff --git a/tests/hlsl/dxsdk/AdaptiveTessellationCS40/Render.hlsl b/tests/hlsl/dxsdk/AdaptiveTessellationCS40/Render.hlsl index bb05c82fd..73eeb8f81 100644 --- a/tests/hlsl/dxsdk/AdaptiveTessellationCS40/Render.hlsl +++ b/tests/hlsl/dxsdk/AdaptiveTessellationCS40/Render.hlsl @@ -1,4 +1,11 @@ //TEST(smoke):COMPARE_HLSL:-no-mangle -profile vs_4_0 -entry RenderBaseVS -profile ps_4_0 -entry RenderPS -target dxbc-assembly + +#ifndef __SLANG__ +#define cbPerObject _SV032SLANG_parameterGroup_cbPerObject +#define g_mWorldViewProjection _SV032SLANG_ParameterGroup_cbPerObject22g_mWorldViewProjection +#endif + + //-------------------------------------------------------------------------------------- // File: Render.hlsl // diff --git a/tests/hlsl/dxsdk/BasicHLSL11/BasicHLSL11_PS.hlsl b/tests/hlsl/dxsdk/BasicHLSL11/BasicHLSL11_PS.hlsl index 09c5dcc7e..d119653a9 100644 --- a/tests/hlsl/dxsdk/BasicHLSL11/BasicHLSL11_PS.hlsl +++ b/tests/hlsl/dxsdk/BasicHLSL11/BasicHLSL11_PS.hlsl @@ -1,4 +1,13 @@ //TEST:COMPARE_HLSL:-no-mangle -target dxbc-assembly -profile ps_4_0 -entry PSMain + +#ifndef __SLANG__ +#define cbPerFrame _SV031SLANG_parameterGroup_cbPerFrame +#define g_vLightDir _SV031SLANG_ParameterGroup_cbPerFrame11g_vLightDir +#define g_fAmbient _SV031SLANG_ParameterGroup_cbPerFrame10g_fAmbient +#define g_samLinear _SV011g_samLinear +#define g_txDiffuse _SV011g_txDiffuse +#endif + //-------------------------------------------------------------------------------------- // File: BasicHLSL11_PS.hlsl // diff --git a/tests/hlsl/dxsdk/BasicHLSL11/BasicHLSL11_VS.hlsl b/tests/hlsl/dxsdk/BasicHLSL11/BasicHLSL11_VS.hlsl index cb2c1b950..6d854a83b 100644 --- a/tests/hlsl/dxsdk/BasicHLSL11/BasicHLSL11_VS.hlsl +++ b/tests/hlsl/dxsdk/BasicHLSL11/BasicHLSL11_VS.hlsl @@ -1,4 +1,11 @@ //TEST:COMPARE_HLSL: -target dxbc-assembly -profile vs_4_0 -entry VSMain + +#ifndef __SLANG__ +#define cbPerObject _SV032SLANG_parameterGroup_cbPerObject +#define g_mWorldViewProjection _SV032SLANG_ParameterGroup_cbPerObject22g_mWorldViewProjection +#define g_mWorld _SV032SLANG_ParameterGroup_cbPerObject8g_mWorld +#endif + //-------------------------------------------------------------------------------------- // File: BasicHLSL11_VS.hlsl // diff --git a/tests/hlsl/dxsdk/CascadedShadowMaps11/RenderCascadeShadow.hlsl b/tests/hlsl/dxsdk/CascadedShadowMaps11/RenderCascadeShadow.hlsl index 3b4d32a0d..0f3b851df 100644 --- a/tests/hlsl/dxsdk/CascadedShadowMaps11/RenderCascadeShadow.hlsl +++ b/tests/hlsl/dxsdk/CascadedShadowMaps11/RenderCascadeShadow.hlsl @@ -1,4 +1,10 @@ //TEST:COMPARE_HLSL: -target dxbc-assembly -profile vs_4_0 -entry VSMain -entry VSMainPancake + +#ifndef __SLANG__ +#define cbPerObject _SV032SLANG_parameterGroup_cbPerObject +#define g_mWorldViewProjection _SV032SLANG_ParameterGroup_cbPerObject22g_mWorldViewProjection +#endif + //-------------------------------------------------------------------------------------- // File: RenderCascadeShadow.hlsl // diff --git a/tests/hlsl/dxsdk/Direct3D11Tutorials/Tutorial02/Tutorial02.fx b/tests/hlsl/dxsdk/Direct3D11Tutorials/Tutorial02/Tutorial02.fx index 941e001b3..e4b44b3d1 100644 --- a/tests/hlsl/dxsdk/Direct3D11Tutorials/Tutorial02/Tutorial02.fx +++ b/tests/hlsl/dxsdk/Direct3D11Tutorials/Tutorial02/Tutorial02.fx @@ -1,4 +1,9 @@ //TEST:COMPARE_HLSL: -target dxbc-assembly -profile vs_4_0 -entry VS -profile ps_4_0 -entry PS + +#ifndef __SLANG__ +#define SV_Target SV_TARGET +#endif + //-------------------------------------------------------------------------------------- // File: Tutorial02.fx // diff --git a/tests/hlsl/dxsdk/Direct3D11Tutorials/Tutorial03/Tutorial03.fx b/tests/hlsl/dxsdk/Direct3D11Tutorials/Tutorial03/Tutorial03.fx index 941e001b3..e4b44b3d1 100644 --- a/tests/hlsl/dxsdk/Direct3D11Tutorials/Tutorial03/Tutorial03.fx +++ b/tests/hlsl/dxsdk/Direct3D11Tutorials/Tutorial03/Tutorial03.fx @@ -1,4 +1,9 @@ //TEST:COMPARE_HLSL: -target dxbc-assembly -profile vs_4_0 -entry VS -profile ps_4_0 -entry PS + +#ifndef __SLANG__ +#define SV_Target SV_TARGET +#endif + //-------------------------------------------------------------------------------------- // File: Tutorial02.fx // diff --git a/tests/hlsl/dxsdk/DynamicShaderLinkage11/DynamicShaderLinkage11_VS.hlsl b/tests/hlsl/dxsdk/DynamicShaderLinkage11/DynamicShaderLinkage11_VS.hlsl index 800dbf3b3..80f7c452a 100644 --- a/tests/hlsl/dxsdk/DynamicShaderLinkage11/DynamicShaderLinkage11_VS.hlsl +++ b/tests/hlsl/dxsdk/DynamicShaderLinkage11/DynamicShaderLinkage11_VS.hlsl @@ -1,4 +1,11 @@ //TEST:COMPARE_HLSL: -target dxbc-assembly -profile vs_4_0 -entry VSMain + +#ifndef __SLANG__ +#define cbPerObject _SV032SLANG_parameterGroup_cbPerObject +#define g_mWorldViewProjection _SV032SLANG_ParameterGroup_cbPerObject22g_mWorldViewProjection +#define g_mWorld _SV032SLANG_ParameterGroup_cbPerObject8g_mWorld +#endif + //-------------------------------------------------------------------------------------- // File: DynamicShaderLinkage11_VS.hlsl // diff --git a/tests/hlsl/dxsdk/MultithreadedRendering11/MultithreadedRendering11_VS.hlsl b/tests/hlsl/dxsdk/MultithreadedRendering11/MultithreadedRendering11_VS.hlsl index 0d8d32ffa..c2239293e 100644 --- a/tests/hlsl/dxsdk/MultithreadedRendering11/MultithreadedRendering11_VS.hlsl +++ b/tests/hlsl/dxsdk/MultithreadedRendering11/MultithreadedRendering11_VS.hlsl @@ -1,4 +1,12 @@ //TEST:COMPARE_HLSL: -target dxbc-assembly -profile vs_4_0 -entry VSMain + +#ifndef __SLANG__ +#define cbPerObject _SV032SLANG_parameterGroup_cbPerObject +#define g_mWorld _SV032SLANG_ParameterGroup_cbPerObject8g_mWorld +#define cbPerScene _SV031SLANG_parameterGroup_cbPerScene +#define g_mViewProj _SV031SLANG_ParameterGroup_cbPerScene11g_mViewProj +#endif + //-------------------------------------------------------------------------------------- // File: MultithreadedRendering11_VS.hlsl // diff --git a/tests/hlsl/dxsdk/OIT11/SceneVS.hlsl b/tests/hlsl/dxsdk/OIT11/SceneVS.hlsl index 2f985d1d1..b361df0d6 100644 --- a/tests/hlsl/dxsdk/OIT11/SceneVS.hlsl +++ b/tests/hlsl/dxsdk/OIT11/SceneVS.hlsl @@ -1,4 +1,10 @@ //TEST:COMPARE_HLSL: -target dxbc-assembly -profile vs_4_0 -entry SceneVS + +#ifndef __SLANG__ +#define cbPerObject _SV032SLANG_parameterGroup_cbPerObject +#define g_mWorldViewProjection _SV032SLANG_ParameterGroup_cbPerObject22g_mWorldViewProjection +#endif + //----------------------------------------------------------------------------- // File: SceneVS.hlsl // diff --git a/tests/hlsl/dxsdk/VarianceShadows11/RenderVarianceShadow.hlsl b/tests/hlsl/dxsdk/VarianceShadows11/RenderVarianceShadow.hlsl index 9837bf299..af5ba6343 100644 --- a/tests/hlsl/dxsdk/VarianceShadows11/RenderVarianceShadow.hlsl +++ b/tests/hlsl/dxsdk/VarianceShadows11/RenderVarianceShadow.hlsl @@ -1,5 +1,9 @@ //TEST:COMPARE_HLSL: -target dxbc-assembly -profile vs_4_0 -entry VSMain -profile ps_4_0 -entry PSMain +#ifndef __SLANG__ +#define cbPerObject _SV032SLANG_parameterGroup_cbPerObject +#define g_mWorldViewProjection _SV032SLANG_ParameterGroup_cbPerObject22g_mWorldViewProjection +#endif //-------------------------------------------------------------------------------------- // Globals diff --git a/tests/hlsl/simple/allow-uav-conditional.hlsl b/tests/hlsl/simple/allow-uav-conditional.hlsl index 1526244a2..3f12c9be8 100644 --- a/tests/hlsl/simple/allow-uav-conditional.hlsl +++ b/tests/hlsl/simple/allow-uav-conditional.hlsl @@ -2,6 +2,10 @@ // Check output for `[allow_uav_conditional]` +#ifndef __SLANG__ +#define gBuffer _SV07gBuffer +#endif + RWStructuredBuffer<uint> gBuffer : register(u0); [numthreads(16,1,1)] diff --git a/tests/hlsl/simple/compute-numthreads.hlsl b/tests/hlsl/simple/compute-numthreads.hlsl index ba18a8d16..4f3291671 100644 --- a/tests/hlsl/simple/compute-numthreads.hlsl +++ b/tests/hlsl/simple/compute-numthreads.hlsl @@ -2,6 +2,10 @@ // Confirm that we properly pass along the `numthreads` attribute on an entry point. +#ifndef __SLANG__ +#define b _SV01b +#endif + RWStructuredBuffer<float> b; [numthreads(32,1,1)] diff --git a/tests/hlsl/simple/literal-typing.hlsl b/tests/hlsl/simple/literal-typing.hlsl index 359b875f9..48ea5b2cb 100644 --- a/tests/hlsl/simple/literal-typing.hlsl +++ b/tests/hlsl/simple/literal-typing.hlsl @@ -17,6 +17,10 @@ Bad foo(int x) { Bad b; b.bad = x; return b; } // we either respect the suffix and call the right overload, // or ignore it and call the wrong one. +#ifndef __SLANG__ +#define b _SV01b +#endif + RWStructuredBuffer<uint> b; [numthreads(32,1,1)] void main(uint3 tid : SV_DispatchThreadID) diff --git a/tests/ir/factorial.slang b/tests/ir/factorial.slang index 0ceff29bd..76653f055 100644 --- a/tests/ir/factorial.slang +++ b/tests/ir/factorial.slang @@ -1,4 +1,14 @@ -//TEST:EVAL: +//TEST_DISABLED:EVAL: + +// Note: This test has been disabled as part of introducing +// the IR-level type system, because it changes the overall +// structure of IR moduels quite a bit, and no user code +// actually relies on the serialized IR or VM. +// +// This test should ideally be re-enabled once work is +// done to revamp the serialized bytecode format into +// something more essential to the compiler (e.g., for +// modular separate compilation). StructuredBuffer<int> input; RWStructuredBuffer<int> output; diff --git a/tests/ir/loop.slang b/tests/ir/loop.slang index ddbd7ecb0..32eb41f1b 100644 --- a/tests/ir/loop.slang +++ b/tests/ir/loop.slang @@ -1,4 +1,14 @@ -//TEST:SIMPLE:-dump-ir -profile cs_5_0 -entry main +//TEST_DISABLED:SIMPLE:-dump-ir -profile cs_5_0 -entry main + +// Note: disabling this test for now because +// the actual IR that gets dumped is not very +// stable with code generation changes going on, +// and we already have more significant tests +// that stress the IR functionality. +// +// We should consider removing this test, or +// else work to ensure that "canonical" IR +// output is more consistent. #define GROUP_THREAD_COUNT 64 diff --git a/tests/parser/cast-precedence.hlsl b/tests/parser/cast-precedence.hlsl index d5d0b0322..33cb5983c 100644 --- a/tests/parser/cast-precedence.hlsl +++ b/tests/parser/cast-precedence.hlsl @@ -3,6 +3,13 @@ // Confirm that type-cast expressions parse with // the appropriate precedence. +#ifndef __SLANG__ +#define C _SV022SLANG_parameterGroup_C +#define a _SV022SLANG_ParameterGroup_C1a +#define b _SV022SLANG_ParameterGroup_C1b +#define SV_Position SV_POSITION +#endif + cbuffer C : register(b0) { float a; |
