aboutsummaryrefslogtreecommitdiff
path: root/layers/buffer_validation.cpp
diff options
context:
space:
mode:
authorJohn Zulauf <jzulauf@lunarg.com>2018-01-30 15:04:56 -0700
committerjzulauf-lunarg <32470354+jzulauf-lunarg@users.noreply.github.com>2018-02-05 15:25:45 -0700
commit757ab9cb1988b793b6ed93cf2785d565660f317a (patch)
tree0b4537f60206e8571c8fe0b3af8eafeeecc959e8 /layers/buffer_validation.cpp
parent6071382da8f042622e7537c0a61bed409e8bd335 (diff)
downloadusermoji-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.cpp21
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);