aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChia-I Wu <olv@lunarg.com>2015-10-31 00:31:16 +0800
committerCourtney Goeltzenleuchter <courtney@LunarG.com>2015-11-03 15:21:48 -0700
commit082a620480e010db78dd8e998cef9680982245c9 (patch)
tree4f845e706405998f983c69a514ca1fb5dbb541d7
parent3139734f2b96be6bfa38118ffbc71eb551f4ef48 (diff)
downloadusermoji-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.c2
-rw-r--r--demos/tri.c2
-rw-r--r--include/vulkan.h4
-rw-r--r--layers/param_checker.cpp18
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)
{