From d4ae6e51952a3e8e62bbc909912db014ae33fd66 Mon Sep 17 00:00:00 2001 From: Tobin Ehlis Date: Mon, 24 Jul 2017 11:35:57 -0600 Subject: layers:Verify image barrier queueFamilyIndices This is VALIDATION_ERROR_1b80093c. For image barrier in renderPass both src & dst queueFamilyIndex members must be VK_QUEUE_FAMILY_IGNORED. --- layers/core_validation.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'layers/core_validation.cpp') diff --git a/layers/core_validation.cpp b/layers/core_validation.cpp index 1fd79b84..5ac804ae 100644 --- a/layers/core_validation.cpp +++ b/layers/core_validation.cpp @@ -6181,6 +6181,15 @@ static bool ValidateRenderPassImageBarriers(layer_data *device_data, const char funcName, i, img_dst_access_mask, sub_dst_access_mask, active_subpass, rp_handle, validation_error_map[VALIDATION_ERROR_1b800930]); } + if (VK_QUEUE_FAMILY_IGNORED != img_barrier.srcQueueFamilyIndex || + VK_QUEUE_FAMILY_IGNORED != img_barrier.dstQueueFamilyIndex) { + skip |= log_msg(device_data->report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT, + rp_handle, __LINE__, VALIDATION_ERROR_1b80093c, "CORE", + "%s: Barrier pImageMemoryBarriers[%d].srcQueueFamilyIndex is %d and " + "pImageMemoryBarriers[%d].dstQueueFamilyIndex is %d but both must be VK_QUEUE_FAMILY_IGNORED. %s", + funcName, i, img_barrier.srcQueueFamilyIndex, i, img_barrier.dstQueueFamilyIndex, + validation_error_map[VALIDATION_ERROR_1b80093c]); + } // TODO : Secondary CBs could have null framebuffer so just skipping that case for now. Need to correctly // handle that case at ExecuteCBs time const auto &fb_state = GetFramebufferState(device_data, cb_state->activeFramebuffer); -- cgit v1.2.3