Remove asserts blocking atomic load/store in Image storage class
Test: dEQP-VK.memory_model.*
Bug: b/127472316
Change-Id: I96447aba539e2ae9b4d42637fbe4a829f35093f5
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/31513
Tested-by: Chris Forbes <chrisforbes@google.com>
Presubmit-Ready: Chris Forbes <chrisforbes@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
diff --git a/src/Pipeline/SpirvShader.cpp b/src/Pipeline/SpirvShader.cpp
index 9f003f7..db17770 100644
--- a/src/Pipeline/SpirvShader.cpp
+++ b/src/Pipeline/SpirvShader.cpp
@@ -2675,11 +2675,6 @@
memoryOrder = MemoryOrder(memorySemantics);
}
- if (pointerTy.storageClass == spv::StorageClassImage)
- {
- UNIMPLEMENTED("StorageClassImage load not yet implemented");
- }
-
auto ptr = GetPointerToData(pointerId, 0, routine);
bool interleavedByLane = IsStorageInterleavedByLane(pointerTy.storageClass);
@@ -2717,11 +2712,6 @@
ASSERT(!atomic || elementTy.opcode() == spv::OpTypeInt); // Vulkan 1.1: "Atomic instructions must declare a scalar 32-bit integer type, for the value pointed to by Pointer."
- if (pointerTy.storageClass == spv::StorageClassImage)
- {
- UNIMPLEMENTED("StorageClassImage store not yet implemented");
- }
-
auto ptr = GetPointerToData(pointerId, 0, routine);
bool interleavedByLane = IsStorageInterleavedByLane(pointerTy.storageClass);