Commit a25b165a by Tobin Ehlis Committed by Commit Bot

Vulkan: Add transient flag to command pool

Add the VK_COMMAND_POOL_CREATE_TRANSIENT_BIT flag when creating the PersistentCommandPool since the command buffers are only used once and then reset. Update the tracking bugs. Bug: b/166641492 Bug: b/166793850 Change-Id: I5827b5df7dd150756325421fc6ff0283bbd8b8e1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2381943Reviewed-by: 's avatarShahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: 's avatarback sept 10 - Jamie Madill <jmadill@chromium.org> Reviewed-by: 's avatarCourtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Tobin Ehlis <tobine@google.com>
parent a1d5ebbf
...@@ -29,8 +29,11 @@ angle::Result PersistentCommandPool::init(vk::Context *context, uint32_t queueFa ...@@ -29,8 +29,11 @@ angle::Result PersistentCommandPool::init(vk::Context *context, uint32_t queueFa
// Initialize the command pool now that we know the queue family index. // Initialize the command pool now that we know the queue family index.
VkCommandPoolCreateInfo commandPoolInfo = {}; VkCommandPoolCreateInfo commandPoolInfo = {};
commandPoolInfo.sType = VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO; commandPoolInfo.sType = VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO;
commandPoolInfo.flags = VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT; // TODO (https://issuetracker.google.com/issues/166793850) We currently reset individual
commandPoolInfo.queueFamilyIndex = queueFamilyIndex; // command buffers from this pool. Alternatively we could reset the entire command pool.
commandPoolInfo.flags =
VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT | VK_COMMAND_POOL_CREATE_TRANSIENT_BIT;
commandPoolInfo.queueFamilyIndex = queueFamilyIndex;
ANGLE_VK_TRY(context, mCommandPool.init(context->getDevice(), commandPoolInfo)); ANGLE_VK_TRY(context, mCommandPool.init(context->getDevice(), commandPoolInfo));
......
...@@ -141,7 +141,8 @@ constexpr const char *kSkippedMessages[] = { ...@@ -141,7 +141,8 @@ constexpr const char *kSkippedMessages[] = {
// http://anglebug.com/4975 // http://anglebug.com/4975
"VUID-vkCmdDraw-None-02687", "VUID-vkCmdDraw-None-02687",
"VUID-vkCmdDrawIndexed-None-02687", "VUID-vkCmdDrawIndexed-None-02687",
// Best Practices Skips issuetracker.google.com/156661359 // Best Practices Skips https://issuetracker.google.com/issues/166641492
// https://issuetracker.google.com/issues/166793850
"UNASSIGNED-BestPractices-vkCreateCommandPool-command-buffer-reset", "UNASSIGNED-BestPractices-vkCreateCommandPool-command-buffer-reset",
"UNASSIGNED-BestPractices-pipeline-stage-flags", "UNASSIGNED-BestPractices-pipeline-stage-flags",
"UNASSIGNED-BestPractices-Error-Result", "UNASSIGNED-BestPractices-Error-Result",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment