Remove VkShaderModule check
If vkCreateShaderModule() is successful then there should a non-null
handle afterwards. Convert if statement to DAWN_CHECK.
Bug: 411152029
Change-Id: Iaab3849746654d87c7a5c8af0d914d0046964ce1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/239655
Reviewed-by: Loko Kung <lokokung@google.com>
Commit-Queue: Kyle Charbonneau <kylechar@google.com>
diff --git a/src/dawn/native/vulkan/ShaderModuleVk.cpp b/src/dawn/native/vulkan/ShaderModuleVk.cpp
index e2414c8..5e6634e 100644
--- a/src/dawn/native/vulkan/ShaderModuleVk.cpp
+++ b/src/dawn/native/vulkan/ShaderModuleVk.cpp
@@ -424,21 +424,14 @@
device->fn.CreateShaderModule(device->GetVkDevice(), &createInfo, nullptr, &*newHandle),
"CreateShaderModule"));
}
+ DAWN_CHECK(newHandle != VK_NULL_HANDLE);
- ModuleAndSpirv moduleAndSpirv;
- if (newHandle != VK_NULL_HANDLE) {
- device->GetBlobCache()->EnsureStored(compilation);
+ device->GetBlobCache()->EnsureStored(compilation);
+ SetDebugName(ToBackend(GetDevice()), newHandle, "Dawn_ShaderModule", GetLabel());
- // Set the label on `newHandle` now, and not on `moduleAndSpirv.module` later
- // since `moduleAndSpirv.module` may be in use by multiple threads.
- SetDebugName(ToBackend(GetDevice()), newHandle, "Dawn_ShaderModule", GetLabel());
-
- moduleAndSpirv.module = newHandle;
- moduleAndSpirv.spirv = std::move(compilation->spirv);
- moduleAndSpirv.hasInputAttachment = hasInputAttachment;
- }
-
- return std::move(moduleAndSpirv);
+ return ModuleAndSpirv{.module = newHandle,
+ .spirv = std::move(compilation->spirv),
+ .hasInputAttachment = hasInputAttachment};
#else
return DAWN_INTERNAL_ERROR("TINT_BUILD_SPV_WRITER is not defined.");
#endif