MCPcopy Create free account
hub / github.com/KhronosGroup/Vulkan-ValidationLayers / TEST_F

Function TEST_F

tests/unit/command_positive.cpp:23–57  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

21class PositiveCommand : public VkLayerTest {};
22
23TEST_F(PositiveCommand, DrawIndirectCountWithoutFeature) {
24 TEST_DESCRIPTION("Use VK_KHR_draw_indirect_count in 1.1 before drawIndirectCount feature was added");
25
26 SetTargetApiVersion(VK_API_VERSION_1_1);
27 AddRequiredExtensions(VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME);
28 RETURN_IF_SKIP(Init());
29 InitRenderTarget();
30 if (DeviceValidationVersion() != VK_API_VERSION_1_1) {
31 GTEST_SKIP() << "Tests requires Vulkan 1.1 exactly";
32 }
33
34 vkt::Buffer indirect_buffer(*m_device, sizeof(VkDrawIndirectCommand), VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT,
35 VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT);
36
37 vkt::Buffer indexed_indirect_buffer(*m_device, sizeof(VkDrawIndexedIndirectCommand), VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT,
38 VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT);
39
40 vkt::Buffer count_buffer(*m_device, sizeof(uint32_t), VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT, VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT);
41
42 vkt::Buffer index_buffer(*m_device, sizeof(uint32_t), VK_BUFFER_USAGE_INDEX_BUFFER_BIT, VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT);
43
44 CreatePipelineHelper pipe(*this);
45 pipe.CreateGraphicsPipeline();
46
47 // Make calls to valid commands
48 m_command_buffer.Begin();
49 m_command_buffer.BeginRenderPass(m_renderPassBeginInfo);
50 vk::CmdBindPipeline(m_command_buffer, VK_PIPELINE_BIND_POINT_GRAPHICS, pipe);
51 vk::CmdDrawIndirectCountKHR(m_command_buffer, indirect_buffer, 0, count_buffer, 0, 1, sizeof(VkDrawIndirectCommand));
52 vk::CmdBindIndexBuffer(m_command_buffer, index_buffer, 0, VK_INDEX_TYPE_UINT32);
53 vk::CmdDrawIndexedIndirectCountKHR(m_command_buffer, indexed_indirect_buffer, 0, count_buffer, 0, 1,
54 sizeof(VkDrawIndexedIndirectCommand));
55 m_command_buffer.EndRenderPass();
56 m_command_buffer.End();
57}
58
59TEST_F(PositiveCommand, DrawIndirectCountWithoutFeature12) {
60 TEST_DESCRIPTION("Use VK_KHR_draw_indirect_count in 1.2 using the extension");

Callers

nothing calls this directly

Calls 15

CmdBindPipelineFunction · 0.85
CmdDrawIndirectCountKHRFunction · 0.85
CmdBindIndexBufferFunction · 0.85
CmdDrawIndirectCountFunction · 0.85
CreateFenceFunction · 0.85
CreateSemaphoreFunction · 0.85
QueueSubmitFunction · 0.85
WaitForFencesFunction · 0.85
DestroySemaphoreFunction · 0.85
DestroyFenceFunction · 0.85

Tested by

no test coverage detected