bug 15089: Does "Across Command Buffer Boundaries" apply to second-level command buffers?
https://cvs.khronos.org/bugzilla/show_bug.cgi?id=15089
diff --git a/include/vulkan/vulkan.h b/include/vulkan/vulkan.h
index ba8bc49..b37caeb 100644
--- a/include/vulkan/vulkan.h
+++ b/include/vulkan/vulkan.h
@@ -1039,6 +1039,11 @@
} VkCommandBufferUsageFlagBits;
typedef VkFlags VkCommandBufferUsageFlags;
+typedef enum VkQueryControlFlagBits {
+ VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001,
+} VkQueryControlFlagBits;
+typedef VkFlags VkQueryControlFlags;
+
typedef enum VkCommandBufferResetFlagBits {
VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
} VkCommandBufferResetFlagBits;
@@ -1052,11 +1057,6 @@
} VkStencilFaceFlagBits;
typedef VkFlags VkStencilFaceFlags;
-typedef enum VkQueryControlFlagBits {
- VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001,
-} VkQueryControlFlagBits;
-typedef VkFlags VkQueryControlFlags;
-
typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
void* pUserData,
size_t size,
@@ -2010,6 +2010,9 @@
VkRenderPass renderPass;
uint32_t subpass;
VkFramebuffer framebuffer;
+ VkBool32 occlusionQueryEnable;
+ VkQueryControlFlags queryFlags;
+ VkQueryPipelineStatisticFlags pipelineStatistics;
} VkCommandBufferBeginInfo;
typedef struct VkBufferCopy {
diff --git a/tests/layer_validation_tests.cpp b/tests/layer_validation_tests.cpp
index be4950c..bd27921 100644
--- a/tests/layer_validation_tests.cpp
+++ b/tests/layer_validation_tests.cpp
@@ -521,6 +521,9 @@
info.renderPass = VK_NULL_HANDLE;
info.subpass = 0;
info.framebuffer = VK_NULL_HANDLE;
+ info.occlusionQueryEnable = VK_FALSE;
+ info.queryFlags = 0;
+ info.pipelineStatistics = 0;
// Introduce failure by calling BCB again before checking fence
vkBeginCommandBuffer(m_commandBuffer->handle(), &info);
diff --git a/tests/vkrenderframework.cpp b/tests/vkrenderframework.cpp
index 8b147c2..92dac8f 100644
--- a/tests/vkrenderframework.cpp
+++ b/tests/vkrenderframework.cpp
@@ -969,6 +969,9 @@
cmd_buf_info.renderPass = VK_NULL_HANDLE;
cmd_buf_info.subpass = 0;
cmd_buf_info.framebuffer = VK_NULL_HANDLE;
+ cmd_buf_info.occlusionQueryEnable = VK_FALSE;
+ cmd_buf_info.queryFlags = 0;
+ cmd_buf_info.pipelineStatistics = 0;
err = m_commandBuffer->BeginCommandBuffer(&cmd_buf_info);
ASSERT_VK_SUCCESS(err);
diff --git a/tests/vktestbinding.cpp b/tests/vktestbinding.cpp
index 5290176..b67f5fb 100644
--- a/tests/vktestbinding.cpp
+++ b/tests/vktestbinding.cpp
@@ -815,6 +815,9 @@
info.renderPass = VK_NULL_HANDLE;
info.subpass = 0;
info.framebuffer = VK_NULL_HANDLE;
+ info.occlusionQueryEnable = VK_FALSE;
+ info.queryFlags = 0;
+ info.pipelineStatistics = 0;
begin(&info);
}
diff --git a/tests/vktestframework.cpp b/tests/vktestframework.cpp
index a19f053..71ff6b0 100644
--- a/tests/vktestframework.cpp
+++ b/tests/vktestframework.cpp
@@ -997,6 +997,9 @@
cmd_buf_info.renderPass = { VK_NULL_HANDLE };
cmd_buf_info.subpass = 0;
cmd_buf_info.framebuffer = { VK_NULL_HANDLE };
+ cmd_buf_info.occlusionQueryEnable = VK_FALSE;
+ cmd_buf_info.queryFlags = 0;
+ cmd_buf_info.pipelineStatistics = 0;
err = vkBeginCommandBuffer(m_cmdbuf.handle(), &cmd_buf_info);
assert(!err);