layers: LX206, properly restore command buffer level on a reset
diff --git a/layers/draw_state.cpp b/layers/draw_state.cpp
index d0c84ea..8f8cad5 100644
--- a/layers/draw_state.cpp
+++ b/layers/draw_state.cpp
@@ -1534,7 +1534,6 @@
pCB->activeRenderPass = 0;
pCB->activeSubpass = 0;
pCB->framebuffer = 0;
- pCB->level = VK_COMMAND_BUFFER_LEVEL_PRIMARY;
pCB->boundDescriptorSets.clear();
pCB->imageLayoutMap.clear();
pCB->lastVtxBinding = MAX_BINDING;
@@ -2529,7 +2528,6 @@
resetCB(dev_data, pCommandBuffer[i]);
pCB->commandBuffer = pCommandBuffer[i];
pCB->createInfo = *pCreateInfo;
- pCB->level = pCreateInfo->level;
updateCBTracking(pCB);
}
}
@@ -2544,7 +2542,7 @@
// Validate command buffer level
GLOBAL_CB_NODE* pCB = getCBNode(dev_data, commandBuffer);
if (pCB) {
- if (pCB->level == VK_COMMAND_BUFFER_LEVEL_PRIMARY) {
+ if (pCB->createInfo.level == VK_COMMAND_BUFFER_LEVEL_PRIMARY) {
if (pBeginInfo->renderPass || pBeginInfo->framebuffer) {
// These should be NULL for a Primary CB
skipCall |= log_msg(dev_data->report_data, VK_DBG_REPORT_ERROR_BIT, VK_OBJECT_TYPE_COMMAND_BUFFER, 0, 0, DRAWSTATE_BEGIN_CB_INVALID_STATE, "DS",