Closed ArielG-NV closed 1 day ago
breaks the following tests (related to #4291)
tests/language-feature/types/opaque/inout-param-opaque-type-in-struct.slang.1 (mtl)
tests/language-feature/types/opaque/out-param-opaque-type-in-struct.slang.1 (mtl)
tests/language-feature/types/opaque/inout-param-opaque-type.slang.1 (mtl)
tests/language-feature/types/opaque/return-opaque-type-in-struct.slang.1 (mtl)
tests/language-feature/types/opaque/out-param-opaque-type.slang.1 (mtl)
Returning/out/inout an opaque type crashes/infinitely-loops.
examples:
[infinitely-loops]
struct Things { int first; RWStructuredBuffer<int> rest; } void swap( inout Things a, inout Things b) { Things t = a; a = b; b = t; }
[crashes]
struct Things { int first; RWStructuredBuffer<int> rest; } void swap( out Things a, out Things b) { Things t = a; a = b; b = t; }
[functions correctly]
struct Things { int first; RWStructuredBuffer<int> rest; } void swap( in Things a, in Things b) { Things t = a; a = b; b = t; }
breaks the following tests (related to #4291)
tests/language-feature/types/opaque/inout-param-opaque-type-in-struct.slang.1 (mtl)
tests/language-feature/types/opaque/out-param-opaque-type-in-struct.slang.1 (mtl)
tests/language-feature/types/opaque/inout-param-opaque-type.slang.1 (mtl)
tests/language-feature/types/opaque/return-opaque-type-in-struct.slang.1 (mtl)
tests/language-feature/types/opaque/out-param-opaque-type.slang.1 (mtl)
Returning/out/inout an opaque type crashes/infinitely-loops.
examples:
[infinitely-loops]
[crashes]
[functions correctly]