summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArielG-NV <159081215+ArielG-NV@users.noreply.github.com>2024-06-27 12:26:02 -0400
committerGitHub <noreply@github.com>2024-06-27 12:26:02 -0400
commit5dd8f29443508bd8663a92c62d33e69cc47b61af (patch)
treef18745942f68b41474fb676c022f358d46929997
parentcb610113605f62e784b63012b31b751acb6fac72 (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
-rw-r--r--source/slang/slang-ir-specialize-address-space.cpp1
-rw-r--r--tests/language-feature/types/opaque/inout-param-opaque-type-in-struct.slang1
-rw-r--r--tests/language-feature/types/opaque/inout-param-opaque-type.slang2
-rw-r--r--tests/language-feature/types/opaque/out-param-opaque-type-in-struct.slang1
-rw-r--r--tests/language-feature/types/opaque/out-param-opaque-type.slang2
-rw-r--r--tests/language-feature/types/opaque/return-opaque-type-in-struct.slang1
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