diff options
Diffstat (limited to 'tests')
3 files changed, 36 insertions, 2 deletions
diff --git a/tests/bindings/multiple-parameter-blocks.slang b/tests/bindings/multiple-parameter-blocks.slang index 0f247319d..f7ce33297 100644 --- a/tests/bindings/multiple-parameter-blocks.slang +++ b/tests/bindings/multiple-parameter-blocks.slang @@ -1,9 +1,13 @@ -//TEST:COMPARE_HLSL:-profile ps_5_1 -entry main -parameter-blocks-use-register-spaces +//TEST:SIMPLE(filecheck=CHECK):-target hlsl -profile ps_5_1 -entry main -parameter-blocks-use-register-spaces // Confirm that Slang `ParameterBlock<T>` generates // parameter bindings like we expect. +// CHECK: Texture2D{{.*}} p_t_0 : register(t0); +// CHECK: Texture2D{{.*}} p_ta_0[{{.*}}] : register(t1); +// CHECK: Texture2D{{.*}} p1_t_0 : register(t0, space1); +// CHECK: SamplerState p1_s_0 : register(s0, space1); float4 use(float4 val) { return val; }; float4 use(Texture2D t, SamplerState s) { return t.Sample(s, 0.0); } diff --git a/tests/language-feature/extensions/extension-method-simple.slang b/tests/language-feature/extensions/extension-method-simple.slang new file mode 100644 index 000000000..d3162c053 --- /dev/null +++ b/tests/language-feature/extensions/extension-method-simple.slang @@ -0,0 +1,30 @@ +// interface-extension.slang + +// Test that an `extension` applied to an interface type works as users expect + +//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=CHECK): -shaderobj + +struct MyType +{ + int v; +} + +extension MyType +{ + int foo() + { + return v; + } +} + +//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name=outputBuffer +RWStructuredBuffer<int> outputBuffer; + +[numthreads(4, 1, 1)] +void computeMain(int3 dispatchThreadID : SV_DispatchThreadID) +{ + MyType t; + t.v = 1; + // CHECK: 1 + outputBuffer[dispatchThreadID.x] = t.foo(); +} diff --git a/tests/slang-extension/atomic-float-byte-address-buffer-cross.slang b/tests/slang-extension/atomic-float-byte-address-buffer-cross.slang index f7ae69365..c3204a37c 100644 --- a/tests/slang-extension/atomic-float-byte-address-buffer-cross.slang +++ b/tests/slang-extension/atomic-float-byte-address-buffer-cross.slang @@ -33,7 +33,7 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID) int idx = int((tid & 3) ^ (tid >> 2)); const float delta = anotherBuffer[idx & 3]; - + float previousValue = 0; outputBuffer.InterlockedAddF32((idx << 2), 1.0f, previousValue); |
