@@ -307,15 +307,15 @@ bool CoreChecks::ValidateSetMemBinding(const vvl::DeviceMemory &memory_state, co
307307 }
308308
309309 const auto *prev_binding = mem_binding.MemState ();
310- if (prev_binding || mem_binding.partial_bound ) {
310+ if (prev_binding || mem_binding.indeterminate_state ) {
311311 const char *vuid = kVUIDUndefined ;
312312 if (is_buffer) {
313313 vuid = bind_2 ? " VUID-VkBindBufferMemoryInfo-buffer-07459" : " VUID-vkBindBufferMemory-buffer-07459" ;
314314 } else {
315315 vuid = bind_2 ? " VUID-VkBindImageMemoryInfo-image-07460" : " VUID-vkBindImageMemory-image-07460" ;
316316 }
317317
318- if (mem_binding.partial_bound ) {
318+ if (mem_binding.indeterminate_state ) {
319319 Func bind_call = is_buffer ? Func::vkBindBufferMemory2 : Func::vkBindImageMemory2;
320320 const char *handle_type = is_buffer ? " buffer" : " image" ;
321321 const LogObjectList objlist (memory_state.Handle (), typed_handle);
@@ -2070,10 +2070,11 @@ bool CoreChecks::PreCallValidateBindImageMemory2(VkDevice device, uint32_t bindI
20702070void CoreChecks::PostCallRecordBindImageMemory2 (VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo *pBindInfos,
20712071 const RecordObject &record_obj) {
20722072 if (VK_SUCCESS != record_obj.result ) {
2073+ // if bindInfoCount is 1, we know for sure if that single image was bound or not
20732074 if (bindInfoCount > 1 ) {
20742075 for (uint32_t i = 0 ; i < bindInfoCount; i++) {
20752076 if (auto image_state = Get<vvl::Image>(pBindInfos[i].image )) {
2076- image_state->partial_bound = true ;
2077+ image_state->indeterminate_state = true ;
20772078 }
20782079 }
20792080 }
0 commit comments