diff options
| author | Mike Weiblen <mikew@lunarg.com> | 2017-03-07 22:18:27 -0700 |
|---|---|---|
| committer | Mike Weiblen <mikew@lunarg.com> | 2017-03-14 16:34:52 -0600 |
| commit | 2e1c0e79925199ef0683c1e2064ffc794f853a16 (patch) | |
| tree | 78d3797db0bb0f1c3df9f9b560fbc2c1378128ce /layers/core_validation.cpp | |
| parent | aa1fb597a3c90c2a9c67f5b5333e4d19f1f0e755 (diff) | |
| download | usermoji-2e1c0e79925199ef0683c1e2064ffc794f853a16.tar.xz | |
layers: Implement VU 00303-00308
Implement Valid Usages 00303-00308 with new function
ValidateBarrierLayoutToImageUsage() which verifies an
ImageMemoryBarrier's old/new ImageLayouts are compatible with its
Image's ImageUsageFlags.
Rename ValidateImageLayouts() to ValidateBarriersToImages().
Rename some variables:
- internal vars to use Google style.
- vars passed verbatim from Vulkan to use Vulkan names.
Fix issues revealed in layer tests due to these new checks:
- 2 new Unexpected messages in VkLayerTest.
- 1 failing VkPositiveTest.
Update VU database for check_implemented = Y.
Change-Id: I8723f99d515fbea707299b4d1fcf33a4da6b7b0b
Diffstat (limited to 'layers/core_validation.cpp')
| -rw-r--r-- | layers/core_validation.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/layers/core_validation.cpp b/layers/core_validation.cpp index 17f0b201..f64a4b74 100644 --- a/layers/core_validation.cpp +++ b/layers/core_validation.cpp @@ -8386,7 +8386,8 @@ 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 |= ValidateImageLayouts(dev_data, commandBuffer, imageMemoryBarrierCount, pImageMemoryBarriers); + skip |= + ValidateBarriersToImages(dev_data, commandBuffer, imageMemoryBarrierCount, pImageMemoryBarriers, "vkCmdWaitEvents()"); if (!skip) { TransitionImageLayouts(dev_data, commandBuffer, imageMemoryBarrierCount, pImageMemoryBarriers); } @@ -8414,7 +8415,8 @@ static bool PreCallValidateCmdPipelineBarrier(layer_data *device_data, GLOBAL_CB VALIDATION_ERROR_00267); skip |= ValidateStageMaskGsTsEnables(device_data, dstStageMask, "vkCmdPipelineBarrier()", VALIDATION_ERROR_00266, VALIDATION_ERROR_00268); - skip |= ValidateImageLayouts(device_data, commandBuffer, imageMemoryBarrierCount, pImageMemoryBarriers); + skip |= ValidateBarriersToImages(device_data, commandBuffer, imageMemoryBarrierCount, pImageMemoryBarriers, + "vkCmdPipelineBarrier()"); skip |= ValidateBarriers("vkCmdPipelineBarrier()", commandBuffer, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers); return skip; |
