aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgnl21 <gleese@broadcom.com>2022-03-21 17:59:06 +0000
committerGitHub <noreply@github.com>2022-03-21 17:59:06 +0000
commite754c9081da75b6451e6022ecc13ce3ee5bf0f6e (patch)
tree373f6094acf016ee33ab7f7841be36a7de2d2322
parent4b1c3c1a41c2a26f2a6882cb2b5f3484a6713443 (diff)
downloadamber-e754c9081da75b6451e6022ecc13ce3ee5bf0f6e.tar.gz
Check error return when pushing descriptors (#980)
Pipeline::SendDescriptorDataToDeviceIfNeeded was not checking the error return when initializing transfer buffers, which can lead to later code attempting to use invalid buffers and crashing.
-rw-r--r--src/vulkan/pipeline.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/vulkan/pipeline.cc b/src/vulkan/pipeline.cc
index df301e4..8cd4995 100644
--- a/src/vulkan/pipeline.cc
+++ b/src/vulkan/pipeline.cc
@@ -430,7 +430,9 @@ Result Pipeline::SendDescriptorDataToDeviceIfNeeded() {
"Vulkan: Pipeline::SendDescriptorDataToDeviceIfNeeded() "
"descriptor's transfer resource is not found");
}
- descriptor_transfer_resources_[buffer]->Initialize();
+ Result r = descriptor_transfer_resources_[buffer]->Initialize();
+ if (!r.IsSuccess())
+ return r;
}
// Note that if a buffer for a descriptor is host accessible and