diff options
| author | Chris Forbes <chrisforbes@google.com> | 2017-05-18 16:04:50 -0700 |
|---|---|---|
| committer | Chris Forbes <chrisf@ijw.co.nz> | 2017-05-18 19:08:01 -0700 |
| commit | 25dc3aef90619e33f53e0393511f9ffeea667ee8 (patch) | |
| tree | c044c69f8c14801ad62dd4b589693e728cb1d7be /layers/core_validation.cpp | |
| parent | 0361004649224337563498fc67d9be3c013e1cd4 (diff) | |
| download | usermoji-25dc3aef90619e33f53e0393511f9ffeea667ee8.tar.xz | |
layers: Fix CmdExecuteCommands simultaneous case
Diffstat (limited to 'layers/core_validation.cpp')
| -rw-r--r-- | layers/core_validation.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/layers/core_validation.cpp b/layers/core_validation.cpp index 9592df7e..c36c9e33 100644 --- a/layers/core_validation.cpp +++ b/layers/core_validation.cpp @@ -9542,7 +9542,7 @@ VKAPI_ATTR void VKAPI_CALL CmdExecuteCommands(VkCommandBuffer commandBuffer, uin skip |= validateSecondaryCommandBufferState(dev_data, pCB, pSubCB); skip |= validateCommandBufferState(dev_data, pSubCB, "vkCmdExecuteCommands()", 0, VALIDATION_ERROR_00155); if (!(pSubCB->beginInfo.flags & VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT)) { - if (pSubCB->in_use.load()) { + if (pSubCB->in_use.load() || pCB->linkedCommandBuffers.count(pSubCB)) { skip |= log_msg(dev_data->report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, HandleToUint64(pCB->commandBuffer), __LINE__, VALIDATION_ERROR_00154, "DS", @@ -9573,6 +9573,7 @@ VKAPI_ATTR void VKAPI_CALL CmdExecuteCommands(VkCommandBuffer commandBuffer, uin "supported on this device. %s", pCommandBuffers[i], validation_error_map[VALIDATION_ERROR_02062]); } + // TODO: separate validate from update! This is very tangled. // Propagate layout transitions to the primary cmd buffer for (auto ilm_entry : pSubCB->imageLayoutMap) { SetLayout(dev_data, pCB, ilm_entry.first, ilm_entry.second); |
