aboutsummaryrefslogtreecommitdiff
path: root/layers/core_validation.cpp
diff options
context:
space:
mode:
authorTobin Ehlis <tobine@google.com>2017-07-24 11:35:57 -0600
committerTobin Ehlis <tobine@google.com>2017-07-27 16:53:34 -0600
commitd4ae6e51952a3e8e62bbc909912db014ae33fd66 (patch)
treea08664b6c2675e325391787d40791356f8b6f4b1 /layers/core_validation.cpp
parentb6b181a67088cf5e7fcffde0690883812de3dfdb (diff)
downloadusermoji-d4ae6e51952a3e8e62bbc909912db014ae33fd66.tar.xz
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.
Diffstat (limited to 'layers/core_validation.cpp')
-rw-r--r--layers/core_validation.cpp9
1 files changed, 9 insertions, 0 deletions
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);