diff options
| author | Mark Lobodzinski <mark@lunarg.com> | 2017-02-27 12:56:14 -0700 |
|---|---|---|
| committer | Mark Lobodzinski <mark@lunarg.com> | 2017-02-28 09:43:23 -0700 |
| commit | 19e645e05c18db1a107bc6fc96470c790c5c3c95 (patch) | |
| tree | 62f4ab6955a36958bd388c4b99a8c6ab6459a33a /layers/core_validation.cpp | |
| parent | 6b5b6c4e5fe54773e77a7bbff8b3ca83f80c4659 (diff) | |
| download | usermoji-19e645e05c18db1a107bc6fc96470c790c5c3c95.tar.xz | |
layers: Split layout transition validation/recording
Split TransitionImageLayouts and TransitionImageAspectLayouts into
ValidateXxx and TransitionXxx routines.
Change-Id: I19666e5ccc444cfc23304fd35aa1b9b18b039499
Diffstat (limited to 'layers/core_validation.cpp')
| -rw-r--r-- | layers/core_validation.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/layers/core_validation.cpp b/layers/core_validation.cpp index 4af115eb..99656781 100644 --- a/layers/core_validation.cpp +++ b/layers/core_validation.cpp @@ -8287,7 +8287,11 @@ VKAPI_ATTR void VKAPI_CALL CmdWaitEvents(VkCommandBuffer commandBuffer, uint32_t cb_state->eventUpdates.push_back(event_update); skip |= ValidateCmd(dev_data, cb_state, CMD_WAITEVENTS, "vkCmdWaitEvents()"); UpdateCmdBufferLastCmd(cb_state, CMD_WAITEVENTS); - skip |= TransitionImageLayouts(dev_data, commandBuffer, imageMemoryBarrierCount, pImageMemoryBarriers); + skip |= ValidateImageLayouts(dev_data, commandBuffer, imageMemoryBarrierCount, pImageMemoryBarriers); + if (!skip) { + TransitionImageLayouts(dev_data, commandBuffer, imageMemoryBarrierCount, pImageMemoryBarriers); + } + skip |= ValidateBarriers("vkCmdWaitEvents()", commandBuffer, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers); } @@ -8312,7 +8316,10 @@ static bool PreCallValidateCmdPipelineBarrier(layer_data *device_data, GLOBAL_CB skip |= ValidateStageMaskGsTsEnables(device_data, dstStageMask, "vkCmdPipelineBarrier()", VALIDATION_ERROR_00266, VALIDATION_ERROR_00268); UpdateCmdBufferLastCmd(cb_state, CMD_PIPELINEBARRIER); - skip |= TransitionImageLayouts(device_data, commandBuffer, imageMemoryBarrierCount, pImageMemoryBarriers); + skip |= ValidateImageLayouts(device_data, commandBuffer, imageMemoryBarrierCount, pImageMemoryBarriers); + if (!skip) { + TransitionImageLayouts(device_data, commandBuffer, imageMemoryBarrierCount, pImageMemoryBarriers); + } skip |= ValidateBarriers("vkCmdPipelineBarrier()", commandBuffer, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers); return skip; |
