diff options
241 files changed, 1001 insertions, 792 deletions
diff --git a/source/slang/slang-reflection-api.cpp b/source/slang/slang-reflection-api.cpp index 61990b7d0..6d59761a4 100644 --- a/source/slang/slang-reflection-api.cpp +++ b/source/slang/slang-reflection-api.cpp @@ -1149,7 +1149,7 @@ namespace Slang } else { - SLANG_UNEXPECTED("unhandled resource binding type"); + return SLANG_BINDING_TYPE_UNKNOWN; } } @@ -1167,7 +1167,7 @@ namespace Slang } else { - SLANG_UNEXPECTED("unhandled resource binding type"); + return SLANG_BINDING_TYPE_UNKNOWN; } } @@ -1176,6 +1176,22 @@ namespace Slang Slang::TypeLayout* typeLayout, LayoutResourceKind kind) { + // If the type or type layout implies a specific binding type + // (e.g., a `Texture2D` implies a texture binding), then we + // will always favor the binding type implied. + // + if( auto bindingType = _calcResourceBindingType(typeLayout) ) + { + if(bindingType != SLANG_BINDING_TYPE_UNKNOWN) + return bindingType; + } + + // As a fallback, we may look at the kind of resources consumed + // by a type layout, and use that to infer the type of binding + // used. Note that, for example, a `float4` might represent + // multiple different kinds of binding, depending on where/how + // it is used (e.g., as a varying parameter, a root constant, etc.). + // switch( kind ) { default: @@ -1194,14 +1210,10 @@ namespace Slang CASE(VaryingOutput, VARYING_OUTPUT); CASE(ExistentialObjectParam, EXISTENTIAL_VALUE); CASE(PushConstantBuffer, PUSH_CONSTANT); + CASE(Uniform, INLINE_UNIFORM_DATA); // TODO: register space #undef CASE - - case LayoutResourceKind::ShaderResource: - case LayoutResourceKind::UnorderedAccess: - case LayoutResourceKind::DescriptorTableSlot: - return _calcResourceBindingType(typeLayout); } } @@ -1299,6 +1311,10 @@ namespace Slang SlangBindingType bindingType = SLANG_BINDING_TYPE_CONSTANT_BUFFER; Index spaceOffset = -1; LayoutResourceKind kind = LayoutResourceKind::None; + + // TODO: It is unclear if this should be looking at the resource + // usage of the parameter group, or of its "container" layout. + // for(auto& resInfo : parameterGroupTypeLayout->resourceInfos) { kind = resInfo.kind; @@ -1307,10 +1323,18 @@ namespace Slang default: continue; + // Note: the only case where a parameter group should + // reflect as consuming `Uniform` storage is on CPU/CUDA, + // where that will be the only resource it contains. + // + // TODO: If we ever support targets that don't have + // constant buffers at all, this logic would be questionable. + // case LayoutResourceKind::ConstantBuffer: case LayoutResourceKind::PushConstantBuffer: case LayoutResourceKind::RegisterSpace: case LayoutResourceKind::DescriptorTableSlot: + case LayoutResourceKind::Uniform: break; } @@ -1345,39 +1369,79 @@ namespace Slang // It is possible that the sub-object has descriptor ranges // that will need to be exposed upward, into the parent. // + // Note: it is a subtle point, but we are only going to expose + // *descriptor ranges* upward and not *binding ranges*. The + // distinction here comes down to: + // + // * Descriptor ranges are used to describe the entries that + // must be allocated in one or more API descriptor sets to + // physically hold a value of a given type (layout). + // + // * Binding ranges are used to describe the entries that must + // be allocated in an application shader object to logically + // hold a value of a given type (layout). + // + // In practice, a binding range might logically belong to a + // sub-object, but physically belong to a parent. Consider: + // + // cbuffer C { Texture2D a; float b; } + // + // Independent of the API we compile for, we expect the global + // scope to have a sub-object for `C`, and for that sub-object + // to have a binding range for `a` (that is, we bind the texture + // into the sub-object). + // + // When compiling for D3D12 or Vulkan, we expect that the global + // scope must have two descriptor ranges for `C`: one for the + // constant buffer itself, and another for the texture `a`. + // The reason for this is that `a` needs to be bound as part + // of a descriptor set, and `C` doesn't create/allocate its own + // descriptor set(s). + // + // When compiling for CPU or CUDA, we expect that the global scope + // will have a descriptor range for `C` but *not* one for `C.a`, + // because the physical storage for `C.a` is provided by the + // memory allocation for `C` itself. + if( spaceOffset != -1 ) { + // The logic here assumes that when a parameter group consumes + // resources that must "leak" into the outer scope (including + // reosurces consumed by the group "container"), those resources + // will amount to descriptor ranges that are part of the same + // descriptor set. + // + // (If the contents of a group consume whole spaces/sets, then + // those resources will be accounted for separately). + // Int descriptorSetIndex = _findOrAddDescriptorSet(spaceOffset); auto descriptorSet = m_extendedInfo->m_descriptorSets[descriptorSetIndex]; auto firstDescriptorRangeIndex = descriptorSet->descriptorRanges.getCount(); - // TODO: We need to recursively add descriptor ranges (but not binding - // ranges!) for anything in the element type that "leaks" into - // the surrounding context. + // First, we need to deal with any descriptor ranges that are + // introduced by the "container" type itself. // switch(kind) { + // If the parameter group was allocated to consume one or + // more whole register spaces/sets, then nothing should + // leak through that is measured in descriptor sets. + // case LayoutResourceKind::RegisterSpace: - case LayoutResourceKind::Uniform: case LayoutResourceKind::None: break; default: { - // This means we are in the constant-buffer-like case - // (even if the user wrote `ParameterBlock<T>`), and any - // resource usage inside the element type should "leak" - // out to the parent scope. - // - // It *also* means we should add a suitable descriptor - // range if one is required for the "container" type. + // In a constant-buffer-like case, then all the (non-space/set) resource + // usage of the "container" should be reflected as descriptor + // ranges in the parent scope. // for(auto resInfo : parameterGroupTypeLayout->containerVarLayout->typeLayout->resourceInfos) { switch( resInfo.kind ) { case LayoutResourceKind::RegisterSpace: - case LayoutResourceKind::Uniform: continue; default: @@ -1400,14 +1464,53 @@ namespace Slang descriptorSet->descriptorRanges.add(descriptorRange); } + } + + } - // Now we need to recursively walk the element type and add all its - // descriptor ranges, so that they can be used for binding in - // the parent. + // Second, we need to consider resource usage from the "element" + // type that might leak through to the parent. + // + switch(kind) + { + // If the parameter group was allocated as a full register space/set, + // *or* if it was allocated as ordinary uniform storage (likely + // because it was compiled for CPU/CUDA), then there should + // be no "leakage" of descriptor ranges from the element type + // to the parent. + // + case LayoutResourceKind::RegisterSpace: + case LayoutResourceKind::Uniform: + case LayoutResourceKind::None: + break; + + default: + { + // If we are in the constant-buffer-like case, on an API + // where constant bufers "leak" resource usage to the + // outer context, then we need to add the descriptor ranges + // implied by the element type. + // + // HACK: We enumerate these nested ranges by recurisvely + // calling `addRangesRec`, which adds all of descriptor ranges, + // binding ranges, and sub-object ranges, and then we trim + // the lists we don't actually care about as a post-process. + // + // TODO: We could try to consider a model where we first + // query the extended layout information of the element + // type (which might already be cached) and then enumerate + // the descriptor ranges and copy them over. // - // We have this a bit by collecting both binding ranges and - // descriptor ranges, and then throwing away the binding ranges - // from the element type. + // TODO: It is possible that there could be cases where + // some, but not all, of the nested descriptor ranges ought + // to be enumerated here. In that case we might have to introduce + // a kind of "mask" parameter that is passed down into + // the recursive call so that only the appropriate ranges + // get added. + + // We need to add a link to the "path" that is used when looking + // up binding information, to ensure that the descriptor ranges + // that get enumerated here have correct register/binding offsets. // BindingRangePathLink elementPath(path, parameterGroupTypeLayout->elementVarLayout); @@ -1489,7 +1592,8 @@ namespace Slang auto& resInfo = typeLayout->resourceInfos[0]; LayoutResourceKind kind = resInfo.kind; - if(kind == LayoutResourceKind::Uniform) + auto bindingType = _calcBindingType(typeLayout, kind); + if(bindingType == SLANG_BINDING_TYPE_INLINE_UNIFORM_DATA) { // We do not consider uniform resource usage // in the ranges we compute. @@ -1504,7 +1608,6 @@ namespace Slang // This leaf field will map to a single binding range and, // if it is appropriate, a single descriptor range. // - auto bindingType = _calcBindingType(typeLayout, kind); auto count = resInfo.count * multiplier; auto indexOffset = _calcIndexOffset(path, kind); auto spaceOffset = _calcSpaceOffset(path, kind); diff --git a/tests/bugs/bool-init.slang b/tests/bugs/bool-init.slang index 1e9627024..51fa852f9 100644 --- a/tests/bugs/bool-init.slang +++ b/tests/bugs/bool-init.slang @@ -1,5 +1,5 @@ -//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -//TEST(compute,vulkan):COMPARE_COMPUTE_EX:-vk -slang -compute +//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj +//TEST(compute,vulkan):COMPARE_COMPUTE_EX:-vk -slang -compute -shaderobj struct Thing { diff --git a/tests/bugs/bool-op.slang b/tests/bugs/bool-op.slang index c10c7e0dd..4d4b43221 100644 --- a/tests/bugs/bool-op.slang +++ b/tests/bugs/bool-op.slang @@ -1,6 +1,6 @@ // enum.slang -//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute +//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj +//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj // Confirm operations that produce bools - such as comparisons, or && ||, ! work correctly diff --git a/tests/bugs/dxbc-double-problem.slang b/tests/bugs/dxbc-double-problem.slang index 1cd3ab204..50abf4d7b 100644 --- a/tests/bugs/dxbc-double-problem.slang +++ b/tests/bugs/dxbc-double-problem.slang @@ -1,8 +1,8 @@ -//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 -compute -output-using-type -//TEST(compute):COMPARE_COMPUTE_EX:-dx12 -compute -use-dxil -output-using-type -//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-dx12 -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 -compute -output-using-type -shaderobj +//TEST(compute):COMPARE_COMPUTE_EX:-dx12 -compute -use-dxil -output-using-type -shaderobj +//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-dx12 -compute -output-using-type -shaderobj // The problem this test shows is around handling of double with dxbc on D3D12. In that combination // this code does not write the correct value into the first element - it appears as 0, where diff --git a/tests/bugs/empty-switch.slang b/tests/bugs/empty-switch.slang index 104c63367..6ea38dcc7 100644 --- a/tests/bugs/empty-switch.slang +++ b/tests/bugs/empty-switch.slang @@ -1,7 +1,7 @@ -//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -//TEST(compute,vulkan):COMPARE_COMPUTE_EX:-vk -slang -compute -//TEST(compute):COMPARE_COMPUTE_EX:-cpu -slang -compute -//TEST(compute):COMPARE_COMPUTE_EX:-cuda -slang -compute +//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj +//TEST(compute,vulkan):COMPARE_COMPUTE_EX:-vk -slang -compute -shaderobj +//TEST(compute):COMPARE_COMPUTE_EX:-cpu -slang -compute -shaderobj +//TEST(compute):COMPARE_COMPUTE_EX:-cuda -slang -compute -shaderobj //TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out, name outputBuffer RWStructuredBuffer<int> outputBuffer; diff --git a/tests/bugs/gh-357.slang b/tests/bugs/gh-357.slang index 90eba799b..522cabd7c 100644 --- a/tests/bugs/gh-357.slang +++ b/tests/bugs/gh-357.slang @@ -1,4 +1,4 @@ -//TEST(compute):COMPARE_COMPUTE: +//TEST(compute):COMPARE_COMPUTE: -shaderobj //TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer diff --git a/tests/bugs/gh-471.slang b/tests/bugs/gh-471.slang index adc50e799..e7b09760b 100644 --- a/tests/bugs/gh-471.slang +++ b/tests/bugs/gh-471.slang @@ -1,4 +1,4 @@ -//TEST(compute):COMPARE_COMPUTE: +//TEST(compute):COMPARE_COMPUTE: -shaderobj //TEST_INPUT:ubuffer(data=[0 1 2 3], stride=4):out,name outputBuffer // Test that "operator comma" works as expected diff --git a/tests/bugs/gh-487.slang b/tests/bugs/gh-487.slang index 08ae8aa06..e425dabe2 100644 --- a/tests/bugs/gh-487.slang +++ b/tests/bugs/gh-487.slang @@ -1,5 +1,5 @@ // gh-487.slang -//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute +//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj // This test is to confirm that we can apply builtin functions taht expect // a floating-point argument to an integer, with the compiler filling diff --git a/tests/bugs/gh-518.slang b/tests/bugs/gh-518.slang index 8de61a94e..16189ca9b 100644 --- a/tests/bugs/gh-518.slang +++ b/tests/bugs/gh-518.slang @@ -1,6 +1,6 @@ -//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -//TEST_DISABLED(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute +//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj +//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -shaderobj +//TEST_DISABLED(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj // Note: can't actually test this on Vulkan right now because // the support in render-test isn't good enough. diff --git a/tests/bugs/gh-519.slang b/tests/bugs/gh-519.slang index 207fa6d0a..368c7a617 100644 --- a/tests/bugs/gh-519.slang +++ b/tests/bugs/gh-519.slang @@ -1,6 +1,6 @@ -//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 -shaderobj +//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -shaderobj +//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj // This bug involved incorrect computation of the successor // blocks for a `switch`, which led to incorrect SSA form. diff --git a/tests/bugs/gh-566.slang b/tests/bugs/gh-566.slang index 4c5fa1772..f1e53ba9a 100644 --- a/tests/bugs/gh-566.slang +++ b/tests/bugs/gh-566.slang @@ -1,6 +1,6 @@ // legalize-struct-init.slang -//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=[4 3 2 1], stride=4):name inputBuffer diff --git a/tests/bugs/gh-569.slang b/tests/bugs/gh-569.slang index 21fbfa514..0dc6eceda 100644 --- a/tests/bugs/gh-569.slang +++ b/tests/bugs/gh-569.slang @@ -1,5 +1,5 @@ // gh-569.slang -//TEST(compute):COMPARE_COMPUTE: +//TEST(compute):COMPARE_COMPUTE: -shaderobj // Test that correct scoping is used in generated HLSL/GLSL, // even when dominator tree and structured control flow disagree. diff --git a/tests/bugs/gh-775.slang b/tests/bugs/gh-775.slang index 867233919..d25fa493b 100644 --- a/tests/bugs/gh-775.slang +++ b/tests/bugs/gh-775.slang @@ -1,5 +1,5 @@ // gh-775.slang -//TEST(compute):COMPARE_COMPUTE: +//TEST(compute):COMPARE_COMPUTE: -shaderobj int test(int inVal) { diff --git a/tests/bugs/gl-33.slang b/tests/bugs/gl-33.slang index 10c9ea208..3050115e5 100644 --- a/tests/bugs/gl-33.slang +++ b/tests/bugs/gl-33.slang @@ -1,5 +1,5 @@ // gl-33.slang -//TEST(compute):COMPARE_COMPUTE: +//TEST(compute):COMPARE_COMPUTE: -shaderobj // Test for GitLab issue # 33 diff --git a/tests/bugs/glsl-static-const-array.slang b/tests/bugs/glsl-static-const-array.slang index 4d03d5ef8..f351af31b 100644 --- a/tests/bugs/glsl-static-const-array.slang +++ b/tests/bugs/glsl-static-const-array.slang @@ -1,6 +1,6 @@ // glsl-static-const-array.slang -//TEST(compute):COMPARE_COMPUTE:-vk +//TEST(compute):COMPARE_COMPUTE:-vk -shaderobj static const int gData[4] = { diff --git a/tests/bugs/mutating/mutating-generic-method.slang b/tests/bugs/mutating/mutating-generic-method.slang index 18f4d315b..625e70101 100644 --- a/tests/bugs/mutating/mutating-generic-method.slang +++ b/tests/bugs/mutating/mutating-generic-method.slang @@ -1,5 +1,5 @@ -//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -//TEST(compute,vulkan):COMPARE_COMPUTE_EX:-vk -slang -compute +//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj +//TEST(compute,vulkan):COMPARE_COMPUTE_EX:-vk -slang -compute -shaderobj // Confirm that a generic method marked `[mutating]` // produces an `inout` parameter for `this`. @@ -38,7 +38,7 @@ int test(int val) return r.state; } -//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<int> outputBuffer; [numthreads(4, 1, 1)] diff --git a/tests/bugs/negative-literal.slang b/tests/bugs/negative-literal.slang index 586cd601c..66fc90edf 100644 --- a/tests/bugs/negative-literal.slang +++ b/tests/bugs/negative-literal.slang @@ -1,7 +1,7 @@ -//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -compile-arg -O3 -//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 -compile-arg -O3 -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 //TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer RWStructuredBuffer<float> outputBuffer; diff --git a/tests/bugs/nested-generics-call.slang b/tests/bugs/nested-generics-call.slang index ba1566ec2..e3073e827 100644 --- a/tests/bugs/nested-generics-call.slang +++ b/tests/bugs/nested-generics-call.slang @@ -1,4 +1,4 @@ -//TEST(compute):COMPARE_COMPUTE: +//TEST(compute):COMPARE_COMPUTE: -shaderobj //TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer RWStructuredBuffer<float> outputBuffer; diff --git a/tests/bugs/nested-generics-method-call.slang b/tests/bugs/nested-generics-method-call.slang index fa0a983b9..a3a9814d1 100644 --- a/tests/bugs/nested-generics-method-call.slang +++ b/tests/bugs/nested-generics-method-call.slang @@ -1,4 +1,4 @@ -//TEST(compute):COMPARE_COMPUTE: +//TEST(compute):COMPARE_COMPUTE: -shaderobj //TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer RWStructuredBuffer<float> outputBuffer; diff --git a/tests/bugs/paren-insertion-bug.slang b/tests/bugs/paren-insertion-bug.slang index 790934372..dfbcd9a41 100644 --- a/tests/bugs/paren-insertion-bug.slang +++ b/tests/bugs/paren-insertion-bug.slang @@ -3,7 +3,7 @@ // Confirm that precedence is correctly handled // for cast from scalar to vector. -//TEST(compute):COMPARE_COMPUTE: +//TEST(compute):COMPARE_COMPUTE: -shaderobj int test(float a) { diff --git a/tests/bugs/specialize-function-array-args.slang b/tests/bugs/specialize-function-array-args.slang index 6b7ec44b4..8a572eda4 100644 --- a/tests/bugs/specialize-function-array-args.slang +++ b/tests/bugs/specialize-function-array-args.slang @@ -1,5 +1,5 @@ -//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -//TEST(compute,vulkan):COMPARE_COMPUTE_EX:-vk -slang -compute +//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj +//TEST(compute,vulkan):COMPARE_COMPUTE_EX:-vk -slang -compute -shaderobj // When a function is passed a parameter that contains an array, it specialized it as a performance // improvement for VK. If the struct contained a structured buffer, though it meant that the diff --git a/tests/bugs/ssa-loop.slang b/tests/bugs/ssa-loop.slang index 722c40d98..4f15f8bed 100644 --- a/tests/bugs/ssa-loop.slang +++ b/tests/bugs/ssa-loop.slang @@ -2,7 +2,7 @@ // Bug related to SSA form for loops -//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute +//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj int test(int val) { diff --git a/tests/bugs/static-method.slang b/tests/bugs/static-method.slang index f95d40def..4f2d363f2 100644 --- a/tests/bugs/static-method.slang +++ b/tests/bugs/static-method.slang @@ -1,6 +1,6 @@ // static-method.slang -//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute +//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj struct S { diff --git a/tests/bugs/static-var.slang b/tests/bugs/static-var.slang index 75662c7b5..004567466 100644 --- a/tests/bugs/static-var.slang +++ b/tests/bugs/static-var.slang @@ -1,5 +1,5 @@ // gh-775-ext.slang -//TEST(compute):COMPARE_COMPUTE: +//TEST(compute):COMPARE_COMPUTE: -shaderobj int test(int inVal) { diff --git a/tests/bugs/vec-compare.slang b/tests/bugs/vec-compare.slang index 7a6d8388d..184e57a49 100644 --- a/tests/bugs/vec-compare.slang +++ b/tests/bugs/vec-compare.slang @@ -1,6 +1,6 @@ -//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 -shaderobj +//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 0 0 0 0 0 0 0 0 0 0 0 0], stride=4):out,name outputBuffer RWStructuredBuffer<int> outputBuffer; diff --git a/tests/bugs/while-in-generic.slang b/tests/bugs/while-in-generic.slang index 4efa9a5d2..63a459eaa 100644 --- a/tests/bugs/while-in-generic.slang +++ b/tests/bugs/while-in-generic.slang @@ -1,4 +1,4 @@ -//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute +//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj struct Context { int genFunc<TGenType>(TGenType t) 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)] diff --git a/tests/cross-compile/fmod.slang b/tests/cross-compile/fmod.slang index 94d733e66..6efff35b3 100644 --- a/tests/cross-compile/fmod.slang +++ b/tests/cross-compile/fmod.slang @@ -3,8 +3,8 @@ // Ensure that HLSL `fmod` works and produces // expected output on Vulkan/GLSL. -//TEST(compute):COMPARE_COMPUTE:-dx11 -compute -//TEST(compute):COMPARE_COMPUTE:-vk -compute +//TEST(compute):COMPARE_COMPUTE:-dx11 -compute -shaderobj +//TEST(compute):COMPARE_COMPUTE:-vk -compute -shaderobj //TEST_INPUT:cbuffer(data=[4 0 0 0]):name=C cbuffer C diff --git a/tests/cross-compile/get-dimensions.slang b/tests/cross-compile/get-dimensions.slang index 78b337b2a..13874a6e2 100644 --- a/tests/cross-compile/get-dimensions.slang +++ b/tests/cross-compile/get-dimensions.slang @@ -1,8 +1,8 @@ //DISABLE_TEST:REFLECTION: -profile cs_5_0 -entry computeMain -target cpp -//TEST(compute):COMPARE_COMPUTE_EX:-vk -compute -//TEST(compute):COMPARE_COMPUTE_EX:-d3d12 -compute -//TEST(compute):COMPARE_COMPUTE_EX:-d3d11 -compute -//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute +//TEST(compute):COMPARE_COMPUTE_EX:-vk -compute -shaderobj +//TEST(compute):COMPARE_COMPUTE_EX:-d3d12 -compute -shaderobj +//TEST(compute):COMPARE_COMPUTE_EX:-d3d11 -compute -shaderobj +//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -shaderobj struct Thing { diff --git a/tests/cross-compile/glsl-bool-ops.slang b/tests/cross-compile/glsl-bool-ops.slang index a7cf21f23..dc6affa06 100644 --- a/tests/cross-compile/glsl-bool-ops.slang +++ b/tests/cross-compile/glsl-bool-ops.slang @@ -3,8 +3,8 @@ // This test exists to ensure that binary operations on // vectors of `bool` produce correct GLSL/SPIR-V output. -//TEST(compute):COMPARE_COMPUTE:-dx11 -compute -//TEST(compute):COMPARE_COMPUTE:-vk -compute +//TEST(compute):COMPARE_COMPUTE:-dx11 -compute -shaderobj +//TEST(compute):COMPARE_COMPUTE:-vk -compute -shaderobj uint test(uint val) { diff --git a/tests/hlsl-intrinsic/active-mask/switch-trivial-fallthrough.slang b/tests/hlsl-intrinsic/active-mask/switch-trivial-fallthrough.slang index 58c620dc9..4b634816a 100644 --- a/tests/hlsl-intrinsic/active-mask/switch-trivial-fallthrough.slang +++ b/tests/hlsl-intrinsic/active-mask/switch-trivial-fallthrough.slang @@ -4,10 +4,10 @@ // that exhibits "trivial fall-through" from one `case` // to another. -//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -xslang -DHACK -//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -xslang -DHACK +//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -shaderobj +//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj +//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -xslang -DHACK -shaderobj +//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -xslang -DHACK -shaderobj // Note: this test is currently disabled on the CUDA // target because we do not synthesize the active diff --git a/tests/hlsl-intrinsic/active-mask/switch.slang b/tests/hlsl-intrinsic/active-mask/switch.slang index ce5d3b0c4..47d279f20 100644 --- a/tests/hlsl-intrinsic/active-mask/switch.slang +++ b/tests/hlsl-intrinsic/active-mask/switch.slang @@ -2,10 +2,10 @@ // Test active mask synthesis for a trivial `switch` statement -//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -xslang -DHACK -//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -xslang -DHACK +//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -shaderobj +//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj +//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -xslang -DHACK -shaderobj +//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -xslang -DHACK -shaderobj // Note: this test is currently disabled on the CUDA // target because we do not synthesize the active diff --git a/tests/hlsl-intrinsic/bit-cast-double.slang b/tests/hlsl-intrinsic/bit-cast-double.slang index b52c9de2b..43d12009b 100644 --- a/tests/hlsl-intrinsic/bit-cast-double.slang +++ b/tests/hlsl-intrinsic/bit-cast-double.slang @@ -1,8 +1,8 @@ -//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:-slang -vk -compute -//TEST(compute):COMPARE_COMPUTE_EX:-slang -cuda -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:-slang -vk -compute -shaderobj +//TEST(compute):COMPARE_COMPUTE_EX:-slang -cuda -compute -shaderobj //TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name=outputBuffer RWStructuredBuffer<int> outputBuffer; diff --git a/tests/hlsl-intrinsic/bit-cast.slang b/tests/hlsl-intrinsic/bit-cast.slang index 4ecd911d7..b808dd276 100644 --- a/tests/hlsl-intrinsic/bit-cast.slang +++ b/tests/hlsl-intrinsic/bit-cast.slang @@ -1,8 +1,8 @@ -//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -//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:-cpu -compute -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 +//TEST(compute):COMPARE_COMPUTE_EX:-cuda -compute -shaderobj //TEST_INPUT:ubuffer(data=[0 0 0 0 0 0 0 0 0 0 0 0], stride=4):out,name outputBuffer diff --git a/tests/hlsl-intrinsic/bit-cast/bit-cast-16-bit.slang b/tests/hlsl-intrinsic/bit-cast/bit-cast-16-bit.slang index 66f015172..0241ff9cd 100644 --- a/tests/hlsl-intrinsic/bit-cast/bit-cast-16-bit.slang +++ b/tests/hlsl-intrinsic/bit-cast/bit-cast-16-bit.slang @@ -1,7 +1,7 @@ // bit-cast-16-bit.slang -//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile sm_6_2 -//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute +//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile sm_6_2 -shaderobj +//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj //TEST_INPUT:ubuffer(data=[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16], stride=4):name inputBuffer RWStructuredBuffer<int> inputBuffer; diff --git a/tests/hlsl-intrinsic/byte-address-buffer/byte-address-16bit-vector.slang b/tests/hlsl-intrinsic/byte-address-buffer/byte-address-16bit-vector.slang index 403be325e..047637afb 100644 --- a/tests/hlsl-intrinsic/byte-address-buffer/byte-address-16bit-vector.slang +++ b/tests/hlsl-intrinsic/byte-address-buffer/byte-address-16bit-vector.slang @@ -4,21 +4,21 @@ // byte-address buffers works as expected, on targets // that support it. -//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -cpu +//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -cpu -shaderobj // Note: disabled on D3D12 because some of the CI services don't have // a recent enough build of dxc to support generic load/store. // -//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_2 -render-features half +//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_2 -render-features half -shaderobj -//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-slang -vk -compute -profile cs_6_2 -render-features half -//TEST(compute):COMPARE_COMPUTE_EX:-slang -cuda -compute +//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-slang -vk -compute -profile cs_6_2 -render-features half -shaderobj +//TEST(compute):COMPARE_COMPUTE_EX:-slang -cuda -compute -shaderobj // Unavailable on D3D and fxc-based targets, because fxc doesn't // support loading anything besides `uint` from a byte-address // buffer. // -//TEST_DISABLED(compute):COMPARE_COMPUTE_EX:-slang -compute +//TEST_DISABLED(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj //TEST_INPUT:ubuffer(data=[0x00010002 0x00030004 0x00050006 0x00070008]):name=inputBuffer diff --git a/tests/hlsl-intrinsic/byte-address-buffer/byte-address-16bit.slang b/tests/hlsl-intrinsic/byte-address-buffer/byte-address-16bit.slang index 61e62214d..2985b8902 100644 --- a/tests/hlsl-intrinsic/byte-address-buffer/byte-address-16bit.slang +++ b/tests/hlsl-intrinsic/byte-address-buffer/byte-address-16bit.slang @@ -4,15 +4,15 @@ // byte-address buffers works as expected, on targets // that support it. -//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -cpu +//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -cpu -shaderobj // Note: disabled on D3D12 because some of the CI services don't have // a recent enough build of dxc to support generic load/store. // -//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_2 -render-features half +//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_2 -render-features half -shaderobj -//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-slang -vk -compute -profile cs_6_2 -render-features half -//TEST(compute):COMPARE_COMPUTE_EX:-slang -cuda -compute +//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-slang -vk -compute -profile cs_6_2 -render-features half -shaderobj +//TEST(compute):COMPARE_COMPUTE_EX:-slang -cuda -compute -shaderobj // Unavailable on D3D and fxc-based targets, because fxc doesn't // support loading anything besides `uint` from a byte-address diff --git a/tests/hlsl-intrinsic/byte-address-buffer/byte-address-struct.slang b/tests/hlsl-intrinsic/byte-address-buffer/byte-address-struct.slang index 520dce88a..6f987749f 100644 --- a/tests/hlsl-intrinsic/byte-address-buffer/byte-address-struct.slang +++ b/tests/hlsl-intrinsic/byte-address-buffer/byte-address-struct.slang @@ -4,11 +4,11 @@ // buffer can be translated into per-field loads on // all targets that support loads of the field types. -//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -cpu -//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-slang -vk -compute -//TEST(compute):COMPARE_COMPUTE_EX:-slang -cuda -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 -use-dxil -shaderobj +//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-slang -vk -compute -shaderobj +//TEST(compute):COMPARE_COMPUTE_EX:-slang -cuda -compute -shaderobj // Note: This input should really be just a `ByteAddressBuffer`, // so that we can confirm that the functionality works in the diff --git a/tests/hlsl-intrinsic/classify-double.slang b/tests/hlsl-intrinsic/classify-double.slang index ba7f2cbf9..7ab19e980 100644 --- a/tests/hlsl-intrinsic/classify-double.slang +++ b/tests/hlsl-intrinsic/classify-double.slang @@ -1,8 +1,8 @@ -//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -//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, vulkan):COMPARE_COMPUTE_EX:-cuda -compute +//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, vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj +//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-cuda -compute -shaderobj // inf, -inf, nan, finite //TEST_INPUT:ubuffer(data=[ 0 0x7ff00000 0 0xfff00000 0xffffffff 0x7fffffff 1 0], stride=4):name inputBuffer diff --git a/tests/hlsl-intrinsic/classify-float.slang b/tests/hlsl-intrinsic/classify-float.slang index 1b23dc748..ca7c5a8c7 100644 --- a/tests/hlsl-intrinsic/classify-float.slang +++ b/tests/hlsl-intrinsic/classify-float.slang @@ -1,8 +1,8 @@ -//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -//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, vulkan):COMPARE_COMPUTE_EX:-cuda -compute +//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, vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj +//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-cuda -compute -shaderobj // inf, -inf, nan, finite //TEST_INPUT:ubuffer(data=[ 0x7f800000 0xff800000 0x7fffffff 1 ], stride=4):name inputBuffer diff --git a/tests/hlsl-intrinsic/literal-int64.slang b/tests/hlsl-intrinsic/literal-int64.slang index cb3cef5f2..49a19663d 100644 --- a/tests/hlsl-intrinsic/literal-int64.slang +++ b/tests/hlsl-intrinsic/literal-int64.slang @@ -1,11 +1,11 @@ -//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute +//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -shaderobj // No support for int64_t on D3D11 (no sm 6.0) -//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute +//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj // No support with Dx12 with dxbc. Needs SM6.0 + dxil -//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -profile cs_6_0 -dx12 -use-dxil -//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -//TEST(compute):COMPARE_COMPUTE_EX:-cuda -compute +//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -shaderobj +//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -profile cs_6_0 -dx12 -use-dxil -shaderobj +//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj +//TEST(compute):COMPARE_COMPUTE_EX:-cuda -compute -shaderobj // Note that the behavior we expect here, is a int without suffix is assumed to // be an int literal. diff --git a/tests/hlsl-intrinsic/matrix-double-reduced-intrinsic.slang b/tests/hlsl-intrinsic/matrix-double-reduced-intrinsic.slang index 38fbe4f5d..1d8a63d05 100644 --- a/tests/hlsl-intrinsic/matrix-double-reduced-intrinsic.slang +++ b/tests/hlsl-intrinsic/matrix-double-reduced-intrinsic.slang @@ -1,12 +1,12 @@ // We currently don't support matrix intrinsics on glsl based targets // There are problems with double on dx12/dxbc so we disable that -//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -output-using-type -//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -output-using-type -//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -output-using-type -//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -profile sm_6_0 -use-dxil -output-using-type -//DISABLE_TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -output-using-type -//TEST(compute):COMPARE_COMPUTE_EX:-cuda -compute -output-using-type +//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -output-using-type -shaderobj +//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -output-using-type -shaderobj +//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -output-using-type -shaderobj +//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -profile sm_6_0 -use-dxil -output-using-type -shaderobj +//DISABLE_TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -output-using-type -shaderobj +//TEST(compute):COMPARE_COMPUTE_EX:-cuda -compute -output-using-type -shaderobj //TEST_INPUT:ubuffer(data=[0 0 0 0 0 0 0 0], stride=4):out,name outputBuffer RWStructuredBuffer<double> outputBuffer; diff --git a/tests/hlsl-intrinsic/matrix-float.slang b/tests/hlsl-intrinsic/matrix-float.slang index 4de0517f9..7ad68e9e1 100644 --- a/tests/hlsl-intrinsic/matrix-float.slang +++ b/tests/hlsl-intrinsic/matrix-float.slang @@ -1,11 +1,11 @@ // TODO(JS): // NOTE we can't test on VK/gl at the moment because we don't support intrinsics over matrices on that target currently -//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -output-using-type -//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -output-using-type -//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -output-using-type -//DISABLE_TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -output-using-type -//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-cuda -compute -output-using-type +//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -output-using-type -shaderobj +//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -output-using-type -shaderobj +//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -output-using-type -shaderobj +//DISABLE_TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -output-using-type -shaderobj +//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-cuda -compute -output-using-type -shaderobj //TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer RWStructuredBuffer<float> outputBuffer; diff --git a/tests/hlsl-intrinsic/matrix-int-runtime-index.slang b/tests/hlsl-intrinsic/matrix-int-runtime-index.slang index e3e2733b7..8f5102ac9 100644 --- a/tests/hlsl-intrinsic/matrix-int-runtime-index.slang +++ b/tests/hlsl-intrinsic/matrix-int-runtime-index.slang @@ -1,11 +1,11 @@ // NOTE we can't test on VK/gl because we will output imat3 - and imat3 is not supported by glsl. // NOTE we also can't do this test on fxc - as it does not allow runtime non constant indexing. -//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -//DISABLE_TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-cuda -compute +//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -shaderobj +//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj +//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -shaderobj +//DISABLE_TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj +//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-cuda -compute -shaderobj //TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer RWStructuredBuffer<int> outputBuffer; diff --git a/tests/hlsl-intrinsic/matrix-int.slang b/tests/hlsl-intrinsic/matrix-int.slang index cd69156a7..f9f0cd02e 100644 --- a/tests/hlsl-intrinsic/matrix-int.slang +++ b/tests/hlsl-intrinsic/matrix-int.slang @@ -1,10 +1,10 @@ // NOTE we can't test on VK/gl at the moment because we don't support intrinsics over matrices on that target currently -//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -//DISABLE_TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-cuda -compute +//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -shaderobj +//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj +//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -shaderobj +//DISABLE_TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj +//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-cuda -compute -shaderobj //TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer RWStructuredBuffer<int> outputBuffer; diff --git a/tests/hlsl-intrinsic/scalar-double-d3d-intrinsic.slang b/tests/hlsl-intrinsic/scalar-double-d3d-intrinsic.slang index 600dfa88d..34bab6503 100644 --- a/tests/hlsl-intrinsic/scalar-double-d3d-intrinsic.slang +++ b/tests/hlsl-intrinsic/scalar-double-d3d-intrinsic.slang @@ -1,11 +1,11 @@ -//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -output-using-type +//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -output-using-type -shaderobj // On dx11 this causes a crash on CI (not currently not repeatable on test systems) -//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -output-using-type +//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -output-using-type -shaderobj // This is disabled because Dx12/DXBC doing double writes to a structured buffer can fail -//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -output-using-type -//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -profile sm_6_0 -use-dxil -output-using-type -//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -output-using-type -//TEST(compute):COMPARE_COMPUTE_EX:-cuda -compute -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 sm_6_0 -use-dxil -output-using-type -shaderobj +//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -output-using-type -shaderobj +//TEST(compute):COMPARE_COMPUTE_EX:-cuda -compute -output-using-type -shaderobj //TEST_INPUT:ubuffer(data=[0 0 0 0 0 0 0 0], stride=4):out,name outputBuffer RWStructuredBuffer<double> outputBuffer; diff --git a/tests/hlsl-intrinsic/scalar-double-simple.slang b/tests/hlsl-intrinsic/scalar-double-simple.slang index 9dc40c0e4..b86cea88d 100644 --- a/tests/hlsl-intrinsic/scalar-double-simple.slang +++ b/tests/hlsl-intrinsic/scalar-double-simple.slang @@ -1,12 +1,12 @@ // Here we are going to do a very simple calculation with double. // For simplicity we are not going to use any intrinsics, and not use any resources that use double -//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 sm_6_0 -use-dxil -//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-cuda -compute +//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 sm_6_0 -use-dxil -shaderobj +//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj +//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-cuda -compute -shaderobj //TEST_INPUT:ubuffer(data=[0 0 0 0 0 0 0 0], stride=4):out,name outputBuffer RWStructuredBuffer<uint> outputBuffer; diff --git a/tests/hlsl-intrinsic/scalar-double-vk-intrinsic.slang b/tests/hlsl-intrinsic/scalar-double-vk-intrinsic.slang index a48f80d74..97292dcae 100644 --- a/tests/hlsl-intrinsic/scalar-double-vk-intrinsic.slang +++ b/tests/hlsl-intrinsic/scalar-double-vk-intrinsic.slang @@ -1,10 +1,10 @@ // This test is to see what intrinsics are available on VK -//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -output-using-type -//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -output-using-type +//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -output-using-type -shaderobj +//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -output-using-type -shaderobj // We don't want to run a cuda test here... -//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-cuda -compute +//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-cuda -compute -shaderobj //TEST_INPUT:ubuffer(data=[0 0 0 0 0 0 0 0], stride=4):out,name outputBuffer RWStructuredBuffer<double> outputBuffer; diff --git a/tests/hlsl-intrinsic/scalar-float.slang b/tests/hlsl-intrinsic/scalar-float.slang index e0d338075..062f6c94b 100644 --- a/tests/hlsl-intrinsic/scalar-float.slang +++ b/tests/hlsl-intrinsic/scalar-float.slang @@ -1,8 +1,8 @@ -//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -//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, vulkan):COMPARE_COMPUTE_EX:-cuda -compute +//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, vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj +//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-cuda -compute -shaderobj //TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer RWStructuredBuffer<int> outputBuffer; diff --git a/tests/hlsl-intrinsic/scalar-int.slang b/tests/hlsl-intrinsic/scalar-int.slang index 7fccc8645..119ca5abc 100644 --- a/tests/hlsl-intrinsic/scalar-int.slang +++ b/tests/hlsl-intrinsic/scalar-int.slang @@ -1,8 +1,8 @@ -//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -//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, vulkan):COMPARE_COMPUTE_EX:-cuda -compute +//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, vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj +//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-cuda -compute -shaderobj //TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer RWStructuredBuffer<int> outputBuffer; diff --git a/tests/hlsl-intrinsic/scalar-int64.slang b/tests/hlsl-intrinsic/scalar-int64.slang index 50d2b5816..35fba2fa4 100644 --- a/tests/hlsl-intrinsic/scalar-int64.slang +++ b/tests/hlsl-intrinsic/scalar-int64.slang @@ -1,11 +1,11 @@ -//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute +//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -shaderobj // No support for int64_t on D3D11 (no sm 6.0) -//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute +//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj // No support with Dx12 with dxbc. Needs SM6.0 + dxil -//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -profile cs_6_0 -dx12 -use-dxil -//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -//TEST(compute):COMPARE_COMPUTE_EX:-cuda -compute +//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -shaderobj +//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -profile cs_6_0 -dx12 -use-dxil -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 outputBuffer RWStructuredBuffer<int> outputBuffer; diff --git a/tests/hlsl-intrinsic/scalar-uint.slang b/tests/hlsl-intrinsic/scalar-uint.slang index eb16bb3b8..2e35c782e 100644 --- a/tests/hlsl-intrinsic/scalar-uint.slang +++ b/tests/hlsl-intrinsic/scalar-uint.slang @@ -1,8 +1,8 @@ -//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -//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, vulkan):COMPARE_COMPUTE_EX:-cuda -compute +//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, vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj +//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-cuda -compute -shaderobj //TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer RWStructuredBuffer<int> outputBuffer; diff --git a/tests/hlsl-intrinsic/scalar-uint64.slang b/tests/hlsl-intrinsic/scalar-uint64.slang index dd165d8b8..f862852b4 100644 --- a/tests/hlsl-intrinsic/scalar-uint64.slang +++ b/tests/hlsl-intrinsic/scalar-uint64.slang @@ -1,12 +1,12 @@ -//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute +//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -shaderobj // No support for uint64_t on DX11 -//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute +//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj // No support for uint64_t on fxc - we need SM6.0 and dxil // https://docs.microsoft.com/en-us/windows/win32/direct3dhlsl/hlsl-shader-model-6-0-features-for-direct3d-12 -//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -profile cs_6_0 -use-dxil -//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-cuda -compute +//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -shaderobj +//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -profile cs_6_0 -use-dxil -shaderobj +//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj +//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-cuda -compute -shaderobj //TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer RWStructuredBuffer<int> outputBuffer; diff --git a/tests/hlsl-intrinsic/vector-double-reduced-intrinsic.slang b/tests/hlsl-intrinsic/vector-double-reduced-intrinsic.slang index 288dfe9db..7d7e0ca0d 100644 --- a/tests/hlsl-intrinsic/vector-double-reduced-intrinsic.slang +++ b/tests/hlsl-intrinsic/vector-double-reduced-intrinsic.slang @@ -1,10 +1,10 @@ -//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -output-using-type +//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -output-using-type -shaderobj // TODO(JS): // On CI systems DX11 test failed, so disable for now -//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -output-using-type -//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -output-using-type -//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -output-using-type -//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-cuda -compute -output-using-type +//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -output-using-type -shaderobj +//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -output-using-type -shaderobj +//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -output-using-type -shaderobj +//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-cuda -compute -output-using-type -shaderobj //TEST_INPUT:ubuffer(data=[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0], stride=4):out,name outputBuffer RWStructuredBuffer<double4> outputBuffer; diff --git a/tests/hlsl-intrinsic/vector-float.slang b/tests/hlsl-intrinsic/vector-float.slang index f1d37c71e..b9cc6b9c8 100644 --- a/tests/hlsl-intrinsic/vector-float.slang +++ b/tests/hlsl-intrinsic/vector-float.slang @@ -1,8 +1,8 @@ -//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -output-using-type -//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -output-using-type -//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -output-using-type -//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -output-using-type -//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-cuda -compute -output-using-type +//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -output-using-type -shaderobj +//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -output-using-type -shaderobj +//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -output-using-type -shaderobj +//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -output-using-type -shaderobj +//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-cuda -compute -output-using-type -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<float4> outputBuffer; diff --git a/tests/hlsl-intrinsic/vector-int-runtime-index.slang b/tests/hlsl-intrinsic/vector-int-runtime-index.slang index bb704ed1a..77a8ae4ef 100644 --- a/tests/hlsl-intrinsic/vector-int-runtime-index.slang +++ b/tests/hlsl-intrinsic/vector-int-runtime-index.slang @@ -1,8 +1,8 @@ -//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-cuda -compute +//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -shaderobj +//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj +//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -shaderobj +//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj +//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-cuda -compute -shaderobj //TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer RWStructuredBuffer<int> outputBuffer; diff --git a/tests/hlsl-intrinsic/vector-int.slang b/tests/hlsl-intrinsic/vector-int.slang index d3327cfd0..a27e74d17 100644 --- a/tests/hlsl-intrinsic/vector-int.slang +++ b/tests/hlsl-intrinsic/vector-int.slang @@ -1,8 +1,8 @@ -//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-cuda -compute +//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -shaderobj +//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj +//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -shaderobj +//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj +//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-cuda -compute -shaderobj //TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer RWStructuredBuffer<int> outputBuffer; diff --git a/tests/hlsl-intrinsic/wave-active-count-bits.slang b/tests/hlsl-intrinsic/wave-active-count-bits.slang index f337a70bb..2de7db485 100644 --- a/tests/hlsl-intrinsic/wave-active-count-bits.slang +++ b/tests/hlsl-intrinsic/wave-active-count-bits.slang @@ -1,9 +1,9 @@ //TEST_CATEGORY(wave, compute) -//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -//TEST:COMPARE_COMPUTE_EX:-cuda -compute -render-features cuda_sm_7_0 +//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -shaderobj +//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -shaderobj +//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-cuda -compute -render-features cuda_sm_7_0 -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/hlsl-intrinsic/wave-active-product.slang b/tests/hlsl-intrinsic/wave-active-product.slang index 7fd42e038..6d9aea1fa 100644 --- a/tests/hlsl-intrinsic/wave-active-product.slang +++ b/tests/hlsl-intrinsic/wave-active-product.slang @@ -1,9 +1,9 @@ //TEST_CATEGORY(wave, compute) -//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -//TEST:COMPARE_COMPUTE_EX:-cuda -compute -render-features cuda_sm_7_0 +//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -shaderobj +//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -shaderobj +//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-cuda -compute -render-features cuda_sm_7_0 -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; diff --git a/tests/hlsl-intrinsic/wave-broadcast-lane-at-vk.slang b/tests/hlsl-intrinsic/wave-broadcast-lane-at-vk.slang index b67bb601b..4960ab00c 100644 --- a/tests/hlsl-intrinsic/wave-broadcast-lane-at-vk.slang +++ b/tests/hlsl-intrinsic/wave-broadcast-lane-at-vk.slang @@ -1,6 +1,6 @@ //TEST_CATEGORY(wave, compute) -//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute +//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -shaderobj +//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj //TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer RWStructuredBuffer<int> outputBuffer; diff --git a/tests/hlsl-intrinsic/wave-broadcast-lane-at.slang b/tests/hlsl-intrinsic/wave-broadcast-lane-at.slang index ee5ce45ab..a9ec340d2 100644 --- a/tests/hlsl-intrinsic/wave-broadcast-lane-at.slang +++ b/tests/hlsl-intrinsic/wave-broadcast-lane-at.slang @@ -1,10 +1,10 @@ //TEST_CATEGORY(wave, compute) -//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 +//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -shaderobj +//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -shaderobj // Disabled on VK because glsl can't do WaveReadLaneAt on matrix. -//DISABLE_TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -//TEST:COMPARE_COMPUTE_EX:-cuda -compute -render-features cuda_sm_7_0 +//DISABLE_TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-cuda -compute -render-features cuda_sm_7_0 -shaderobj //TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer RWStructuredBuffer<int> outputBuffer; diff --git a/tests/hlsl-intrinsic/wave-diverge.slang b/tests/hlsl-intrinsic/wave-diverge.slang index 1f0e6aac5..594ea55e3 100644 --- a/tests/hlsl-intrinsic/wave-diverge.slang +++ b/tests/hlsl-intrinsic/wave-diverge.slang @@ -1,9 +1,9 @@ //TEST_CATEGORY(wave, compute) -//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -//TEST:COMPARE_COMPUTE_EX:-cuda -compute -render-features cuda_sm_7_0 +//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -shaderobj +//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -shaderobj +//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-cuda -compute -render-features cuda_sm_7_0 -shaderobj //TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer RWStructuredBuffer<int> outputBuffer; diff --git a/tests/hlsl-intrinsic/wave-equality.slang b/tests/hlsl-intrinsic/wave-equality.slang index fc8d28f10..4271c3c11 100644 --- a/tests/hlsl-intrinsic/wave-equality.slang +++ b/tests/hlsl-intrinsic/wave-equality.slang @@ -1,9 +1,9 @@ //TEST_CATEGORY(wave, compute) -//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -//TEST:COMPARE_COMPUTE_EX:-cuda -compute -render-features cuda_sm_7_0 +//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -shaderobj +//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -shaderobj +//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-cuda -compute -render-features cuda_sm_7_0 -shaderobj //TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer RWStructuredBuffer<int> outputBuffer; diff --git a/tests/hlsl-intrinsic/wave-get-lane-index.slang b/tests/hlsl-intrinsic/wave-get-lane-index.slang index 84b1c3fea..e4beb7ce0 100644 --- a/tests/hlsl-intrinsic/wave-get-lane-index.slang +++ b/tests/hlsl-intrinsic/wave-get-lane-index.slang @@ -1,9 +1,9 @@ //TEST_CATEGORY(wave, compute) -//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -//TEST:COMPARE_COMPUTE_EX:-cuda -compute +//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -shaderobj +//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -shaderobj +//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-cuda -compute -shaderobj //TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer RWStructuredBuffer<int> outputBuffer; diff --git a/tests/hlsl-intrinsic/wave-is-first-lane.slang b/tests/hlsl-intrinsic/wave-is-first-lane.slang index 4b78647ee..203c20bb8 100644 --- a/tests/hlsl-intrinsic/wave-is-first-lane.slang +++ b/tests/hlsl-intrinsic/wave-is-first-lane.slang @@ -1,9 +1,9 @@ //TEST_CATEGORY(wave, compute) -//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -//TEST:COMPARE_COMPUTE_EX:-cuda -compute -render-features cuda_sm_7_0 +//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -shaderobj +//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -shaderobj +//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-cuda -compute -render-features cuda_sm_7_0 -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; diff --git a/tests/hlsl-intrinsic/wave-mask/wave-active-product.slang b/tests/hlsl-intrinsic/wave-mask/wave-active-product.slang index 682622580..8a47c5733 100644 --- a/tests/hlsl-intrinsic/wave-mask/wave-active-product.slang +++ b/tests/hlsl-intrinsic/wave-mask/wave-active-product.slang @@ -1,9 +1,9 @@ //TEST_CATEGORY(wave-mask, compute) -//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -//TEST:COMPARE_COMPUTE_EX:-cuda -compute +//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -shaderobj +//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -shaderobj +//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-cuda -compute -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; diff --git a/tests/hlsl-intrinsic/wave-mask/wave-broadcast-lane-at-vk.slang b/tests/hlsl-intrinsic/wave-mask/wave-broadcast-lane-at-vk.slang index 552ef7144..06d62fcda 100644 --- a/tests/hlsl-intrinsic/wave-mask/wave-broadcast-lane-at-vk.slang +++ b/tests/hlsl-intrinsic/wave-mask/wave-broadcast-lane-at-vk.slang @@ -1,6 +1,6 @@ //TEST_CATEGORY(wave-mask, compute) -//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute +//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -shaderobj +//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj //TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer RWStructuredBuffer<int> outputBuffer; diff --git a/tests/hlsl-intrinsic/wave-mask/wave-broadcast-lane-at.slang b/tests/hlsl-intrinsic/wave-mask/wave-broadcast-lane-at.slang index 1fe8a54b2..9e444a9a8 100644 --- a/tests/hlsl-intrinsic/wave-mask/wave-broadcast-lane-at.slang +++ b/tests/hlsl-intrinsic/wave-mask/wave-broadcast-lane-at.slang @@ -1,10 +1,10 @@ //TEST_CATEGORY(wave-mask, compute) -//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 +//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -shaderobj +//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -shaderobj // Disabled on VK because glsl can't do WaveReadLaneAt on matrix. -//DISABLE_TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -//TEST:COMPARE_COMPUTE_EX:-cuda -compute +//DISABLE_TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-cuda -compute -shaderobj //TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer RWStructuredBuffer<int> outputBuffer; diff --git a/tests/hlsl-intrinsic/wave-mask/wave-diverge.slang b/tests/hlsl-intrinsic/wave-mask/wave-diverge.slang index 63176bac1..3dd33f150 100644 --- a/tests/hlsl-intrinsic/wave-mask/wave-diverge.slang +++ b/tests/hlsl-intrinsic/wave-mask/wave-diverge.slang @@ -1,9 +1,9 @@ //TEST_CATEGORY(wave-mask, compute) -//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -//TEST:COMPARE_COMPUTE_EX:-cuda -compute +//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -shaderobj +//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -shaderobj +//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-cuda -compute -shaderobj //TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer RWStructuredBuffer<int> outputBuffer; diff --git a/tests/hlsl-intrinsic/wave-mask/wave-equality.slang b/tests/hlsl-intrinsic/wave-mask/wave-equality.slang index 020e6415a..9152d2ec2 100644 --- a/tests/hlsl-intrinsic/wave-mask/wave-equality.slang +++ b/tests/hlsl-intrinsic/wave-mask/wave-equality.slang @@ -1,9 +1,9 @@ //TEST_CATEGORY(wave-mask, compute) -//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -//TEST:COMPARE_COMPUTE_EX:-cuda -compute -render-features cuda_sm_7_0 +//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -shaderobj +//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -shaderobj +//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-cuda -compute -render-features cuda_sm_7_0 -shaderobj //TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer RWStructuredBuffer<int> outputBuffer; diff --git a/tests/hlsl-intrinsic/wave-mask/wave-get-active.slang b/tests/hlsl-intrinsic/wave-mask/wave-get-active.slang index 7f2c63b86..d19436191 100644 --- a/tests/hlsl-intrinsic/wave-mask/wave-get-active.slang +++ b/tests/hlsl-intrinsic/wave-mask/wave-get-active.slang @@ -1,9 +1,9 @@ //TEST_CATEGORY(wave-mask, compute) -//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -//DISABLE_TEST:COMPARE_COMPUTE_EX:-cuda -compute +//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -shaderobj +//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -shaderobj +//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj +//DISABLE_TEST:COMPARE_COMPUTE_EX:-cuda -compute -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/hlsl-intrinsic/wave-mask/wave-get-converged.slang b/tests/hlsl-intrinsic/wave-mask/wave-get-converged.slang index d6c6cd380..1a7a46cea 100644 --- a/tests/hlsl-intrinsic/wave-mask/wave-get-converged.slang +++ b/tests/hlsl-intrinsic/wave-mask/wave-get-converged.slang @@ -1,9 +1,9 @@ //TEST_CATEGORY(wave-mask, compute) -//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -//TEST:COMPARE_COMPUTE_EX:-cuda -compute +//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -shaderobj +//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -shaderobj +//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-cuda -compute -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/hlsl-intrinsic/wave-mask/wave-is-first-lane.slang b/tests/hlsl-intrinsic/wave-mask/wave-is-first-lane.slang index 8d126f2ec..71721ec35 100644 --- a/tests/hlsl-intrinsic/wave-mask/wave-is-first-lane.slang +++ b/tests/hlsl-intrinsic/wave-mask/wave-is-first-lane.slang @@ -1,9 +1,9 @@ //TEST_CATEGORY(wave-mask, compute) -//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -//TEST:COMPARE_COMPUTE_EX:-cuda -compute +//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -shaderobj +//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -shaderobj +//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-cuda -compute -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; diff --git a/tests/hlsl-intrinsic/wave-mask/wave-matrix.slang b/tests/hlsl-intrinsic/wave-mask/wave-matrix.slang index 3fd551be9..8082545fb 100644 --- a/tests/hlsl-intrinsic/wave-mask/wave-matrix.slang +++ b/tests/hlsl-intrinsic/wave-mask/wave-matrix.slang @@ -1,9 +1,9 @@ //TEST_CATEGORY(wave-mask, compute) -//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -//DISABLE_TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -//TEST:COMPARE_COMPUTE_EX:-cuda -compute +//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -shaderobj +//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -shaderobj +//DISABLE_TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-cuda -compute -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/hlsl-intrinsic/wave-mask/wave-prefix-product.slang b/tests/hlsl-intrinsic/wave-mask/wave-prefix-product.slang index 56dbf7e4e..5904d6b99 100644 --- a/tests/hlsl-intrinsic/wave-mask/wave-prefix-product.slang +++ b/tests/hlsl-intrinsic/wave-mask/wave-prefix-product.slang @@ -1,9 +1,9 @@ //TEST_CATEGORY(wave-mask, compute) -//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -//TEST:COMPARE_COMPUTE_EX:-cuda -compute +//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -shaderobj +//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -shaderobj +//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-cuda -compute -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/hlsl-intrinsic/wave-mask/wave-prefix-sum.slang b/tests/hlsl-intrinsic/wave-mask/wave-prefix-sum.slang index 6149d1cca..bf8f83805 100644 --- a/tests/hlsl-intrinsic/wave-mask/wave-prefix-sum.slang +++ b/tests/hlsl-intrinsic/wave-mask/wave-prefix-sum.slang @@ -1,9 +1,9 @@ //TEST_CATEGORY(wave-mask, compute) -//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -//TEST:COMPARE_COMPUTE_EX:-cuda -compute +//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -shaderobj +//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -shaderobj +//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-cuda -compute -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/hlsl-intrinsic/wave-mask/wave-read-lane-at-vk.slang b/tests/hlsl-intrinsic/wave-mask/wave-read-lane-at-vk.slang index 39b01bec3..d4ccbea27 100644 --- a/tests/hlsl-intrinsic/wave-mask/wave-read-lane-at-vk.slang +++ b/tests/hlsl-intrinsic/wave-mask/wave-read-lane-at-vk.slang @@ -2,8 +2,8 @@ // We have this 'simple' test, because we can't do matrix (or imat) operations on GLSL/Vk target //TEST_CATEGORY(wave-mask, compute) -//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute +//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -shaderobj +//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj //TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer RWStructuredBuffer<int> outputBuffer; diff --git a/tests/hlsl-intrinsic/wave-mask/wave-read-lane-at.slang b/tests/hlsl-intrinsic/wave-mask/wave-read-lane-at.slang index e2dccffea..954d05559 100644 --- a/tests/hlsl-intrinsic/wave-mask/wave-read-lane-at.slang +++ b/tests/hlsl-intrinsic/wave-mask/wave-read-lane-at.slang @@ -1,10 +1,10 @@ //TEST_CATEGORY(wave-mask, compute) -//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 +//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -shaderobj +//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -shaderobj // Disabled on VK because glsl can't do WaveReadLaneAt on matrix. -//DISABLE_TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -//TEST:COMPARE_COMPUTE_EX:-cuda -compute +//DISABLE_TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-cuda -compute -shaderobj //TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer RWStructuredBuffer<int> outputBuffer; diff --git a/tests/hlsl-intrinsic/wave-mask/wave-shuffle-vk.slang b/tests/hlsl-intrinsic/wave-mask/wave-shuffle-vk.slang index fe4bedfe7..da2e31e5d 100644 --- a/tests/hlsl-intrinsic/wave-mask/wave-shuffle-vk.slang +++ b/tests/hlsl-intrinsic/wave-mask/wave-shuffle-vk.slang @@ -1,10 +1,10 @@ //TEST_CATEGORY(wave-mask, compute) // Disabled because main tests is wave-shuffle.slang, this just tests VK -//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -//TEST:COMPARE_COMPUTE_EX:-cuda -compute +//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -shaderobj +//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -shaderobj +//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -shaderobj +//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-cuda -compute -shaderobj //TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer RWStructuredBuffer<int> outputBuffer; diff --git a/tests/hlsl-intrinsic/wave-mask/wave-shuffle.slang b/tests/hlsl-intrinsic/wave-mask/wave-shuffle.slang index d108fc39e..481a132c9 100644 --- a/tests/hlsl-intrinsic/wave-mask/wave-shuffle.slang +++ b/tests/hlsl-intrinsic/wave-mask/wave-shuffle.slang @@ -1,11 +1,11 @@ //TEST_CATEGORY(wave-mask, compute) -//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute +//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -shaderobj +//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -shaderobj //Disabled on D3D, because in general WaveShuffle requires hardware that doesn't have the 'uniform laneId across Wave' restriction. -//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 +//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -shaderobj // Disabled because vk doesn't currently support matrix types. See wave-shuffle-vk.slang -//DISABLE_TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -//TEST:COMPARE_COMPUTE_EX:-cuda -compute +//DISABLE_TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-cuda -compute -shaderobj //TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer RWStructuredBuffer<int> outputBuffer; diff --git a/tests/hlsl-intrinsic/wave-mask/wave-vector.slang b/tests/hlsl-intrinsic/wave-mask/wave-vector.slang index dc6947bfd..1b77b3dc5 100644 --- a/tests/hlsl-intrinsic/wave-mask/wave-vector.slang +++ b/tests/hlsl-intrinsic/wave-mask/wave-vector.slang @@ -1,9 +1,9 @@ //TEST_CATEGORY(wave-mask, compute) -//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -//TEST:COMPARE_COMPUTE_EX:-cuda -compute +//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -shaderobj +//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -shaderobj +//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-cuda -compute -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/hlsl-intrinsic/wave-mask/wave.slang b/tests/hlsl-intrinsic/wave-mask/wave.slang index 9d6fbac46..1b8acc277 100644 --- a/tests/hlsl-intrinsic/wave-mask/wave.slang +++ b/tests/hlsl-intrinsic/wave-mask/wave.slang @@ -1,9 +1,9 @@ //TEST_CATEGORY(wave-mask, compute) -//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -//TEST:COMPARE_COMPUTE_EX:-cuda -compute +//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -shaderobj +//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -shaderobj +//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-cuda -compute -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; diff --git a/tests/hlsl-intrinsic/wave-matrix.slang b/tests/hlsl-intrinsic/wave-matrix.slang index dd239a155..a3fe0b2e9 100644 --- a/tests/hlsl-intrinsic/wave-matrix.slang +++ b/tests/hlsl-intrinsic/wave-matrix.slang @@ -1,9 +1,9 @@ //TEST_CATEGORY(wave, compute) -//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -//DISABLE_TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -//TEST:COMPARE_COMPUTE_EX:-cuda -compute -render-features cuda_sm_7_0 +//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -shaderobj +//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -shaderobj +//DISABLE_TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-cuda -compute -render-features cuda_sm_7_0 -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/hlsl-intrinsic/wave-multi-prefix.slang b/tests/hlsl-intrinsic/wave-multi-prefix.slang index a3adc1a80..31dde2af4 100644 --- a/tests/hlsl-intrinsic/wave-multi-prefix.slang +++ b/tests/hlsl-intrinsic/wave-multi-prefix.slang @@ -1,12 +1,12 @@ //TEST_CATEGORY(wave, compute) -//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute +//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -shaderobj +//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -shaderobj // We need SM6.5 for these tests // Disable because version of dxc we are currently using doesn't support SM6.5 -//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile sm_6_5 +//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile sm_6_5 -shaderobj // Disabled because we don't have GLSL intrinsics for these it seems -//DISABLE_TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -//TEST:COMPARE_COMPUTE_EX:-cuda -compute -render-features cuda_sm_7_0 +//DISABLE_TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-cuda -compute -render-features cuda_sm_7_0 -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/hlsl-intrinsic/wave-prefix-count-bits.slang b/tests/hlsl-intrinsic/wave-prefix-count-bits.slang index 3aea7926d..5440715aa 100644 --- a/tests/hlsl-intrinsic/wave-prefix-count-bits.slang +++ b/tests/hlsl-intrinsic/wave-prefix-count-bits.slang @@ -1,9 +1,9 @@ //TEST_CATEGORY(wave, compute) -//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -//TEST:COMPARE_COMPUTE_EX:-cuda -compute -render-features cuda_sm_7_0 +//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -shaderobj +//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -shaderobj +//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-cuda -compute -render-features cuda_sm_7_0 -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/hlsl-intrinsic/wave-prefix-product.slang b/tests/hlsl-intrinsic/wave-prefix-product.slang index 888d3ba22..70f52db13 100644 --- a/tests/hlsl-intrinsic/wave-prefix-product.slang +++ b/tests/hlsl-intrinsic/wave-prefix-product.slang @@ -1,9 +1,9 @@ //TEST_CATEGORY(wave, compute) -//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -//TEST:COMPARE_COMPUTE_EX:-cuda -compute -render-features cuda_sm_7_0 +//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -shaderobj +//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -shaderobj +//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-cuda -compute -render-features cuda_sm_7_0 -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/hlsl-intrinsic/wave-prefix-sum.slang b/tests/hlsl-intrinsic/wave-prefix-sum.slang index 4b86da763..529b99d48 100644 --- a/tests/hlsl-intrinsic/wave-prefix-sum.slang +++ b/tests/hlsl-intrinsic/wave-prefix-sum.slang @@ -1,9 +1,9 @@ //TEST_CATEGORY(wave, compute) -//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -//TEST:COMPARE_COMPUTE_EX:-cuda -compute -render-features cuda_sm_7_0 +//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -shaderobj +//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -shaderobj +//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-cuda -compute -render-features cuda_sm_7_0 -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/hlsl-intrinsic/wave-read-lane-at-vk.slang b/tests/hlsl-intrinsic/wave-read-lane-at-vk.slang index f085081b0..4fb80ac0a 100644 --- a/tests/hlsl-intrinsic/wave-read-lane-at-vk.slang +++ b/tests/hlsl-intrinsic/wave-read-lane-at-vk.slang @@ -1,8 +1,8 @@ // This is similar to wave-lane-at.slang but tests more limited supported types for vk. // We have this 'simple' test, because we can't do matrix (or imat) operations on GLSL/Vk target //TEST_CATEGORY(wave, compute) -//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute +//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -shaderobj +//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj //TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer RWStructuredBuffer<int> outputBuffer; diff --git a/tests/hlsl-intrinsic/wave-read-lane-at.slang b/tests/hlsl-intrinsic/wave-read-lane-at.slang index bc32cf1f8..44976fad8 100644 --- a/tests/hlsl-intrinsic/wave-read-lane-at.slang +++ b/tests/hlsl-intrinsic/wave-read-lane-at.slang @@ -1,10 +1,10 @@ //TEST_CATEGORY(wave, compute) -//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 +//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -shaderobj +//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -shaderobj // Disabled on VK because glsl can't do WaveReadLaneAt on matrix. -//DISABLE_TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -//TEST:COMPARE_COMPUTE_EX:-cuda -compute -render-features cuda_sm_7_0 +//DISABLE_TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-cuda -compute -render-features cuda_sm_7_0 -shaderobj //TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer RWStructuredBuffer<int> outputBuffer; diff --git a/tests/hlsl-intrinsic/wave-shuffle-vk.slang b/tests/hlsl-intrinsic/wave-shuffle-vk.slang index ecd325c95..0ac3e096d 100644 --- a/tests/hlsl-intrinsic/wave-shuffle-vk.slang +++ b/tests/hlsl-intrinsic/wave-shuffle-vk.slang @@ -1,10 +1,10 @@ //TEST_CATEGORY(wave, compute) // Disabled because main tests is wave-shuffle.slang, this just tests VK -//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -//TEST:COMPARE_COMPUTE_EX:-cuda -compute -render-features cuda_sm_7_0 +//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -shaderobj +//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -shaderobj +//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -shaderobj +//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-cuda -compute -render-features cuda_sm_7_0 -shaderobj //TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer RWStructuredBuffer<int> outputBuffer; diff --git a/tests/hlsl-intrinsic/wave-vector.slang b/tests/hlsl-intrinsic/wave-vector.slang index 3a3f4b4be..eb8872145 100644 --- a/tests/hlsl-intrinsic/wave-vector.slang +++ b/tests/hlsl-intrinsic/wave-vector.slang @@ -1,9 +1,9 @@ //TEST_CATEGORY(wave, compute) -//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -//TEST:COMPARE_COMPUTE_EX:-cuda -compute -render-features cuda_sm_7_0 +//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -shaderobj +//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -shaderobj +//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-cuda -compute -render-features cuda_sm_7_0 -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/hlsl-intrinsic/wave.slang b/tests/hlsl-intrinsic/wave.slang index 04a6c2048..d3454b7e0 100644 --- a/tests/hlsl-intrinsic/wave.slang +++ b/tests/hlsl-intrinsic/wave.slang @@ -1,9 +1,9 @@ //TEST_CATEGORY(wave, compute) -//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -//TEST:COMPARE_COMPUTE_EX:-cuda -compute -render-features cuda_sm_7_0 +//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -shaderobj +//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -use-dxil -profile cs_6_0 -shaderobj +//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj +//TEST:COMPARE_COMPUTE_EX:-cuda -compute -render-features cuda_sm_7_0 -shaderobj //TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer RWStructuredBuffer<int> outputBuffer; diff --git a/tests/ir/string-literal-hash.slang b/tests/ir/string-literal-hash.slang index 3e71b8a32..5aa354d85 100644 --- a/tests/ir/string-literal-hash.slang +++ b/tests/ir/string-literal-hash.slang @@ -1,5 +1,5 @@ -//TEST(compute):COMPARE_COMPUTE: -//TEST(compute):COMPARE_COMPUTE: -vk +//TEST(compute):COMPARE_COMPUTE: -shaderobj +//TEST(compute):COMPARE_COMPUTE: -vk -shaderobj // Note: disabled on CPU target until we can fill // in a more correct/complete `String` and `getStringHash` diff --git a/tests/language-feature/constants/static-const-in-struct.slang b/tests/language-feature/constants/static-const-in-struct.slang index d01e58289..bee8c936b 100644 --- a/tests/language-feature/constants/static-const-in-struct.slang +++ b/tests/language-feature/constants/static-const-in-struct.slang @@ -1,6 +1,6 @@ // static-const-in-struct.slang -//TEST(compute):COMPARE_COMPUTE: +//TEST(compute):COMPARE_COMPUTE: -shaderobj // Test that `static const` variable declarations inside of // a `struct` type correctly translate to constants in diff --git a/tests/language-feature/enums/enum-equality.slang b/tests/language-feature/enums/enum-equality.slang index 0ad39c0f4..d3a2aa4fd 100644 --- a/tests/language-feature/enums/enum-equality.slang +++ b/tests/language-feature/enums/enum-equality.slang @@ -3,7 +3,7 @@ // Test that equality (and inequality) of `enum` // types works as expected. -//TEST(compute):COMPARE_COMPUTE: +//TEST(compute):COMPARE_COMPUTE: -shaderobj enum Channel { diff --git a/tests/language-feature/enums/explicit-tag-type.slang b/tests/language-feature/enums/explicit-tag-type.slang index b55266fcb..52067bd3b 100644 --- a/tests/language-feature/enums/explicit-tag-type.slang +++ b/tests/language-feature/enums/explicit-tag-type.slang @@ -2,7 +2,7 @@ // Test that the underlying "tag type" of an `enum` can be set. -//TEST(compute):COMPARE_COMPUTE: +//TEST(compute):COMPARE_COMPUTE: -shaderobj enum Channel : uint { diff --git a/tests/language-feature/enums/nested-enum.slang b/tests/language-feature/enums/nested-enum.slang index 942a9e72d..ecc854440 100644 --- a/tests/language-feature/enums/nested-enum.slang +++ b/tests/language-feature/enums/nested-enum.slang @@ -2,7 +2,7 @@ // Test enums defined nested in a struct work as expected. -//TEST(compute):COMPARE_COMPUTE: +//TEST(compute):COMPARE_COMPUTE: -shaderobj struct Outer { diff --git a/tests/language-feature/extensions/interface-extension.slang b/tests/language-feature/extensions/interface-extension.slang index 824aa3450..e8c0552c0 100644 --- a/tests/language-feature/extensions/interface-extension.slang +++ b/tests/language-feature/extensions/interface-extension.slang @@ -2,7 +2,7 @@ // Test that an `extension` applied to an interface type works as users expect -//TEST(compute):COMPARE_COMPUTE: +//TEST(compute):COMPARE_COMPUTE: -shaderobj interface ICounter { diff --git a/tests/language-feature/generics/struct-generic-value-param.slang b/tests/language-feature/generics/struct-generic-value-param.slang index 857468165..435e374d8 100644 --- a/tests/language-feature/generics/struct-generic-value-param.slang +++ b/tests/language-feature/generics/struct-generic-value-param.slang @@ -16,7 +16,7 @@ // it can reproduce a bug that was encountered by a user // when trying out the feature. -//TEST(compute):COMPARE_COMPUTE: +//TEST(compute):COMPARE_COMPUTE: -shaderobj import struct_generic_value_param_import; diff --git a/tests/language-feature/inheritance/struct-inherit-interface-requirement.slang b/tests/language-feature/inheritance/struct-inherit-interface-requirement.slang index e1ab2333a..968a78cb6 100644 --- a/tests/language-feature/inheritance/struct-inherit-interface-requirement.slang +++ b/tests/language-feature/inheritance/struct-inherit-interface-requirement.slang @@ -1,6 +1,6 @@ // struct-inherit-interface-requirement.slang -//TEST(compute):COMPARE_COMPUTE: +//TEST(compute):COMPARE_COMPUTE: -shaderobj // Test that a `struct` type can use an inherited // member to satisfy an interface requirement. diff --git a/tests/language-feature/inheritance/struct-inheritance.slang b/tests/language-feature/inheritance/struct-inheritance.slang index e2cfaf25b..34ce55344 100644 --- a/tests/language-feature/inheritance/struct-inheritance.slang +++ b/tests/language-feature/inheritance/struct-inheritance.slang @@ -1,6 +1,6 @@ // struct-inheritance.slang -//TEST(compute):COMPARE_COMPUTE: +//TEST(compute):COMPARE_COMPUTE: -shaderobj // Test that we can define a `struct` type // that inherits from another `struct`. diff --git a/tests/language-feature/namespaces/simple-namespace.slang b/tests/language-feature/namespaces/simple-namespace.slang index 01f40545a..e964cfca9 100644 --- a/tests/language-feature/namespaces/simple-namespace.slang +++ b/tests/language-feature/namespaces/simple-namespace.slang @@ -1,6 +1,6 @@ // simple-namespace.slang -//TEST(compute):COMPARE_COMPUTE: +//TEST(compute):COMPARE_COMPUTE: -shaderobj // Test that simple `namespace` declarations work as expected diff --git a/tests/language-feature/namespaces/using-namespace.slang b/tests/language-feature/namespaces/using-namespace.slang index b0b301929..3c40b4ba3 100644 --- a/tests/language-feature/namespaces/using-namespace.slang +++ b/tests/language-feature/namespaces/using-namespace.slang @@ -2,7 +2,7 @@ // Test that `using` can bring declarations from a namespace into scope -//TEST(compute):COMPARE_COMPUTE: +//TEST(compute):COMPARE_COMPUTE: -shaderobj namespace X { diff --git a/tests/language-feature/properties/property-decl.slang b/tests/language-feature/properties/property-decl.slang index 19267e42c..94ab39d00 100644 --- a/tests/language-feature/properties/property-decl.slang +++ b/tests/language-feature/properties/property-decl.slang @@ -1,6 +1,6 @@ // property-decl.slang -//TEST(compute):COMPARE_COMPUTE: +//TEST(compute):COMPARE_COMPUTE: -shaderobj // Test that users can declare properties and access them // with ordinary dot syntax. diff --git a/tests/language-feature/properties/property-in-interface.slang b/tests/language-feature/properties/property-in-interface.slang index 91cef0e14..50a9c7f2e 100644 --- a/tests/language-feature/properties/property-in-interface.slang +++ b/tests/language-feature/properties/property-in-interface.slang @@ -1,6 +1,6 @@ // property-in-interface.slang -//TEST(compute):COMPARE_COMPUTE: +//TEST(compute):COMPARE_COMPUTE: -shaderobj // Test that interfaces can include property declarations. diff --git a/tests/language-feature/shader-params/entry-point-uniform-params.slang b/tests/language-feature/shader-params/entry-point-uniform-params.slang index b92af5818..9bcb36f27 100644 --- a/tests/language-feature/shader-params/entry-point-uniform-params.slang +++ b/tests/language-feature/shader-params/entry-point-uniform-params.slang @@ -1,8 +1,8 @@ // entry-point-uniform-params.slang -//TEST(compute):COMPARE_COMPUTE: -//TEST(compute):COMPARE_COMPUTE:-cuda -//TEST(compute):COMPARE_COMPUTE:-cpu +//TEST(compute):COMPARE_COMPUTE: -shaderobj +//TEST(compute):COMPARE_COMPUTE:-cuda -shaderobj +//TEST(compute):COMPARE_COMPUTE:-cpu -shaderobj // Test that a shader can be written that // only uses entry point `uniform` parameters, diff --git a/tests/language-feature/swizzles/matrix-swizzles.slang b/tests/language-feature/swizzles/matrix-swizzles.slang index e1a2d7473..3f8fece74 100644 --- a/tests/language-feature/swizzles/matrix-swizzles.slang +++ b/tests/language-feature/swizzles/matrix-swizzles.slang @@ -1,6 +1,6 @@ // matrix-swizzle.slang -//TEST(compute):COMPARE_COMPUTE: +//TEST(compute):COMPARE_COMPUTE: -shaderobj // Test that matrix swizzle works correctly // Matrix swizzles can either be one or zero indexed diff --git a/tests/optimization/func-resource-result/func-resource-result-simple.slang b/tests/optimization/func-resource-result/func-resource-result-simple.slang index 5bebd69ac..52b382135 100644 --- a/tests/optimization/func-resource-result/func-resource-result-simple.slang +++ b/tests/optimization/func-resource-result/func-resource-result-simple.slang @@ -1,8 +1,8 @@ // func-resource-result-simple.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 // Test that a function that returns a resource type can be // compiled for targets that don't natively support resource diff --git a/tests/pipeline/compute/compute-system-values.slang b/tests/pipeline/compute/compute-system-values.slang index 16a5ed85b..c63ca7f6b 100644 --- a/tests/pipeline/compute/compute-system-values.slang +++ b/tests/pipeline/compute/compute-system-values.slang @@ -1,7 +1,7 @@ // compute-system-values.slang -//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 0 0 0 0], stride=4):out,name=outputBuffer RWStructuredBuffer<int> outputBuffer; diff --git a/tests/serialization/extern/extern-test.slang b/tests/serialization/extern/extern-test.slang index 9417e3755..1efb221dc 100644 --- a/tests/serialization/extern/extern-test.slang +++ b/tests/serialization/extern/extern-test.slang @@ -2,7 +2,7 @@ //TEST:COMPILE: -module-name module -no-codegen tests/serialization/extern/module-a.slang -o tests/serialization/extern/module-a.slang-lib //TEST:COMPILE: -module-name module -no-codegen tests/serialization/extern/module-b.slang -o tests/serialization/extern/module-b.slang-lib -//TEST:COMPARE_COMPUTE_EX: -xslang -module-name -xslang module -slang -compute -xslang -r -xslang tests/serialization/extern/module-a.slang-lib -xslang -r -xslang tests/serialization/extern/module-b.slang-lib +//TEST:COMPARE_COMPUTE_EX: -xslang -module-name -xslang module -slang -compute -xslang -r -xslang tests/serialization/extern/module-a.slang-lib -xslang -r -xslang tests/serialization/extern/module-b.slang-lib -shaderobj //TEST_INPUT:ubuffer(data=[0 0 0 0 ], stride=4):out,name outputBuffer RWStructuredBuffer<int> outputBuffer; diff --git a/tests/serialization/serialized-module-test.slang b/tests/serialization/serialized-module-test.slang index a29aa36fc..d27fe0458 100644 --- a/tests/serialization/serialized-module-test.slang +++ b/tests/serialization/serialized-module-test.slang @@ -4,7 +4,7 @@ // serialization. //TEST:COMPILE: tests/serialization/serialized-module.slang -o tests/serialization/serialized-module.slang-module -//TEST:COMPARE_COMPUTE_EX:-slang -compute -xslang -r -xslang tests/serialization/serialized-module.slang-module +//TEST:COMPARE_COMPUTE_EX:-slang -compute -xslang -r -xslang tests/serialization/serialized-module.slang-module -shaderobj //import serialized_module; diff --git a/tests/serialization/std-lib-serialize.slang b/tests/serialization/std-lib-serialize.slang index 6745b851a..eef99c8f8 100644 --- a/tests/serialization/std-lib-serialize.slang +++ b/tests/serialization/std-lib-serialize.slang @@ -1,5 +1,5 @@ //TEST:COMPILE: -save-stdlib slang-std-lib.zip -//TEST:COMPARE_COMPUTE: -compile-arg -load-stdlib -compile-arg slang-std-lib.zip +//TEST:COMPARE_COMPUTE: -compile-arg -load-stdlib -compile-arg slang-std-lib.zip -shaderobj struct A { diff --git a/tests/slang-extension/atomic-float-byte-address-buffer.slang b/tests/slang-extension/atomic-float-byte-address-buffer.slang index 910fefdfe..519cb668d 100644 --- a/tests/slang-extension/atomic-float-byte-address-buffer.slang +++ b/tests/slang-extension/atomic-float-byte-address-buffer.slang @@ -1,11 +1,11 @@ // atomic-float-byte-address-buffer.slang -//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -output-using-type -//TEST(compute):COMPARE_COMPUTE_EX:-dx11 -slang -compute -render-features atomic-float -output-using-type -nvapi-slot u0 -//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -render-features atomic-float -output-using-type -//TEST(compute):COMPARE_COMPUTE_EX:-d3d12 -compute -render-features atomic-float -output-using-type -compile-arg -O2 -nvapi-slot u0 -//TEST(compute):COMPARE_COMPUTE_EX:-d3d12 -compute -use-dxil -render-features atomic-float -output-using-type -compile-arg -O2 -nvapi-slot u0 -//TEST(compute):COMPARE_COMPUTE_EX:-cuda -compute -output-using-type +//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -output-using-type -shaderobj +//TEST(compute):COMPARE_COMPUTE_EX:-dx11 -slang -compute -render-features atomic-float -output-using-type -nvapi-slot u0 -shaderobj +//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -render-features atomic-float -output-using-type -shaderobj +//TEST(compute):COMPARE_COMPUTE_EX:-d3d12 -compute -render-features atomic-float -output-using-type -compile-arg -O2 -nvapi-slot u0 -shaderobj +//TEST(compute):COMPARE_COMPUTE_EX:-d3d12 -compute -use-dxil -render-features atomic-float -output-using-type -compile-arg -O2 -nvapi-slot u0 -shaderobj +//TEST(compute):COMPARE_COMPUTE_EX:-cuda -compute -output-using-type -shaderobj // The test doesn't directly use this, but having this defined makes the 0 slot available if NVAPI is going to be used // Only strictly necessary on the D3D11/D3D12 paths @@ -15,7 +15,7 @@ RWStructuredBuffer<int> nvapiBuffer; //TEST_INPUT:ubuffer(data=[1.0 2.0 3.0 4.0], stride=4):out,name=outputBuffer RWStructuredBuffer<float> outputBuffer; -//TEST_INPUT:ubuffer(data=[1.0 2.0 3.0 4.0], stride=4):name=workBuffer +//TEST_INPUT:ubuffer(data=[1.0 2.0 3.0 4.0]):name=workBuffer RWByteAddressBuffer workBuffer; //TEST_INPUT:ubuffer(data=[0.7 0.5 0.2 0.6], stride=4):name=anotherBuffer diff --git a/tests/slang-extension/atomic-int64-byte-address-buffer.slang b/tests/slang-extension/atomic-int64-byte-address-buffer.slang index 80ce2150c..b5e52ea58 100644 --- a/tests/slang-extension/atomic-int64-byte-address-buffer.slang +++ b/tests/slang-extension/atomic-int64-byte-address-buffer.slang @@ -1,13 +1,13 @@ // No atomic support on CPU -//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute +//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -shaderobj // No support for int64_t on DX11 -//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute +//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj // No support for int64_t on fxc - we need SM6.0 and dxil // https://docs.microsoft.com/en-us/windows/win32/direct3dhlsl/hlsl-shader-model-6-0-features-for-direct3d-12 -//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -nvapi-slot u0 -//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -profile cs_6_0 -use-dxil -render-features atomic-int64 -nvapi-slot u0 -compile-arg -O2 -//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -render-features atomic-int64 -//TEST(compute):COMPARE_COMPUTE_EX:-cuda -compute +//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -nvapi-slot u0 -shaderobj +//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -profile cs_6_0 -use-dxil -render-features atomic-int64 -nvapi-slot u0 -compile-arg -O2 -shaderobj +//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -render-features atomic-int64 -shaderobj +//TEST(compute):COMPARE_COMPUTE_EX:-cuda -compute -shaderobj // The test doesn't directly use this, but having this defined makes the 0 slot available if NVAPI is going to be used // Only strictly necessary on the D3D12 path diff --git a/tests/slang-extension/atomic-min-max-u64-byte-address-buffer.slang b/tests/slang-extension/atomic-min-max-u64-byte-address-buffer.slang index bfe7fb2a4..862dd4ad1 100644 --- a/tests/slang-extension/atomic-min-max-u64-byte-address-buffer.slang +++ b/tests/slang-extension/atomic-min-max-u64-byte-address-buffer.slang @@ -1,15 +1,15 @@ // No atomic support on CPU -//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute +//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -shaderobj // No support for int64_t on DX11 -//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute +//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj // No support for int64_t on fxc - we need SM6.0 and dxil // https://docs.microsoft.com/en-us/windows/win32/direct3dhlsl/hlsl-shader-model-6-0-features-for-direct3d-12 -//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -nvapi-slot u0 -//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -profile cs_6_0 -use-dxil -render-features atomic-int64 -nvapi-slot u0 -compile-arg -O2 -//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -render-features atomic-int64 +//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -nvapi-slot u0 -shaderobj +//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -profile cs_6_0 -use-dxil -render-features atomic-int64 -nvapi-slot u0 -compile-arg -O2 -shaderobj +//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -render-features atomic-int64 -shaderobj // For some reason this doesn't work correctly on CUDA? That it behaves as if always does Min. Min and Max do appropriate // things tho, because if I force the condition I do get the right answer -//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-cuda -compute +//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-cuda -compute -shaderobj // The test doesn't directly use this, but having this defined makes the 0 slot available if NVAPI is going to be used // Only strictly necessary on the D3D12 path diff --git a/tests/slang-extension/cas-int64-byte-address-buffer.slang b/tests/slang-extension/cas-int64-byte-address-buffer.slang index 451d97e36..2712cbbe3 100644 --- a/tests/slang-extension/cas-int64-byte-address-buffer.slang +++ b/tests/slang-extension/cas-int64-byte-address-buffer.slang @@ -1,13 +1,13 @@ // No atomic support on CPU -//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute +//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -shaderobj // No support for int64_t on DX11 -//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute +//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj // No support for int64_t on fxc - we need SM6.0 and dxil // https://docs.microsoft.com/en-us/windows/win32/direct3dhlsl/hlsl-shader-model-6-0-features-for-direct3d-12 -//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -nvapi-slot u0 -//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -profile cs_6_0 -use-dxil -render-features atomic-int64 -nvapi-slot u0 -compile-arg -O2 -//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -render-features atomic-int64 -//TEST(compute):COMPARE_COMPUTE_EX:-cuda -compute +//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -nvapi-slot u0 -shaderobj +//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -profile cs_6_0 -use-dxil -render-features atomic-int64 -nvapi-slot u0 -compile-arg -O2 -shaderobj +//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -render-features atomic-int64 -shaderobj +//TEST(compute):COMPARE_COMPUTE_EX:-cuda -compute -shaderobj // The test doesn't directly use this, but having this defined makes the 0 slot available if NVAPI is going to be used // Only strictly necessary on the D3D12 path diff --git a/tests/slang-extension/exchange-int64-byte-address-buffer.slang b/tests/slang-extension/exchange-int64-byte-address-buffer.slang index 0145d3838..a15a487d1 100644 --- a/tests/slang-extension/exchange-int64-byte-address-buffer.slang +++ b/tests/slang-extension/exchange-int64-byte-address-buffer.slang @@ -1,13 +1,13 @@ // No atomic support on CPU -//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute +//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -shaderobj // No support for int64_t on DX11 -//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute +//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj // No support for int64_t on fxc - we need SM6.0 and dxil // https://docs.microsoft.com/en-us/windows/win32/direct3dhlsl/hlsl-shader-model-6-0-features-for-direct3d-12 -//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -nvapi-slot u0 -//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -profile cs_6_0 -use-dxil -render-features atomic-int64 -nvapi-slot u0 -compile-arg -O2 -//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -render-features atomic-int64 -//TEST(compute):COMPARE_COMPUTE_EX:-cuda -compute +//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -nvapi-slot u0 -shaderobj +//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -profile cs_6_0 -use-dxil -render-features atomic-int64 -nvapi-slot u0 -compile-arg -O2 -shaderobj +//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -render-features atomic-int64 -shaderobj +//TEST(compute):COMPARE_COMPUTE_EX:-cuda -compute -shaderobj // The test doesn't directly use this, but having this defined makes the 0 slot available if NVAPI is going to be used // Only strictly necessary on the D3D12 path diff --git a/tools/gfx/cuda/render-cuda.cpp b/tools/gfx/cuda/render-cuda.cpp index 69166c6b6..bf316546e 100644 --- a/tools/gfx/cuda/render-cuda.cpp +++ b/tools/gfx/cuda/render-cuda.cpp @@ -549,12 +549,12 @@ public: { if (cudaView->desc.type == IResourceView::Type::UnorderedAccess) { - auto handle = cudaView->textureResource->getBindlessHandle(); + auto handle = cudaView->textureResource->m_cudaSurfObj; setData(offset, &handle, sizeof(uint64_t)); } else { - auto handle = cudaView->textureResource->m_cudaSurfObj; + auto handle = cudaView->textureResource->getBindlessHandle(); setData(offset, &handle, sizeof(uint64_t)); } } @@ -814,6 +814,38 @@ private: CUresourcetype resourceType; size_t elementSize = 0; + // Our `ITextureResource::Desc` uses an enumeration to specify + // the "shape"/rank of a texture (1D, 2D, 3D, Cube), but CUDA's + // `cuMipmappedArrayCreate` seemingly relies on a policy where + // the extents of the array in dimenions above the rank are + // specified as zero (e.g., a 1D texture requires `height==0`). + // + // We will start by massaging the extents as specified by the + // user into a form that CUDA wants/expects, based on the + // texture shape as specified in the `desc`. + // + int width = desc.size.width; + int height = desc.size.height; + int depth = desc.size.depth; + switch (desc.type) + { + case IResource::Type::Texture1D: + height = 0; + depth = 0; + break; + + case IResource::Type::Texture2D: + depth = 0; + break; + + case IResource::Type::Texture3D: + break; + + case IResource::Type::TextureCube: + depth = 1; + break; + } + { CUarray_format format = CU_AD_FORMAT_FLOAT; int numChannels = 0; @@ -848,9 +880,9 @@ private: CUDA_ARRAY3D_DESCRIPTOR arrayDesc; memset(&arrayDesc, 0, sizeof(arrayDesc)); - arrayDesc.Width = desc.size.width; - arrayDesc.Height = desc.size.height; - arrayDesc.Depth = desc.size.depth; + arrayDesc.Width = width; + arrayDesc.Height = height; + arrayDesc.Depth = depth; arrayDesc.Format = format; arrayDesc.NumChannels = numChannels; arrayDesc.Flags = 0; @@ -904,8 +936,8 @@ private: arrayDesc.Depth *= 6; } - arrayDesc.Height = desc.size.height; - arrayDesc.Width = desc.size.width; + arrayDesc.Height = height; + arrayDesc.Width = width; arrayDesc.Format = format; arrayDesc.NumChannels = numChannels; @@ -922,9 +954,9 @@ private: CUDA_ARRAY3D_DESCRIPTOR arrayDesc; memset(&arrayDesc, 0, sizeof(arrayDesc)); - arrayDesc.Depth = desc.size.depth; - arrayDesc.Height = desc.size.height; - arrayDesc.Width = desc.size.width; + arrayDesc.Depth = depth; + arrayDesc.Height = height; + arrayDesc.Width = width; arrayDesc.Format = format; arrayDesc.NumChannels = numChannels; @@ -944,8 +976,8 @@ private: CUDA_ARRAY_DESCRIPTOR arrayDesc; memset(&arrayDesc, 0, sizeof(arrayDesc)); - arrayDesc.Height = desc.size.height; - arrayDesc.Width = desc.size.width; + arrayDesc.Height = height; + arrayDesc.Width = width; arrayDesc.Format = format; arrayDesc.NumChannels = numChannels; @@ -957,9 +989,6 @@ private: // Work space for holding data for uploading if it needs to be rearranged List<uint8_t> workspace; - auto width = desc.size.width; - auto height = desc.size.height; - auto depth = desc.size.depth; for (int mipLevel = 0; mipLevel < desc.numMipLevels; ++mipLevel) { int mipWidth = width >> mipLevel; @@ -1152,8 +1181,22 @@ private: resDesc.res.mipmap.hMipmappedArray = tex->m_cudaMipMappedArray; } - // Create handle for uav. - SLANG_CUDA_RETURN_ON_FAIL(cuSurfObjectCreate(&tex->m_cudaSurfObj, &resDesc)); + // If the texture might be used as a UAV, then we need to allocate + // a CUDA "surface" for it. + // + // Note: We cannot do this unconditionally, because it will fail + // on surfaces that are not usable as UAVs (e.g., those with + // mipmaps). + // + // TODO: We should really only be allocating the array at the + // time we create a resource, and then allocate the surface or + // texture objects as part of view creation. + // + if( desc.bindFlags & IResource::BindFlag::UnorderedAccess ) + { + SLANG_CUDA_RETURN_ON_FAIL(cuSurfObjectCreate(&tex->m_cudaSurfObj, &resDesc)); + } + // Create handle for sampling. CUDA_TEXTURE_DESC texDesc; diff --git a/tools/gfx/render-graphics-common.cpp b/tools/gfx/render-graphics-common.cpp index 811602ffc..92ccc376c 100644 --- a/tools/gfx/render-graphics-common.cpp +++ b/tools/gfx/render-graphics-common.cpp @@ -592,6 +592,10 @@ public: { info.rangeOffset = m_descriptorSetBuildInfos[0]->slotRangeDescs.getCount(); } + else + { + info.rangeOffset = 0; + } auto slangEntryPointLayout = entryPointLayout->getSlangLayout(); _addDescriptorSets( @@ -647,7 +651,20 @@ protected: } IPipelineLayout::Desc pipelineLayoutDesc; - pipelineLayoutDesc.renderTargetCount = m_renderTargetCount; + + // HACK: we set `renderTargetCount` to zero here becasue otherwise the D3D12 + // render back-end will adjust all UAV registers by this value to account + // for the `SV_Target<N>` outputs implicitly consuming `u<N>` registers for + // Shader Model 5.0. + // + // When using the shader object path, all registers are being set via Slang + // reflection information, and we do not need/want the automatic adjustment. + // + // TODO: Once we eliminate the non-shader-object path, this whole issue should + // be moot, because the `ProgramLayout` should own/be the pipeline layout anyway. + // + pipelineLayoutDesc.renderTargetCount = 0; + pipelineLayoutDesc.descriptorSetCount = pipelineDescriptorSets.getCount(); pipelineLayoutDesc.descriptorSets = pipelineDescriptorSets.getBuffer(); diff --git a/tools/render-test/render-test-main.cpp b/tools/render-test/render-test-main.cpp index 4c05422ee..89bb25871 100644 --- a/tools/render-test/render-test-main.cpp +++ b/tools/render-test/render-test-main.cpp @@ -392,8 +392,38 @@ SlangResult _assignVarsFromLayout( case ShaderInputType::Object: { auto typeName = entry.objectDesc.typeName; - auto slangType = slangReflection->findTypeByName(typeName.getBuffer()); - auto slangTypeLayout = slangReflection->getTypeLayout(slangType); + slang::TypeLayoutReflection* slangTypeLayout = nullptr; + if(typeName.getLength() != 0) + { + // If the input line specified the name of the type + // to allocate, then we use it directly. + // + auto slangType = slangReflection->findTypeByName(typeName.getBuffer()); + slangTypeLayout = slangReflection->getTypeLayout(slangType); + } + else + { + // if the user did not specify what type to allocate, + // then we will infer the type from the type of the + // value pointed to by `entryCursor`. + // + slangTypeLayout = entryCursor.getTypeLayout(); + switch(slangTypeLayout->getKind()) + { + default: + break; + + case slang::TypeReflection::Kind::ConstantBuffer: + case slang::TypeReflection::Kind::ParameterBlock: + // If the cursor is pointing at a constant buffer + // or parameter block, then we assume the user + // actually means to allocate an object based on + // the element type of the block. + // + slangTypeLayout = slangTypeLayout->getElementTypeLayout(); + break; + } + } ComPtr<IShaderObjectLayout> shaderObjectLayout = renderer->createShaderObjectLayout(slangTypeLayout); ComPtr<IShaderObject> shaderObject = diff --git a/tools/render-test/shader-renderer-util.cpp b/tools/render-test/shader-renderer-util.cpp index c90d197f4..ad3812ae3 100644 --- a/tools/render-test/shader-renderer-util.cpp +++ b/tools/render-test/shader-renderer-util.cpp @@ -182,6 +182,7 @@ ComPtr<ISamplerState> _createSamplerState(IRenderer* renderer, const int textureBindFlags = IResource::BindFlag::NonPixelShaderResource | IResource::BindFlag::PixelShaderResource; List<IDescriptorSetLayout::SlotRangeDesc> slotRangeDescs; + List<Index> mapEntryToSlotRange; if(addedConstantBuffer) { @@ -196,6 +197,7 @@ ComPtr<ISamplerState> _createSamplerState(IRenderer* renderer, const ShaderInputLayoutEntry& srcEntry = srcEntries[i]; SLANG_ASSERT(srcEntry.onlyCPULikeBinding == false); + mapEntryToSlotRange.add(slotRangeDescs.getCount()); IDescriptorSetLayout::SlotRangeDesc slotRangeDesc; switch (srcEntry.type) @@ -252,6 +254,10 @@ ComPtr<ISamplerState> _createSamplerState(IRenderer* renderer, slotRangeDesc.type = DescriptorSlotType::Sampler; break; + case ShaderInputType::Object: + // We ignore the `Object` case here, knowing that it is meant for the shader-object path. + continue; + default: assert(!"Unhandled type"); return SLANG_FAIL; @@ -290,7 +296,7 @@ ComPtr<ISamplerState> _createSamplerState(IRenderer* renderer, { const ShaderInputLayoutEntry& srcEntry = srcEntries[i]; - auto rangeIndex = i + (addedConstantBuffer ? 1 : 0); + auto rangeIndex = mapEntryToSlotRange[i]; switch (srcEntry.type) { @@ -407,6 +413,9 @@ ComPtr<ISamplerState> _createSamplerState(IRenderer* renderer, } break; + case ShaderInputType::Object: + break; + default: assert(!"Unhandled type"); return SLANG_FAIL; |
