aboutsummaryrefslogtreecommitdiff
path: root/layers/buffer_validation.cpp
diff options
context:
space:
mode:
authorDave Houlton <daveh@lunarg.com>2017-02-28 13:16:02 -0700
committerDave Houlton <daveh@lunarg.com>2017-03-16 16:58:26 -0600
commitf7dd8f85fce42b3f4b0bdf29118c9b409aee97a0 (patch)
tree242009f10e06467ca7087b3a386292e3dd84c6bd /layers/buffer_validation.cpp
parentdf89aa6600687e15ec5fc097d18c45dd02c59c64 (diff)
downloadusermoji-f7dd8f85fce42b3f4b0bdf29118c9b409aee97a0.tar.xz
layers: Add VU 01185 and a test
Added check for valid usage 01185. Added test CopyImageSampleCountMismatch() to verify the check. Change-Id: I51e76e0334bd4f1c0fe564f241646fc8b788da1e
Diffstat (limited to 'layers/buffer_validation.cpp')
-rw-r--r--layers/buffer_validation.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/layers/buffer_validation.cpp b/layers/buffer_validation.cpp
index 32c6d637..0bafc23c 100644
--- a/layers/buffer_validation.cpp
+++ b/layers/buffer_validation.cpp
@@ -1443,6 +1443,14 @@ bool PreCallValidateCmdCopyImage(layer_data *device_data, GLOBAL_CB_NODE *cb_nod
}
}
+ // Source and dest image sample counts must match
+ if (src_image_state->createInfo.samples != dst_image_state->createInfo.samples) {
+ char const str[] = "vkCmdCopyImage() called on image pair with non-identical sample counts.";
+ skip |= log_msg(report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT,
+ reinterpret_cast<uint64_t &>(command_buffer), __LINE__, VALIDATION_ERROR_01185, "IMAGE", "%s %s", str,
+ validation_error_map[VALIDATION_ERROR_01185]);
+ }
+
skip |= ValidateMemoryIsBoundToImage(device_data, src_image_state, "vkCmdCopyImage()", VALIDATION_ERROR_02533);
skip |= ValidateMemoryIsBoundToImage(device_data, dst_image_state, "vkCmdCopyImage()", VALIDATION_ERROR_02534);
// Validate that SRC & DST images have correct usage flags set