diff options
| author | Chia-I Wu <olv@lunarg.com> | 2015-10-31 00:31:16 +0800 |
|---|---|---|
| committer | Courtney Goeltzenleuchter <courtney@LunarG.com> | 2015-11-03 15:21:48 -0700 |
| commit | 082a620480e010db78dd8e998cef9680982245c9 (patch) | |
| tree | 4f845e706405998f983c69a514ca1fb5dbb541d7 | |
| parent | 3139734f2b96be6bfa38118ffbc71eb551f4ef48 (diff) | |
| download | usermoji-082a620480e010db78dd8e998cef9680982245c9.tar.xz | |
bug 15003: vkCmdPipelineBarrier should be allowed on a DMA queue (WIP)
Add VK_PIPELINE_STAGE_ALL_{GRAPHICS,COMMANDS}_BIT. Replace the removed masks
by ~VK_PIPELINE_STAGE_HOST_BIT in the sample driver.
s/VK_PIPELINE_STAGE_ALL_GRAPHICS\b/VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT/g
s/VK_PIPELINE_STAGE_ALL_GPU_COMMANDS/VK_PIPELINE_STAGE_ALL_COMMANDS_BIT/g
https://cvs.khronos.org/bugzilla/show_bug.cgi?id=15003
| -rw-r--r-- | demos/cube.c | 2 | ||||
| -rw-r--r-- | demos/tri.c | 2 | ||||
| -rw-r--r-- | include/vulkan.h | 4 | ||||
| -rw-r--r-- | layers/param_checker.cpp | 18 |
4 files changed, 16 insertions, 10 deletions
diff --git a/demos/cube.c b/demos/cube.c index caab7704..b5d710d4 100644 --- a/demos/cube.c +++ b/demos/cube.c @@ -593,7 +593,7 @@ static void demo_draw_build_cmd(struct demo *demo, VkCommandBuffer cmd_buf) prePresentBarrier.image = demo->buffers[demo->current_buffer].image; VkImageMemoryBarrier *pmemory_barrier = &prePresentBarrier; - vkCmdPipelineBarrier(cmd_buf, VK_PIPELINE_STAGE_ALL_GPU_COMMANDS, VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, + vkCmdPipelineBarrier(cmd_buf, VK_PIPELINE_STAGE_ALL_COMMANDS_BIT, VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, 0, 1, (const void * const*)&pmemory_barrier); diff --git a/demos/tri.c b/demos/tri.c index fb5b1a24..f0e2ff99 100644 --- a/demos/tri.c +++ b/demos/tri.c @@ -437,7 +437,7 @@ static void demo_draw_build_cmd(struct demo *demo) prePresentBarrier.image = demo->buffers[demo->current_buffer].image; VkImageMemoryBarrier *pmemory_barrier = &prePresentBarrier; - vkCmdPipelineBarrier(demo->draw_cmd, VK_PIPELINE_STAGE_ALL_GPU_COMMANDS, VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, + vkCmdPipelineBarrier(demo->draw_cmd, VK_PIPELINE_STAGE_ALL_COMMANDS_BIT, VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, 0, 1, (const void * const*)&pmemory_barrier); err = vkEndCommandBuffer(demo->draw_cmd); diff --git a/include/vulkan.h b/include/vulkan.h index eba214c6..b4e1e30e 100644 --- a/include/vulkan.h +++ b/include/vulkan.h @@ -977,8 +977,8 @@ typedef enum VkPipelineStageFlagBits { VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800, VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000, VK_PIPELINE_STAGE_HOST_BIT = 0x00002000, - VK_PIPELINE_STAGE_ALL_GRAPHICS = 0x000007FF, - VK_PIPELINE_STAGE_ALL_GPU_COMMANDS = 0x00001FFF, + VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00004000, + VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00008000, } VkPipelineStageFlagBits; typedef VkFlags VkPipelineStageFlags; diff --git a/layers/param_checker.cpp b/layers/param_checker.cpp index 1acb7ba4..dfb1f446 100644 --- a/layers/param_checker.cpp +++ b/layers/param_checker.cpp @@ -1216,11 +1216,13 @@ std::string EnumeratorString(VkShaderStageFlagBits const& enumerator) static bool ValidateEnumerator(VkPipelineStageFlagBits const& enumerator) { - VkPipelineStageFlagBits allFlags = (VkPipelineStageFlagBits)(VK_PIPELINE_STAGE_ALL_GRAPHICS | + VkPipelineStageFlagBits allFlags = (VkPipelineStageFlagBits)( + VK_PIPELINE_STAGE_ALL_COMMANDS_BIT| + VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT| VK_PIPELINE_STAGE_HOST_BIT | VK_PIPELINE_STAGE_TRANSFER_BIT | VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT | - VK_PIPELINE_STAGE_ALL_GPU_COMMANDS | + VK_PIPELINE_STAGE_ALL_COMMANDS_BIT | VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT | VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT | VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT | @@ -1249,9 +1251,13 @@ std::string EnumeratorString(VkPipelineStageFlagBits const& enumerator) } std::vector<std::string> strings; - if(enumerator & VK_PIPELINE_STAGE_ALL_GRAPHICS) + if(enumerator & VK_PIPELINE_STAGE_ALL_COMMANDS_BIT) { - strings.push_back("VK_PIPELINE_STAGE_ALL_GRAPHICS"); + strings.push_back("VK_PIPELINE_STAGE_ALL_COMMANDS_BIT"); + } + if(enumerator & VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT) + { + strings.push_back("VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT"); } if(enumerator & VK_PIPELINE_STAGE_HOST_BIT) { @@ -1265,9 +1271,9 @@ std::string EnumeratorString(VkPipelineStageFlagBits const& enumerator) { strings.push_back("VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT"); } - if(enumerator & VK_PIPELINE_STAGE_ALL_GPU_COMMANDS) + if(enumerator & VK_PIPELINE_STAGE_ALL_COMMANDS_BIT) { - strings.push_back("VK_PIPELINE_STAGE_ALL_GPU_COMMANDS"); + strings.push_back("VK_PIPELINE_STAGE_ALL_COMMANDS_BIT"); } if(enumerator & VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT) { |
