From 62534c1eeb855c97e6ef2b46183972228120c199 Mon Sep 17 00:00:00 2001 From: Courtney Goeltzenleuchter Date: Wed, 21 Oct 2015 18:11:04 -0600 Subject: bug-14786: CmdBufferOptimizeFlags -> CmdBufferUsageFlags --- demos/cube.c | 5 ++--- demos/tri.c | 6 ++---- include/vulkan.h | 14 ++++++-------- layers/draw_state.cpp | 4 ++-- layers/draw_state.h | 2 +- layers/param_checker.cpp | 32 +++++++++++--------------------- layers/screenshot.cpp | 3 +-- 7 files changed, 25 insertions(+), 41 deletions(-) diff --git a/demos/cube.c b/demos/cube.c index 37e55fa5..67926279 100644 --- a/demos/cube.c +++ b/demos/cube.c @@ -479,8 +479,7 @@ static void demo_set_image_layout( VkCmdBufferBeginInfo cmd_buf_info = { .sType = VK_STRUCTURE_TYPE_CMD_BUFFER_BEGIN_INFO, .pNext = NULL, - .flags = VK_CMD_BUFFER_OPTIMIZE_SMALL_BATCH_BIT | - VK_CMD_BUFFER_OPTIMIZE_ONE_TIME_SUBMIT_BIT, + .flags = 0, .renderPass = { VK_NULL_HANDLE }, .subpass = 0, .framebuffer = { VK_NULL_HANDLE }, @@ -523,7 +522,7 @@ static void demo_draw_build_cmd(struct demo *demo, VkCmdBuffer cmd_buf) const VkCmdBufferBeginInfo cmd_buf_info = { .sType = VK_STRUCTURE_TYPE_CMD_BUFFER_BEGIN_INFO, .pNext = NULL, - .flags = VK_CMD_BUFFER_OPTIMIZE_SMALL_BATCH_BIT, + .flags = 0, .renderPass = { VK_NULL_HANDLE }, .subpass = 0, .framebuffer = { VK_NULL_HANDLE }, diff --git a/demos/tri.c b/demos/tri.c index f79c67e5..3f48748a 100644 --- a/demos/tri.c +++ b/demos/tri.c @@ -319,8 +319,7 @@ static void demo_set_image_layout( VkCmdBufferBeginInfo cmd_buf_info = { .sType = VK_STRUCTURE_TYPE_CMD_BUFFER_BEGIN_INFO, .pNext = NULL, - .flags = VK_CMD_BUFFER_OPTIMIZE_SMALL_BATCH_BIT | - VK_CMD_BUFFER_OPTIMIZE_ONE_TIME_SUBMIT_BIT, + .flags = 0, .renderPass = { VK_NULL_HANDLE }, .subpass = 0, .framebuffer = { VK_NULL_HANDLE }, @@ -363,8 +362,7 @@ static void demo_draw_build_cmd(struct demo *demo) const VkCmdBufferBeginInfo cmd_buf_info = { .sType = VK_STRUCTURE_TYPE_CMD_BUFFER_BEGIN_INFO, .pNext = NULL, - .flags = VK_CMD_BUFFER_OPTIMIZE_SMALL_BATCH_BIT | - VK_CMD_BUFFER_OPTIMIZE_ONE_TIME_SUBMIT_BIT, + .flags = 0, .renderPass = { VK_NULL_HANDLE }, .subpass = 0, .framebuffer = { VK_NULL_HANDLE }, diff --git a/include/vulkan.h b/include/vulkan.h index fd7d2074..c85d5112 100644 --- a/include/vulkan.h +++ b/include/vulkan.h @@ -1046,13 +1046,11 @@ typedef VkFlags VkCmdPoolResetFlags; typedef VkFlags VkCmdBufferCreateFlags; typedef enum { - VK_CMD_BUFFER_OPTIMIZE_SMALL_BATCH_BIT = 0x00000001, - VK_CMD_BUFFER_OPTIMIZE_PIPELINE_SWITCH_BIT = 0x00000002, - VK_CMD_BUFFER_OPTIMIZE_ONE_TIME_SUBMIT_BIT = 0x00000004, - VK_CMD_BUFFER_OPTIMIZE_DESCRIPTOR_SET_SWITCH_BIT = 0x00000008, - VK_CMD_BUFFER_OPTIMIZE_NO_SIMULTANEOUS_USE_BIT = 0x00000010, -} VkCmdBufferOptimizeFlagBits; -typedef VkFlags VkCmdBufferOptimizeFlags; + VK_CMD_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001, + VK_CMD_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002, + VK_CMD_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004, +} VkCmdBufferUsageFlagBits; +typedef VkFlags VkCmdBufferUsageFlags; typedef enum { VK_CMD_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001, @@ -1937,7 +1935,7 @@ typedef struct { typedef struct { VkStructureType sType; const void* pNext; - VkCmdBufferOptimizeFlags flags; + VkCmdBufferUsageFlags flags; VkRenderPass renderPass; uint32_t subpass; VkFramebuffer framebuffer; diff --git a/layers/draw_state.cpp b/layers/draw_state.cpp index b9e24ea1..c1395b36 100755 --- a/layers/draw_state.cpp +++ b/layers/draw_state.cpp @@ -1554,9 +1554,9 @@ VK_LAYER_EXPORT VkResult VKAPI vkQueueSubmit(VkQueue queue, uint32_t submitCount pCB = getCBNode(dev_data, submit->pCommandBuffers[i]); loader_platform_thread_lock_mutex(&globalLock); pCB->submitCount++; // increment submit count - if ((pCB->beginInfo.flags & VK_CMD_BUFFER_OPTIMIZE_ONE_TIME_SUBMIT_BIT) && (pCB->submitCount > 1)) { + if ((pCB->beginInfo.flags & VK_CMD_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT) && (pCB->submitCount > 1)) { skipCall |= log_msg(dev_data->report_data, VK_DBG_REPORT_ERROR_BIT, VK_OBJECT_TYPE_COMMAND_BUFFER, 0, 0, DRAWSTATE_CMD_BUFFER_SINGLE_SUBMIT_VIOLATION, "DS", - "CB %#" PRIxLEAST64 " was begun w/ VK_CMD_BUFFER_OPTIMIZE_ONE_TIME_SUBMIT_BIT set, but has been submitted %#" PRIxLEAST64 " times.", reinterpret_cast(pCB->cmdBuffer), pCB->submitCount); + "CB %#" PRIxLEAST64 " was begun w/ VK_CMD_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT set, but has been submitted %#" PRIxLEAST64 " times.", reinterpret_cast(pCB->cmdBuffer), pCB->submitCount); } if (CB_UPDATE_COMPLETE != pCB->state) { // Flag error for using CB w/o vkEndCommandBuffer() called diff --git a/layers/draw_state.h b/layers/draw_state.h index 7f5a7e86..c8a6883d 100755 --- a/layers/draw_state.h +++ b/layers/draw_state.h @@ -53,7 +53,7 @@ typedef enum _DRAW_STATE_ERROR DRAWSTATE_NUM_SAMPLES_MISMATCH, // Number of samples in bound PSO does not match number in FB of current RenderPass DRAWSTATE_NO_END_CMD_BUFFER, // Must call vkEndCommandBuffer() before QueueSubmit on that cmdBuffer DRAWSTATE_NO_BEGIN_CMD_BUFFER, // Binding cmds or calling End on CB that never had vkBeginCommandBuffer() called on it - DRAWSTATE_CMD_BUFFER_SINGLE_SUBMIT_VIOLATION, // Cmd Buffer created with VK_CMD_BUFFER_OPTIMIZE_ONE_TIME_SUBMIT_BIT flag is submitted multiple times + DRAWSTATE_CMD_BUFFER_SINGLE_SUBMIT_VIOLATION, // Cmd Buffer created with VK_CMD_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT flag is submitted multiple times DRAWSTATE_INVALID_SECONDARY_CMD_BUFFER, // vkCmdExecuteCommands() called with a primary cmdBuffer in pCmdBuffers array DRAWSTATE_VIEWPORT_NOT_BOUND, // Draw submitted with no viewport state bound DRAWSTATE_SCISSOR_NOT_BOUND, // Draw submitted with no scissor state bound diff --git a/layers/param_checker.cpp b/layers/param_checker.cpp index b217886b..989a6bda 100644 --- a/layers/param_checker.cpp +++ b/layers/param_checker.cpp @@ -1640,13 +1640,11 @@ std::string EnumeratorString(VkCmdPoolResetFlagBits const& enumerator) } static -bool ValidateEnumerator(VkCmdBufferOptimizeFlagBits const& enumerator) +bool ValidateEnumerator(VkCmdBufferUsageFlags const& enumerator) { - VkCmdBufferOptimizeFlagBits allFlags = (VkCmdBufferOptimizeFlagBits)(VK_CMD_BUFFER_OPTIMIZE_NO_SIMULTANEOUS_USE_BIT | - VK_CMD_BUFFER_OPTIMIZE_DESCRIPTOR_SET_SWITCH_BIT | - VK_CMD_BUFFER_OPTIMIZE_ONE_TIME_SUBMIT_BIT | - VK_CMD_BUFFER_OPTIMIZE_PIPELINE_SWITCH_BIT | - VK_CMD_BUFFER_OPTIMIZE_SMALL_BATCH_BIT); + VkCmdBufferUsageFlags allFlags = (VkCmdBufferUsageFlags)(VK_CMD_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT | + VK_CMD_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT | + VK_CMD_BUFFER_USAGE_SIMULTANEOUS_USE_BIT); if(enumerator & (~allFlags)) { return false; @@ -1656,7 +1654,7 @@ bool ValidateEnumerator(VkCmdBufferOptimizeFlagBits const& enumerator) } static -std::string EnumeratorString(VkCmdBufferOptimizeFlagBits const& enumerator) +std::string EnumeratorString(VkCmdBufferUsageFlags const& enumerator) { if(!ValidateEnumerator(enumerator)) { @@ -1664,25 +1662,17 @@ std::string EnumeratorString(VkCmdBufferOptimizeFlagBits const& enumerator) } std::vector strings; - if(enumerator & VK_CMD_BUFFER_OPTIMIZE_NO_SIMULTANEOUS_USE_BIT) + if(enumerator & VK_CMD_BUFFER_USAGE_SIMULTANEOUS_USE_BIT) { - strings.push_back("VK_CMD_BUFFER_OPTIMIZE_NO_SIMULTANEOUS_USE_BIT"); + strings.push_back("VK_CMD_BUFFER_USAGE_SIMULTANEOUS_USE_BIT"); } - if(enumerator & VK_CMD_BUFFER_OPTIMIZE_DESCRIPTOR_SET_SWITCH_BIT) + if(enumerator & VK_CMD_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT) { - strings.push_back("VK_CMD_BUFFER_OPTIMIZE_DESCRIPTOR_SET_SWITCH_BIT"); + strings.push_back("VK_CMD_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT"); } - if(enumerator & VK_CMD_BUFFER_OPTIMIZE_ONE_TIME_SUBMIT_BIT) + if(enumerator & VK_CMD_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT) { - strings.push_back("VK_CMD_BUFFER_OPTIMIZE_ONE_TIME_SUBMIT_BIT"); - } - if(enumerator & VK_CMD_BUFFER_OPTIMIZE_PIPELINE_SWITCH_BIT) - { - strings.push_back("VK_CMD_BUFFER_OPTIMIZE_PIPELINE_SWITCH_BIT"); - } - if(enumerator & VK_CMD_BUFFER_OPTIMIZE_SMALL_BATCH_BIT) - { - strings.push_back("VK_CMD_BUFFER_OPTIMIZE_SMALL_BATCH_BIT"); + strings.push_back("VK_CMD_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT"); } std::string enumeratorString; diff --git a/layers/screenshot.cpp b/layers/screenshot.cpp index e9ec3eb8..c7eb4cad 100644 --- a/layers/screenshot.cpp +++ b/layers/screenshot.cpp @@ -178,8 +178,7 @@ static void writePPM( const char *filename, VkImage image1) const VkCmdBufferBeginInfo cmdBufferBeginInfo = { VK_STRUCTURE_TYPE_CMD_BUFFER_BEGIN_INFO, NULL, - VK_CMD_BUFFER_OPTIMIZE_SMALL_BATCH_BIT | - VK_CMD_BUFFER_OPTIMIZE_ONE_TIME_SUBMIT_BIT, + VK_CMD_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT, }; const VkImageCopy imageCopyRegion = { {VK_IMAGE_ASPECT_COLOR_BIT, 0, 0}, -- cgit v1.2.3