aboutsummaryrefslogtreecommitdiff
path: root/layers/core_validation.cpp
diff options
context:
space:
mode:
authorTony Barbour <tony@LunarG.com>2016-10-04 12:03:50 -0600
committerTony Barbour <tony@LunarG.com>2016-10-05 12:48:09 -0600
commitdd5dc446e63f555e83309021ad010cafe836111a (patch)
treee022587cf72eb3b6ba552460ea581283e7a3dac6 /layers/core_validation.cpp
parentf165b5d7aa283c6f7857c396b2064527a1e6d842 (diff)
downloadusermoji-dd5dc446e63f555e83309021ad010cafe836111a.tar.xz
layers: Only validate access masks if layout changes
Change-Id: I21af32fb017de15760d72d4b32d99d84c383755f
Diffstat (limited to 'layers/core_validation.cpp')
-rw-r--r--layers/core_validation.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/layers/core_validation.cpp b/layers/core_validation.cpp
index fdc6b3a9..60762ff8 100644
--- a/layers/core_validation.cpp
+++ b/layers/core_validation.cpp
@@ -8727,10 +8727,12 @@ static bool ValidateBarriers(const char *funcName, VkCommandBuffer cmdBuffer, ui
}
if (mem_barrier) {
- skip_call |=
- ValidateMaskBitsFromLayouts(dev_data, cmdBuffer, mem_barrier->srcAccessMask, mem_barrier->oldLayout, "Source");
- skip_call |=
- ValidateMaskBitsFromLayouts(dev_data, cmdBuffer, mem_barrier->dstAccessMask, mem_barrier->newLayout, "Dest");
+ if (mem_barrier->oldLayout != mem_barrier->newLayout) {
+ skip_call |=
+ ValidateMaskBitsFromLayouts(dev_data, cmdBuffer, mem_barrier->srcAccessMask, mem_barrier->oldLayout, "Source");
+ skip_call |=
+ ValidateMaskBitsFromLayouts(dev_data, cmdBuffer, mem_barrier->dstAccessMask, mem_barrier->newLayout, "Dest");
+ }
if (mem_barrier->newLayout == VK_IMAGE_LAYOUT_UNDEFINED || mem_barrier->newLayout == VK_IMAGE_LAYOUT_PREINITIALIZED) {
log_msg(dev_data->report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, (VkDebugReportObjectTypeEXT)0, 0, __LINE__,
DRAWSTATE_INVALID_BARRIER, "DS", "%s: Image Layout cannot be transitioned to UNDEFINED or "