summaryrefslogtreecommitdiff
path: root/tests/compute
diff options
context:
space:
mode:
Diffstat (limited to 'tests/compute')
-rw-r--r--tests/compute/array-param.slang6
-rw-r--r--tests/compute/assoctype-complex.slang4
-rw-r--r--tests/compute/assoctype-func-param.slang4
-rw-r--r--tests/compute/assoctype-generic-arg.slang4
-rw-r--r--tests/compute/assoctype-lookup.slang8
-rw-r--r--tests/compute/assoctype-nested.slang8
-rw-r--r--tests/compute/assoctype-simple.slang4
-rw-r--r--tests/compute/atomics-buffer.slang10
-rw-r--r--tests/compute/atomics-groupshared.slang8
-rw-r--r--tests/compute/atomics.slang8
-rw-r--r--tests/compute/break-stmt.slang4
-rw-r--r--tests/compute/buffer-layout.slang8
-rw-r--r--tests/compute/buffer-type-splitting.slang2
-rw-r--r--tests/compute/byte-address-buffer.slang8
-rw-r--r--tests/compute/cast-zero-to-struct.slang4
-rw-r--r--tests/compute/cbuffer-legalize.slang2
-rw-r--r--tests/compute/comma-operator.slang4
-rw-r--r--tests/compute/compile-time-loop.slang2
-rw-r--r--tests/compute/constexpr.slang4
-rw-r--r--tests/compute/continue-stmt.slang4
-rw-r--r--tests/compute/default-initializer.slang4
-rw-r--r--tests/compute/default-parameter.slang6
-rw-r--r--tests/compute/discard-stmt.slang2
-rw-r--r--tests/compute/dump-repro.slang4
-rw-r--r--tests/compute/dynamic-dispatch-1.slang8
-rw-r--r--tests/compute/dynamic-dispatch-10.slang8
-rw-r--r--tests/compute/dynamic-dispatch-11.slang8
-rw-r--r--tests/compute/dynamic-dispatch-12.slang8
-rw-r--r--tests/compute/dynamic-dispatch-13.slang4
-rw-r--r--tests/compute/dynamic-dispatch-14.slang4
-rw-r--r--tests/compute/dynamic-dispatch-2.slang8
-rw-r--r--tests/compute/dynamic-dispatch-3.slang8
-rw-r--r--tests/compute/dynamic-dispatch-4.slang8
-rw-r--r--tests/compute/dynamic-dispatch-5.slang8
-rw-r--r--tests/compute/dynamic-dispatch-6.slang8
-rw-r--r--tests/compute/dynamic-dispatch-7.slang8
-rw-r--r--tests/compute/dynamic-dispatch-8.slang8
-rw-r--r--tests/compute/dynamic-dispatch-9.slang8
-rw-r--r--tests/compute/empty-struct.slang4
-rw-r--r--tests/compute/empty-struct2.slang4
-rw-r--r--tests/compute/enum-conversion2.slang6
-rw-r--r--tests/compute/enum-tag-conversion.slang6
-rw-r--r--tests/compute/enum.slang6
-rw-r--r--tests/compute/explicit-this-expr.slang4
-rw-r--r--tests/compute/extension-multi-interface.slang4
-rw-r--r--tests/compute/frem.slang6
-rw-r--r--tests/compute/func-cbuffer-param.slang8
-rw-r--r--tests/compute/func-param-legalize.slang2
-rw-r--r--tests/compute/func-resource-param.slang8
-rw-r--r--tests/compute/generic-closer.slang8
-rw-r--r--tests/compute/generic-interface-method-simple.slang4
-rw-r--r--tests/compute/generic-interface-method.slang4
-rw-r--r--tests/compute/generic-list.slang4
-rw-r--r--tests/compute/generic-struct-with-constraint.slang4
-rw-r--r--tests/compute/generic-struct.slang4
-rw-r--r--tests/compute/generics-constrained.slang4
-rw-r--r--tests/compute/generics-constructor.slang4
-rw-r--r--tests/compute/generics-overload.slang4
-rw-r--r--tests/compute/generics-simple.slang4
-rw-r--r--tests/compute/generics-syntax-2.slang4
-rw-r--r--tests/compute/generics-syntax.slang4
-rw-r--r--tests/compute/global-generic-value-param.slang2
-rw-r--r--tests/compute/global-init.slang4
-rw-r--r--tests/compute/global-type-param-in-entrypoint.slang2
-rw-r--r--tests/compute/global-type-param.slang2
-rw-r--r--tests/compute/groupshared.slang8
-rw-r--r--tests/compute/half-calc.slang4
-rw-r--r--tests/compute/half-structured-buffer.slang4
-rw-r--r--tests/compute/half-texture.slang2
-rw-r--r--tests/compute/implicit-generic-app.slang4
-rw-r--r--tests/compute/implicit-this-expr.slang4
-rw-r--r--tests/compute/init-list-defaults.slang4
-rw-r--r--tests/compute/initializer-list.slang4
-rw-r--r--tests/compute/inout.slang4
-rw-r--r--tests/compute/int-generic.slang2
-rw-r--r--tests/compute/interface-assoc-type-param.slang4
-rw-r--r--tests/compute/interface-func-param-in-struct.slang4
-rw-r--r--tests/compute/interface-local.slang8
-rw-r--r--tests/compute/interface-param-partial-specialize.slang4
-rw-r--r--tests/compute/interface-param.slang8
-rw-r--r--tests/compute/interface-static-method.slang8
-rw-r--r--tests/compute/loop-unroll.slang12
-rw-r--r--tests/compute/matrix-layout-structured-buffer.slang4
-rw-r--r--tests/compute/matrix-layout.hlsl4
-rw-r--r--tests/compute/modern-syntax.slang4
-rw-r--r--tests/compute/multi-interface.slang4
-rw-r--r--tests/compute/multiple-continue-sites.slang4
-rw-r--r--tests/compute/mutating-and-inout.slang2
-rw-r--r--tests/compute/mutating-methods.slang8
-rw-r--r--tests/compute/nested-generics.slang4
-rw-r--r--tests/compute/nested-generics2.slang4
-rw-r--r--tests/compute/performance-profile.slang10
-rw-r--r--tests/compute/pointer-emit.slang2
-rw-r--r--tests/compute/rewriter-parameter-block-complex.hlsl20
-rw-r--r--tests/compute/rw-texture-simple.slang12
-rw-r--r--tests/compute/scope-operator.slang6
-rw-r--r--tests/compute/select-expr.slang4
-rw-r--r--tests/compute/semantic.slang8
-rw-r--r--tests/compute/simple.slang4
-rw-r--r--tests/compute/ssa-reduce-bug.slang4
-rw-r--r--tests/compute/static-const-array.slang6
-rw-r--r--tests/compute/static-const-matrix-array.slang6
-rw-r--r--tests/compute/static-const-vector-array.slang6
-rw-r--r--tests/compute/struct-default-init.slang4
-rw-r--r--tests/compute/struct-in-generic.slang4
-rw-r--r--tests/compute/struct-make.slang6
-rw-r--r--tests/compute/structured-buffer-of-matrices.slang8
-rw-r--r--tests/compute/switch-stmt.slang4
-rw-r--r--tests/compute/texture-get-dimensions.slang12
-rw-r--r--tests/compute/texture-sampling.slang22
-rw-r--r--tests/compute/texture-simple.slang12
-rw-r--r--tests/compute/this-type.slang4
-rw-r--r--tests/compute/transcendental.slang8
-rw-r--r--tests/compute/transitive-interface.slang4
-rw-r--r--tests/compute/type-legalize-global-with-init.slang6
-rw-r--r--tests/compute/typedef-member.slang4
-rw-r--r--tests/compute/unbounded-array-of-array-syntax.slang6
-rw-r--r--tests/compute/unbounded-array-of-array.slang2
-rw-r--r--tests/compute/user-defined-initializer.slang4
-rw-r--r--tests/compute/vector-scalar-compare.slang7
-rw-r--r--tests/compute/write-structured-buffer-field.slang4
121 files changed, 344 insertions, 337 deletions
diff --git a/tests/compute/array-param.slang b/tests/compute/array-param.slang
index 5f5528a10..3545dd75f 100644
--- a/tests/compute/array-param.slang
+++ b/tests/compute/array-param.slang
@@ -1,8 +1,8 @@
//TEST(compute):COMPARE_COMPUTE_EX:-cuda -compute -shaderobj
-//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -compile-arg -O3
+//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -compile-arg -O3 -shaderobj
//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12
-//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -shaderobj
+//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj
//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer
diff --git a/tests/compute/assoctype-complex.slang b/tests/compute/assoctype-complex.slang
index 57b3b1b7f..bd53be485 100644
--- a/tests/compute/assoctype-complex.slang
+++ b/tests/compute/assoctype-complex.slang
@@ -1,5 +1,5 @@
-//TEST(compute):COMPARE_COMPUTE: -cpu
-//TEST(compute):COMPARE_COMPUTE:
+//TEST(compute):COMPARE_COMPUTE: -cpu -shaderobj
+//TEST(compute):COMPARE_COMPUTE: -shaderobj
//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name=outputBuffer
RWStructuredBuffer<int> outputBuffer;
diff --git a/tests/compute/assoctype-func-param.slang b/tests/compute/assoctype-func-param.slang
index 850b1f8f8..830cc00cc 100644
--- a/tests/compute/assoctype-func-param.slang
+++ b/tests/compute/assoctype-func-param.slang
@@ -1,5 +1,5 @@
-//TEST(compute):COMPARE_COMPUTE:-cpu
-//TEST(compute):COMPARE_COMPUTE:
+//TEST(compute):COMPARE_COMPUTE:-cpu -shaderobj
+//TEST(compute):COMPARE_COMPUTE: -shaderobj
// Test type checking of associatedtype and typedef
diff --git a/tests/compute/assoctype-generic-arg.slang b/tests/compute/assoctype-generic-arg.slang
index c46712336..1015ef775 100644
--- a/tests/compute/assoctype-generic-arg.slang
+++ b/tests/compute/assoctype-generic-arg.slang
@@ -1,5 +1,5 @@
-//TEST(compute):COMPARE_COMPUTE:-cpu
-//TEST(compute):COMPARE_COMPUTE:
+//TEST(compute):COMPARE_COMPUTE:-cpu -shaderobj
+//TEST(compute):COMPARE_COMPUTE: -shaderobj
//TEST_INPUT:type AssocImpl
diff --git a/tests/compute/assoctype-lookup.slang b/tests/compute/assoctype-lookup.slang
index 1dccc8e12..e94c5471e 100644
--- a/tests/compute/assoctype-lookup.slang
+++ b/tests/compute/assoctype-lookup.slang
@@ -2,10 +2,10 @@
// Confirm that an associated type can be correctly looked up.
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -cpu
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12
-//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -cpu -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -shaderobj
+//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj
interface IBoneWeightSet
{
diff --git a/tests/compute/assoctype-nested.slang b/tests/compute/assoctype-nested.slang
index af35839eb..7bb251a26 100644
--- a/tests/compute/assoctype-nested.slang
+++ b/tests/compute/assoctype-nested.slang
@@ -2,10 +2,10 @@
// Confirm that an associated type can be declared nested in its parent.
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -cpu
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12
-//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -cpu -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -shaderobj
+//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj
interface IRandomGenerator
{
diff --git a/tests/compute/assoctype-simple.slang b/tests/compute/assoctype-simple.slang
index 4cdd148b7..be69a82cf 100644
--- a/tests/compute/assoctype-simple.slang
+++ b/tests/compute/assoctype-simple.slang
@@ -1,5 +1,5 @@
-//TEST(smoke,compute):COMPARE_COMPUTE:-cpu
-//TEST(smoke,compute):COMPARE_COMPUTE:
+//TEST(smoke,compute):COMPARE_COMPUTE:-cpu -shaderobj
+//TEST(smoke,compute):COMPARE_COMPUTE: -shaderobj
// Confirm that generics syntax can be used in user
// code and generates valid output.
diff --git a/tests/compute/atomics-buffer.slang b/tests/compute/atomics-buffer.slang
index cf92f1b21..e511ece04 100644
--- a/tests/compute/atomics-buffer.slang
+++ b/tests/compute/atomics-buffer.slang
@@ -1,14 +1,14 @@
// atomics-buffer.slang
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -shaderobj
// Doesn't work on VK - GLSL output doesn't replace InterlockedAdd.
-//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -vk
+//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -vk -shaderobj
// Cannot work on CUDA, as outputBuffer becomes a CUsurfObject - which do not appear to have atomics available.
// If the buffer was a StructuredBuffer this would work on CUDA.
-//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -cuda
+//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -cuda -shaderobj
// Atomics not available on CPU currently
-//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -cpu
+//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -cpu -shaderobj
//TEST_INPUT:ubuffer(format=R_UInt32, data=[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]):out,name outputBuffer
diff --git a/tests/compute/atomics-groupshared.slang b/tests/compute/atomics-groupshared.slang
index 9c3e1ab8d..5bb757082 100644
--- a/tests/compute/atomics-groupshared.slang
+++ b/tests/compute/atomics-groupshared.slang
@@ -1,9 +1,9 @@
// atomics-groupshared.slang
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -vk
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -cuda
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -vk -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -cuda -shaderobj
//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer
diff --git a/tests/compute/atomics.slang b/tests/compute/atomics.slang
index cbd35d1dc..ca467c1fb 100644
--- a/tests/compute/atomics.slang
+++ b/tests/compute/atomics.slang
@@ -1,9 +1,9 @@
// atomics.slang
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -vk
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -cuda
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -vk -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -cuda -shaderobj
//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out, name outputBuffer
diff --git a/tests/compute/break-stmt.slang b/tests/compute/break-stmt.slang
index 57521f217..b0c8a666c 100644
--- a/tests/compute/break-stmt.slang
+++ b/tests/compute/break-stmt.slang
@@ -1,5 +1,5 @@
-//TEST(compute):COMPARE_COMPUTE:-cpu
-//TEST(compute):COMPARE_COMPUTE:
+//TEST(compute):COMPARE_COMPUTE:-cpu -shaderobj
+//TEST(compute):COMPARE_COMPUTE: -shaderobj
// Test that `break` from a loop works.
diff --git a/tests/compute/buffer-layout.slang b/tests/compute/buffer-layout.slang
index a846ce366..5caacff31 100644
--- a/tests/compute/buffer-layout.slang
+++ b/tests/compute/buffer-layout.slang
@@ -3,10 +3,10 @@
// The goal of this test is to make sure that constant and structured
// buffers obey the rules we expect of the each target API.
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12
-//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -cpu
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -shaderobj
+//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -cpu -shaderobj
//TEST_INPUT: ubuffer(data=[0 0 0 0], stride=4):out,name=outputBuffer
RWStructuredBuffer<int> outputBuffer;
diff --git a/tests/compute/buffer-type-splitting.slang b/tests/compute/buffer-type-splitting.slang
index f1b74f7ce..d9fee4254 100644
--- a/tests/compute/buffer-type-splitting.slang
+++ b/tests/compute/buffer-type-splitting.slang
@@ -1,5 +1,5 @@
//TEST(compute):COMPARE_COMPUTE:-cpu
-//TEST(compute):COMPARE_COMPUTE:
+//TEST(compute):COMPARE_COMPUTE: -shaderobj
//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name=outputBuffer
//TEST_INPUT:ubuffer(data=[0 2 3 3]):name=s[0].a
diff --git a/tests/compute/byte-address-buffer.slang b/tests/compute/byte-address-buffer.slang
index 96e100ae8..462002edf 100644
--- a/tests/compute/byte-address-buffer.slang
+++ b/tests/compute/byte-address-buffer.slang
@@ -1,9 +1,9 @@
// byte-address-buffer.slang
-//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute
-//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute
-//TEST(compute):COMPARE_COMPUTE_EX:-d3d12 -compute
+//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj
+//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-d3d12 -compute -shaderobj
// Confirm cross-compilation of `(RW)ByteAddressBuffer`
//
diff --git a/tests/compute/cast-zero-to-struct.slang b/tests/compute/cast-zero-to-struct.slang
index ec3dd6472..383662420 100644
--- a/tests/compute/cast-zero-to-struct.slang
+++ b/tests/compute/cast-zero-to-struct.slang
@@ -3,8 +3,8 @@
// Test that HLSL legacy syntax for casting from literal zero
// to a `struct` type works.
-//TEST(compute):COMPARE_COMPUTE:
-//TEST(compute):COMPARE_COMPUTE:-cpu
+//TEST(compute):COMPARE_COMPUTE: -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cpu -shaderobj
struct S
{
diff --git a/tests/compute/cbuffer-legalize.slang b/tests/compute/cbuffer-legalize.slang
index 416eded1e..3941a8de3 100644
--- a/tests/compute/cbuffer-legalize.slang
+++ b/tests/compute/cbuffer-legalize.slang
@@ -1,4 +1,4 @@
-//TEST(compute):COMPARE_COMPUTE:-cpu
+//TEST(compute):COMPARE_COMPUTE:-cpu -shaderobj
//TEST(compute):COMPARE_COMPUTE:-shaderobj
//TEST_INPUT: Uniform(data=[1 2 3 4]):name=C.p.c
diff --git a/tests/compute/comma-operator.slang b/tests/compute/comma-operator.slang
index 1036482ef..c6cecf1c7 100644
--- a/tests/compute/comma-operator.slang
+++ b/tests/compute/comma-operator.slang
@@ -1,7 +1,7 @@
// comma-operator.slang
-//TEST(compute):COMPARE_COMPUTE:-cpu
-//TEST(compute):COMPARE_COMPUTE:
+//TEST(compute):COMPARE_COMPUTE:-cpu -shaderobj
+//TEST(compute):COMPARE_COMPUTE: -shaderobj
// Test that the "comma operator" behaves as expected
diff --git a/tests/compute/compile-time-loop.slang b/tests/compute/compile-time-loop.slang
index 128e72895..5b9dd010b 100644
--- a/tests/compute/compile-time-loop.slang
+++ b/tests/compute/compile-time-loop.slang
@@ -1,4 +1,4 @@
-//TEST(compute):COMPARE_RENDER_COMPUTE:
+//TEST(compute):COMPARE_RENDER_COMPUTE: -shaderobj
//TEST_INPUT: Texture2D(size=4, content = one):name t
//TEST_INPUT: Sampler:name s
diff --git a/tests/compute/constexpr.slang b/tests/compute/constexpr.slang
index cb14b1a9c..0d46d81a5 100644
--- a/tests/compute/constexpr.slang
+++ b/tests/compute/constexpr.slang
@@ -1,6 +1,6 @@
// constexpr.slang
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -gcompute
-//DISABLED://TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -gcompute
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -gcompute -shaderobj
+//DISABLED://TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -gcompute -shaderobj
//TEST_INPUT: Texture2D(size=4, content = one):name tex
//TEST_INPUT: Sampler:name samp
diff --git a/tests/compute/continue-stmt.slang b/tests/compute/continue-stmt.slang
index 1501173f6..50d8141bc 100644
--- a/tests/compute/continue-stmt.slang
+++ b/tests/compute/continue-stmt.slang
@@ -1,5 +1,5 @@
-//TEST(compute):COMPARE_COMPUTE:
-//TEST(compute):COMPARE_COMPUTE:-cpu
+//TEST(compute):COMPARE_COMPUTE: -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cpu -shaderobj
// Test that `break` from a loop works.
diff --git a/tests/compute/default-initializer.slang b/tests/compute/default-initializer.slang
index 1cda60084..dab195d25 100644
--- a/tests/compute/default-initializer.slang
+++ b/tests/compute/default-initializer.slang
@@ -3,8 +3,8 @@
// Confirm that a type with a default initializer gets
// default-initialized where appropriate.
-//TEST(compute):COMPARE_COMPUTE:
-//TEST(compute):COMPARE_COMPUTE:-cpu
+//TEST(compute):COMPARE_COMPUTE: -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cpu -shaderobj
struct Stuff
{
diff --git a/tests/compute/default-parameter.slang b/tests/compute/default-parameter.slang
index 31cfa8f6a..1334aa6a3 100644
--- a/tests/compute/default-parameter.slang
+++ b/tests/compute/default-parameter.slang
@@ -1,6 +1,6 @@
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute
-//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute
-//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-cpu -compute
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj
+//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj
+//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-cpu -compute -shaderobj
//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name=outputBuffer
RWStructuredBuffer<int> outputBuffer;
diff --git a/tests/compute/discard-stmt.slang b/tests/compute/discard-stmt.slang
index 1af42c6a0..d6c902ec9 100644
--- a/tests/compute/discard-stmt.slang
+++ b/tests/compute/discard-stmt.slang
@@ -1,4 +1,4 @@
-//TEST(compute):COMPARE_RENDER_COMPUTE:
+//TEST(compute):COMPARE_RENDER_COMPUTE: -shaderobj
//TEST_INPUT: Texture2D(size=4, content = one):name tex
//TEST_INPUT: Sampler:name samp
//TEST_INPUT: ubuffer(data=[0 0], stride=4):out,name outputBuffer
diff --git a/tests/compute/dump-repro.slang b/tests/compute/dump-repro.slang
index 90a9578fa..9065c29fc 100644
--- a/tests/compute/dump-repro.slang
+++ b/tests/compute/dump-repro.slang
@@ -1,8 +1,8 @@
//DISABLE_TEST(compute):SIMPLE:-profile cs_5_0 -entry computeMain -target dxbc -dump-repro repro.slang-repro
//TEST:COMPILE:tests/compute/dump-repro.slang -profile cs_5_0 -entry computeMain -target dxbc -dump-repro repro.slang-repro
-//TEST(compute):COMPARE_COMPUTE_EX:-dx11 -compute -no-default-entry-point -compile-arg -load-repro -compile-arg repro.slang-repro
+//TEST(compute):COMPARE_COMPUTE_EX:-dx11 -compute -no-default-entry-point -compile-arg -load-repro -compile-arg repro.slang-repro -shaderobj
// We only want to run on one API to test load worked
-//DISABLE_TEST(compute):COMPARE_COMPUTE:-dx12 -load-repro repro.slang-repro
+//DISABLE_TEST(compute):COMPARE_COMPUTE:-dx12 -load-repro repro.slang-repro -shaderobj
//TEST_INPUT:ubuffer(data=[0 0 0 0 0 0 0 0], stride=4):out,name outputBuffer
RWStructuredBuffer<int> outputBuffer;
diff --git a/tests/compute/dynamic-dispatch-1.slang b/tests/compute/dynamic-dispatch-1.slang
index 554455fcf..10d3552ab 100644
--- a/tests/compute/dynamic-dispatch-1.slang
+++ b/tests/compute/dynamic-dispatch-1.slang
@@ -1,7 +1,7 @@
-//TEST(compute):COMPARE_COMPUTE:-dx11
-//TEST(compute):COMPARE_COMPUTE:-vk
-//TEST(compute):COMPARE_COMPUTE:-cpu -xslang -disable-specialization
-//TEST(compute):COMPARE_COMPUTE_EX:-cuda -compute -xslang -disable-specialization
+//TEST(compute):COMPARE_COMPUTE:-dx11 -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-vk -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cpu -xslang -disable-specialization -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-cuda -compute -xslang -disable-specialization -shaderobj
// Test dynamic dispatch code gen for non-static member functions.
diff --git a/tests/compute/dynamic-dispatch-10.slang b/tests/compute/dynamic-dispatch-10.slang
index 4f5d368e8..ddd51c4b9 100644
--- a/tests/compute/dynamic-dispatch-10.slang
+++ b/tests/compute/dynamic-dispatch-10.slang
@@ -1,7 +1,7 @@
-//TEST(compute):COMPARE_COMPUTE:-dx11
-//TEST(compute):COMPARE_COMPUTE:-vk
-//TEST(compute):COMPARE_COMPUTE:-cpu -xslang -disable-specialization
-//TEST(compute):COMPARE_COMPUTE:-cuda -xslang -disable-specialization
+//TEST(compute):COMPARE_COMPUTE:-dx11 -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-vk -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cpu -xslang -disable-specialization -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cuda -xslang -disable-specialization -shaderobj
// Test dynamic dispatch code gen for specializing a generic with
// an existential value.
diff --git a/tests/compute/dynamic-dispatch-11.slang b/tests/compute/dynamic-dispatch-11.slang
index 379cf62d8..daebff39a 100644
--- a/tests/compute/dynamic-dispatch-11.slang
+++ b/tests/compute/dynamic-dispatch-11.slang
@@ -1,9 +1,9 @@
// Test using interface typed shader parameters with dynamic dispatch.
-//TEST(compute):COMPARE_COMPUTE:-dx11
-//TEST(compute):COMPARE_COMPUTE:-vk
-//TEST(compute):COMPARE_COMPUTE:-cpu -xslang -disable-specialization
-//TEST(compute):COMPARE_COMPUTE:-cuda -xslang -disable-specialization
+//TEST(compute):COMPARE_COMPUTE:-dx11 -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-vk -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cpu -xslang -disable-specialization -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cuda -xslang -disable-specialization -shaderobj
[anyValueSize(8)]
interface IInterface
diff --git a/tests/compute/dynamic-dispatch-12.slang b/tests/compute/dynamic-dispatch-12.slang
index 11bfcc1eb..e77b111fd 100644
--- a/tests/compute/dynamic-dispatch-12.slang
+++ b/tests/compute/dynamic-dispatch-12.slang
@@ -1,9 +1,9 @@
// Test using interface typed shader parameters with dynamic dispatch.
-//TEST(compute):COMPARE_COMPUTE:-dx11
-//TEST(compute):COMPARE_COMPUTE:-cpu
-//TEST(compute):COMPARE_COMPUTE:-vk
-//TEST(compute):COMPARE_COMPUTE:-cuda
+//TEST(compute):COMPARE_COMPUTE:-dx11 -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cpu -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-vk -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cuda -shaderobj
[anyValueSize(8)]
interface IInterface
diff --git a/tests/compute/dynamic-dispatch-13.slang b/tests/compute/dynamic-dispatch-13.slang
index e80e5ce5f..b88ad2636 100644
--- a/tests/compute/dynamic-dispatch-13.slang
+++ b/tests/compute/dynamic-dispatch-13.slang
@@ -1,9 +1,9 @@
// Test using interface typed shader parameters wrapped inside a `StructuredBuffer`.
-//TEST(compute):COMPARE_COMPUTE:-cpu
+//TEST(compute):COMPARE_COMPUTE:-cpu -shaderobj
//TEST(compute):COMPARE_COMPUTE:-dx11
//TEST(compute):COMPARE_COMPUTE:-vk
-//TEST(compute):COMPARE_COMPUTE:-cuda
+//TEST(compute):COMPARE_COMPUTE:-cuda -shaderobj
[anyValueSize(8)]
interface IInterface
diff --git a/tests/compute/dynamic-dispatch-14.slang b/tests/compute/dynamic-dispatch-14.slang
index 35da4bd06..354006012 100644
--- a/tests/compute/dynamic-dispatch-14.slang
+++ b/tests/compute/dynamic-dispatch-14.slang
@@ -1,9 +1,9 @@
// Test using interface typed shader parameters with associated types.
//TEST(compute):COMPARE_COMPUTE:-dx11
-//TEST(compute):COMPARE_COMPUTE:-cpu
+//TEST(compute):COMPARE_COMPUTE:-cpu -shaderobj
//TEST(compute):COMPARE_COMPUTE:-vk
-//TEST(compute):COMPARE_COMPUTE:-cuda
+//TEST(compute):COMPARE_COMPUTE:-cuda -shaderobj
[anyValueSize(8)]
interface IAssoc
diff --git a/tests/compute/dynamic-dispatch-2.slang b/tests/compute/dynamic-dispatch-2.slang
index e71a17b5c..06aed6e71 100644
--- a/tests/compute/dynamic-dispatch-2.slang
+++ b/tests/compute/dynamic-dispatch-2.slang
@@ -1,7 +1,7 @@
-//TEST(compute):COMPARE_COMPUTE:-dx11
-//TEST(compute):COMPARE_COMPUTE:-vk
-//TEST(compute):COMPARE_COMPUTE:-cpu -xslang -disable-specialization
-//TEST(compute):COMPARE_COMPUTE:-cuda -xslang -disable-specialization
+//TEST(compute):COMPARE_COMPUTE:-dx11 -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-vk -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cpu -xslang -disable-specialization -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cuda -xslang -disable-specialization -shaderobj
// Test dynamic dispatch code gen for static member functions
// of associated type.
diff --git a/tests/compute/dynamic-dispatch-3.slang b/tests/compute/dynamic-dispatch-3.slang
index 59b1beed9..94430e638 100644
--- a/tests/compute/dynamic-dispatch-3.slang
+++ b/tests/compute/dynamic-dispatch-3.slang
@@ -1,7 +1,7 @@
-//TEST(compute):COMPARE_COMPUTE:-dx11
-//TEST(compute):COMPARE_COMPUTE:-vk
-//TEST(compute):COMPARE_COMPUTE:-cpu -xslang -disable-specialization
-//TEST(compute):COMPARE_COMPUTE:-cuda -xslang -disable-specialization
+//TEST(compute):COMPARE_COMPUTE:-dx11 -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-vk -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cpu -xslang -disable-specialization -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cuda -xslang -disable-specialization -shaderobj
// Test dynamic dispatch code gen for static member functions
// of associated type.
diff --git a/tests/compute/dynamic-dispatch-4.slang b/tests/compute/dynamic-dispatch-4.slang
index 8945578a4..996e70665 100644
--- a/tests/compute/dynamic-dispatch-4.slang
+++ b/tests/compute/dynamic-dispatch-4.slang
@@ -1,7 +1,7 @@
-//TEST(compute):COMPARE_COMPUTE:-dx11
-//TEST(compute):COMPARE_COMPUTE:-vk
-//TEST(compute):COMPARE_COMPUTE:-cpu -xslang -disable-specialization
-//TEST(compute):COMPARE_COMPUTE:-cuda -xslang -disable-specialization
+//TEST(compute):COMPARE_COMPUTE:-dx11 -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-vk -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cpu -xslang -disable-specialization -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cuda -xslang -disable-specialization -shaderobj
// Test dynamic dispatch code gen for generic-typed local variables.
diff --git a/tests/compute/dynamic-dispatch-5.slang b/tests/compute/dynamic-dispatch-5.slang
index 385f3d4c8..61d4024af 100644
--- a/tests/compute/dynamic-dispatch-5.slang
+++ b/tests/compute/dynamic-dispatch-5.slang
@@ -1,7 +1,7 @@
-//TEST(compute):COMPARE_COMPUTE:-dx11
-//TEST(compute):COMPARE_COMPUTE:-vk
-//TEST(compute):COMPARE_COMPUTE:-cpu -xslang -disable-specialization
-//TEST(compute):COMPARE_COMPUTE:-cuda -xslang -disable-specialization
+//TEST(compute):COMPARE_COMPUTE:-dx11 -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-vk -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cpu -xslang -disable-specialization -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cuda -xslang -disable-specialization -shaderobj
// Test dynamic dispatch code gen for general `This` type.
[anyValueSize(8)]
diff --git a/tests/compute/dynamic-dispatch-6.slang b/tests/compute/dynamic-dispatch-6.slang
index 536c960ee..69edb51bc 100644
--- a/tests/compute/dynamic-dispatch-6.slang
+++ b/tests/compute/dynamic-dispatch-6.slang
@@ -1,7 +1,7 @@
-//TEST(compute):COMPARE_COMPUTE:-dx11
-//TEST(compute):COMPARE_COMPUTE:-vk
-//TEST(compute):COMPARE_COMPUTE:-cpu -xslang -disable-specialization
-//TEST(compute):COMPARE_COMPUTE:-cuda -xslang -disable-specialization
+//TEST(compute):COMPARE_COMPUTE:-dx11 -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-vk -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cpu -xslang -disable-specialization -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cuda -xslang -disable-specialization -shaderobj
// Test dynamic dispatch code gen for generic-typed return values.
[anyValueSize(8)]
diff --git a/tests/compute/dynamic-dispatch-7.slang b/tests/compute/dynamic-dispatch-7.slang
index 539a8719d..7f516b0d5 100644
--- a/tests/compute/dynamic-dispatch-7.slang
+++ b/tests/compute/dynamic-dispatch-7.slang
@@ -1,7 +1,7 @@
-//TEST(compute):COMPARE_COMPUTE:-dx11
-//TEST(compute):COMPARE_COMPUTE:-vk
-//TEST(compute):COMPARE_COMPUTE:-cpu -xslang -disable-specialization
-//TEST(compute):COMPARE_COMPUTE:-cuda -xslang -disable-specialization
+//TEST(compute):COMPARE_COMPUTE:-dx11 -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-vk -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cpu -xslang -disable-specialization -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cuda -xslang -disable-specialization -shaderobj
// Test dynamic dispatch code gen for associated-typed return values
// and local variables.
diff --git a/tests/compute/dynamic-dispatch-8.slang b/tests/compute/dynamic-dispatch-8.slang
index 194093009..62d3f0a9d 100644
--- a/tests/compute/dynamic-dispatch-8.slang
+++ b/tests/compute/dynamic-dispatch-8.slang
@@ -1,7 +1,7 @@
-//TEST(compute):COMPARE_COMPUTE:-dx11
-//TEST(compute):COMPARE_COMPUTE:-vk
-//TEST(compute):COMPARE_COMPUTE:-cpu -xslang -disable-specialization
-//TEST(compute):COMPARE_COMPUTE:-cuda -xslang -disable-specialization
+//TEST(compute):COMPARE_COMPUTE:-dx11 -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-vk -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cpu -xslang -disable-specialization -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cuda -xslang -disable-specialization -shaderobj
// Test dynamic dispatch code gen for extential type parameters.
diff --git a/tests/compute/dynamic-dispatch-9.slang b/tests/compute/dynamic-dispatch-9.slang
index 8c3dab041..77112a318 100644
--- a/tests/compute/dynamic-dispatch-9.slang
+++ b/tests/compute/dynamic-dispatch-9.slang
@@ -1,7 +1,7 @@
-//TEST(compute):COMPARE_COMPUTE:-dx11
-//TEST(compute):COMPARE_COMPUTE:-vk
-//TEST(compute):COMPARE_COMPUTE:-cpu -xslang -disable-specialization
-//TEST(compute):COMPARE_COMPUTE:-cuda -xslang -disable-specialization
+//TEST(compute):COMPARE_COMPUTE:-dx11 -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-vk -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cpu -xslang -disable-specialization -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cuda -xslang -disable-specialization -shaderobj
// Test dynamic dispatch code gen for initializing an extential value
// from a generic value.
diff --git a/tests/compute/empty-struct.slang b/tests/compute/empty-struct.slang
index 53c19384f..17e86b3c1 100644
--- a/tests/compute/empty-struct.slang
+++ b/tests/compute/empty-struct.slang
@@ -1,5 +1,5 @@
-//TEST(smoke,compute):COMPARE_COMPUTE:
-//TEST(smoke,compute):COMPARE_COMPUTE:-cpu
+//TEST(smoke,compute):COMPARE_COMPUTE: -shaderobj
+//TEST(smoke,compute):COMPARE_COMPUTE:-cpu -shaderobj
// Confirm that generics syntax can be used in user
// code and generates valid output.
diff --git a/tests/compute/empty-struct2.slang b/tests/compute/empty-struct2.slang
index 0f65a39b3..27e587b42 100644
--- a/tests/compute/empty-struct2.slang
+++ b/tests/compute/empty-struct2.slang
@@ -1,5 +1,5 @@
-//TEST(smoke,compute):COMPARE_COMPUTE:
-//TEST(smoke,compute):COMPARE_COMPUTE:-cpu
+//TEST(smoke,compute):COMPARE_COMPUTE: -shaderobj
+//TEST(smoke,compute):COMPARE_COMPUTE:-cpu -shaderobj
// This is a basic test for Slang compute shader.
diff --git a/tests/compute/enum-conversion2.slang b/tests/compute/enum-conversion2.slang
index 13d807277..07b1a4315 100644
--- a/tests/compute/enum-conversion2.slang
+++ b/tests/compute/enum-conversion2.slang
@@ -1,8 +1,8 @@
// enum-conversion2.slang
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute
-//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute
-//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj
+//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -shaderobj
// More significant stress testing of `enum` types
diff --git a/tests/compute/enum-tag-conversion.slang b/tests/compute/enum-tag-conversion.slang
index a5dcf2a69..e972860a0 100644
--- a/tests/compute/enum-tag-conversion.slang
+++ b/tests/compute/enum-tag-conversion.slang
@@ -1,8 +1,8 @@
// enum-tag-conversion.slang
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute
-//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute
-//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj
+//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -shaderobj
// Confirm that a value of `enum` type can have an initializer
// that includes basic operations like type conversion.
diff --git a/tests/compute/enum.slang b/tests/compute/enum.slang
index f38adbc94..cae18404e 100644
--- a/tests/compute/enum.slang
+++ b/tests/compute/enum.slang
@@ -1,7 +1,7 @@
// enum.slang
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute
-//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute
-//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj
+//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -shaderobj
// Confirm that basic `enum` declarations are supported.
diff --git a/tests/compute/explicit-this-expr.slang b/tests/compute/explicit-this-expr.slang
index c55bb70ff..baf718be0 100644
--- a/tests/compute/explicit-this-expr.slang
+++ b/tests/compute/explicit-this-expr.slang
@@ -1,5 +1,5 @@
-//TEST(compute):COMPARE_COMPUTE:
-//TEST(compute):COMPARE_COMPUTE:-cpu
+//TEST(compute):COMPARE_COMPUTE: -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cpu -shaderobj
// Access fields of a `struct` type from within a "method" by
diff --git a/tests/compute/extension-multi-interface.slang b/tests/compute/extension-multi-interface.slang
index cde6c4a5a..23c917411 100644
--- a/tests/compute/extension-multi-interface.slang
+++ b/tests/compute/extension-multi-interface.slang
@@ -1,5 +1,5 @@
-//TEST(compute):COMPARE_COMPUTE:
-//TEST(compute):COMPARE_COMPUTE:-cpu
+//TEST(compute):COMPARE_COMPUTE: -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cpu -shaderobj
//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name=outputBuffer
RWStructuredBuffer<float> outputBuffer;
diff --git a/tests/compute/frem.slang b/tests/compute/frem.slang
index 848f0513a..75207a8d0 100644
--- a/tests/compute/frem.slang
+++ b/tests/compute/frem.slang
@@ -1,8 +1,8 @@
// frem.slang
-//TEST(compute):COMPARE_COMPUTE:
-//TEST(compute):COMPARE_COMPUTE:-cpu
-//TEST(compute):COMPARE_COMPUTE:-vk
+//TEST(compute):COMPARE_COMPUTE: -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cpu -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-vk -shaderobj
// Test uses of floating-point `%` operator.
diff --git a/tests/compute/func-cbuffer-param.slang b/tests/compute/func-cbuffer-param.slang
index a67c9ca00..ec9543334 100644
--- a/tests/compute/func-cbuffer-param.slang
+++ b/tests/compute/func-cbuffer-param.slang
@@ -5,10 +5,10 @@
// This has a compatibility issue on Windows 10.0.10586 on Dx12 - dxcompiler will crash (can remove form tests with -exclude compatibility-issue)
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute
-//TEST(compute, vulkan, compatibility-issue):COMPARE_COMPUTE_EX:-dx12 -compute -use-dxil
-//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute
-//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-cpu -compute
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj
+//TEST(compute, vulkan, compatibility-issue):COMPARE_COMPUTE_EX:-dx12 -compute -use-dxil -shaderobj
+//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj
+//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-cpu -compute -shaderobj
struct Data
{
diff --git a/tests/compute/func-param-legalize.slang b/tests/compute/func-param-legalize.slang
index 877324ac7..2d7c57e9f 100644
--- a/tests/compute/func-param-legalize.slang
+++ b/tests/compute/func-param-legalize.slang
@@ -1,4 +1,4 @@
-//TEST(compute):COMPARE_COMPUTE:
+//TEST(compute):COMPARE_COMPUTE: -shaderobj
struct Param
{
diff --git a/tests/compute/func-resource-param.slang b/tests/compute/func-resource-param.slang
index 570501c50..4b67c909e 100644
--- a/tests/compute/func-resource-param.slang
+++ b/tests/compute/func-resource-param.slang
@@ -4,10 +4,10 @@
// requires non-trivial legalization can be compiled
// to work on GLSL-based targets.
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute
-//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-dx12 -compute
-//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute
-//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-cpu -compute
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj
+//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-dx12 -compute -shaderobj
+//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj
+//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-cpu -compute -shaderobj
//NO_TEST:SIMPLE:-target glsl -entry computeMain -stage compute -validate-ir -dump-ir
diff --git a/tests/compute/generic-closer.slang b/tests/compute/generic-closer.slang
index 428174d1c..377b42dab 100644
--- a/tests/compute/generic-closer.slang
+++ b/tests/compute/generic-closer.slang
@@ -1,7 +1,7 @@
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12
-//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute
-//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -shaderobj
+//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -shaderobj
interface IGetter
{
diff --git a/tests/compute/generic-interface-method-simple.slang b/tests/compute/generic-interface-method-simple.slang
index 8a3207671..0e20947d1 100644
--- a/tests/compute/generic-interface-method-simple.slang
+++ b/tests/compute/generic-interface-method-simple.slang
@@ -1,5 +1,5 @@
-//TEST(compute):COMPARE_COMPUTE:
-//TEST(compute):COMPARE_COMPUTE:-cpu
+//TEST(compute):COMPARE_COMPUTE: -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cpu -shaderobj
//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name=outputBuffer
RWStructuredBuffer<float> outputBuffer;
diff --git a/tests/compute/generic-interface-method.slang b/tests/compute/generic-interface-method.slang
index 47fa94f89..fade14d41 100644
--- a/tests/compute/generic-interface-method.slang
+++ b/tests/compute/generic-interface-method.slang
@@ -1,5 +1,5 @@
-//TEST(compute):COMPARE_COMPUTE:
-//TEST(compute):COMPARE_COMPUTE:-cpu
+//TEST(compute):COMPARE_COMPUTE: -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cpu -shaderobj
//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name=outputBuffer
RWStructuredBuffer<float> outputBuffer;
diff --git a/tests/compute/generic-list.slang b/tests/compute/generic-list.slang
index cf2433ebc..9fdf67535 100644
--- a/tests/compute/generic-list.slang
+++ b/tests/compute/generic-list.slang
@@ -1,5 +1,5 @@
-//TEST(compute):COMPARE_COMPUTE:
-//TEST(compute):COMPARE_COMPUTE:-cpu
+//TEST(compute):COMPARE_COMPUTE: -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cpu -shaderobj
// Confirm that generics syntax can be used in user
// code and generates valid output.
diff --git a/tests/compute/generic-struct-with-constraint.slang b/tests/compute/generic-struct-with-constraint.slang
index 1263a7548..b17e2b05e 100644
--- a/tests/compute/generic-struct-with-constraint.slang
+++ b/tests/compute/generic-struct-with-constraint.slang
@@ -1,5 +1,5 @@
-//TEST(compute):COMPARE_COMPUTE:
-//TEST(compute):COMPARE_COMPUTE:-cpu
+//TEST(compute):COMPARE_COMPUTE: -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cpu -shaderobj
// Confirm that generics syntax can be used in user
// code and generates valid output.
diff --git a/tests/compute/generic-struct.slang b/tests/compute/generic-struct.slang
index 7e0496c5f..2ccf9631e 100644
--- a/tests/compute/generic-struct.slang
+++ b/tests/compute/generic-struct.slang
@@ -1,5 +1,5 @@
-//TEST(compute):COMPARE_COMPUTE:
-//TEST(compute):COMPARE_COMPUTE:-cpu
+//TEST(compute):COMPARE_COMPUTE: -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cpu -shaderobj
// Check that user code can declare and use a generic
// `struct` type.
diff --git a/tests/compute/generics-constrained.slang b/tests/compute/generics-constrained.slang
index 72d6b4777..435b840d1 100644
--- a/tests/compute/generics-constrained.slang
+++ b/tests/compute/generics-constrained.slang
@@ -1,5 +1,5 @@
-//TEST(smoke,compute):COMPARE_COMPUTE:
-//TEST(smoke,compute):COMPARE_COMPUTE:-cpu
+//TEST(smoke,compute):COMPARE_COMPUTE: -shaderobj
+//TEST(smoke,compute):COMPARE_COMPUTE:-cpu -shaderobj
// Use interface constraints on a generic parameter
diff --git a/tests/compute/generics-constructor.slang b/tests/compute/generics-constructor.slang
index 0439856cb..65fad20c0 100644
--- a/tests/compute/generics-constructor.slang
+++ b/tests/compute/generics-constructor.slang
@@ -1,5 +1,5 @@
-//TEST(compute):COMPARE_COMPUTE:
-//TEST(compute):COMPARE_COMPUTE:-cpu
+//TEST(compute):COMPARE_COMPUTE: -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cpu -shaderobj
//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name=outputBuffer
RWStructuredBuffer<float> outputBuffer;
diff --git a/tests/compute/generics-overload.slang b/tests/compute/generics-overload.slang
index 05bb075e7..b9753aff1 100644
--- a/tests/compute/generics-overload.slang
+++ b/tests/compute/generics-overload.slang
@@ -1,5 +1,5 @@
-//TEST(smoke,compute):COMPARE_COMPUTE:
-//TEST(smoke,compute):COMPARE_COMPUTE:-cpu
+//TEST(smoke,compute):COMPARE_COMPUTE: -shaderobj
+//TEST(smoke,compute):COMPARE_COMPUTE:-cpu -shaderobj
// Confirm that generics syntax can be used in user
// code and generates valid output.
diff --git a/tests/compute/generics-simple.slang b/tests/compute/generics-simple.slang
index dd1ffa932..76c1167ce 100644
--- a/tests/compute/generics-simple.slang
+++ b/tests/compute/generics-simple.slang
@@ -1,5 +1,5 @@
-//TEST(smoke,compute):COMPARE_COMPUTE:
-//TEST(smoke,compute):COMPARE_COMPUTE:-cpu
+//TEST(smoke,compute):COMPARE_COMPUTE: -shaderobj
+//TEST(smoke,compute):COMPARE_COMPUTE:-cpu -shaderobj
// Confirm that generics syntax can be used in user
// code and generates valid output.
diff --git a/tests/compute/generics-syntax-2.slang b/tests/compute/generics-syntax-2.slang
index 3f83528a5..71603ba47 100644
--- a/tests/compute/generics-syntax-2.slang
+++ b/tests/compute/generics-syntax-2.slang
@@ -1,5 +1,5 @@
-//TEST(compute):COMPARE_COMPUTE:
-//TEST(compute):COMPARE_COMPUTE:-cpu
+//TEST(compute):COMPARE_COMPUTE: -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cpu -shaderobj
// Confirm that generics syntax can be used in user
// code and generates valid output.
diff --git a/tests/compute/generics-syntax.slang b/tests/compute/generics-syntax.slang
index d0f3d6eb4..1d9de89a9 100644
--- a/tests/compute/generics-syntax.slang
+++ b/tests/compute/generics-syntax.slang
@@ -1,5 +1,5 @@
-//TEST(smoke,compute):COMPARE_COMPUTE:
-//TEST(smoke,compute):COMPARE_COMPUTE:-cpu
+//TEST(smoke,compute):COMPARE_COMPUTE: -shaderobj
+//TEST(smoke,compute):COMPARE_COMPUTE:-cpu -shaderobj
// Confirm that generics syntax can be used in user
// code and generates valid output.
diff --git a/tests/compute/global-generic-value-param.slang b/tests/compute/global-generic-value-param.slang
index d2299e501..dd1b091c1 100644
--- a/tests/compute/global-generic-value-param.slang
+++ b/tests/compute/global-generic-value-param.slang
@@ -1,6 +1,6 @@
// global-generic-value-param.slang
-//TEST(compute):COMPARE_COMPUTE:
+//TEST(compute):COMPARE_COMPUTE: -shaderobj
// This is a basic test of support for global generic
// value parameters: explicit named parameters at global
diff --git a/tests/compute/global-init.slang b/tests/compute/global-init.slang
index 42e8ff30b..fd7937cf0 100644
--- a/tests/compute/global-init.slang
+++ b/tests/compute/global-init.slang
@@ -1,5 +1,5 @@
-//TEST(compute):COMPARE_COMPUTE:
-//TEST(compute):COMPARE_COMPUTE:-cpu
+//TEST(compute):COMPARE_COMPUTE: -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cpu -shaderobj
// Test that a global variable (not a shader parameter)
// with an initializer works.
diff --git a/tests/compute/global-type-param-in-entrypoint.slang b/tests/compute/global-type-param-in-entrypoint.slang
index b2a1146d8..a82cd88bc 100644
--- a/tests/compute/global-type-param-in-entrypoint.slang
+++ b/tests/compute/global-type-param-in-entrypoint.slang
@@ -1,4 +1,4 @@
-//TEST(compute):COMPARE_RENDER_COMPUTE:
+//TEST(compute):COMPARE_RENDER_COMPUTE: -shaderobj
//TEST_INPUT: cbuffer(data=[1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0], stride=16):name Uniforms
//TEST_INPUT: ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer
diff --git a/tests/compute/global-type-param.slang b/tests/compute/global-type-param.slang
index ecaa26096..7a3e31187 100644
--- a/tests/compute/global-type-param.slang
+++ b/tests/compute/global-type-param.slang
@@ -1,4 +1,4 @@
-//TEST(smoke,compute):COMPARE_COMPUTE:
+//TEST(smoke,compute):COMPARE_COMPUTE: -shaderobj
//TEST_INPUT:type Wrapper<Impl>
diff --git a/tests/compute/groupshared.slang b/tests/compute/groupshared.slang
index ec7e055c5..7a49ab82b 100644
--- a/tests/compute/groupshared.slang
+++ b/tests/compute/groupshared.slang
@@ -1,9 +1,9 @@
// groupshared.slang
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12
-//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute
-//TEST(compute):COMPARE_COMPUTE_EX:-cuda -compute
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -shaderobj
+//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-cuda -compute -shaderobj
//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out, name=gBuffer
RWStructuredBuffer<int> gBuffer;
diff --git a/tests/compute/half-calc.slang b/tests/compute/half-calc.slang
index b9ed7c439..57efebe53 100644
--- a/tests/compute/half-calc.slang
+++ b/tests/compute/half-calc.slang
@@ -1,5 +1,5 @@
-//DISABLE_TEST(compute):COMPARE_COMPUTE:-dx12 -compute -use-dxil -profile cs_6_2 -render-features half
-//TEST(compute):COMPARE_COMPUTE:-vk -compute -profile cs_6_2 -render-features half
+//DISABLE_TEST(compute):COMPARE_COMPUTE:-dx12 -compute -use-dxil -profile cs_6_2 -render-features half -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-vk -compute -profile cs_6_2 -render-features half -shaderobj
// Test for doing a calculation using half
diff --git a/tests/compute/half-structured-buffer.slang b/tests/compute/half-structured-buffer.slang
index abccfb32a..db0837d53 100644
--- a/tests/compute/half-structured-buffer.slang
+++ b/tests/compute/half-structured-buffer.slang
@@ -1,6 +1,6 @@
-//TEST(compute):COMPARE_COMPUTE:-vk -compute -profile cs_6_2 -render-features half
+//TEST(compute):COMPARE_COMPUTE:-vk -compute -profile cs_6_2 -render-features half -shaderobj
//Disable on Dx12 for now - because writing to structured buffer produces unexpected results
-//TEST_DISABLED(compute):COMPARE_COMPUTE:-dx12 -compute -use-dxil -profile cs_6_2 -render-features half
+//TEST_DISABLED(compute):COMPARE_COMPUTE:-dx12 -compute -use-dxil -profile cs_6_2 -render-features half -shaderobj
struct Thing
{
diff --git a/tests/compute/half-texture.slang b/tests/compute/half-texture.slang
index b4dafac99..1cb73dadd 100644
--- a/tests/compute/half-texture.slang
+++ b/tests/compute/half-texture.slang
@@ -1,5 +1,5 @@
//TEST:CROSS_COMPILE: -target spirv -entry computeMain -profile cs_6_2
-//TEST:SIMPLE: -target hlsl -entry computeMain -profile cs_6_2
+//TEST:SIMPLE: -target hlsl -entry computeMain -profile cs_6_2
//TEST_INPUT:ubuffer(data=[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0], stride=16):out
RWStructuredBuffer<int> outputBuffer;
diff --git a/tests/compute/implicit-generic-app.slang b/tests/compute/implicit-generic-app.slang
index 6c2658372..c41b5e31d 100644
--- a/tests/compute/implicit-generic-app.slang
+++ b/tests/compute/implicit-generic-app.slang
@@ -1,5 +1,5 @@
-//TEST(compute):COMPARE_COMPUTE:
-//TEST(compute):COMPARE_COMPUTE:-cpu
+//TEST(compute):COMPARE_COMPUTE: -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cpu -shaderobj
// Testing that we can implicitly specialize a generic
// that has a constrained type parameter.
diff --git a/tests/compute/implicit-this-expr.slang b/tests/compute/implicit-this-expr.slang
index 9a77b6a4f..e8b720093 100644
--- a/tests/compute/implicit-this-expr.slang
+++ b/tests/compute/implicit-this-expr.slang
@@ -1,5 +1,5 @@
-//TEST(compute):COMPARE_COMPUTE:
-//TEST(compute):COMPARE_COMPUTE:-cpu
+//TEST(compute):COMPARE_COMPUTE: -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cpu -shaderobj
// Access fields of a `struct` type from within a "method" by
// using an implicit `this` expression.
diff --git a/tests/compute/init-list-defaults.slang b/tests/compute/init-list-defaults.slang
index fa7ef5c8e..049450109 100644
--- a/tests/compute/init-list-defaults.slang
+++ b/tests/compute/init-list-defaults.slang
@@ -1,6 +1,6 @@
// init-list-defaults.slang
-//TEST(compute):COMPARE_COMPUTE:
-//TEST(compute):COMPARE_COMPUTE:-cpu
+//TEST(compute):COMPARE_COMPUTE: -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cpu -shaderobj
// Confirm that initializer lists correctly default-initialize elements past those specified.
diff --git a/tests/compute/initializer-list.slang b/tests/compute/initializer-list.slang
index 6dde8694e..85ad0d8cf 100644
--- a/tests/compute/initializer-list.slang
+++ b/tests/compute/initializer-list.slang
@@ -1,5 +1,5 @@
-//TEST(compute):COMPARE_COMPUTE:
-//TEST(compute):COMPARE_COMPUTE:-cpu
+//TEST(compute):COMPARE_COMPUTE: -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cpu -shaderobj
struct Test
{
diff --git a/tests/compute/inout.slang b/tests/compute/inout.slang
index e1af8b256..186bcd3db 100644
--- a/tests/compute/inout.slang
+++ b/tests/compute/inout.slang
@@ -1,5 +1,5 @@
-//TEST(compute):COMPARE_COMPUTE:
-//TEST(compute):COMPARE_COMPUTE:-cpu
+//TEST(compute):COMPARE_COMPUTE: -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cpu -shaderobj
// Test that we correctly support both `out`
// and `inout` function parameters.
diff --git a/tests/compute/int-generic.slang b/tests/compute/int-generic.slang
index 2d3c57575..7d693e42b 100644
--- a/tests/compute/int-generic.slang
+++ b/tests/compute/int-generic.slang
@@ -1,4 +1,4 @@
-//TEST(compute):COMPARE_COMPUTE:
+//TEST(compute):COMPARE_COMPUTE: -shaderobj
//TEST_INPUT:type Material<1,2>
diff --git a/tests/compute/interface-assoc-type-param.slang b/tests/compute/interface-assoc-type-param.slang
index d43a43fc9..4e6df4eb5 100644
--- a/tests/compute/interface-assoc-type-param.slang
+++ b/tests/compute/interface-assoc-type-param.slang
@@ -1,7 +1,7 @@
// Tests using associated types through an existential-struct-typed param.
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -cuda
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -cpu
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -cuda -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -cpu -shaderobj
[anyValueSize(8)]
interface IInterface
diff --git a/tests/compute/interface-func-param-in-struct.slang b/tests/compute/interface-func-param-in-struct.slang
index 550758f38..c32254cb5 100644
--- a/tests/compute/interface-func-param-in-struct.slang
+++ b/tests/compute/interface-func-param-in-struct.slang
@@ -1,7 +1,7 @@
// Tests specializing a function with existential-struct-typed param.
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -cuda
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -cpu
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -cuda -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -cpu -shaderobj
[anyValueSize(8)]
interface IInterface
diff --git a/tests/compute/interface-local.slang b/tests/compute/interface-local.slang
index 6e42d30ab..714a72cca 100644
--- a/tests/compute/interface-local.slang
+++ b/tests/compute/interface-local.slang
@@ -10,10 +10,10 @@
// on a generic type parameter.
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12
-//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute
-//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -shaderobj
+//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -shaderobj
interface IHelper
diff --git a/tests/compute/interface-param-partial-specialize.slang b/tests/compute/interface-param-partial-specialize.slang
index e856e04e8..f81a1cdb7 100644
--- a/tests/compute/interface-param-partial-specialize.slang
+++ b/tests/compute/interface-param-partial-specialize.slang
@@ -3,8 +3,8 @@
// with __Dynamic. This verifies that the handling of
// "partially" specializing an existential type is correct.
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -cuda
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -cpu
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -cuda -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -cpu -shaderobj
[anyValueSize(8)]
interface IInterface
diff --git a/tests/compute/interface-param.slang b/tests/compute/interface-param.slang
index 18edbe3be..3f557d8de 100644
--- a/tests/compute/interface-param.slang
+++ b/tests/compute/interface-param.slang
@@ -4,10 +4,10 @@
// for a value parameter, instead of just as a constraint
// on a generic type parameter.
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12
-//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute
-//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -shaderobj
+//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -shaderobj
interface IHelper
{
diff --git a/tests/compute/interface-static-method.slang b/tests/compute/interface-static-method.slang
index bdfddd938..d526f7c47 100644
--- a/tests/compute/interface-static-method.slang
+++ b/tests/compute/interface-static-method.slang
@@ -1,9 +1,9 @@
// interface-static-method.slang
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12
-//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute
-//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -shaderobj
+//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -shaderobj
interface IHideout
{
diff --git a/tests/compute/loop-unroll.slang b/tests/compute/loop-unroll.slang
index 25f25b0ec..9a3fa3ba4 100644
--- a/tests/compute/loop-unroll.slang
+++ b/tests/compute/loop-unroll.slang
@@ -1,11 +1,11 @@
-//TEST(compute):COMPARE_COMPUTE:
-//TEST(compute):COMPARE_COMPUTE:-dx12
+//TEST(compute):COMPARE_COMPUTE: -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-dx12 -shaderobj
//TODO(JS): This test fails with a crash in CreateComputePipelineState, so disabled for now
-//DISABLE_TEST(compute):COMPARE_COMPUTE:-dx12 -use-dxil
-//TEST(compute):COMPARE_COMPUTE:-cpu
-//TEST(compute):COMPARE_COMPUTE:-cuda
+//DISABLE_TEST(compute):COMPARE_COMPUTE:-dx12 -use-dxil -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cpu -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cuda -shaderobj
// Note VK output is not loop unrolled
-//TEST(compute):COMPARE_COMPUTE:-vk
+//TEST(compute):COMPARE_COMPUTE:-vk -shaderobj
//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out, name buffers[0]
//TEST_INPUT:ubuffer(data=[0 1 2 3], stride=4):name buffers[1]
diff --git a/tests/compute/matrix-layout-structured-buffer.slang b/tests/compute/matrix-layout-structured-buffer.slang
index 56112f959..bdc2e1ced 100644
--- a/tests/compute/matrix-layout-structured-buffer.slang
+++ b/tests/compute/matrix-layout-structured-buffer.slang
@@ -5,8 +5,8 @@
// buffers of matrices, where fxc/dxc do *not* respect
// the matrix layout mode by default.
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -xslang -matrix-layout-row-major
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -xslang -matrix-layout-column-major
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -xslang -matrix-layout-row-major -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -xslang -matrix-layout-column-major -shaderobj
//TEST_INPUT:ubuffer(data=[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23], stride=48):name=gMatrices
RWStructuredBuffer<int3x4> gMatrices;
diff --git a/tests/compute/matrix-layout.hlsl b/tests/compute/matrix-layout.hlsl
index a7a167926..c655d06c7 100644
--- a/tests/compute/matrix-layout.hlsl
+++ b/tests/compute/matrix-layout.hlsl
@@ -7,8 +7,8 @@
// This has a compatibility issue on Windows 10.0.10586 on Dx12 - dxcompiler will crash (can remove form tests with -exclude compatibility-issue)
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -xslang -matrix-layout-row-major
-//TEST(compute,compatibility-issue):COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -xslang -matrix-layout-row-major
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -xslang -matrix-layout-row-major -shaderobj
+//TEST(compute,compatibility-issue):COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -xslang -matrix-layout-row-major -shaderobj
// Not testing on Vulkan because of lack of support
// for integer matrices in GLSL. Slang needs to
diff --git a/tests/compute/modern-syntax.slang b/tests/compute/modern-syntax.slang
index 4f7b94f01..e1a9ad146 100644
--- a/tests/compute/modern-syntax.slang
+++ b/tests/compute/modern-syntax.slang
@@ -1,6 +1,6 @@
// modern-syntax.slang
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute
-//TEST(compute):COMPARE_COMPUTE_EX:-cpu -slang -compute
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-cpu -slang -compute -shaderobj
// This file exists to confirm that declarations using "modern"
// syntax are handled correctly by the compiler front-end.
diff --git a/tests/compute/multi-interface.slang b/tests/compute/multi-interface.slang
index bcb25b6dc..caa21d3f0 100644
--- a/tests/compute/multi-interface.slang
+++ b/tests/compute/multi-interface.slang
@@ -1,5 +1,5 @@
-//TEST(compute):COMPARE_COMPUTE:
-//TEST(compute):COMPARE_COMPUTE:-cpu
+//TEST(compute):COMPARE_COMPUTE: -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cpu -shaderobj
//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name=outputBuffer
RWStructuredBuffer<float> outputBuffer;
diff --git a/tests/compute/multiple-continue-sites.slang b/tests/compute/multiple-continue-sites.slang
index d5cbf926b..0776bfbdb 100644
--- a/tests/compute/multiple-continue-sites.slang
+++ b/tests/compute/multiple-continue-sites.slang
@@ -1,5 +1,5 @@
-//TEST(compute):COMPARE_COMPUTE:
-//TEST(compute):COMPARE_COMPUTE:-cpu
+//TEST(compute):COMPARE_COMPUTE: -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cpu -shaderobj
// Test that a loop with multiple `continue` sites works.
//
diff --git a/tests/compute/mutating-and-inout.slang b/tests/compute/mutating-and-inout.slang
index d06933b77..a92be2025 100644
--- a/tests/compute/mutating-and-inout.slang
+++ b/tests/compute/mutating-and-inout.slang
@@ -2,7 +2,7 @@
// Test that calling a `[mutating]` method on an `inout` function parameter works.
-//TEST(compute):COMPARE_COMPUTE:
+//TEST(compute):COMPARE_COMPUTE: -shaderobj
//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name=outputBuffer
RWStructuredBuffer<int> outputBuffer;
diff --git a/tests/compute/mutating-methods.slang b/tests/compute/mutating-methods.slang
index c386da67f..73be4b604 100644
--- a/tests/compute/mutating-methods.slang
+++ b/tests/compute/mutating-methods.slang
@@ -1,8 +1,8 @@
// mutating-methods.slang
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -xslang -serial-ir
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -xslang -serial-ir
-//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -xslang -serial-ir
-//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -xslang -serial-ir
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -xslang -serial-ir -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -xslang -serial-ir -shaderobj
+//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -xslang -serial-ir -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -xslang -serial-ir -shaderobj
interface IAccumulator
{
diff --git a/tests/compute/nested-generics.slang b/tests/compute/nested-generics.slang
index e1b62a2ad..29f260f37 100644
--- a/tests/compute/nested-generics.slang
+++ b/tests/compute/nested-generics.slang
@@ -1,5 +1,5 @@
-//TEST(compute):COMPARE_COMPUTE:
-//TEST(compute):COMPARE_COMPUTE:-cpu
+//TEST(compute):COMPARE_COMPUTE: -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cpu -shaderobj
// test specialization of nested generic functions
diff --git a/tests/compute/nested-generics2.slang b/tests/compute/nested-generics2.slang
index c1b12179c..177466c9c 100644
--- a/tests/compute/nested-generics2.slang
+++ b/tests/compute/nested-generics2.slang
@@ -1,5 +1,5 @@
-//TEST(compute):COMPARE_COMPUTE:
-//TEST(compute):COMPARE_COMPUTE:-cpu
+//TEST(compute):COMPARE_COMPUTE: -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cpu -shaderobj
// test specialization of nested generic functions
diff --git a/tests/compute/performance-profile.slang b/tests/compute/performance-profile.slang
index 22f73e075..d8b9e31ae 100644
--- a/tests/compute/performance-profile.slang
+++ b/tests/compute/performance-profile.slang
@@ -1,8 +1,8 @@
-//TEST(compute):PERFORMANCE_PROFILE:-cpu -compute -compile-arg -O3 -compute-dispatch 256,1,1
-//TEST(compute):PERFORMANCE_PROFILE:-cpu -compute -source-language cpp -compile-arg -O3 -compute-dispatch 256,1,1
-//TEST(compute):PERFORMANCE_PROFILE:-slang -compute -compute-dispatch 256,1,1
-//TEST(compute):PERFORMANCE_PROFILE:-slang -compute -dx12 -compute-dispatch 256,1,1
-//TEST(compute, vulkan):PERFORMANCE_PROFILE:-vk -compute -compute-dispatch 256,1,1
+//TEST(compute):PERFORMANCE_PROFILE:-cpu -compute -compile-arg -O3 -compute-dispatch 256,1,1 -shaderobj
+//TEST(compute):PERFORMANCE_PROFILE:-cpu -compute -source-language cpp -compile-arg -O3 -compute-dispatch 256,1,1 -shaderobj
+//TEST(compute):PERFORMANCE_PROFILE:-slang -compute -compute-dispatch 256,1,1 -shaderobj
+//TEST(compute):PERFORMANCE_PROFILE:-slang -compute -dx12 -compute-dispatch 256,1,1 -shaderobj
+//TEST(compute, vulkan):PERFORMANCE_PROFILE:-vk -compute -compute-dispatch 256,1,1 -shaderobj
//TEST_INPUT:ubuffer(random(float, 4096, -1, 1), stride=4):out,name outputBuffer
diff --git a/tests/compute/pointer-emit.slang b/tests/compute/pointer-emit.slang
index 1c31103ae..0516e2dfa 100644
--- a/tests/compute/pointer-emit.slang
+++ b/tests/compute/pointer-emit.slang
@@ -1,4 +1,4 @@
-//TEST(compute):COMPARE_COMPUTE:-cpu
+//TEST(compute):COMPARE_COMPUTE:-cpu -shaderobj
// Test emitting logic of pointer types.
diff --git a/tests/compute/rewriter-parameter-block-complex.hlsl b/tests/compute/rewriter-parameter-block-complex.hlsl
index efcf89b24..d61383276 100644
--- a/tests/compute/rewriter-parameter-block-complex.hlsl
+++ b/tests/compute/rewriter-parameter-block-complex.hlsl
@@ -1,12 +1,18 @@
//TEST(compute):COMPARE_COMPUTE:
-//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out
-
-//TEST_INPUT:cbuffer(data=[256]):
-//TEST_INPUT:ubuffer(data=[0 1 2 3], stride=4):
-
-//TEST_INPUT:cbuffer(data=[4096]):
-//TEST_INPUT:ubuffer(data=[16 32 48 64], stride=4):
+//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out, name=outputBuffer
+
+//TEST_INPUT:cbuffer(data=[256]):name=C.gA.val
+//TEST_INPUT:ubuffer(data=[0 1 2 3], stride=4):name=C.gA.buf
+//TEST_INPUT:cbuffer(data=[4096]):name=C.gB.val
+//TEST_INPUT:ubuffer(data=[16 32 48 64], stride=4):name=C.gB.buf
+
+//TODO_TEST_INPUT:object:name=C
+//TODO_TEST_INPUT:object:name=C.gA
+//TODO_TEST_INPUT:root_constants(data=[256]):name=C.gA.val
+//TODO_TEST_INPUT:ubuffer(data=[0 1 2 3], stride=4):name=C.gA.buf
+//TODO_TEST_INPUT:root_constants(data=[4096]):name=C.gB.val
+//TODO_TEST_INPUT:ubuffer(data=[16 32 48 64], stride=4):name=C.gB.buf
// Test that we can declare a `ParameterBlock<...>` type as a shader
// parameter (potentially nested inside a `cbuffer`) and use it in
diff --git a/tests/compute/rw-texture-simple.slang b/tests/compute/rw-texture-simple.slang
index a6632a143..a5a103200 100644
--- a/tests/compute/rw-texture-simple.slang
+++ b/tests/compute/rw-texture-simple.slang
@@ -1,13 +1,13 @@
-//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -output-using-type
+//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -output-using-type -shaderobj
// Doesn't work on DX11 currently - locks up on binding
-//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -output-using-type
+//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -output-using-type -shaderobj
// Produces a different result on DX12 with DXBC than expected(!). So disabled for now
-//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -output-using-type
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -profile cs_6_0 -use-dxil -output-using-type
+//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -output-using-type -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -profile cs_6_0 -use-dxil -output-using-type -shaderobj
// TODO(JS): Doesn't work on vk currently, because createTextureView not implemented on vk renderer
-//DISABLE_TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -output-using-type
+//DISABLE_TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -output-using-type -shaderobj
// TODO(JS): Doesn't work on certain CI systems.
-//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-cuda -compute -output-using-type
+//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-cuda -compute -output-using-type -shaderobj
//TEST_INPUT: RWTexture1D(format=R_Float32, size=4, content = one):name rwt1D
RWTexture1D<float> rwt1D;
diff --git a/tests/compute/scope-operator.slang b/tests/compute/scope-operator.slang
index eb65d7d2a..9b5b3f229 100644
--- a/tests/compute/scope-operator.slang
+++ b/tests/compute/scope-operator.slang
@@ -1,7 +1,7 @@
// scope.slang
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute
-//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute
-//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj
+//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -shaderobj
// Confirm that scoping on enums and types works
diff --git a/tests/compute/select-expr.slang b/tests/compute/select-expr.slang
index 85963ca5e..c7172579b 100644
--- a/tests/compute/select-expr.slang
+++ b/tests/compute/select-expr.slang
@@ -1,5 +1,5 @@
-//TEST(smoke,compute):COMPARE_COMPUTE:
-//TEST(smoke,compute):COMPARE_COMPUTE:-cpu
+//TEST(smoke,compute):COMPARE_COMPUTE: -shaderobj
+//TEST(smoke,compute):COMPARE_COMPUTE:-cpu -shaderobj
// Test IR code generation for the `?:` "select" operator
diff --git a/tests/compute/semantic.slang b/tests/compute/semantic.slang
index a3a38e525..49e9ff948 100644
--- a/tests/compute/semantic.slang
+++ b/tests/compute/semantic.slang
@@ -1,7 +1,7 @@
-//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -compile-arg -O3 -compute-dispatch 3,1,1
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -compute-dispatch 3,1,1
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -compute-dispatch 3,1,1
-//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -compute-dispatch 3,1,1
+//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -compile-arg -O3 -compute-dispatch 3,1,1 -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -compute-dispatch 3,1,1 -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -compute-dispatch 3,1,1 -shaderobj
+//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -compute-dispatch 3,1,1 -shaderobj
//TEST_INPUT:ubuffer(data=[0 0 0 0 0 0 0 0 0 0 0 0], stride=4):out,name outputBuffer
RWStructuredBuffer<int> outputBuffer;
diff --git a/tests/compute/simple.slang b/tests/compute/simple.slang
index e1489d70f..c62f88d5e 100644
--- a/tests/compute/simple.slang
+++ b/tests/compute/simple.slang
@@ -1,5 +1,5 @@
-//TEST(smoke,compute):COMPARE_COMPUTE:
-//TEST(smoke,compute):COMPARE_COMPUTE:-cpu
+//TEST(smoke,compute):COMPARE_COMPUTE: -shaderobj
+//TEST(smoke,compute):COMPARE_COMPUTE:-cpu -shaderobj
// This is a basic test for Slang compute shader.
diff --git a/tests/compute/ssa-reduce-bug.slang b/tests/compute/ssa-reduce-bug.slang
index 041fc83c8..b5cdb7084 100644
--- a/tests/compute/ssa-reduce-bug.slang
+++ b/tests/compute/ssa-reduce-bug.slang
@@ -1,6 +1,6 @@
// ssa-reduce-bug.slang
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute
-//TEST(compute):COMPARE_COMPUTE_EX:-cpu -slang -compute
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-cpu -slang -compute -shaderobj
//TEST_INPUT:ubuffer(data=[0 3 1 2 6 4 7 6], stride=4):name=inputBuffer
RWStructuredBuffer<int> inputBuffer;
diff --git a/tests/compute/static-const-array.slang b/tests/compute/static-const-array.slang
index 1f111e364..2afa1f39e 100644
--- a/tests/compute/static-const-array.slang
+++ b/tests/compute/static-const-array.slang
@@ -1,8 +1,8 @@
// static-const-array.slang
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute
-//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute
-//TEST(compute):COMPARE_COMPUTE_EX:-cpu -slang -compute
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj
+//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-cpu -slang -compute -shaderobj
//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out, name outputBuffer
RWStructuredBuffer<int> outputBuffer;
diff --git a/tests/compute/static-const-matrix-array.slang b/tests/compute/static-const-matrix-array.slang
index 2ac132121..9a468b6ed 100644
--- a/tests/compute/static-const-matrix-array.slang
+++ b/tests/compute/static-const-matrix-array.slang
@@ -1,8 +1,8 @@
// static-const-array.slang
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -output-using-type
-//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -output-using-type
-//TEST(compute):COMPARE_COMPUTE_EX:-cpu -slang -compute -output-using-type
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -output-using-type -shaderobj
+//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -output-using-type -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-cpu -slang -compute -output-using-type -shaderobj
//TEST_INPUT:ubuffer(data=[0 0 0 0 0 0 0 0], stride=4):out, name outputBuffer
RWStructuredBuffer<float> outputBuffer;
diff --git a/tests/compute/static-const-vector-array.slang b/tests/compute/static-const-vector-array.slang
index 4d9234a70..edfe24028 100644
--- a/tests/compute/static-const-vector-array.slang
+++ b/tests/compute/static-const-vector-array.slang
@@ -1,8 +1,8 @@
// static-const-array.slang
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -output-using-type
-//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -output-using-type
-//TEST(compute):COMPARE_COMPUTE_EX:-cpu -slang -compute -output-using-type
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -output-using-type -shaderobj
+//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -output-using-type -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-cpu -slang -compute -output-using-type -shaderobj
//TEST_INPUT:ubuffer(data=[0 0 0 0 0 0 0 0], stride=4):out, name outputBuffer
RWStructuredBuffer<float> outputBuffer;
diff --git a/tests/compute/struct-default-init.slang b/tests/compute/struct-default-init.slang
index ac01317a1..50933ae84 100644
--- a/tests/compute/struct-default-init.slang
+++ b/tests/compute/struct-default-init.slang
@@ -1,5 +1,5 @@
// struct-default-init.slang
-//TEST(compute):COMPARE_COMPUTE:
+//TEST(compute):COMPARE_COMPUTE: -shaderobj
struct Test
{
@@ -25,7 +25,7 @@ int test(int inVal)
+ t.d;
}
-//TEST_INPUT:ubuffer(data=[9 9 9 9], stride=4):out
+//TEST_INPUT:ubuffer(data=[9 9 9 9], stride=4):out,name=outputBuffer
RWStructuredBuffer<int> outputBuffer : register(u0);
[numthreads(4, 1, 1)]
diff --git a/tests/compute/struct-in-generic.slang b/tests/compute/struct-in-generic.slang
index dfcc305f2..eb41efac6 100644
--- a/tests/compute/struct-in-generic.slang
+++ b/tests/compute/struct-in-generic.slang
@@ -1,8 +1,8 @@
-//TEST(compute):COMPARE_COMPUTE:
-//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out
+//TEST(compute):COMPARE_COMPUTE: -shaderobj
// Confirm that a struct type defined in a generic parent works
+//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name=outputBuffer
RWStructuredBuffer<float> outputBuffer;
struct GenStruct<T>
diff --git a/tests/compute/struct-make.slang b/tests/compute/struct-make.slang
index 265370b89..f42d76876 100644
--- a/tests/compute/struct-make.slang
+++ b/tests/compute/struct-make.slang
@@ -1,7 +1,7 @@
// scope.slang
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute
-//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute
-//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj
+//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -shaderobj
// Confirm that scoping on enums and types works
diff --git a/tests/compute/structured-buffer-of-matrices.slang b/tests/compute/structured-buffer-of-matrices.slang
index e87cf8c59..b76061310 100644
--- a/tests/compute/structured-buffer-of-matrices.slang
+++ b/tests/compute/structured-buffer-of-matrices.slang
@@ -11,10 +11,10 @@
// output on all targets, correctly respecting the user's
// request for row-major layout via command-line option.
-//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -compile-arg -O3 -xslang -matrix-layout-row-major
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -xslang -matrix-layout-row-major
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -xslang -matrix-layout-row-major
-//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -xslang -matrix-layout-row-major
+//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -compile-arg -O3 -xslang -matrix-layout-row-major -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -xslang -matrix-layout-row-major -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -xslang -matrix-layout-row-major -shaderobj
+//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -xslang -matrix-layout-row-major -shaderobj
// Note: we are using a buffer of floating-point matrices, but fill it with integer
// data, to allow this test to work on the Vulkan targets, which do not currently
diff --git a/tests/compute/switch-stmt.slang b/tests/compute/switch-stmt.slang
index 36aac70a2..f0de612cb 100644
--- a/tests/compute/switch-stmt.slang
+++ b/tests/compute/switch-stmt.slang
@@ -1,5 +1,4 @@
-//TEST(compute):COMPARE_COMPUTE:
-//TEST_INPUT:ubuffer(data=[0 1 2 3 4 5 6 7], stride=4):out
+//TEST(compute):COMPARE_COMPUTE: -shaderobj
// Test that `swith` statement works
@@ -30,6 +29,7 @@ int test(int inVal)
return result;
}
+//TEST_INPUT:ubuffer(data=[0 1 2 3 4 5 6 7], stride=4):out,name=outputBuffer
RWStructuredBuffer<int> outputBuffer : register(u0);
[numthreads(8, 1, 1)]
diff --git a/tests/compute/texture-get-dimensions.slang b/tests/compute/texture-get-dimensions.slang
index 67c1fddc8..1ab2891ff 100644
--- a/tests/compute/texture-get-dimensions.slang
+++ b/tests/compute/texture-get-dimensions.slang
@@ -1,11 +1,11 @@
-//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -profile cs_6_0 -use-dxil
+//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -profile cs_6_0 -use-dxil -shaderobj
// TODO(JS): Doesn't work on vk currently, because createTextureView not implemented on vk renderer
-//DISABLE_TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute
+//DISABLE_TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj
// TODO(JS): Doesn't work on CUDA as there aren't any CUDA functions to get dimensions.
-//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-cuda -compute
+//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-cuda -compute -shaderobj
//TEST_INPUT: Texture1D(size=4, content = one):name t1D
Texture1D<float> t1D;
diff --git a/tests/compute/texture-sampling.slang b/tests/compute/texture-sampling.slang
index 932e56985..12bdc80bf 100644
--- a/tests/compute/texture-sampling.slang
+++ b/tests/compute/texture-sampling.slang
@@ -1,14 +1,14 @@
-//TEST(compute):COMPARE_RENDER_COMPUTE:
-
-//TEST_INPUT: Texture1D(size=4, content = one):
-//TEST_INPUT: Texture2D(size=4, content = one):
-//TEST_INPUT: Texture3D(size=4, content = one):
-//TEST_INPUT: TextureCube(size=4, content = one):
-//TEST_INPUT: Texture1D(size=4, content = one, arrayLength=2):
-//TEST_INPUT: Texture2D(size=4, content = one, arrayLength=2):
-//TEST_INPUT: TextureCube(size=4, content = one, arrayLength=2):
-//TEST_INPUT: Sampler:
-//TEST_INPUT: ubuffer(data=[0], stride=4):out
+//TEST(compute):COMPARE_RENDER_COMPUTE: -shaderobj
+
+//TEST_INPUT: Texture1D(size=4, content = one):name=t1D
+//TEST_INPUT: Texture2D(size=4, content = one):name=t2D
+//TEST_INPUT: Texture3D(size=4, content = one):name=t3D
+//TEST_INPUT: TextureCube(size=4, content = one):name=tCube
+//TEST_INPUT: Texture1D(size=4, content = one, arrayLength=2):name=t1dArray
+//TEST_INPUT: Texture2D(size=4, content = one, arrayLength=2):name=t2dArray
+//TEST_INPUT: TextureCube(size=4, content = one, arrayLength=2):name=tCubeArray
+//TEST_INPUT: Sampler:name=samplerState
+//TEST_INPUT: ubuffer(data=[0], stride=4):out,name=outputBuffer
Texture1D t1D;
Texture2D t2D;
diff --git a/tests/compute/texture-simple.slang b/tests/compute/texture-simple.slang
index e2a14043e..f2f247d2d 100644
--- a/tests/compute/texture-simple.slang
+++ b/tests/compute/texture-simple.slang
@@ -1,10 +1,10 @@
-//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12
-//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -profile cs_6_0 -use-dxil
+//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -profile cs_6_0 -use-dxil -shaderobj
// TODO(JS): Doesn't work on vk currently, because createTextureView not implemented on vk renderer
-//DISABLE_TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute
-//TEST(compute):COMPARE_COMPUTE_EX:-cuda -compute
+//DISABLE_TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj
+//TEST(compute):COMPARE_COMPUTE_EX:-cuda -compute -shaderobj
// Doesn't work on CUDA, not clear why yet
//DISABLE_TEST_INPUT: Texture1D(format=R_Float32, size=4, content = one, mipMaps=1):name tLoad1D
diff --git a/tests/compute/this-type.slang b/tests/compute/this-type.slang
index 551fd0244..94f42ce53 100644
--- a/tests/compute/this-type.slang
+++ b/tests/compute/this-type.slang
@@ -2,8 +2,8 @@
// Confirm that that `This` type works as expected
-//TEST(compute):COMPARE_COMPUTE:
-//TEST(compute):COMPARE_COMPUTE:-cpu
+//TEST(compute):COMPARE_COMPUTE: -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cpu -shaderobj
interface IFrobable
{
diff --git a/tests/compute/transcendental.slang b/tests/compute/transcendental.slang
index bde43ee38..e9feb4d95 100644
--- a/tests/compute/transcendental.slang
+++ b/tests/compute/transcendental.slang
@@ -1,7 +1,7 @@
-//TEST(compute):COMPARE_COMPUTE:-cuda
-//TEST(compute):COMPARE_COMPUTE:-cpu
-//TEST(compute):COMPARE_COMPUTE:
-//TEST(compute,vulcan):COMPARE_COMPUTE:-vk
+//TEST(compute):COMPARE_COMPUTE:-cuda -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cpu -shaderobj
+//TEST(compute):COMPARE_COMPUTE: -shaderobj
+//TEST(compute,vulcan):COMPARE_COMPUTE:-vk -shaderobj
//TEST_INPUT:ubuffer(data=[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0], stride=4):out,name=outputBuffer
RWStructuredBuffer<int> outputBuffer : register(u0);
diff --git a/tests/compute/transitive-interface.slang b/tests/compute/transitive-interface.slang
index 1ee8275e3..e4d7db91d 100644
--- a/tests/compute/transitive-interface.slang
+++ b/tests/compute/transitive-interface.slang
@@ -1,7 +1,7 @@
-//TEST(compute):COMPARE_COMPUTE:
-//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out
+//TEST(compute):COMPARE_COMPUTE: -shaderobj
+//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name=outputBuffer
RWStructuredBuffer<int> outputBuffer;
interface IAdd
diff --git a/tests/compute/type-legalize-global-with-init.slang b/tests/compute/type-legalize-global-with-init.slang
index e668b1a0a..573ac9849 100644
--- a/tests/compute/type-legalize-global-with-init.slang
+++ b/tests/compute/type-legalize-global-with-init.slang
@@ -4,12 +4,12 @@
// with a resource type or a type that recursively contains
// resources.
//
-//TEST(compute):COMPARE_COMPUTE:
+//TEST(compute):COMPARE_COMPUTE: -shaderobj
//
-//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out
+//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name=outputBuffer
RWStructuredBuffer<uint> outputBuffer;
-//TEST_INPUT:ubuffer(data=[1 2 3 4 5 6 7 8], stride=4):
+//TEST_INPUT:ubuffer(data=[1 2 3 4 5 6 7 8], stride=4):name=inputBuffer
RWStructuredBuffer<uint> inputBuffer;
static const RWStructuredBuffer<uint> gBuffer = inputBuffer;
diff --git a/tests/compute/typedef-member.slang b/tests/compute/typedef-member.slang
index c0e044d29..ae3debd40 100644
--- a/tests/compute/typedef-member.slang
+++ b/tests/compute/typedef-member.slang
@@ -1,8 +1,8 @@
-//TEST(compute):COMPARE_COMPUTE:
-//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out
+//TEST(compute):COMPARE_COMPUTE: -shaderobj
// Confirm that a struct type defined in a generic parent works
+//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name=outputBuffer
RWStructuredBuffer<float> outputBuffer;
struct SubType<T>
diff --git a/tests/compute/unbounded-array-of-array-syntax.slang b/tests/compute/unbounded-array-of-array-syntax.slang
index 17bb5eb2e..6a5f4ea6e 100644
--- a/tests/compute/unbounded-array-of-array-syntax.slang
+++ b/tests/compute/unbounded-array-of-array-syntax.slang
@@ -1,8 +1,8 @@
-//IGNORE_TEST:CPU_REFLECTION: -profile cs_5_0 -entry computeMain -target cpp
-//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute
+//IGNORE_TEST:CPU_REFLECTION: -profile cs_5_0 -entry computeMain -target cpp
+//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -shaderobj
//TEST:CROSS_COMPILE:-target dxbc-assembly -entry computeMain -profile cs_5_1
//TEST:CROSS_COMPILE:-target spirv-assembly -entry computeMain -profile cs_5_1
-//TEST(compute):COMPARE_COMPUTE_EX:-cuda -compute
+//TEST(compute):COMPARE_COMPUTE_EX:-cuda -compute
//TEST_INPUT:ubuffer(data=[0 0 0 0 0 0 0 0], stride=4):out,name outputBuffer
RWStructuredBuffer<int> outputBuffer;
diff --git a/tests/compute/unbounded-array-of-array.slang b/tests/compute/unbounded-array-of-array.slang
index 4d57b9e94..d5071d876 100644
--- a/tests/compute/unbounded-array-of-array.slang
+++ b/tests/compute/unbounded-array-of-array.slang
@@ -1,5 +1,5 @@
//DISABLE_TEST:CPU_REFLECTION: -profile cs_5_0 -entry computeMain -target cpp
-//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute
+//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute
struct IntAoa { RWStructuredBuffer<int> array[]; }
diff --git a/tests/compute/user-defined-initializer.slang b/tests/compute/user-defined-initializer.slang
index 8f7492881..dcd94f68a 100644
--- a/tests/compute/user-defined-initializer.slang
+++ b/tests/compute/user-defined-initializer.slang
@@ -3,8 +3,8 @@
// Confirm that user-defined initializer/constructor
// methods in a type work as expected.
-//TEST(compute):COMPARE_COMPUTE:
-//TEST(compute):COMPARE_COMPUTE:-cpu
+//TEST(compute):COMPARE_COMPUTE: -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-cpu -shaderobj
struct Pair
{
diff --git a/tests/compute/vector-scalar-compare.slang b/tests/compute/vector-scalar-compare.slang
index aa9580b5c..cd1088062 100644
--- a/tests/compute/vector-scalar-compare.slang
+++ b/tests/compute/vector-scalar-compare.slang
@@ -1,8 +1,9 @@
-//TEST(compute):COMPARE_COMPUTE:-dx12 -compute
-//TEST(compute):COMPARE_COMPUTE:-vk -compute
-//TEST_INPUT:ubuffer(data=[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0], stride=4):out
+//TEST(compute):COMPARE_COMPUTE:-dx12 -compute -shaderobj
+//TEST(compute):COMPARE_COMPUTE:-vk -compute -shaderobj
// Test doing vector comparisons
+
+//TEST_INPUT:ubuffer(data=[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0], stride=4):out,name=outputBuffer
RWStructuredBuffer<int> outputBuffer;
[numthreads(4, 4, 1)]
diff --git a/tests/compute/write-structured-buffer-field.slang b/tests/compute/write-structured-buffer-field.slang
index 7de94aa68..77bde894d 100644
--- a/tests/compute/write-structured-buffer-field.slang
+++ b/tests/compute/write-structured-buffer-field.slang
@@ -1,6 +1,5 @@
-//TEST(compute):COMPARE_COMPUTE:
+//TEST(compute):COMPARE_COMPUTE: -shaderobj
-//TEST_INPUT:ubuffer(data=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32], stride=32):out
struct S
{
@@ -8,6 +7,7 @@ struct S
int4 b;
};
+//TEST_INPUT:ubuffer(data=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32], stride=32):out,name=outputBuffer
RWStructuredBuffer<S> outputBuffer;
[numthreads(4, 1, 1)]