diff options
| author | Dave Houlton <daveh@lunarg.com> | 2017-02-28 13:16:02 -0700 |
|---|---|---|
| committer | Dave Houlton <daveh@lunarg.com> | 2017-03-16 16:58:26 -0600 |
| commit | f7dd8f85fce42b3f4b0bdf29118c9b409aee97a0 (patch) | |
| tree | 242009f10e06467ca7087b3a386292e3dd84c6bd /layers/buffer_validation.cpp | |
| parent | df89aa6600687e15ec5fc097d18c45dd02c59c64 (diff) | |
| download | usermoji-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.cpp | 8 |
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 |
