diff options
| author | Tobin Ehlis <tobine@google.com> | 2017-07-24 11:35:57 -0600 |
|---|---|---|
| committer | Tobin Ehlis <tobine@google.com> | 2017-07-27 16:53:34 -0600 |
| commit | d4ae6e51952a3e8e62bbc909912db014ae33fd66 (patch) | |
| tree | a08664b6c2675e325391787d40791356f8b6f4b1 /layers/core_validation.cpp | |
| parent | b6b181a67088cf5e7fcffde0690883812de3dfdb (diff) | |
| download | usermoji-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.cpp | 9 |
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); |
