Open skallweitNV opened 2 weeks ago
The following tests in the compute category currently fail to compile with Metal.
compute
All failing tests are disabled using:
//DISABLE_TEST(compute):COMPARE_COMPUTE:-slang -shaderobj -mtl
This should make it easy to find them.
Some of these are failing to compile due to #4288
For reference and marking fixed tests, here is the full list:
tests/autodiff-dstdlib/determinant.slang
tests/autodiff-dstdlib/dstdlib-mul-mat-mat.slang
tests/autodiff-dstdlib/dstdlib-mul-mat-vec.slang
tests/autodiff-dstdlib/dstdlib-mul-vec-mat.slang
tests/autodiff-dstdlib/dstdlib-sqrt.slang
tests/autodiff/custom-intrinsic.slang
tests/autodiff/global-param-hoisting.slang
tests/autodiff/reverse-matrix-ops.slang
tests/bindings/nested-parameter-block-2.slang
tests/bugs/atomic-coerce.slang
tests/bugs/buffer-swizzle-store.slang
tests/bugs/dxbc-double-problem.slang
tests/bugs/frexp-double.slang
tests/bugs/frexp.slang
tests/bugs/generic-default-matrix.slang
tests/bugs/generic-groupshared.slang
tests/bugs/generic-member-method.slang
tests/bugs/generic-type-duplication.slang
tests/bugs/gh-2959.slang
tests/bugs/gh-3980.slang
tests/bugs/interface-type-self-ref.slang
tests/bugs/mutating/buffer-write-dce.slang
tests/bugs/mutating/mutating-call-in-loop-dce.slang
tests/bugs/mutating/mutating-generic-method.slang
tests/bugs/mutating/resource-specialization-inout.slang
tests/bugs/negative-literal.slang
tests/bugs/nested-existential-dyndispatch.slang
tests/bugs/nested-switch.slang
tests/bugs/op-assignment-unify-mat.slang
tests/bugs/operator-overload.slang
tests/bugs/specialize-existential-in-generic.slang
tests/bugs/ssa-loop.slang
tests/bugs/static-method.slang
tests/bugs/type-legalize-bug-1.slang
tests/bugs/vec-compare.slang
tests/compute/array-param.slang
tests/compute/assoctype-nested.slang
tests/compute/atomics-buffer.slang
tests/compute/atomics-groupshared.slang
tests/compute/atomics.slang
tests/compute/buffer-layout.slang
tests/compute/buffer-type-splitting.slang
tests/compute/byte-address-buffer.slang
tests/compute/cast-zero-to-struct.slang
tests/compute/cbuffer-legalize.slang
tests/compute/compile-time-loop.slang
tests/compute/constexpr.slang
tests/compute/discard-stmt.slang
tests/compute/entry-point-uniform-params.slang
tests/compute/enum.slang
tests/compute/frem.slang
tests/compute/interface-param.slang
tests/compute/interface-shader-param-in-struct.slang
tests/compute/interface-shader-param.slang
tests/compute/interface-static-method.slang
tests/compute/logic-short-circuit-evaluation.slang
tests/compute/loop-unroll.slang
tests/compute/matrix-layout-structured-buffer.slang
tests/compute/matrix-layout.hlsl
tests/compute/modern-syntax.slang
tests/compute/mutating-and-inout.slang
tests/compute/mutating-methods.slang
tests/compute/non-square-column-major.slang
tests/compute/non-square-row-major.slang
tests/compute/parameter-block.slang
tests/compute/semantic.slang
tests/compute/simple.slang
tests/compute/static-const-array.slang
tests/compute/static-const-matrix-array.slang
tests/compute/static-const-vector-array.slang
tests/compute/struct-make.slang
tests/compute/structured-buffer-of-matrices.slang
tests/compute/texture-get-dimensions.slang
tests/compute/texture-sampling.slang
tests/compute/texture-simple.slang
tests/compute/texture-simpler.slang
tests/compute/transcendental-double.slang
tests/hlsl-intrinsic/bit-cast-double.slang
tests/hlsl-intrinsic/bit-cast.slang
tests/hlsl-intrinsic/byte-address-buffer/byte-address-struct.slang
tests/hlsl-intrinsic/classify-double.slang
tests/hlsl-intrinsic/f16tof32.slang
tests/hlsl-intrinsic/f32tof16.slang
tests/hlsl-intrinsic/matrix-float.slang
tests/hlsl-intrinsic/matrix-int.slang
tests/hlsl-intrinsic/scalar-double-simple.slang
tests/hlsl-intrinsic/scalar-float.slang
tests/hlsl-intrinsic/size-of/align-of-2.slang
tests/hlsl-intrinsic/size-of/align-of-3.slang
tests/hlsl-intrinsic/size-of/align-of-generic.slang
tests/hlsl-intrinsic/size-of/align-of.slang
tests/hlsl-intrinsic/size-of/size-of-2.slang
tests/hlsl-intrinsic/size-of/size-of-3.slang
tests/hlsl-intrinsic/size-of/size-of-generic.slang
tests/hlsl-intrinsic/size-of/size-of.slang
tests/hlsl-intrinsic/vector-float.slang
tests/hlsl/packoffset.slang
tests/ir/scalar-truncate.slang
tests/language-feature/bit-cast/struct-bit-cast.slang
tests/language-feature/bitfield/sizeof.slang
tests/language-feature/constants/constexpr-loop.slang
tests/language-feature/constants/static-const-in-interface.slang
tests/language-feature/constants/static-const-in-struct.slang
tests/language-feature/constants/type-cast-const.slang
tests/language-feature/constants/type-cast-truncate.slang
tests/language-feature/enums/enum-bit-ops.slang
tests/language-feature/enums/enum-equality.slang
tests/language-feature/enums/enum-generic-arg.slang
tests/language-feature/enums/nested-enum.slang
tests/language-feature/extensions/extension-method-simple.slang
tests/language-feature/extensions/interface-extension.slang
tests/language-feature/generics/arithmetic-ops.slang
tests/language-feature/generics/generic-interface-1.slang
tests/language-feature/generics/generic-interface-2.slang
tests/language-feature/generics/generic-value-constant-folding.slang
tests/language-feature/generics/iarray.slang
tests/language-feature/generics/partial-generic-argument-inference.slang
tests/language-feature/generics/struct-generic-value-param.slang
tests/language-feature/generics/typealias.slang
tests/language-feature/higher-order-functions/simple.slang
tests/language-feature/inheritance/derived-struct-init-list.slang
tests/language-feature/inheritance/struct-inherit-interface-requirement.slang
tests/language-feature/inheritance/struct-inheritance.slang
tests/language-feature/interfaces/interface-conjunction.slang
tests/language-feature/modules/include/main.slang
tests/language-feature/multi-level-break-switch.slang
tests/language-feature/namespaces/multiple-namespace.slang
tests/language-feature/namespaces/namespace-import/test.slang
tests/language-feature/namespaces/namespace-include/a.slang
tests/language-feature/namespaces/namespace-using/b.slang
tests/language-feature/namespaces/simple-namespace.slang
tests/language-feature/namespaces/using-namespace.slang
tests/language-feature/non-copyable-return.slang
tests/language-feature/operators/subscript-multi-dimension.slang
tests/language-feature/parameters/generic-func-param-default-arg.slang
tests/language-feature/pointer/const-ref.slang
tests/language-feature/properties/property-decl.slang
tests/language-feature/shader-params/entry-point-uniform-params.slang
tests/language-feature/shader-params/interface-shader-param-ordinary.slang
tests/language-feature/simple-inline.slang
tests/language-feature/struct-in-func.slang
tests/language-feature/swizzles/matrix-swizzle-write-array.slang
tests/language-feature/swizzles/matrix-swizzle-write-single.slang
tests/language-feature/swizzles/matrix-swizzle-write-swizzle.slang
tests/language-feature/swizzles/matrix-swizzle-write.slang
tests/language-feature/swizzles/matrix-swizzles.slang
tests/language-feature/types/opaque/inout-param-opaque-type-in-struct.slang
tests/language-feature/types/opaque/inout-param-opaque-type.slang
tests/language-feature/types/opaque/out-param-opaque-type-in-struct.slang
tests/language-feature/types/opaque/out-param-opaque-type.slang
tests/language-feature/types/opaque/return-opaque-type-in-struct.slang
tests/language-feature/types/opaque/return-opaque-type.slang
tests/optimization/func-resource-result/func-resource-result-complex.slang
tests/optimization/func-resource-result/func-resource-result-simple.slang
tests/pipeline/compute/compute-system-values.slang
In addition, the following tests generate wrong/unexpected results:
tests/autodiff/swizzled-store.slang.2 syn (mtl)
tests/autodiff/struct-this-parameter.slang.2 syn (mtl)
tests/autodiff/loop-init.slang.3 syn (mtl)
tests/autodiff/material2/diff-bwd-falcor-material-system.slang.2 syn (mtl)
tests/autodiff/material2/diff-falcor-material-system.slang.2 syn (mtl)
tests/autodiff/geometry/ray-triangle-intersect.slang.2 syn (mtl)
tests/autodiff/material/diff-bwd-falcor-material-system.slang.2 syn (mtl)
tests/autodiff/material/diff-falcor-material-system.slang.2 syn (mtl)
tests/bugs/gh-518.slang.2 syn (mtl)
tests/language-feature/operators/subscript-multi-dimension.slang.2 syn (mtl)
tests/language-feature/constants/constexpr-loop.slang.2 syn (mtl)
tests/compute/column-major.slang.5 syn (mtl)
tests/compute/write-structured-buffer-field.slang.1 syn (mtl)
tests/compute/func-param-legalize.slang.1 syn (mtl)
tests/compute/cast-zero-to-struct.slang.2 syn (mtl)
tests/compute/ssa-reduce-bug.slang.2 syn (mtl)
tests/autodiff-dstdlib/dstdlib-dot.slang.2 syn (mtl)
tests/autodiff-dstdlib/dstdlib-clamp.slang.2 syn (mtl)
tests/autodiff-dstdlib/dstdlib-pow.slang.2 syn (mtl)
tests/autodiff-dstdlib/vector-length.slang.2 syn (mtl)
tests/autodiff-dstdlib/dstdlib-max.slang.2 syn (mtl)
Marking for Q2 initially, but completion within the milestone is a stretch goal.
The following tests in the
compute
category currently fail to compile with Metal.All failing tests are disabled using:
This should make it easy to find them.
Some of these are failing to compile due to #4288
For reference and marking fixed tests, here is the full list:
tests/autodiff-dstdlib/determinant.slang
tests/autodiff-dstdlib/dstdlib-mul-mat-mat.slang
tests/autodiff-dstdlib/dstdlib-mul-mat-vec.slang
tests/autodiff-dstdlib/dstdlib-mul-vec-mat.slang
tests/autodiff-dstdlib/dstdlib-sqrt.slang
tests/autodiff/custom-intrinsic.slang
tests/autodiff/global-param-hoisting.slang
tests/autodiff/reverse-matrix-ops.slang
tests/bindings/nested-parameter-block-2.slang
tests/bugs/atomic-coerce.slang
tests/bugs/buffer-swizzle-store.slang
tests/bugs/dxbc-double-problem.slang
tests/bugs/frexp-double.slang
tests/bugs/frexp.slang
tests/bugs/generic-default-matrix.slang
tests/bugs/generic-groupshared.slang
tests/bugs/generic-member-method.slang
tests/bugs/generic-type-duplication.slang
tests/bugs/gh-2959.slang
tests/bugs/gh-3980.slang
tests/bugs/interface-type-self-ref.slang
tests/bugs/mutating/buffer-write-dce.slang
tests/bugs/mutating/mutating-call-in-loop-dce.slang
tests/bugs/mutating/mutating-generic-method.slang
tests/bugs/mutating/resource-specialization-inout.slang
tests/bugs/negative-literal.slang
tests/bugs/nested-existential-dyndispatch.slang
tests/bugs/nested-switch.slang
tests/bugs/op-assignment-unify-mat.slang
tests/bugs/operator-overload.slang
tests/bugs/specialize-existential-in-generic.slang
tests/bugs/ssa-loop.slang
tests/bugs/static-method.slang
tests/bugs/type-legalize-bug-1.slang
tests/bugs/vec-compare.slang
tests/compute/array-param.slang
tests/compute/assoctype-nested.slang
tests/compute/atomics-buffer.slang
tests/compute/atomics-groupshared.slang
tests/compute/atomics.slang
tests/compute/buffer-layout.slang
tests/compute/buffer-type-splitting.slang
tests/compute/byte-address-buffer.slang
tests/compute/cast-zero-to-struct.slang
tests/compute/cbuffer-legalize.slang
tests/compute/compile-time-loop.slang
tests/compute/constexpr.slang
tests/compute/discard-stmt.slang
tests/compute/entry-point-uniform-params.slang
tests/compute/enum.slang
tests/compute/frem.slang
tests/compute/interface-param.slang
tests/compute/interface-shader-param-in-struct.slang
tests/compute/interface-shader-param.slang
tests/compute/interface-static-method.slang
tests/compute/logic-short-circuit-evaluation.slang
tests/compute/loop-unroll.slang
tests/compute/matrix-layout-structured-buffer.slang
tests/compute/matrix-layout.hlsl
tests/compute/modern-syntax.slang
tests/compute/mutating-and-inout.slang
tests/compute/mutating-methods.slang
tests/compute/non-square-column-major.slang
tests/compute/non-square-row-major.slang
tests/compute/parameter-block.slang
tests/compute/semantic.slang
tests/compute/simple.slang
tests/compute/static-const-array.slang
tests/compute/static-const-matrix-array.slang
tests/compute/static-const-vector-array.slang
tests/compute/struct-make.slang
tests/compute/structured-buffer-of-matrices.slang
tests/compute/texture-get-dimensions.slang
tests/compute/texture-sampling.slang
tests/compute/texture-simple.slang
tests/compute/texture-simpler.slang
tests/compute/transcendental-double.slang
tests/hlsl-intrinsic/bit-cast-double.slang
tests/hlsl-intrinsic/bit-cast.slang
tests/hlsl-intrinsic/byte-address-buffer/byte-address-struct.slang
tests/hlsl-intrinsic/classify-double.slang
tests/hlsl-intrinsic/f16tof32.slang
tests/hlsl-intrinsic/f32tof16.slang
tests/hlsl-intrinsic/matrix-float.slang
tests/hlsl-intrinsic/matrix-int.slang
tests/hlsl-intrinsic/scalar-double-simple.slang
tests/hlsl-intrinsic/scalar-float.slang
tests/hlsl-intrinsic/size-of/align-of-2.slang
tests/hlsl-intrinsic/size-of/align-of-3.slang
tests/hlsl-intrinsic/size-of/align-of-generic.slang
tests/hlsl-intrinsic/size-of/align-of.slang
tests/hlsl-intrinsic/size-of/size-of-2.slang
tests/hlsl-intrinsic/size-of/size-of-3.slang
tests/hlsl-intrinsic/size-of/size-of-generic.slang
tests/hlsl-intrinsic/size-of/size-of.slang
tests/hlsl-intrinsic/vector-float.slang
tests/hlsl/packoffset.slang
tests/ir/scalar-truncate.slang
tests/language-feature/bit-cast/struct-bit-cast.slang
tests/language-feature/bitfield/sizeof.slang
tests/language-feature/constants/constexpr-loop.slang
tests/language-feature/constants/static-const-in-interface.slang
tests/language-feature/constants/static-const-in-struct.slang
tests/language-feature/constants/type-cast-const.slang
tests/language-feature/constants/type-cast-truncate.slang
tests/language-feature/enums/enum-bit-ops.slang
tests/language-feature/enums/enum-equality.slang
tests/language-feature/enums/enum-generic-arg.slang
tests/language-feature/enums/nested-enum.slang
tests/language-feature/extensions/extension-method-simple.slang
tests/language-feature/extensions/interface-extension.slang
tests/language-feature/generics/arithmetic-ops.slang
tests/language-feature/generics/generic-interface-1.slang
tests/language-feature/generics/generic-interface-2.slang
tests/language-feature/generics/generic-value-constant-folding.slang
tests/language-feature/generics/iarray.slang
tests/language-feature/generics/partial-generic-argument-inference.slang
tests/language-feature/generics/struct-generic-value-param.slang
tests/language-feature/generics/typealias.slang
tests/language-feature/higher-order-functions/simple.slang
tests/language-feature/inheritance/derived-struct-init-list.slang
tests/language-feature/inheritance/struct-inherit-interface-requirement.slang
tests/language-feature/inheritance/struct-inheritance.slang
tests/language-feature/interfaces/interface-conjunction.slang
tests/language-feature/modules/include/main.slang
tests/language-feature/multi-level-break-switch.slang
tests/language-feature/namespaces/multiple-namespace.slang
tests/language-feature/namespaces/namespace-import/test.slang
tests/language-feature/namespaces/namespace-include/a.slang
tests/language-feature/namespaces/namespace-using/b.slang
tests/language-feature/namespaces/simple-namespace.slang
tests/language-feature/namespaces/using-namespace.slang
tests/language-feature/non-copyable-return.slang
tests/language-feature/operators/subscript-multi-dimension.slang
tests/language-feature/parameters/generic-func-param-default-arg.slang
tests/language-feature/pointer/const-ref.slang
tests/language-feature/properties/property-decl.slang
tests/language-feature/shader-params/entry-point-uniform-params.slang
tests/language-feature/shader-params/interface-shader-param-ordinary.slang
tests/language-feature/simple-inline.slang
tests/language-feature/struct-in-func.slang
tests/language-feature/swizzles/matrix-swizzle-write-array.slang
tests/language-feature/swizzles/matrix-swizzle-write-single.slang
tests/language-feature/swizzles/matrix-swizzle-write-swizzle.slang
tests/language-feature/swizzles/matrix-swizzle-write.slang
tests/language-feature/swizzles/matrix-swizzles.slang
tests/language-feature/types/opaque/inout-param-opaque-type-in-struct.slang
tests/language-feature/types/opaque/inout-param-opaque-type.slang
tests/language-feature/types/opaque/out-param-opaque-type-in-struct.slang
tests/language-feature/types/opaque/out-param-opaque-type.slang
tests/language-feature/types/opaque/return-opaque-type-in-struct.slang
tests/language-feature/types/opaque/return-opaque-type.slang
tests/optimization/func-resource-result/func-resource-result-complex.slang
tests/optimization/func-resource-result/func-resource-result-simple.slang
tests/pipeline/compute/compute-system-values.slang
In addition, the following tests generate wrong/unexpected results:
tests/autodiff/swizzled-store.slang.2 syn (mtl)
tests/autodiff/struct-this-parameter.slang.2 syn (mtl)
tests/autodiff/loop-init.slang.3 syn (mtl)
tests/autodiff/material2/diff-bwd-falcor-material-system.slang.2 syn (mtl)
tests/autodiff/material2/diff-falcor-material-system.slang.2 syn (mtl)
tests/autodiff/geometry/ray-triangle-intersect.slang.2 syn (mtl)
tests/autodiff/material/diff-bwd-falcor-material-system.slang.2 syn (mtl)
tests/autodiff/material/diff-falcor-material-system.slang.2 syn (mtl)
tests/bugs/gh-518.slang.2 syn (mtl)
tests/language-feature/operators/subscript-multi-dimension.slang.2 syn (mtl)
tests/language-feature/constants/constexpr-loop.slang.2 syn (mtl)
tests/compute/column-major.slang.5 syn (mtl)
tests/compute/write-structured-buffer-field.slang.1 syn (mtl)
tests/compute/func-param-legalize.slang.1 syn (mtl)
tests/compute/cast-zero-to-struct.slang.2 syn (mtl)
tests/compute/ssa-reduce-bug.slang.2 syn (mtl)
tests/autodiff-dstdlib/dstdlib-dot.slang.2 syn (mtl)
tests/autodiff-dstdlib/dstdlib-clamp.slang.2 syn (mtl)
tests/autodiff-dstdlib/dstdlib-pow.slang.2 syn (mtl)
tests/autodiff-dstdlib/vector-length.slang.2 syn (mtl)
tests/autodiff-dstdlib/dstdlib-max.slang.2 syn (mtl)