layers: Fix decompression layer crash
This happened when subgroupsize is 16
Also fix the test to use BDA usage
Worth checking if this passes on Pixel 7 as well.
This fix was suggested by ARM which has similar shader params.
CI Vulkan-ExtensionLayer build queued with queue ID 83166.
@jeremyg-lunarg to help try on GPUs that this is disabled on.
CI Vulkan-ExtensionLayer build # 797 running.
CI Vulkan-ExtensionLayer build # 797 passed.
I have enabled logging just for the experiments, we must disable logging before merging this in.
This passes on Pixel 7:
[----------] 2 tests from DecompressionTest
[ RUN ] DecompressionTest.DecompressMemory
[ OK ] DecompressionTest.DecompressMemory (710 ms)
[ RUN ] DecompressionTest.DecompressMemoryIndirect
[ OK ] DecompressionTest.DecompressMemoryIndirect (617 ms)
[----------] 2 tests from DecompressionTest (1328 ms total)
Galaxy S23 is still crashing: ----------] 2 tests from DecompressionTest [ RUN ] DecompressionTest.DecompressMemory
/home/lunarg/.jenkins/wvel/Debug64/Vulkan-ExtensionLayer/tests/vktestbinding.cpp:281: Failure
Expected equality of these values:
(result = vk::CreateDevice(phy_.handle(), &info, __null, &dev))
Which is: -13
VK_SUCCESS
Which is: 0
/home/lunarg/.jenkins/wvel/Debug64/Vulkan-ExtensionLayer/tests/vkrenderframework.cpp:941: Failure
Expected: (true) != (graphics_queues().empty()), actual: true vs true
FWIW this fixes testing on MoltenVK as well FYI @richard-lunarg
diff --git a/tests/decompression_tests.cpp b/tests/decompression_tests.cpp
index 739c246..26e574f 100644
--- a/tests/decompression_tests.cpp
+++ b/tests/decompression_tests.cpp
@@ -47,10 +47,6 @@ TEST_F(DecompressionTest, DecompressMemory) {
TEST_DESCRIPTION("Test vkCmdDecompressMemoryNV.");
VkResult result = VK_SUCCESS;
- if (InstanceExtensionSupported(VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME)) {
- GTEST_SKIP() << "VK_KHR_portability_subset enabled, skipping.\n";
- }
-
if (!CheckDecompressionSupportAndInitState()) {
GTEST_SKIP() << kSkipPrefix << " decompression not supported, skipping test";
}
@@ -128,10 +124,6 @@ TEST_F(DecompressionTest, DecompressMemory) {
TEST_F(DecompressionTest, DecompressMemoryIndirect) {
TEST_DESCRIPTION("Test vkCmdDecompressMemoryIndirectCountNV.");
- if (InstanceExtensionSupported(VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME)) {
- GTEST_SKIP() << "VK_KHR_portability_subset enabled, skipping.\n";
- }
-
if (!CheckDecompressionSupportAndInitState()) {
GTEST_SKIP() << kSkipPrefix << " decompression not supported, skipping test";
}
Also for what it's worth @vkushwaha-nv the binaries are built as Debug on Android CI now. Which improves the logging when trying to figure out Android issues.
CI Vulkan-ExtensionLayer build queued with queue ID 87238.
Thanks all. I have disabled logging in the second commit. The failure on Galaxy S23 at device creation time is ERROR_UKNOWN, not very helpful unfortunately. We probably need someone from Samsung to help on why device creation fails, this is about enabling features/extensions I think and not actual decompression.
Hi Juan, can you enable this MoltenVK too?
CI Vulkan-ExtensionLayer build # 808 running.
CI Vulkan-ExtensionLayer build # 808 passed.
Hi Juan, can you enable this MoltenVK too?
👍🏾
CI Vulkan-ExtensionLayer build queued with queue ID 244036.
CI Vulkan-ExtensionLayer build # 948 running.
CI Vulkan-ExtensionLayer build # 948 passed.