diff options
| author | ArielG-NV <159081215+ArielG-NV@users.noreply.github.com> | 2024-06-27 12:26:02 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-06-27 12:26:02 -0400 |
| commit | 5dd8f29443508bd8663a92c62d33e69cc47b61af (patch) | |
| tree | f18745942f68b41474fb676c022f358d46929997 | |
| parent | cb610113605f62e784b63012b31b751acb6fac72 (diff) | |
Cache address-space-legalization of `kIROp_Store` (#4480)
* Cache address-space-legalization of `kIROp_Store`
without caching we will infinetly loop re-processing the same `kIROp_Store`
* uncomment tests which should now work with metal
* disable gfx backend failing tests
6 files changed, 6 insertions, 2 deletions
diff --git a/source/slang/slang-ir-specialize-address-space.cpp b/source/slang/slang-ir-specialize-address-space.cpp index b16449f2e..55d61d527 100644 --- a/source/slang/slang-ir-specialize-address-space.cpp +++ b/source/slang/slang-ir-specialize-address-space.cpp @@ -220,6 +220,7 @@ namespace Slang if (addrSpace != AddressSpace::Generic) { mapVarValueToAddrSpace[inst->getOperand(0)] = addrSpace; + mapInstToAddrSpace[inst] = addrSpace; changed = true; } } diff --git a/tests/language-feature/types/opaque/inout-param-opaque-type-in-struct.slang b/tests/language-feature/types/opaque/inout-param-opaque-type-in-struct.slang index 64e4d968a..3fc28812f 100644 --- a/tests/language-feature/types/opaque/inout-param-opaque-type-in-struct.slang +++ b/tests/language-feature/types/opaque/inout-param-opaque-type-in-struct.slang @@ -4,6 +4,7 @@ // aggregate type that includes an opaque type //TEST(compute):COMPARE_COMPUTE: +// GFX backend fails //DISABLE_TEST(compute):COMPARE_COMPUTE:-slang -shaderobj -mtl struct Things diff --git a/tests/language-feature/types/opaque/inout-param-opaque-type.slang b/tests/language-feature/types/opaque/inout-param-opaque-type.slang index eed42ca69..5da1e57e8 100644 --- a/tests/language-feature/types/opaque/inout-param-opaque-type.slang +++ b/tests/language-feature/types/opaque/inout-param-opaque-type.slang @@ -3,7 +3,7 @@ // Test that a function/method can have an `out` parameter of opaque type //TEST(compute):COMPARE_COMPUTE: -//DISABLE_TEST(compute):COMPARE_COMPUTE:-slang -shaderobj -mtl +//TEST(compute):COMPARE_COMPUTE:-slang -shaderobj -mtl //TEST_INPUT:set gX = ubuffer(data=[16 17 18 19], stride=4) RWStructuredBuffer<int> gX; diff --git a/tests/language-feature/types/opaque/out-param-opaque-type-in-struct.slang b/tests/language-feature/types/opaque/out-param-opaque-type-in-struct.slang index a7c10c626..c778e56fa 100644 --- a/tests/language-feature/types/opaque/out-param-opaque-type-in-struct.slang +++ b/tests/language-feature/types/opaque/out-param-opaque-type-in-struct.slang @@ -4,6 +4,7 @@ // aggregate type that includes an opaque type //TEST(compute):COMPARE_COMPUTE: +// GFX backend fails //DISABLE_TEST(compute):COMPARE_COMPUTE:-slang -shaderobj -mtl struct Things diff --git a/tests/language-feature/types/opaque/out-param-opaque-type.slang b/tests/language-feature/types/opaque/out-param-opaque-type.slang index c986400bb..572481eb2 100644 --- a/tests/language-feature/types/opaque/out-param-opaque-type.slang +++ b/tests/language-feature/types/opaque/out-param-opaque-type.slang @@ -3,7 +3,7 @@ // Test that a function/method can have an `out` parameter of opaque type //TEST(compute):COMPARE_COMPUTE: -//DISABLE_TEST(compute):COMPARE_COMPUTE:-slang -shaderobj -mtl +//TEST(compute):COMPARE_COMPUTE:-slang -shaderobj -mtl //TEST_INPUT:set gThings = ubuffer(data=[16 17 18 19], stride=4) RWStructuredBuffer<int> gThings; diff --git a/tests/language-feature/types/opaque/return-opaque-type-in-struct.slang b/tests/language-feature/types/opaque/return-opaque-type-in-struct.slang index a1a715009..a53551d4a 100644 --- a/tests/language-feature/types/opaque/return-opaque-type-in-struct.slang +++ b/tests/language-feature/types/opaque/return-opaque-type-in-struct.slang @@ -4,6 +4,7 @@ // aggregate type that includes an opaque type //TEST(compute):COMPARE_COMPUTE: +// GFX backend fails //DISABLE_TEST(compute):COMPARE_COMPUTE:-slang -shaderobj -mtl struct Things |
