diff options
| author | John Zulauf <jzulauf@lunarg.com> | 2018-01-30 15:04:56 -0700 |
|---|---|---|
| committer | jzulauf-lunarg <32470354+jzulauf-lunarg@users.noreply.github.com> | 2018-02-05 15:25:45 -0700 |
| commit | 757ab9cb1988b793b6ed93cf2785d565660f317a (patch) | |
| tree | 0b4537f60206e8571c8fe0b3af8eafeeecc959e8 /layers/buffer_validation.cpp | |
| parent | 6071382da8f042622e7537c0a61bed409e8bd335 (diff) | |
| download | usermoji-757ab9cb1988b793b6ed93cf2785d565660f317a.tar.xz | |
layers: Add err-id/coverage for 'recording state'
Added map from CMD_TYPE to validation error for "must be in the
recording state" valid usage ID. Add complete check coverage
(except vendor/KHX extensions) for this class of VUID. Coverted
existing checks to use common code.
Change-Id: I38f71cce2a0f090f2685074239a1b429bbf95d8c
Diffstat (limited to 'layers/buffer_validation.cpp')
| -rw-r--r-- | layers/buffer_validation.cpp | 21 |
1 files changed, 5 insertions, 16 deletions
diff --git a/layers/buffer_validation.cpp b/layers/buffer_validation.cpp index de32cb20..44db3a6f 100644 --- a/layers/buffer_validation.cpp +++ b/layers/buffer_validation.cpp @@ -2261,6 +2261,9 @@ bool PreCallValidateCmdBlitImage(layer_data *device_data, GLOBAL_CB_NODE *cb_nod const debug_report_data *report_data = core_validation::GetReportData(device_data); bool skip = false; + if (cb_node) { + skip |= ValidateCmd(device_data, cb_node, CMD_BLITIMAGE, "vkCmdBlitImage()"); + } if (cb_node && src_image_state && dst_image_state) { skip |= ValidateImageSampleCount(device_data, src_image_state, VK_SAMPLE_COUNT_1_BIT, "vkCmdBlitImage(): srcImage", VALIDATION_ERROR_184001d2); @@ -3951,14 +3954,7 @@ bool PreCallValidateCmdCopyImageToBuffer(layer_data *device_data, VkImageLayout bool skip = ValidateBufferImageCopyData(report_data, regionCount, pRegions, src_image_state, "vkCmdCopyImageToBuffer"); // Validate command buffer state - if (CB_RECORDING != cb_node->state) { - skip |= log_msg(report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, - HandleToUint64(cb_node->commandBuffer), __LINE__, VALIDATION_ERROR_19202413, "DS", - "Cannot call vkCmdCopyImageToBuffer() on command buffer which is not in recording state. %s.", - validation_error_map[VALIDATION_ERROR_19202413]); - } else { - skip |= ValidateCmdSubpassState(device_data, cb_node, CMD_COPYIMAGETOBUFFER); - } + skip |= ValidateCmd(device_data, cb_node, CMD_COPYIMAGETOBUFFER, "vkCmdCopyImageToBuffer()"); // Command pool must support graphics, compute, or transfer operations auto pPool = GetCommandPoolNode(device_data, cb_node->createInfo.commandPool); @@ -4027,14 +4023,7 @@ bool PreCallValidateCmdCopyBufferToImage(layer_data *device_data, VkImageLayout bool skip = ValidateBufferImageCopyData(report_data, regionCount, pRegions, dst_image_state, "vkCmdCopyBufferToImage"); // Validate command buffer state - if (CB_RECORDING != cb_node->state) { - skip |= log_msg(report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, - HandleToUint64(cb_node->commandBuffer), __LINE__, VALIDATION_ERROR_18e02413, "DS", - "Cannot call vkCmdCopyBufferToImage() on command buffer which is not in recording state. %s.", - validation_error_map[VALIDATION_ERROR_18e02413]); - } else { - skip |= ValidateCmdSubpassState(device_data, cb_node, CMD_COPYBUFFERTOIMAGE); - } + skip |= ValidateCmd(device_data, cb_node, CMD_COPYBUFFERTOIMAGE, "vkCmdCopyBufferToImage()"); // Command pool must support graphics, compute, or transfer operations auto pPool = GetCommandPoolNode(device_data, cb_node->createInfo.commandPool); |
