Add create functions for common Vulkan types.
authorMika Isojärvi <misojarvi@google.com>
Wed, 8 Feb 2017 00:37:51 +0000 (16:37 -0800)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Sun, 18 Jun 2017 14:00:09 +0000 (10:00 -0400)
These functions simplify creating the Vulkan objects by taking the
arguments directly instead of passing through struct. Multiple test
cases already reimplement these functions.

VK-GL-CTS issue: 465
Components: Vulkan

Change-Id: I09f6b0163b5aa2198617230767cd072185afe45c
(cherry picked from commit da03200a87f51bed33b3c3030ecbb6df06ff4f60)

116 files changed:
external/vulkancts/framework/vulkan/vkQueryUtil.cpp
external/vulkancts/framework/vulkan/vkQueryUtil.hpp
external/vulkancts/framework/vulkan/vkRefUtil.cpp
external/vulkancts/framework/vulkan/vkRefUtil.hpp
external/vulkancts/modules/vulkan/api/vktApiBufferTests.cpp
external/vulkancts/modules/vulkan/api/vktApiBufferViewAccessTests.cpp
external/vulkancts/modules/vulkan/api/vktApiCommandBuffersTests.cpp
external/vulkancts/modules/vulkan/api/vktApiCopiesAndBlittingTests.cpp
external/vulkancts/modules/vulkan/api/vktApiDeviceInitializationTests.cpp
external/vulkancts/modules/vulkan/api/vktApiFillBufferTests.cpp
external/vulkancts/modules/vulkan/api/vktApiGranularityTests.cpp
external/vulkancts/modules/vulkan/api/vktApiImageClearingTests.cpp
external/vulkancts/modules/vulkan/binding_model/vktBindingShaderAccessTests.cpp
external/vulkancts/modules/vulkan/compute/vktComputeBasicComputeShaderTests.cpp
external/vulkancts/modules/vulkan/compute/vktComputeIndirectComputeDispatchTests.cpp
external/vulkancts/modules/vulkan/compute/vktComputeShaderBuiltinVarTests.cpp
external/vulkancts/modules/vulkan/compute/vktComputeTestsUtil.cpp
external/vulkancts/modules/vulkan/compute/vktComputeTestsUtil.hpp
external/vulkancts/modules/vulkan/draw/vktBasicDrawTests.cpp
external/vulkancts/modules/vulkan/draw/vktDrawBaseClass.cpp
external/vulkancts/modules/vulkan/draw/vktDrawImageObjectUtil.cpp
external/vulkancts/modules/vulkan/draw/vktDrawInstancedTests.cpp
external/vulkancts/modules/vulkan/draw/vktDrawNegativeViewportHeightTests.cpp
external/vulkancts/modules/vulkan/dynamic_state/vktDynamicStateDSTests.cpp
external/vulkancts/modules/vulkan/dynamic_state/vktDynamicStateRSTests.cpp
external/vulkancts/modules/vulkan/fragment_ops/vktFragmentOperationsEarlyFragmentTests.cpp
external/vulkancts/modules/vulkan/fragment_ops/vktFragmentOperationsMakeUtil.cpp
external/vulkancts/modules/vulkan/fragment_ops/vktFragmentOperationsMakeUtil.hpp
external/vulkancts/modules/vulkan/fragment_ops/vktFragmentOperationsScissorMultiViewportTests.cpp
external/vulkancts/modules/vulkan/fragment_ops/vktFragmentOperationsScissorTests.cpp
external/vulkancts/modules/vulkan/geometry/vktGeometryBasicClass.cpp
external/vulkancts/modules/vulkan/geometry/vktGeometryBasicGeometryShaderTests.cpp
external/vulkancts/modules/vulkan/geometry/vktGeometryInstancedRenderingTests.cpp
external/vulkancts/modules/vulkan/geometry/vktGeometryLayeredRenderingTests.cpp
external/vulkancts/modules/vulkan/geometry/vktGeometryTestsUtil.cpp
external/vulkancts/modules/vulkan/geometry/vktGeometryTestsUtil.hpp
external/vulkancts/modules/vulkan/image/vktImageAtomicOperationTests.cpp
external/vulkancts/modules/vulkan/image/vktImageLoadStoreTests.cpp
external/vulkancts/modules/vulkan/image/vktImageMultisampleLoadStoreTests.cpp
external/vulkancts/modules/vulkan/image/vktImageQualifiersTests.cpp
external/vulkancts/modules/vulkan/image/vktImageSizeTests.cpp
external/vulkancts/modules/vulkan/image/vktImageTestsUtil.cpp
external/vulkancts/modules/vulkan/image/vktImageTestsUtil.hpp
external/vulkancts/modules/vulkan/memory/vktMemoryPipelineBarrierTests.cpp
external/vulkancts/modules/vulkan/pipeline/vktPipelineBlendTests.cpp
external/vulkancts/modules/vulkan/pipeline/vktPipelineCacheTests.cpp
external/vulkancts/modules/vulkan/pipeline/vktPipelineDepthTests.cpp
external/vulkancts/modules/vulkan/pipeline/vktPipelineImageSamplingInstance.cpp
external/vulkancts/modules/vulkan/pipeline/vktPipelineImageUtil.cpp
external/vulkancts/modules/vulkan/pipeline/vktPipelineInputAssemblyTests.cpp
external/vulkancts/modules/vulkan/pipeline/vktPipelineMakeUtil.cpp
external/vulkancts/modules/vulkan/pipeline/vktPipelineMakeUtil.hpp
external/vulkancts/modules/vulkan/pipeline/vktPipelineMultisampleImageTests.cpp
external/vulkancts/modules/vulkan/pipeline/vktPipelineMultisampleInterpolationTests.cpp
external/vulkancts/modules/vulkan/pipeline/vktPipelineMultisampleTests.cpp
external/vulkancts/modules/vulkan/pipeline/vktPipelinePushConstantTests.cpp
external/vulkancts/modules/vulkan/pipeline/vktPipelineRenderToImageTests.cpp
external/vulkancts/modules/vulkan/pipeline/vktPipelineSpecConstantTests.cpp
external/vulkancts/modules/vulkan/pipeline/vktPipelineStencilTests.cpp
external/vulkancts/modules/vulkan/pipeline/vktPipelineTimestampTests.cpp
external/vulkancts/modules/vulkan/pipeline/vktPipelineVertexInputTests.cpp
external/vulkancts/modules/vulkan/query_pool/vktQueryPoolOcclusionTests.cpp
external/vulkancts/modules/vulkan/query_pool/vktQueryPoolOcclusionTests.hpp
external/vulkancts/modules/vulkan/rasterization/vktRasterizationTests.cpp
external/vulkancts/modules/vulkan/shaderexecutor/vktShaderExecutor.cpp
external/vulkancts/modules/vulkan/shaderrender/vktShaderRender.cpp
external/vulkancts/modules/vulkan/shaderrender/vktShaderRender.hpp
external/vulkancts/modules/vulkan/sparse_resources/vktSparseResourcesBase.cpp
external/vulkancts/modules/vulkan/sparse_resources/vktSparseResourcesBufferMemoryAliasing.cpp
external/vulkancts/modules/vulkan/sparse_resources/vktSparseResourcesBufferSparseBinding.cpp
external/vulkancts/modules/vulkan/sparse_resources/vktSparseResourcesBufferSparseResidency.cpp
external/vulkancts/modules/vulkan/sparse_resources/vktSparseResourcesBufferTests.cpp
external/vulkancts/modules/vulkan/sparse_resources/vktSparseResourcesImageMemoryAliasing.cpp
external/vulkancts/modules/vulkan/sparse_resources/vktSparseResourcesImageSparseBinding.cpp
external/vulkancts/modules/vulkan/sparse_resources/vktSparseResourcesImageSparseResidency.cpp
external/vulkancts/modules/vulkan/sparse_resources/vktSparseResourcesMipmapSparseResidency.cpp
external/vulkancts/modules/vulkan/sparse_resources/vktSparseResourcesQueueBindSparseTests.cpp
external/vulkancts/modules/vulkan/sparse_resources/vktSparseResourcesShaderIntrinsicsBase.cpp
external/vulkancts/modules/vulkan/sparse_resources/vktSparseResourcesTestsUtil.cpp
external/vulkancts/modules/vulkan/sparse_resources/vktSparseResourcesTestsUtil.hpp
external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmComputeShaderCase.cpp
external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmInstructionTests.cpp
external/vulkancts/modules/vulkan/ssbo/vktSSBOLayoutCase.cpp
external/vulkancts/modules/vulkan/synchronization/vktSynchronizationBasicEventTests.cpp
external/vulkancts/modules/vulkan/synchronization/vktSynchronizationBasicFenceTests.cpp
external/vulkancts/modules/vulkan/synchronization/vktSynchronizationBasicSemaphoreTests.cpp
external/vulkancts/modules/vulkan/synchronization/vktSynchronizationInternallySynchronizedObjectsTests.cpp
external/vulkancts/modules/vulkan/synchronization/vktSynchronizationOperationMultiQueueTests.cpp
external/vulkancts/modules/vulkan/synchronization/vktSynchronizationOperationSingleQueueTests.cpp
external/vulkancts/modules/vulkan/synchronization/vktSynchronizationSmokeTests.cpp
external/vulkancts/modules/vulkan/synchronization/vktSynchronizationUtil.cpp
external/vulkancts/modules/vulkan/synchronization/vktSynchronizationUtil.hpp
external/vulkancts/modules/vulkan/tessellation/vktTessellationCommonEdgeTests.cpp
external/vulkancts/modules/vulkan/tessellation/vktTessellationCoordinatesTests.cpp
external/vulkancts/modules/vulkan/tessellation/vktTessellationFractionalSpacingTests.cpp
external/vulkancts/modules/vulkan/tessellation/vktTessellationGeometryGridRenderTests.cpp
external/vulkancts/modules/vulkan/tessellation/vktTessellationGeometryPassthroughTests.cpp
external/vulkancts/modules/vulkan/tessellation/vktTessellationGeometryPointSizeTests.cpp
external/vulkancts/modules/vulkan/tessellation/vktTessellationInvarianceTests.cpp
external/vulkancts/modules/vulkan/tessellation/vktTessellationMiscDrawTests.cpp
external/vulkancts/modules/vulkan/tessellation/vktTessellationPrimitiveDiscardTests.cpp
external/vulkancts/modules/vulkan/tessellation/vktTessellationShaderInputOutputTests.cpp
external/vulkancts/modules/vulkan/tessellation/vktTessellationUserDefinedIO.cpp
external/vulkancts/modules/vulkan/tessellation/vktTessellationUtil.cpp
external/vulkancts/modules/vulkan/tessellation/vktTessellationUtil.hpp
external/vulkancts/modules/vulkan/tessellation/vktTessellationWindingTests.cpp
external/vulkancts/modules/vulkan/texture/vktTextureFilteringExplicitLodTests.cpp
external/vulkancts/modules/vulkan/texture/vktTextureTestUtil.cpp
external/vulkancts/modules/vulkan/ubo/vktUniformBlockCase.cpp
external/vulkancts/modules/vulkan/vktRenderPassTests.cpp
external/vulkancts/modules/vulkan/vktShaderLibrary.cpp
external/vulkancts/modules/vulkan/vktTestCase.cpp
external/vulkancts/modules/vulkan/wsi/vktWsiDisplayTimingTests.cpp
external/vulkancts/modules/vulkan/wsi/vktWsiIncrementalPresentTests.cpp
external/vulkancts/modules/vulkan/wsi/vktWsiSharedPresentableImageTests.cpp
external/vulkancts/modules/vulkan/wsi/vktWsiSwapchainTests.cpp

index da2f9c6..5619432 100644 (file)
@@ -291,4 +291,13 @@ bool isLayerSupported (const std::vector<VkLayerProperties>& layers, const Requi
        return isLayerSupported(layers.begin(), layers.end(), required);
 }
 
+VkQueue getDeviceQueue (const DeviceInterface& vkd, VkDevice device, deUint32 queueFamilyIndex, deUint32 queueIndex)
+{
+       VkQueue queue;
+
+       vkd.getDeviceQueue(device, queueFamilyIndex, queueIndex, &queue);
+
+       return queue;
+}
+
 } // vk
index 12b0834..bf1709b 100644 (file)
@@ -52,6 +52,8 @@ std::vector<VkExtensionProperties>                            enumerateInstanceExtensionProperties                    (co
 std::vector<VkLayerProperties>                                 enumerateDeviceLayerProperties                                  (const InstanceInterface& vki, VkPhysicalDevice physicalDevice);
 std::vector<VkExtensionProperties>                             enumerateDeviceExtensionProperties                              (const InstanceInterface& vki, VkPhysicalDevice physicalDevice, const char* layerName);
 
+VkQueue                                                                                        getDeviceQueue                                                                  (const DeviceInterface& vkd, VkDevice device, deUint32 queueFamilyIndex, deUint32 queueIndex);
+
 // Feature / extension support
 
 bool                                                                                   isShaderStageSupported                                                  (const VkPhysicalDeviceFeatures& deviceFeatures, VkShaderStageFlagBits stage);
index c987fe3..4b2ef87 100644 (file)
@@ -66,4 +66,88 @@ Move<VkDescriptorSet> allocateDescriptorSet (const DeviceInterface& vk, VkDevice
        return Move<VkDescriptorSet>(check<VkDescriptorSet>(object), Deleter<VkDescriptorSet>(vk, device, pAllocateInfo->descriptorPool));
 }
 
+Move<VkSemaphore> createSemaphore (const DeviceInterface&              vk,
+                                                                  VkDevice                                             device,
+                                                                  VkSemaphoreCreateFlags               flags,
+                                                                  const VkAllocationCallbacks* pAllocator)
+{
+       const VkSemaphoreCreateInfo createInfo =
+       {
+               VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO,
+               DE_NULL,
+
+               flags
+       };
+
+       return createSemaphore(vk, device, &createInfo, pAllocator);
+}
+
+Move<VkFence> createFence (const DeviceInterface&              vk,
+                                                  VkDevice                                             device,
+                                                  VkFenceCreateFlags                   flags,
+                                                  const VkAllocationCallbacks* pAllocator)
+{
+       const VkFenceCreateInfo createInfo =
+       {
+               VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,
+               DE_NULL,
+
+               flags
+       };
+
+       return createFence(vk, device, &createInfo, pAllocator);
+}
+
+Move<VkCommandPool> createCommandPool (const DeviceInterface&          vk,
+                                                                          VkDevice                                             device,
+                                                                          VkCommandPoolCreateFlags             flags,
+                                                                          deUint32                                             queueFamilyIndex,
+                                                                          const VkAllocationCallbacks* pAllocator)
+{
+       const VkCommandPoolCreateInfo createInfo =
+       {
+               VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,
+               DE_NULL,
+
+               flags,
+               queueFamilyIndex
+       };
+
+       return createCommandPool(vk, device, &createInfo, pAllocator);
+}
+
+Move<VkCommandBuffer> allocateCommandBuffer (const DeviceInterface&    vk,
+                                                                                        VkDevice                               device,
+                                                                                        VkCommandPool                  commandPool,
+                                                                                        VkCommandBufferLevel   level)
+{
+       const VkCommandBufferAllocateInfo allocInfo =
+       {
+               VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,
+               DE_NULL,
+
+               commandPool,
+               level,
+               1
+       };
+
+       return allocateCommandBuffer(vk, device, &allocInfo);
+}
+
+Move<VkEvent> createEvent (const DeviceInterface&              vk,
+                                                  VkDevice                                             device,
+                                                  VkEventCreateFlags                   flags,
+                                                  const VkAllocationCallbacks* pAllocateInfo)
+{
+       const VkEventCreateInfo createInfo =
+       {
+               VK_STRUCTURE_TYPE_EVENT_CREATE_INFO,
+               DE_NULL,
+
+               flags
+       };
+
+       return createEvent(vk, device, &createInfo, pAllocateInfo);
+}
+
 } // vk
index 096790a..7484582 100644 (file)
@@ -44,6 +44,32 @@ Move<VkPipeline>             createComputePipeline   (const DeviceInterface&                                 vk,
 Move<VkCommandBuffer>  allocateCommandBuffer   (const DeviceInterface& vk, VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo);
 Move<VkDescriptorSet>  allocateDescriptorSet   (const DeviceInterface& vk, VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo);
 
+Move<VkSemaphore>              createSemaphore                 (const DeviceInterface&                 vk,
+                                                                                                VkDevice                                               device,
+                                                                                                VkSemaphoreCreateFlags                 flags           = (VkSemaphoreCreateFlags)0,
+                                                                                                const VkAllocationCallbacks*   pAllocator      = DE_NULL);
+
+Move<VkFence>                  createFence                             (const DeviceInterface&                 vk,
+                                                                                                VkDevice                                               device,
+                                                                                                VkFenceCreateFlags                             flags           = (VkFenceCreateFlags)0,
+                                                                                                const VkAllocationCallbacks*   pAllocator      = DE_NULL);
+
+Move<VkCommandPool>            createCommandPool               (const DeviceInterface&                 vk,
+                                                                                                VkDevice                                               device,
+                                                                                                VkCommandPoolCreateFlags               flags,
+                                                                                                deUint32                                               queueFamilyIndex,
+                                                                                                const VkAllocationCallbacks*   pAllocator      = DE_NULL);
+
+Move<VkCommandBuffer>  allocateCommandBuffer   (const DeviceInterface&                 vk,
+                                                                                                VkDevice                                               device,
+                                                                                                VkCommandPool                                  commandPool,
+                                                                                                VkCommandBufferLevel                   level);
+
+Move<VkEvent>                  createEvent                             (const DeviceInterface&                 vk,
+                                                                                                VkDevice                                               device,
+                                                                                                VkEventCreateFlags                             flags = (VkEventCreateFlags)0u,
+                                                                                                const VkAllocationCallbacks*   pAllocateInfo = DE_NULL);
+
 } // vk
 
 #endif // _VKREFUTIL_HPP
index 8ccd621..f8d0cc8 100644 (file)
@@ -314,9 +314,7 @@ tcu::TestStatus BufferTestInstance::bufferCreateAndAllocTest (VkDeviceSize size)
        // Bind the memory
        if ((m_testCase.flags & (VK_BUFFER_CREATE_SPARSE_BINDING_BIT | VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT | VK_BUFFER_CREATE_SPARSE_ALIASED_BIT)) != 0)
        {
-               VkQueue                                                         queue                                   = DE_NULL;
-
-               vk.getDeviceQueue(vkDevice, queueFamilyIndex, 0, &queue);
+               const VkQueue                                           queue                                   = getDeviceQueue(vk, vkDevice, queueFamilyIndex, 0);
 
                const VkSparseMemoryBind                        sparseMemoryBind                =
                {
@@ -350,14 +348,7 @@ tcu::TestStatus BufferTestInstance::bufferCreateAndAllocTest (VkDeviceSize size)
                        DE_NULL,                                                                // const VkSemaphore*                                           pSignalSemaphores;
                };
 
-               const VkFenceCreateInfo fenceParams =
-               {
-                       VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,    // VkStructureType              sType;
-                       DE_NULL,                                                                // const void*                  pNext;
-                       0u                                                                              // VkFenceCreateFlags   flags;
-               };
-
-               const vk::Unique<vk::VkFence> fence(vk::createFence(vk, vkDevice, &fenceParams));
+               const vk::Unique<vk::VkFence> fence(vk::createFence(vk, vkDevice));
 
                if (vk.queueBindSparse(queue, 1, &bindSparseInfo, *fence) != VK_SUCCESS)
                        return tcu::TestStatus::fail("Bind sparse buffer memory failed! (requested memory size: " + de::toString(size) + ")");
index dc30ecb..50554ca 100644 (file)
@@ -619,29 +619,10 @@ BufferViewTestInstance::BufferViewTestInstance (Context& context, BufferViewCase
        }
 
        // Create command pool
-       {
-               const VkCommandPoolCreateInfo cmdPoolParams =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,             // VkStructureType              sType;
-                       DE_NULL,                                                                                // const void*                  pNext;
-                       VK_COMMAND_POOL_CREATE_TRANSIENT_BIT,                   // VkCmdPoolCreateFlags flags;
-                       queueFamilyIndex,                                                               // deUint32                             queueFamilyIndex;
-               };
-
-               m_cmdPool = createCommandPool(vk, vkDevice, &cmdPoolParams);
-       }
+       m_cmdPool = createCommandPool(vk, vkDevice, VK_COMMAND_POOL_CREATE_TRANSIENT_BIT, queueFamilyIndex);
 
        // Create command buffer
        {
-               const VkCommandBufferAllocateInfo cmdBufferParams =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO, // VkStructureType                      sType;
-                       DE_NULL,                                                                                // const void*                          pNext;
-                       *m_cmdPool,                                                                             // VkCmdPool                            cmdPool;
-                       VK_COMMAND_BUFFER_LEVEL_PRIMARY,                                // VkCmdBufferLevel                     level;
-                       1u                                                                                              // deUint32                                     count;
-               };
-
                const VkCommandBufferBeginInfo cmdBufferBeginInfo =
                {
                        VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO,    // VkStructureType                      sType;
@@ -671,7 +652,7 @@ BufferViewTestInstance::BufferViewTestInstance (Context& context, BufferViewCase
                        attachmentClearValues                                                                   // const VkClearValue*  pClearValues;
                };
 
-               m_cmdBuffer = allocateCommandBuffer(vk, vkDevice, &cmdBufferParams);
+               m_cmdBuffer = allocateCommandBuffer(vk, vkDevice, *m_cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY);
 
                VK_CHECK(vk.beginCommandBuffer(*m_cmdBuffer, &cmdBufferBeginInfo));
 
@@ -762,16 +743,7 @@ BufferViewTestInstance::BufferViewTestInstance (Context& context, BufferViewCase
        }
 
        // Create fence
-       {
-               const VkFenceCreateInfo fenceParams =
-               {
-                       VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,    // VkStructureType              sType;
-                       DE_NULL,                                                                // const void*                  pNext;
-                       0u                                                                              // VkFenceCreateFlags   flags;
-               };
-
-               m_fence = createFence(vk, vkDevice, &fenceParams);
-       }
+       m_fence = createFence(vk, vkDevice);
 }
 
 tcu::TestStatus BufferViewTestInstance::checkResult (deInt8 factor)
index 8440c90..52ee3b2 100644 (file)
@@ -88,15 +88,7 @@ CommandBufferBareTestEnvironment<NumBuffers>::CommandBufferBareTestEnvironment(C
        , m_queueFamilyIndex                                    (context.getUniversalQueueFamilyIndex())
        , m_allocator                                                   (context.getDefaultAllocator())
 {
-       const VkCommandPoolCreateInfo                   cmdPoolCreateInfo               =
-       {
-               VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,                                     // VkStructureType             sType;
-               DE_NULL,                                                                                                        // const void*                 pNext;
-               commandPoolCreateFlags,                                                                         // VkCommandPoolCreateFlags    flags;
-               m_queueFamilyIndex                                                                                      // deUint32                    queueFamilyIndex;
-       };
-
-       m_commandPool = createCommandPool(m_vkd, m_device, &cmdPoolCreateInfo, DE_NULL);
+       m_commandPool = createCommandPool(m_vkd, m_device, commandPoolCreateFlags, m_queueFamilyIndex);
 
        const VkCommandBufferAllocateInfo               cmdBufferAllocateInfo   =
        {
@@ -375,17 +367,7 @@ void CommandBufferRenderPassTestEnvironment::beginSecondaryCommandBuffer(VkComma
 
 void CommandBufferRenderPassTestEnvironment::submitPrimaryCommandBuffer(void)
 {
-
-       const VkFenceCreateInfo fenceCreateInfo                                                 =
-       {
-               VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,                                    // VkStructureType       sType;
-               DE_NULL,                                                                                                // const void*           pNext;
-               0u                                                                                                              // VkFenceCreateFlags    flags;
-       };
-
-       const Unique<VkFence>                                   fence                                   (createFence(m_vkd, m_device, &fenceCreateInfo));
-
-
+       const Unique<VkFence>                                   fence                                   (createFence(m_vkd, m_device));
        const VkSubmitInfo                                              submitInfo                              =
        {
                VK_STRUCTURE_TYPE_SUBMIT_INFO,                                                  // VkStructureType                sType;
@@ -503,15 +485,7 @@ tcu::TestStatus createPoolNullParamsTest(Context& context)
        const DeviceInterface&                                  vk                                              = context.getDeviceInterface();
        const deUint32                                                  queueFamilyIndex                = context.getUniversalQueueFamilyIndex();
 
-       const VkCommandPoolCreateInfo                   cmdPoolParams                   =
-       {
-               VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,                                     // sType;
-               DE_NULL,                                                                                                        // pNext;
-               0u,                                                                                                                     // flags;
-               queueFamilyIndex,                                                                                       // queueFamilyIndex;
-       };
-
-       createCommandPool(vk, vkDevice, &cmdPoolParams, DE_NULL);
+       createCommandPool(vk, vkDevice, 0u, queueFamilyIndex);
 
        return tcu::TestStatus::pass("Command Pool allocated correctly.");
 }
@@ -622,13 +596,7 @@ bool executeCommandBuffer (const VkDevice                  device,
                                                   const VkCommandBuffer        commandBuffer,
                                                   const bool                           exitBeforeEndCommandBuffer = false)
 {
-       const VkEventCreateInfo                 eventCreateInfo                 =
-       {
-               VK_STRUCTURE_TYPE_EVENT_CREATE_INFO,                    //VkStructureType               sType;
-               DE_NULL,                                                                                //const void*                   pNext;
-               0u                                                                                              //VkEventCreateFlags    flags;
-       };
-       const Unique<VkEvent>                   event                                   (createEvent(vk, device, &eventCreateInfo));
+       const Unique<VkEvent>                   event                                   (createEvent(vk, device));
        const VkCommandBufferBeginInfo  commandBufferBeginInfo  =
        {
                VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO,    //VkStructureType                                               sType;
@@ -647,13 +615,7 @@ bool executeCommandBuffer (const VkDevice                  device,
        VK_CHECK(vk.endCommandBuffer(commandBuffer));
 
        {
-               const VkFenceCreateInfo                                 fenceCreateInfo =
-               {
-                       VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,    //VkStructureType               sType;
-                       DE_NULL,                                                                //const void*                   pNext;
-                       0u                                                                              //VkFenceCreateFlags    flags;
-               };
-               const Unique<VkFence>                                   fence                   (createFence(vk, device, &fenceCreateInfo));
+               const Unique<VkFence>                                   fence                   (createFence(vk, device));
                const VkSubmitInfo                                              submitInfo              =
                {
                        VK_STRUCTURE_TYPE_SUBMIT_INFO,                  // sType
@@ -910,16 +872,8 @@ tcu::TestStatus executePrimaryBufferTest(Context& context)
                (const VkCommandBufferInheritanceInfo*)DE_NULL,
        };
 
-       // Fill create info struct for event
-       const VkEventCreateInfo                                 eventCreateInfo                 =
-       {
-               VK_STRUCTURE_TYPE_EVENT_CREATE_INFO,
-               DE_NULL,
-               0u,
-       };
-
        // create event that will be used to check if secondary command buffer has been executed
-       const Unique<VkEvent>                                   event                                   (createEvent(vk, vkDevice, &eventCreateInfo));
+       const Unique<VkEvent>                                   event                                   (createEvent(vk, vkDevice));
 
        // reset event
        VK_CHECK(vk.resetEvent(vkDevice, *event));
@@ -935,15 +889,8 @@ tcu::TestStatus executePrimaryBufferTest(Context& context)
        }
        VK_CHECK(vk.endCommandBuffer(*primCmdBuf));
 
-       const VkFenceCreateInfo                                 fenceCreateInfo                 =
-       {
-               VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,
-               DE_NULL,
-               0u,                                                                                                                     // flags
-       };
-
        // create fence to wait for execution of queue
-       const Unique<VkFence>                                   fence                                   (createFence(vk, vkDevice, &fenceCreateInfo));
+       const Unique<VkFence>                                   fence                                   (createFence(vk, vkDevice));
 
        const VkSubmitInfo                                              submitInfo                              =
        {
@@ -1007,17 +954,9 @@ tcu::TestStatus executeLargePrimaryBufferTest(Context& context)
                (const VkCommandBufferInheritanceInfo*)DE_NULL,
        };
 
-       // Fill create info struct for event
-       const VkEventCreateInfo                                 eventCreateInfo                 =
-       {
-               VK_STRUCTURE_TYPE_EVENT_CREATE_INFO,
-               DE_NULL,
-               0u,
-       };
-
        std::vector<VkEventSp>                                  events;
        for (deUint32 ndx = 0; ndx < LARGE_BUFFER_SIZE; ++ndx)
-               events.push_back(VkEventSp(new vk::Unique<VkEvent>(createEvent(vk, vkDevice, &eventCreateInfo, DE_NULL))));
+               events.push_back(VkEventSp(new vk::Unique<VkEvent>(createEvent(vk, vkDevice))));
 
        // record primary command buffer
        VK_CHECK(vk.beginCommandBuffer(*primCmdBuf, &primCmdBufBeginInfo));
@@ -1030,15 +969,8 @@ tcu::TestStatus executeLargePrimaryBufferTest(Context& context)
        }
        VK_CHECK(vk.endCommandBuffer(*primCmdBuf));
 
-       const VkFenceCreateInfo                                 fenceCreateInfo                 =
-       {
-               VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,
-               DE_NULL,
-               0u,                                                                                                                     // flags
-       };
-
        // create fence to wait for execution of queue
-       const Unique<VkFence>                                   fence                                   (createFence(vk, vkDevice, &fenceCreateInfo));
+       const Unique<VkFence>                                   fence                                   (createFence(vk, vkDevice));
 
        const VkSubmitInfo                                              submitInfo                              =
        {
@@ -1113,13 +1045,7 @@ tcu::TestStatus resetBufferImplicitlyTest(Context& context)
                (const VkCommandBufferInheritanceInfo*)DE_NULL,
        };
 
-       const VkEventCreateInfo                                 eventCreateInfo                 =
-       {
-               VK_STRUCTURE_TYPE_EVENT_CREATE_INFO,                                            // sType;
-               DE_NULL,                                                                                                        // pNext;
-               0u,                                                                                                                     // flags;
-       };
-       const Unique<VkEvent>                                   event                                   (createEvent(vk, vkDevice, &eventCreateInfo));
+       const Unique<VkEvent>                                   event                                   (createEvent(vk, vkDevice));
 
        // Put the command buffer in recording state.
        VK_CHECK(vk.beginCommandBuffer(*cmdBuf, &cmdBufBeginInfo));
@@ -1130,13 +1056,7 @@ tcu::TestStatus resetBufferImplicitlyTest(Context& context)
        VK_CHECK(vk.endCommandBuffer(*cmdBuf));
 
        // We'll use a fence to wait for the execution of the queue
-       const VkFenceCreateInfo                                 fenceCreateInfo                 =
-       {
-               VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,                                            // sType;
-               DE_NULL,                                                                                                        // pNext;
-               0u,                                                                                                                     // flags
-       };
-       const Unique<VkFence>                                   fence                                   (createFence(vk, vkDevice, &fenceCreateInfo));
+       const Unique<VkFence>                                   fence                                   (createFence(vk, vkDevice));
 
        const VkSubmitInfo                                              submitInfo                              =
        {
@@ -1197,19 +1117,12 @@ inline SharedPtr<Unique<T> > makeSharedPtr (Move<T> move)
 
 bool submitAndCheck (Context& context, std::vector<VkCommandBuffer>& cmdBuffers, std::vector <VkEventShared>& events)
 {
-       const VkDevice                                                  vkDevice        = context.getDevice();
-       const DeviceInterface&                                  vk                      = context.getDeviceInterface();
-       const VkQueue                                                   queue           = context.getUniversalQueue();
+       const VkDevice                                          vkDevice        = context.getDevice();
+       const DeviceInterface&                          vk                      = context.getDeviceInterface();
+       const VkQueue                                           queue           = context.getUniversalQueue();
+       const Unique<VkFence>                           fence           (createFence(vk, vkDevice));
 
-       const VkFenceCreateInfo                         fenceCreateInfo =
-       {
-               VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,            // sType;
-               DE_NULL,                                                                        // pNext;
-               0u,                                                                                     // flags
-       };
-       const Unique<VkFence>                           fence                   (createFence(vk, vkDevice, &fenceCreateInfo));
-
-       const VkSubmitInfo                                      submitInfo              =
+       const VkSubmitInfo                                      submitInfo      =
        {
                VK_STRUCTURE_TYPE_SUBMIT_INFO,                          // sType
                DE_NULL,                                                                        // pNext
@@ -1331,16 +1244,9 @@ tcu::TestStatus trimCommandPoolTest (Context& context, const VkCommandBufferLeve
        };
        const Unique<VkCommandPool>                             cmdPool                                 (createCommandPool(vk, vkDevice, &cmdPoolParams));
 
-       const VkEventCreateInfo                                 eventCreateInfo                 =
-       {
-               VK_STRUCTURE_TYPE_EVENT_CREATE_INFO,                                            // sType;
-               DE_NULL,                                                                                                        // pNext;
-               0u,                                                                                                                     // flags;
-       };
-
        std::vector <VkEventShared>                             events;
        for (deUint32 ndx = 0u; ndx < cmdBufferCount; ++ndx)
-               events.push_back(makeSharedPtr(createEvent(vk, vkDevice, &eventCreateInfo)));
+               events.push_back(makeSharedPtr(createEvent(vk, vkDevice)));
 
        {
                std::vector<VkCommandBuffer> cmdBuffers(cmdBufferCount);
@@ -1435,16 +1341,8 @@ tcu::TestStatus recordSinglePrimaryBufferTest(Context& context)
                (const VkCommandBufferInheritanceInfo*)DE_NULL,
        };
 
-       // Fill create info struct for event
-       const VkEventCreateInfo                                 eventCreateInfo                 =
-       {
-               VK_STRUCTURE_TYPE_EVENT_CREATE_INFO,
-               DE_NULL,
-               0u,
-       };
-
        // create event that will be used to check if secondary command buffer has been executed
-       const Unique<VkEvent>                                   event                                   (createEvent(vk, vkDevice, &eventCreateInfo));
+       const Unique<VkEvent>                                   event                                   (createEvent(vk, vkDevice));
 
        // record primary command buffer
        VK_CHECK(vk.beginCommandBuffer(*primCmdBuf, &primCmdBufBeginInfo));
@@ -1492,16 +1390,8 @@ tcu::TestStatus recordLargePrimaryBufferTest(Context &context)
                (const VkCommandBufferInheritanceInfo*)DE_NULL,
        };
 
-       // Fill create info struct for event
-       const VkEventCreateInfo                                 eventCreateInfo                 =
-       {
-               VK_STRUCTURE_TYPE_EVENT_CREATE_INFO,
-               DE_NULL,
-               0u,
-       };
-
        // create event that will be used to check if secondary command buffer has been executed
-       const Unique<VkEvent>                                   event                                   (createEvent(vk, vkDevice, &eventCreateInfo));
+       const Unique<VkEvent>                                   event                                   (createEvent(vk, vkDevice));
 
        // reset event
        VK_CHECK(vk.resetEvent(vkDevice, *event));
@@ -1527,15 +1417,8 @@ tcu::TestStatus recordLargePrimaryBufferTest(Context &context)
        }
        VK_CHECK(vk.endCommandBuffer(*primCmdBuf));
 
-       const VkFenceCreateInfo                                 fenceCreateInfo                 =
-       {
-               VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,
-               DE_NULL,
-               0u,                                                                                                                     // flags
-       };
-
        // create fence to wait for execution of queue
-       const Unique<VkFence>                                   fence                                   (createFence(vk, vkDevice, &fenceCreateInfo));
+       const Unique<VkFence>                                   fence                                   (createFence(vk, vkDevice));
 
        const VkSubmitInfo                                              submitInfo                              =
        {
@@ -1604,16 +1487,8 @@ tcu::TestStatus recordSingleSecondaryBufferTest(Context& context)
                &secCmdBufInheritInfo,
        };
 
-       // Fill create info struct for event
-       const VkEventCreateInfo                                 eventCreateInfo                 =
-       {
-               VK_STRUCTURE_TYPE_EVENT_CREATE_INFO,
-               DE_NULL,
-               0u,
-       };
-
        // create event that will be used to check if secondary command buffer has been executed
-       const Unique<VkEvent>                                   event                                   (createEvent(vk, vkDevice, &eventCreateInfo));
+       const Unique<VkEvent>                                   event                                   (createEvent(vk, vkDevice));
 
        // record primary command buffer
        VK_CHECK(vk.beginCommandBuffer(*secCmdBuf, &secCmdBufBeginInfo));
@@ -1661,16 +1536,8 @@ tcu::TestStatus recordLargeSecondaryBufferTest(Context &context)
                (const VkCommandBufferInheritanceInfo*)DE_NULL,
        };
 
-       // Fill create info struct for event
-       const VkEventCreateInfo                                 eventCreateInfo                 =
-       {
-               VK_STRUCTURE_TYPE_EVENT_CREATE_INFO,
-               DE_NULL,
-               0u,
-       };
-
        // create event that will be used to check if secondary command buffer has been executed
-       const Unique<VkEvent>                                   event                                   (createEvent(vk, vkDevice, &eventCreateInfo));
+       const Unique<VkEvent>                                   event                                   (createEvent(vk, vkDevice));
 
        // reset event
        VK_CHECK(vk.resetEvent(vkDevice, *event));
@@ -1697,15 +1564,8 @@ tcu::TestStatus recordLargeSecondaryBufferTest(Context &context)
        }
        VK_CHECK(vk.endCommandBuffer(*primCmdBuf));
 
-       const VkFenceCreateInfo                                 fenceCreateInfo                 =
-       {
-               VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,
-               DE_NULL,
-               0u,                                                                                                                     // flags
-       };
-
        // create fence to wait for execution of queue
-       const Unique<VkFence>                                   fence                                   (createFence(vk, vkDevice, &fenceCreateInfo));
+       const Unique<VkFence>                                   fence                                   (createFence(vk, vkDevice));
 
        const VkSubmitInfo                                              submitInfo                              =
        {
@@ -1764,16 +1624,8 @@ tcu::TestStatus submitPrimaryBufferTwiceTest(Context& context)
                (const VkCommandBufferInheritanceInfo*)DE_NULL,
        };
 
-       // Fill create info struct for event
-       const VkEventCreateInfo                                 eventCreateInfo                 =
-       {
-               VK_STRUCTURE_TYPE_EVENT_CREATE_INFO,
-               DE_NULL,
-               0u,
-       };
-
        // create event that will be used to check if secondary command buffer has been executed
-       const Unique<VkEvent>                                   event                                   (createEvent(vk, vkDevice, &eventCreateInfo));
+       const Unique<VkEvent>                                   event                                   (createEvent(vk, vkDevice));
 
        // reset event
        VK_CHECK(vk.resetEvent(vkDevice, *event));
@@ -1789,15 +1641,8 @@ tcu::TestStatus submitPrimaryBufferTwiceTest(Context& context)
        }
        VK_CHECK(vk.endCommandBuffer(*primCmdBuf));
 
-       const VkFenceCreateInfo                                 fenceCreateInfo                 =
-       {
-               VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,
-               DE_NULL,
-               0u,                                                                                                                     // flags
-       };
-
        // create fence to wait for execution of queue
-       const Unique<VkFence>                                   fence                                   (createFence(vk, vkDevice, &fenceCreateInfo));
+       const Unique<VkFence>                                   fence                                   (createFence(vk, vkDevice));
 
        const VkSubmitInfo                                              submitInfo                              =
        {
@@ -1908,16 +1753,8 @@ tcu::TestStatus submitSecondaryBufferTwiceTest(Context& context)
                &secCmdBufInheritInfo,
        };
 
-       // Fill create info struct for event
-       const VkEventCreateInfo                                 eventCreateInfo                 =
-       {
-               VK_STRUCTURE_TYPE_EVENT_CREATE_INFO,
-               DE_NULL,
-               0u,
-       };
-
        // create event that will be used to check if secondary command buffer has been executed
-       const Unique<VkEvent>                                   event                                   (createEvent(vk, vkDevice, &eventCreateInfo));
+       const Unique<VkEvent>                                   event                                   (createEvent(vk, vkDevice));
 
        // reset event
        VK_CHECK(vk.resetEvent(vkDevice, *event));
@@ -1943,15 +1780,8 @@ tcu::TestStatus submitSecondaryBufferTwiceTest(Context& context)
        }
        VK_CHECK(vk.endCommandBuffer(*primCmdBuf1));
 
-       const VkFenceCreateInfo                                 fenceCreateInfo                 =
-       {
-               VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,
-               DE_NULL,
-               0u,                                                                                                                     // flags
-       };
-
        // create fence to wait for execution of queue
-       const Unique<VkFence>                                   fence                                   (createFence(vk, vkDevice, &fenceCreateInfo));
+       const Unique<VkFence>                                   fence                                   (createFence(vk, vkDevice));
 
        const VkSubmitInfo                                              submitInfo1                             =
        {
@@ -2053,16 +1883,8 @@ tcu::TestStatus oneTimeSubmitFlagPrimaryBufferTest(Context& context)
                (const VkCommandBufferInheritanceInfo*)DE_NULL,
        };
 
-       // Fill create info struct for event
-       const VkEventCreateInfo                                 eventCreateInfo                 =
-       {
-               VK_STRUCTURE_TYPE_EVENT_CREATE_INFO,
-               DE_NULL,
-               0u,
-       };
-
        // create event that will be used to check if secondary command buffer has been executed
-       const Unique<VkEvent>                                   event                                   (createEvent(vk, vkDevice, &eventCreateInfo));
+       const Unique<VkEvent>                                   event                                   (createEvent(vk, vkDevice));
 
        // reset event
        VK_CHECK(vk.resetEvent(vkDevice, *event));
@@ -2078,15 +1900,8 @@ tcu::TestStatus oneTimeSubmitFlagPrimaryBufferTest(Context& context)
        }
        VK_CHECK(vk.endCommandBuffer(*primCmdBuf));
 
-       const VkFenceCreateInfo                                 fenceCreateInfo                 =
-       {
-               VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,
-               DE_NULL,
-               0u,                                                                                                                     // flags
-       };
-
        // create fence to wait for execution of queue
-       const Unique<VkFence>                                   fence                                   (createFence(vk, vkDevice, &fenceCreateInfo));
+       const Unique<VkFence>                                   fence                                   (createFence(vk, vkDevice));
 
        const VkSubmitInfo                                              submitInfo                              =
        {
@@ -2209,16 +2024,8 @@ tcu::TestStatus oneTimeSubmitFlagSecondaryBufferTest(Context& context)
                &secCmdBufInheritInfo,
        };
 
-       // Fill create info struct for event
-       const VkEventCreateInfo                                 eventCreateInfo                 =
-       {
-               VK_STRUCTURE_TYPE_EVENT_CREATE_INFO,
-               DE_NULL,
-               0u,
-       };
-
        // create event that will be used to check if secondary command buffer has been executed
-       const Unique<VkEvent>                                   event                                   (createEvent(vk, vkDevice, &eventCreateInfo));
+       const Unique<VkEvent>                                   event                                   (createEvent(vk, vkDevice));
 
        // reset event
        VK_CHECK(vk.resetEvent(vkDevice, *event));
@@ -2244,15 +2051,8 @@ tcu::TestStatus oneTimeSubmitFlagSecondaryBufferTest(Context& context)
        }
        VK_CHECK(vk.endCommandBuffer(*primCmdBuf1));
 
-       const VkFenceCreateInfo                                 fenceCreateInfo                 =
-       {
-               VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,
-               DE_NULL,
-               0u,                                                                                                                     // flags
-       };
-
        // create fence to wait for execution of queue
-       const Unique<VkFence>                                   fence                                   (createFence(vk, vkDevice, &fenceCreateInfo));
+       const Unique<VkFence>                                   fence                                   (createFence(vk, vkDevice));
 
        const VkSubmitInfo                                              submitInfo1                             =
        {
@@ -2420,17 +2220,9 @@ tcu::TestStatus simultaneousUsePrimaryBufferTest(Context& context)
                (const VkCommandBufferInheritanceInfo*)DE_NULL,
        };
 
-       // Fill create info struct for event
-       const VkEventCreateInfo                                 eventCreateInfo                 =
-       {
-               VK_STRUCTURE_TYPE_EVENT_CREATE_INFO,
-               DE_NULL,
-               0u,
-       };
-
        // create event that will be used to check if secondary command buffer has been executed
-       const Unique<VkEvent>                                   eventOne                                (createEvent(vk, vkDevice, &eventCreateInfo));
-       const Unique<VkEvent>                                   eventTwo                                (createEvent(vk, vkDevice, &eventCreateInfo));
+       const Unique<VkEvent>                                   eventOne                                (createEvent(vk, vkDevice));
+       const Unique<VkEvent>                                   eventTwo                                (createEvent(vk, vkDevice));
 
        // reset event
        VK_CHECK(vk.resetEvent(vkDevice, *eventOne));
@@ -2446,16 +2238,9 @@ tcu::TestStatus simultaneousUsePrimaryBufferTest(Context& context)
        }
        VK_CHECK(vk.endCommandBuffer(*primCmdBuf));
 
-       const VkFenceCreateInfo                                 fenceCreateInfo                 =
-       {
-               VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,
-               DE_NULL,
-               0u,                                                                                                                     // flags
-       };
-
        // create fence to wait for execution of queue
-       const Unique<VkFence>                                   fence1                                  (createFence(vk, vkDevice, &fenceCreateInfo));
-       const Unique<VkFence>                                   fence2                                  (createFence(vk, vkDevice, &fenceCreateInfo));
+       const Unique<VkFence>                                   fence1                                  (createFence(vk, vkDevice));
+       const Unique<VkFence>                                   fence2                                  (createFence(vk, vkDevice));
 
 
        const VkSubmitInfo                                              submitInfo                              =
@@ -2565,17 +2350,9 @@ tcu::TestStatus simultaneousUseSecondaryBufferTest(Context& context)
                &secCmdBufInheritInfo,
        };
 
-       // Fill create info struct for event
-       const VkEventCreateInfo                                 eventCreateInfo                 =
-       {
-               VK_STRUCTURE_TYPE_EVENT_CREATE_INFO,
-               DE_NULL,
-               0u,
-       };
-
        // create event that will be used to check if secondary command buffer has been executed
-       const Unique<VkEvent>                                   eventOne                                (createEvent(vk, vkDevice, &eventCreateInfo));
-       const Unique<VkEvent>                                   eventTwo                                (createEvent(vk, vkDevice, &eventCreateInfo));
+       const Unique<VkEvent>                                   eventOne                                (createEvent(vk, vkDevice));
+       const Unique<VkEvent>                                   eventTwo                                (createEvent(vk, vkDevice));
 
        // reset event
        VK_CHECK(vk.resetEvent(vkDevice, *eventOne));
@@ -2604,15 +2381,8 @@ tcu::TestStatus simultaneousUseSecondaryBufferTest(Context& context)
        }
        VK_CHECK(vk.endCommandBuffer(*primCmdBuf));
 
-       const VkFenceCreateInfo                                 fenceCreateInfo                 =
-       {
-               VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,
-               DE_NULL,
-               0u,                                                                                                                     // flags
-       };
-
        // create fence to wait for execution of queue
-       const Unique<VkFence>                                   fence                                   (createFence(vk, vkDevice, &fenceCreateInfo));
+       const Unique<VkFence>                                   fence                                   (createFence(vk, vkDevice));
 
        const VkSubmitInfo                                              submitInfo                              =
        {
@@ -2786,15 +2556,8 @@ tcu::TestStatus simultaneousUseSecondaryBufferOnePrimaryBufferTest(Context& cont
        }
        VK_CHECK(vk.endCommandBuffer(*primCmdBuf));
 
-       const VkFenceCreateInfo                                 fenceCreateInfo =
-       {
-               VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,
-               DE_NULL,
-               0u,                                                                                                                     // flags
-       };
-
        // create fence to wait for execution of queue
-       const Unique<VkFence>                                   fence(createFence(vk, vkDevice, &fenceCreateInfo));
+       const Unique<VkFence>                                   fence(createFence(vk, vkDevice));
 
        const VkSubmitInfo                                              submitInfo =
        {
@@ -2971,15 +2734,8 @@ tcu::TestStatus simultaneousUseSecondaryBufferTwoPrimaryBuffersTest(Context& con
        }
        VK_CHECK(vk.endCommandBuffer(*primCmdBufTwo));
 
-       const VkFenceCreateInfo                                 fenceCreateInfo =
-       {
-               VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,
-               DE_NULL,
-               0u,                                                                                                                     // flags
-       };
-
        // create fence to wait for execution of queue
-       const Unique<VkFence>                                   fence(createFence(vk, vkDevice, &fenceCreateInfo));
+       const Unique<VkFence>                                   fence(createFence(vk, vkDevice));
 
        const VkSubmitInfo                                              submitInfo =
        {
@@ -3335,17 +3091,10 @@ tcu::TestStatus submitBufferCountNonZero(Context& context)
                (const VkCommandBufferInheritanceInfo*)DE_NULL,
        };
 
-       const VkEventCreateInfo                                 eventCreateInfo                 =
-       {
-               VK_STRUCTURE_TYPE_EVENT_CREATE_INFO,                                            // sType;
-               DE_NULL,                                                                                                        // pNext;
-               0u,                                                                                                                     // flags;
-       };
-
        std::vector<VkEventSp>                                  events;
        for (deUint32 ndx = 0; ndx < BUFFER_COUNT; ++ndx)
        {
-               events.push_back(VkEventSp(new vk::Unique<VkEvent>(createEvent(vk, vkDevice, &eventCreateInfo, DE_NULL))));
+               events.push_back(VkEventSp(new vk::Unique<VkEvent>(createEvent(vk, vkDevice))));
        }
 
        // Record the command buffers
@@ -3359,13 +3108,7 @@ tcu::TestStatus submitBufferCountNonZero(Context& context)
        }
 
        // We'll use a fence to wait for the execution of the queue
-       const VkFenceCreateInfo                                 fenceCreateInfo                 =
-       {
-               VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,                                            // sType;
-               DE_NULL,                                                                                                        // pNext;
-               0u,                                                                                                                     // flags
-       };
-       const Unique<VkFence>                                   fence                                   (createFence(vk, vkDevice, &fenceCreateInfo));
+       const Unique<VkFence>                                   fence                                   (createFence(vk, vkDevice));
 
        const VkSubmitInfo                                              submitInfo                              =
        {
@@ -3441,16 +3184,9 @@ tcu::TestStatus submitBufferCountEqualZero(Context& context)
                (const VkCommandBufferInheritanceInfo*)DE_NULL,
        };
 
-       const VkEventCreateInfo                                 eventCreateInfo                 =
-       {
-               VK_STRUCTURE_TYPE_EVENT_CREATE_INFO,                                            // sType;
-               DE_NULL,                                                                                                        // pNext;
-               0u,                                                                                                                     // flags;
-       };
-
        std::vector<VkEventSp>                                  events;
        for (deUint32 ndx = 0; ndx < BUFFER_COUNT; ++ndx)
-               events.push_back(VkEventSp(new vk::Unique<VkEvent>(createEvent(vk, vkDevice, &eventCreateInfo, DE_NULL))));
+               events.push_back(VkEventSp(new vk::Unique<VkEvent>(createEvent(vk, vkDevice))));
 
        // Record the command buffers
        for (deUint32 ndx = 0; ndx < BUFFER_COUNT; ++ndx)
@@ -3463,14 +3199,8 @@ tcu::TestStatus submitBufferCountEqualZero(Context& context)
        }
 
        // We'll use a fence to wait for the execution of the queue
-       const VkFenceCreateInfo                                 fenceCreateInfo                 =
-       {
-               VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,                                            // sType;
-               DE_NULL,                                                                                                        // pNext;
-               0u,                                                                                                                     // flags
-       };
-       const Unique<VkFence>                                   fenceZero                               (createFence(vk, vkDevice, &fenceCreateInfo));
-       const Unique<VkFence>                                   fenceOne                                (createFence(vk, vkDevice, &fenceCreateInfo));
+       const Unique<VkFence>                                   fenceZero                               (createFence(vk, vkDevice));
+       const Unique<VkFence>                                   fenceOne                                (createFence(vk, vkDevice));
 
        const VkSubmitInfo                                              submitInfoCountZero             =
        {
@@ -3562,17 +3292,9 @@ tcu::TestStatus submitBufferWaitSingleSemaphore(Context& context)
                DE_NULL                                                                                                         // const VkCommandBufferInheritanceInfo*        pInheritanceInfo;
        };
 
-       // Fill create info struct for event
-       const VkEventCreateInfo                                 eventCreateInfo                 =
-       {
-               VK_STRUCTURE_TYPE_EVENT_CREATE_INFO,
-               DE_NULL,
-               0u,
-       };
-
        // create two events that will be used to check if command buffers has been executed
-       const Unique<VkEvent>                                   event1                                  (createEvent(vk, vkDevice, &eventCreateInfo));
-       const Unique<VkEvent>                                   event2                                  (createEvent(vk, vkDevice, &eventCreateInfo));
+       const Unique<VkEvent>                                   event1                                  (createEvent(vk, vkDevice));
+       const Unique<VkEvent>                                   event2                                  (createEvent(vk, vkDevice));
 
        // reset events
        VK_CHECK(vk.resetEvent(vkDevice, *event1));
@@ -3600,25 +3322,11 @@ tcu::TestStatus submitBufferWaitSingleSemaphore(Context& context)
        }
        VK_CHECK(vk.endCommandBuffer(*primCmdBuf2));
 
-       const VkFenceCreateInfo                                 fenceCreateInfo                 =
-       {
-               VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,
-               DE_NULL,
-               0u,                                                                                                                     // flags
-       };
-
        // create fence to wait for execution of queue
-       const Unique<VkFence>                                   fence                                   (createFence(vk, vkDevice, &fenceCreateInfo));
+       const Unique<VkFence>                                   fence                                   (createFence(vk, vkDevice));
 
        // create semaphore for use in this test
-       const VkSemaphoreCreateInfo                             semaphoreCreateInfo             =
-       {
-               VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO,                                        // sType;
-               DE_NULL,                                                                                                        // pNext;
-               0,                                                                                                                      // flags;
-       };
-
-       const Unique <VkSemaphore>                              semaphore                               (createSemaphore(vk, vkDevice, &semaphoreCreateInfo));
+       const Unique <VkSemaphore>                              semaphore                               (createSemaphore(vk, vkDevice));
 
        // create submit info for first buffer - signalling semaphore
        const VkSubmitInfo                                              submitInfo1                             =
@@ -3721,16 +3429,8 @@ tcu::TestStatus submitBufferWaitManySemaphores(Context& context)
                DE_NULL                                                                                                         // const VkCommandBufferInheritanceInfo*        pInheritanceInfo;
        };
 
-       // Fill create info struct for event
-       const VkEventCreateInfo                                 eventCreateInfo                 =
-       {
-               VK_STRUCTURE_TYPE_EVENT_CREATE_INFO,
-               DE_NULL,
-               0u,
-       };
-
        // create event that will be used to check if command buffers has been executed
-       const Unique<VkEvent>                                   event                                   (createEvent(vk, vkDevice, &eventCreateInfo));
+       const Unique<VkEvent>                                   event                                   (createEvent(vk, vkDevice));
 
        // reset event - at creation state is undefined
        VK_CHECK(vk.resetEvent(vkDevice, *event));
@@ -3746,32 +3446,17 @@ tcu::TestStatus submitBufferWaitManySemaphores(Context& context)
        }
        VK_CHECK(vk.endCommandBuffer(*primCmdBuf));
 
-       const VkFenceCreateInfo                                 fenceCreateInfo                 =
-       {
-               VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,
-               DE_NULL,
-               0u,                                                                                                                     // flags
-       };
-
        // create fence to wait for execution of queue
-       const Unique<VkFence>                                   fence                                   (createFence(vk, vkDevice, &fenceCreateInfo));
+       const Unique<VkFence>                                   fence                                   (createFence(vk, vkDevice));
 
        // numSemaphores is declared const, so this array can be static
        // the semaphores will be destroyed automatically at end of scope
        Move <VkSemaphore>                                              semaphoreArray[numSemaphores];
        VkSemaphore                                                             semaphores[numSemaphores];
 
-       // prepare create info for semaphores - same for all
-       const VkSemaphoreCreateInfo                             semaphoreCreateInfo             =
-       {
-               VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO,                                        // sType;
-               DE_NULL,                                                                                                        // pNext;
-               0,                                                                                                                      // flags;
-       };
-
        for (deUint32 idx = 0; idx < numSemaphores; ++idx) {
                // create semaphores for use in this test
-               semaphoreArray[idx] = createSemaphore(vk, vkDevice, &semaphoreCreateInfo);
+               semaphoreArray[idx] = createSemaphore(vk, vkDevice);
                semaphores[idx] = semaphoreArray[idx].get();
        };
 
@@ -3888,16 +3573,9 @@ tcu::TestStatus submitBufferNullFence(Context& context)
                (const VkCommandBufferInheritanceInfo*)DE_NULL,
        };
 
-       const VkEventCreateInfo                                 eventCreateInfo                 =
-       {
-               VK_STRUCTURE_TYPE_EVENT_CREATE_INFO,                                            // sType;
-               DE_NULL,                                                                                                        // pNext;
-               0u,                                                                                                                     // flags;
-       };
-
        std::vector<VkEventSp>                                  events;
        for (deUint32 ndx = 0; ndx < BUFFER_COUNT; ++ndx)
-               events.push_back(VkEventSp(new vk::Unique<VkEvent>(createEvent(vk, vkDevice, &eventCreateInfo, DE_NULL))));
+               events.push_back(VkEventSp(new vk::Unique<VkEvent>(createEvent(vk, vkDevice))));
 
        // Record the command buffers
        for (deUint32 ndx = 0; ndx < BUFFER_COUNT; ++ndx)
@@ -3910,13 +3588,7 @@ tcu::TestStatus submitBufferNullFence(Context& context)
        }
 
        // We'll use a fence to wait for the execution of the queue
-       const VkFenceCreateInfo                                 fenceCreateInfo                 =
-       {
-               VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,                                            // sType;
-               DE_NULL,                                                                                                        // pNext;
-               0u,                                                                                                                     // flags
-       };
-       const Unique<VkFence>                                   fence                                   (createFence(vk, vkDevice, &fenceCreateInfo));
+       const Unique<VkFence>                                   fence                                   (createFence(vk, vkDevice));
 
        const VkSubmitInfo                                              submitInfoNullFence             =
        {
@@ -4036,16 +3708,8 @@ tcu::TestStatus executeSecondaryBufferTest(Context& context)
                &secCmdBufInheritInfo,
        };
 
-       // Fill create info struct for event
-       const VkEventCreateInfo                                 eventCreateInfo                 =
-       {
-               VK_STRUCTURE_TYPE_EVENT_CREATE_INFO,
-               DE_NULL,
-               0u,
-       };
-
        // create event that will be used to check if secondary command buffer has been executed
-       const Unique<VkEvent>                                   event                                   (createEvent(vk, vkDevice, &eventCreateInfo));
+       const Unique<VkEvent>                                   event                                   (createEvent(vk, vkDevice));
 
        // reset event
        VK_CHECK(vk.resetEvent(vkDevice, *event));
@@ -4069,15 +3733,8 @@ tcu::TestStatus executeSecondaryBufferTest(Context& context)
        }
        VK_CHECK(vk.endCommandBuffer(*primCmdBuf));
 
-       const VkFenceCreateInfo                                 fenceCreateInfo                 =
-       {
-               VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,
-               DE_NULL,
-               0u,                                                                                                                     // flags
-       };
-
        // create fence to wait for execution of queue
-       const Unique<VkFence>                                   fence                                   (createFence(vk, vkDevice, &fenceCreateInfo));
+       const Unique<VkFence>                                   fence                                   (createFence(vk, vkDevice));
        const VkSubmitInfo                                              submitInfo                              =
        {
                VK_STRUCTURE_TYPE_SUBMIT_INFO,                                                          // sType
@@ -4173,16 +3830,8 @@ tcu::TestStatus executeSecondaryBufferTwiceTest(Context& context)
                &secCmdBufInheritInfo,
        };
 
-       // Fill create info struct for event
-       const VkEventCreateInfo                                 eventCreateInfo                 =
-       {
-               VK_STRUCTURE_TYPE_EVENT_CREATE_INFO,
-               DE_NULL,
-               0u,
-       };
-
        // create event that will be used to check if secondary command buffer has been executed
-       const Unique<VkEvent>                                   eventOne                                (createEvent(vk, vkDevice, &eventCreateInfo));
+       const Unique<VkEvent>                                   eventOne                                (createEvent(vk, vkDevice));
 
        // reset event
        VK_CHECK(vk.resetEvent(vkDevice, *eventOne));
@@ -4218,16 +3867,9 @@ tcu::TestStatus executeSecondaryBufferTwiceTest(Context& context)
        }
        VK_CHECK(vk.endCommandBuffer(*primCmdBufTwo));
 
-       const VkFenceCreateInfo                                 fenceCreateInfo                 =
-       {
-               VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,
-               DE_NULL,
-               0u,                                                                                                                     // flags
-       };
-
        // create fence to wait for execution of queue
-       const Unique<VkFence>                                   fenceOne                                (createFence(vk, vkDevice, &fenceCreateInfo));
-       const Unique<VkFence>                                   fenceTwo                                (createFence(vk, vkDevice, &fenceCreateInfo));
+       const Unique<VkFence>                                   fenceOne                                (createFence(vk, vkDevice));
+       const Unique<VkFence>                                   fenceTwo                                (createFence(vk, vkDevice));
 
        const VkSubmitInfo                                              submitInfoOne                   =
        {
@@ -4438,14 +4080,6 @@ tcu::TestStatus orderBindPipelineTest(Context& context)
                queueFamilyIndex,                                                                                       // queueFamilyIndex
        };
        const Unique<VkCommandPool>                             cmdPool                                 (createCommandPool(vk, device, &cmdPoolCreateInfo));
-
-       const VkFenceCreateInfo                                 fenceCreateInfo                 =
-       {
-               VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,
-               DE_NULL,
-               0u,                     // flags
-       };
-
        const VkCommandBufferAllocateInfo               cmdBufCreateInfo                =
        {
                VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,                         // sType
@@ -4463,7 +4097,7 @@ tcu::TestStatus orderBindPipelineTest(Context& context)
                (const VkCommandBufferInheritanceInfo*)DE_NULL,
        };
 
-       const Unique<VkFence>                                   cmdCompleteFence                (createFence(vk, device, &fenceCreateInfo));
+       const Unique<VkFence>                                   cmdCompleteFence                (createFence(vk, device));
        const Unique<VkCommandBuffer>                   cmd                                             (allocateCommandBuffer(vk, device, &cmdBufCreateInfo));
 
        VK_CHECK(vk.beginCommandBuffer(*cmd, &cmdBufBeginInfo));
index 931b7ca..f17e281 100644 (file)
@@ -228,43 +228,13 @@ CopiesAndBlittingTestInstance::CopiesAndBlittingTestInstance (Context& context,
        const deUint32                          queueFamilyIndex        = context.getUniversalQueueFamilyIndex();
 
        // Create command pool
-       {
-               const VkCommandPoolCreateInfo           cmdPoolParams                   =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,             // VkStructureType              sType;
-                       DE_NULL,                                                                                // const void*                  pNext;
-                       VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT,// VkCmdPoolCreateFlags flags;
-                       queueFamilyIndex,                                                               // deUint32                             queueFamilyIndex;
-               };
-
-               m_cmdPool = createCommandPool(vk, vkDevice, &cmdPoolParams);
-       }
+       m_cmdPool = createCommandPool(vk, vkDevice, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queueFamilyIndex);
 
        // Create command buffer
-       {
-               const VkCommandBufferAllocateInfo       cmdBufferAllocateInfo   =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO, // VkStructureType                      sType;
-                       DE_NULL,                                                                                // const void*                          pNext;
-                       *m_cmdPool,                                                                             // VkCommandPool                        commandPool;
-                       VK_COMMAND_BUFFER_LEVEL_PRIMARY,                                // VkCommandBufferLevel         level;
-                       1u                                                                                              // deUint32                                     bufferCount;
-               };
-
-               m_cmdBuffer = allocateCommandBuffer(vk, vkDevice, &cmdBufferAllocateInfo);
-       }
+       m_cmdBuffer = allocateCommandBuffer(vk, vkDevice, *m_cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY);
 
        // Create fence
-       {
-               const VkFenceCreateInfo                         fenceParams                             =
-               {
-                       VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,    // VkStructureType              sType;
-                       DE_NULL,                                                                // const void*                  pNext;
-                       0u                                                                              // VkFenceCreateFlags   flags;
-               };
-
-               m_fence = createFence(vk, vkDevice, &fenceParams);
-       }
+       m_fence = createFence(vk, vkDevice);
 }
 
 void CopiesAndBlittingTestInstance::generateBuffer (tcu::PixelBufferAccess buffer, int width, int height, int depth, FillMode mode)
index c253ece..409849a 100644 (file)
@@ -387,9 +387,8 @@ tcu::TestStatus createDeviceTest (Context& context)
 
        const Unique<VkDevice>                  device                                  (createDevice(instanceDriver, physicalDevice, &deviceCreateInfo));
        const DeviceDriver                              deviceDriver                    (instanceDriver, device.get());
-       VkQueue                                                 queue;
+       const VkQueue                                   queue                                   = getDeviceQueue(deviceDriver, *device,  queueFamilyIndex, queueIndex);
 
-       deviceDriver.getDeviceQueue(device.get(), queueFamilyIndex, queueIndex, &queue);
        VK_CHECK(deviceDriver.queueWaitIdle(queue));
 
        return tcu::TestStatus::pass("Pass");
@@ -445,11 +444,9 @@ tcu::TestStatus createMultipleDevicesTest (Context& context)
                        }
 
                        {
-                               const DeviceDriver      deviceDriver(instanceDriver, devices[deviceNdx]);
-                               VkQueue                         queue;
+                               const DeviceDriver      deviceDriver    (instanceDriver, devices[deviceNdx]);
+                               const VkQueue           queue                   = getDeviceQueue(deviceDriver, devices[deviceNdx], queueFamilyIndex, queueIndex);
 
-                               DE_ASSERT(queueIndex < queueCount);
-                               deviceDriver.getDeviceQueue(devices[deviceNdx], queueFamilyIndex, queueIndex, &queue);
                                VK_CHECK(deviceDriver.queueWaitIdle(queue));
                        }
                }
@@ -498,7 +495,7 @@ tcu::TestStatus createDeviceWithUnsupportedExtensionsTest (Context& context)
                VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO,
                DE_NULL,
                (VkDeviceQueueCreateFlags)0u,
-               0,                                                                              //queueFamiliIndex;
+               0,                                                                              //queueFamilyIndex;
                1,                                                                              //queueCount;
                &queuePriority,                                                 //pQueuePriorities;
        };
@@ -609,10 +606,9 @@ tcu::TestStatus createDeviceWithVariousQueueCountsTest (Context& context)
 
                for (deUint32 queueIndex = 0; queueIndex < queueCount; queueIndex++)
                {
-                       VkQueue         queue;
-                       VkResult        result;
+                       const VkQueue           queue   = getDeviceQueue(deviceDriver, *device, queueFamilyIndex, queueIndex);
+                       VkResult                        result;
 
-                       deviceDriver.getDeviceQueue(device.get(), queueFamilyIndex, queueIndex, &queue);
                        TCU_CHECK(!!queue);
 
                        result = deviceDriver.queueWaitIdle(queue);
@@ -688,9 +684,8 @@ tcu::TestStatus createDeviceFeatures2Test (Context& context)
        {
                const Unique<VkDevice>  device          (createDevice(vki, physicalDevice, &deviceCreateInfo));
                const DeviceDriver              vkd                     (vki, device.get());
-               VkQueue                                 queue;
+               const VkQueue                   queue           = getDeviceQueue(vkd, *device, queueFamilyIndex, queueIndex);
 
-               vkd.getDeviceQueue(device.get(), queueFamilyIndex, queueIndex, &queue);
                VK_CHECK(vkd.queueWaitIdle(queue));
        }
 
index 9cf7d23..6735269 100644 (file)
@@ -98,43 +98,13 @@ FillBufferTestInstance::FillBufferTestInstance (Context& context, TestParams tes
        Allocator&                                      memAlloc                        = context.getDefaultAllocator();
 
        // Create command pool
-       {
-               const VkCommandPoolCreateInfo           cmdPoolParams                   =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,             // VkStructureType              sType;
-                       DE_NULL,                                                                                // const void*                  pNext;
-                       VK_COMMAND_POOL_CREATE_TRANSIENT_BIT,                   // VkCmdPoolCreateFlags flags;
-                       queueFamilyIndex,                                                               // deUint32                             queueFamilyIndex;
-               };
-
-               m_cmdPool = createCommandPool(vk, vkDevice, &cmdPoolParams);
-       }
+       m_cmdPool = createCommandPool(vk, vkDevice, VK_COMMAND_POOL_CREATE_TRANSIENT_BIT, queueFamilyIndex);
 
        // Create command buffer
-       {
-               const VkCommandBufferAllocateInfo       cmdBufferAllocateInfo   =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO, // VkStructureType                      sType;
-                       DE_NULL,                                                                                // const void*                          pNext;
-                       *m_cmdPool,                                                                             // VkCommandPool                        commandPool;
-                       VK_COMMAND_BUFFER_LEVEL_PRIMARY,                                // VkCommandBufferLevel         level;
-                       1u                                                                                              // deUint32                                     bufferCount;
-               };
-
-               m_cmdBuffer = allocateCommandBuffer(vk, vkDevice, &cmdBufferAllocateInfo);
-       }
+       m_cmdBuffer = allocateCommandBuffer(vk, vkDevice, *m_cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY);
 
        // Create fence
-       {
-               const VkFenceCreateInfo                         fenceParams                             =
-               {
-                       VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,    // VkStructureType              sType;
-                       DE_NULL,                                                                // const void*                  pNext;
-                       0u                                                                              // VkFenceCreateFlags   flags;
-               };
-
-               m_fence = createFence(vk, vkDevice, &fenceParams);
-       }
+       m_fence = createFence(vk, vkDevice);
 
        // Create desctination buffer
        {
index 9e5582e..4312dd4 100644 (file)
@@ -296,30 +296,10 @@ void GranularityInstance::initRenderPass (void)
                m_frameBuffer   = createFramebuffer(vk, device, &framebufferParams);
        }
 
-       {       // Create CommandPool
-               const VkCommandPoolCreateInfo   cmdPoolParams   =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,             // VkStructureType              sType;
-                       DE_NULL,                                                                                // const void*                  pNext;
-                       VK_COMMAND_POOL_CREATE_TRANSIENT_BIT,                   // VkCmdPoolCreateFlags flags;
-                       queueFamilyIndex,                                                               // deUint32                             queueFamilyIndex;
-               };
+       m_cmdPool       = createCommandPool(vk, device, VK_COMMAND_POOL_CREATE_TRANSIENT_BIT, queueFamilyIndex);
 
-               m_cmdPool       = createCommandPool(vk, device, &cmdPoolParams);
-       }
-
-       {       // Create CommandBuffer
-               const VkCommandBufferAllocateInfo       bufferAllocInfo =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO, // VkStructureType                      sType;
-                       DE_NULL,                                                                                // const void*                          pNext;
-                       *m_cmdPool,                                                                             // VkCmdPool                            cmdPool;
-                       VK_COMMAND_BUFFER_LEVEL_PRIMARY,                                // VkCmdBufferLevel                     level;
-                       1u                                                                                              // deUint32                                     count;
-               };
-
-               m_cmdBuffer             = allocateCommandBuffer(vk, device, &bufferAllocInfo);
-       }
+       // Create CommandBuffer
+       m_cmdBuffer     = allocateCommandBuffer(vk, device, *m_cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY);
 
        {       // Begin CommandBuffer
                const VkCommandBufferBeginInfo  cmdBufferBeginInfo      =
index 08f1baa..00fb35e 100644 (file)
@@ -535,29 +535,12 @@ de::MovePtr<Allocation> ImageClearingTestInstance::allocateAndBindImageMemory (V
 
 Move<VkCommandPool> ImageClearingTestInstance::createCommandPool (VkCommandPoolCreateFlags commandPoolCreateFlags) const
 {
-       const VkCommandPoolCreateInfo                   cmdPoolCreateInfo               =
-       {
-               VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,                                     // VkStructureType             sType;
-               DE_NULL,                                                                                                        // const void*                 pNext;
-               commandPoolCreateFlags,                                                                         // VkCommandPoolCreateFlags    flags;
-               m_queueFamilyIndex                                                                                      // deUint32                    queueFamilyIndex;
-       };
-
-       return vk::createCommandPool(m_vkd, m_device, &cmdPoolCreateInfo, DE_NULL);
+       return vk::createCommandPool(m_vkd, m_device, commandPoolCreateFlags, m_queueFamilyIndex);
 }
 
 Move<VkCommandBuffer> ImageClearingTestInstance::allocatePrimaryCommandBuffer (VkCommandPool commandPool) const
 {
-       const VkCommandBufferAllocateInfo               cmdBufferAllocateInfo   =
-       {
-               VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,                         // VkStructureType             sType;
-               DE_NULL,                                                                                                        // const void*                 pNext;
-               commandPool,                                                                                            // VkCommandPool               commandPool;
-               VK_COMMAND_BUFFER_LEVEL_PRIMARY,                                                        // VkCommandBufferLevel        level;
-               1                                                                                                                       // deUint32                    commandBufferCount;
-       };
-
-       return vk::allocateCommandBuffer(m_vkd, m_device, &cmdBufferAllocateInfo);
+       return vk::allocateCommandBuffer(m_vkd, m_device, commandPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY);
 }
 
 Move<VkImage> ImageClearingTestInstance::createImage (VkImageType imageType, VkFormat format, VkExtent3D extent, VkImageUsageFlags usage) const
@@ -735,14 +718,7 @@ void ImageClearingTestInstance::endCommandBuffer (void) const
 
 void ImageClearingTestInstance::submitCommandBuffer (void) const
 {
-       const VkFenceCreateInfo fenceCreateInfo                                                 =
-       {
-               VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,                                    // VkStructureType       sType;
-               DE_NULL,                                                                                                // const void*           pNext;
-               0u                                                                                                              // VkFenceCreateFlags    flags;
-       };
-
-       const Unique<VkFence>                                   fence                                   (createFence(m_vkd, m_device, &fenceCreateInfo));
+       const Unique<VkFence>                                   fence                                   (createFence(m_vkd, m_device));
 
        const VkSubmitInfo                                              submitInfo                              =
        {
index 11a2010..892183a 100644 (file)
@@ -671,14 +671,7 @@ vk::Move<vk::VkCommandPool> SingleTargetRenderInstance::createCommandPool (const
                                                                                                                                                   vk::VkDevice                                 device,
                                                                                                                                                   deUint32                                             queueFamilyIndex)
 {
-       const vk::VkCommandPoolCreateInfo createInfo =
-       {
-               vk::VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,
-               DE_NULL,
-               vk::VK_COMMAND_POOL_CREATE_TRANSIENT_BIT,       // flags
-               queueFamilyIndex,                                                       // queueFamilyIndex
-       };
-       return vk::createCommandPool(vki, device, &createInfo);
+       return vk::createCommandPool(vki, device, vk::VK_COMMAND_POOL_CREATE_TRANSIENT_BIT, queueFamilyIndex);
 }
 
 void SingleTargetRenderInstance::readRenderTarget (tcu::TextureLevel& dst)
@@ -729,20 +722,6 @@ void SingleTargetRenderInstance::readRenderTarget (tcu::TextureLevel& dst)
                0u,                                                                                             // offset
                (vk::VkDeviceSize)pixelDataSize                                 // size
        };
-       const vk::VkCommandBufferAllocateInfo   cmdBufAllocInfo                         =
-       {
-               vk::VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,
-               DE_NULL,
-               *m_cmdPool,                                                             // cmdPool
-               vk::VK_COMMAND_BUFFER_LEVEL_PRIMARY,    // level
-               1u,                                                                             // bufferCount
-       };
-       const vk::VkFenceCreateInfo                             fenceCreateInfo                         =
-       {
-               vk::VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,
-               DE_NULL,
-               0u,                                                                                             // flags
-       };
        const vk::VkCommandBufferBeginInfo              cmdBufBeginInfo                         =
        {
                vk::VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO,
@@ -769,8 +748,8 @@ void SingleTargetRenderInstance::readRenderTarget (tcu::TextureLevel& dst)
 
        const de::MovePtr<vk::Allocation>               bufferMemory                            = allocateAndBindObjectMemory(m_vki, m_device, m_allocator, *buffer, vk::MemoryRequirement::HostVisible);
 
-       const vk::Unique<vk::VkCommandBuffer>   cmd                                                     (vk::allocateCommandBuffer(m_vki, m_device, &cmdBufAllocInfo));
-       const vk::Unique<vk::VkFence>                   cmdCompleteFence                        (vk::createFence(m_vki, m_device, &fenceCreateInfo));
+       const vk::Unique<vk::VkCommandBuffer>   cmd                                                     (vk::allocateCommandBuffer(m_vki, m_device, *m_cmdPool, vk::VK_COMMAND_BUFFER_LEVEL_PRIMARY));
+       const vk::Unique<vk::VkFence>                   cmdCompleteFence                        (vk::createFence(m_vki, m_device));
        const deUint64                                                  infiniteTimeout                         = ~(deUint64)0u;
 
        // copy content to buffer
@@ -847,14 +826,6 @@ tcu::TestStatus SingleTargetRenderInstance::iterate (void)
                        *m_colorAttachmentImage,                                                // image
                        fullSubrange,                                                                   // subresourceRange
                };
-               const vk::VkCommandBufferAllocateInfo   cmdBufAllocInfo                         =
-               {
-                       vk::VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,
-                       DE_NULL,
-                       *m_cmdPool,                                                                             // cmdPool
-                       vk::VK_COMMAND_BUFFER_LEVEL_PRIMARY,                    // level
-                       1u,                                                                                             // count
-               };
                const vk::VkCommandBufferBeginInfo              cmdBufBeginInfo                         =
                {
                        vk::VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO,
@@ -862,15 +833,9 @@ tcu::TestStatus SingleTargetRenderInstance::iterate (void)
                        vk::VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT,        // flags
                        (const vk::VkCommandBufferInheritanceInfo*)DE_NULL,
                };
-               const vk::VkFenceCreateInfo                             fenceCreateInfo                         =
-               {
-                       vk::VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,
-                       DE_NULL,
-                       (vk::VkFenceCreateFlags)0,
-               };
 
-               const vk::Unique<vk::VkCommandBuffer>   cmd                                     (vk::allocateCommandBuffer(m_vki, m_device, &cmdBufAllocInfo));
-               const vk::Unique<vk::VkFence>                   fence                           (vk::createFence(m_vki, m_device, &fenceCreateInfo));
+               const vk::Unique<vk::VkCommandBuffer>   cmd                                     (vk::allocateCommandBuffer(m_vki, m_device, *m_cmdPool, vk::VK_COMMAND_BUFFER_LEVEL_PRIMARY));
+               const vk::Unique<vk::VkFence>                   fence                           (vk::createFence(m_vki, m_device));
                const deUint64                                                  infiniteTimeout         = ~(deUint64)0u;
 
                VK_CHECK(m_vki.beginCommandBuffer(*cmd, &cmdBufBeginInfo));
@@ -1174,14 +1139,6 @@ void SingleCmdRenderInstance::renderToTarget (void)
                { 0, 0 },                                                               // offset
                { m_targetSize.x(), m_targetSize.y() }, // extent
        };
-       const vk::VkCommandBufferAllocateInfo                           mainCmdBufCreateInfo                    =
-       {
-               vk::VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,
-               DE_NULL,
-               *m_cmdPool,                                                             // cmdPool
-               vk::VK_COMMAND_BUFFER_LEVEL_PRIMARY,    // level
-               1u,                                                                             // count
-       };
        const vk::VkCommandBufferBeginInfo                                      mainCmdBufBeginInfo                             =
        {
                vk::VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO,
@@ -1189,14 +1146,6 @@ void SingleCmdRenderInstance::renderToTarget (void)
                vk::VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT,        // flags
                (const vk::VkCommandBufferInheritanceInfo*)DE_NULL,
        };
-       const vk::VkCommandBufferAllocateInfo                           passCmdBufCreateInfo                    =
-       {
-               vk::VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,
-               DE_NULL,
-               *m_cmdPool,                                                             // cmdPool
-               vk::VK_COMMAND_BUFFER_LEVEL_SECONDARY,  // level
-               1u,                                                                             // count
-       };
        const vk::VkCommandBufferInheritanceInfo                        passCmdBufInheritInfo                   =
        {
                vk::VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO,
@@ -1216,12 +1165,6 @@ void SingleCmdRenderInstance::renderToTarget (void)
                vk::VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT,   // flags
                &passCmdBufInheritInfo,
        };
-       const vk::VkFenceCreateInfo                                                     fenceCreateInfo                         =
-       {
-               vk::VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,
-               DE_NULL,
-               0u,                     // flags
-       };
        const vk::VkClearValue                                                          clearValue                                      = vk::makeClearValueColorF32(0.0f, 0.0f, 0.0f, 0.0f);
        const vk::VkRenderPassBeginInfo                                         renderPassBeginInfo                     =
        {
@@ -1236,9 +1179,9 @@ void SingleCmdRenderInstance::renderToTarget (void)
 
        const vk::VkPipelineLayout                                                      pipelineLayout                          (getPipelineLayout());
        const vk::Unique<vk::VkPipeline>                                        pipeline                                        (createPipeline(pipelineLayout));
-       const vk::Unique<vk::VkCommandBuffer>                           mainCmd                                         (vk::allocateCommandBuffer(m_vki, m_device, &mainCmdBufCreateInfo));
-       const vk::Unique<vk::VkCommandBuffer>                           passCmd                                         ((m_isPrimaryCmdBuf) ? (vk::Move<vk::VkCommandBuffer>()) : (vk::allocateCommandBuffer(m_vki, m_device, &passCmdBufCreateInfo)));
-       const vk::Unique<vk::VkFence>                                           fence                                           (vk::createFence(m_vki, m_device, &fenceCreateInfo));
+       const vk::Unique<vk::VkCommandBuffer>                           mainCmd                                         (vk::allocateCommandBuffer(m_vki, m_device, *m_cmdPool, vk::VK_COMMAND_BUFFER_LEVEL_PRIMARY));
+       const vk::Unique<vk::VkCommandBuffer>                           passCmd                                         ((m_isPrimaryCmdBuf) ? (vk::Move<vk::VkCommandBuffer>()) : (vk::allocateCommandBuffer(m_vki, m_device, *m_cmdPool, vk::VK_COMMAND_BUFFER_LEVEL_SECONDARY)));
+       const vk::Unique<vk::VkFence>                                           fence                                           (vk::createFence(m_vki, m_device));
        const deUint64                                                                          infiniteTimeout                         = ~(deUint64)0u;
        const vk::VkSubpassContents                                                     passContents                            = (m_isPrimaryCmdBuf) ? (vk::VK_SUBPASS_CONTENTS_INLINE) : (vk::VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS);
 
@@ -2209,22 +2152,6 @@ void ComputeCommand::submitAndWait (deUint32 queueFamilyIndex, vk::VkQueue queue
                queueFamilyIndex,                                                                       // queueFamilyIndex
        };
        const vk::Unique<vk::VkCommandPool>                             cmdPool                         (vk::createCommandPool(m_vki, m_device, &cmdPoolCreateInfo));
-
-       const vk::VkFenceCreateInfo                                             fenceCreateInfo         =
-       {
-               vk::VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,
-               DE_NULL,
-               0u,                     // flags
-       };
-
-       const vk::VkCommandBufferAllocateInfo                   cmdBufCreateInfo        =
-       {
-               vk::VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,
-               DE_NULL,
-               *cmdPool,                                                                                       // cmdPool
-               vk::VK_COMMAND_BUFFER_LEVEL_PRIMARY,                            // level
-               1u,                                                                                                     // count
-       };
        const vk::VkCommandBufferBeginInfo                              cmdBufBeginInfo         =
        {
                vk::VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO,
@@ -2233,8 +2160,8 @@ void ComputeCommand::submitAndWait (deUint32 queueFamilyIndex, vk::VkQueue queue
                (const vk::VkCommandBufferInheritanceInfo*)DE_NULL,
        };
 
-       const vk::Unique<vk::VkFence>                                   cmdCompleteFence        (vk::createFence(m_vki, m_device, &fenceCreateInfo));
-       const vk::Unique<vk::VkCommandBuffer>                   cmd                                     (vk::allocateCommandBuffer(m_vki, m_device, &cmdBufCreateInfo));
+       const vk::Unique<vk::VkFence>                                   cmdCompleteFence        (vk::createFence(m_vki, m_device));
+       const vk::Unique<vk::VkCommandBuffer>                   cmd                                     (vk::allocateCommandBuffer(m_vki, m_device, *cmdPool, vk::VK_COMMAND_BUFFER_LEVEL_PRIMARY));
        const deUint64                                                                  infiniteTimeout         = ~(deUint64)0u;
 
        VK_CHECK(m_vki.beginCommandBuffer(*cmd, &cmdBufBeginInfo));
@@ -3625,12 +3552,6 @@ void ImageInstanceImages::uploadImage (const vk::DeviceInterface&                vki,
        };
        const vk::Unique<vk::VkBuffer>          dataBuffer                                      (vk::createBuffer(vki, device, &bufferCreateInfo));
        const de::MovePtr<vk::Allocation>       dataBufferMemory                        = allocateAndBindObjectMemory(vki, device, allocator, *dataBuffer, vk::MemoryRequirement::HostVisible);
-       const vk::VkFenceCreateInfo                     fenceCreateInfo                         =
-       {
-               vk::VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,
-               DE_NULL,
-               0u,                                                                                                     // flags
-       };
        const vk::VkBufferMemoryBarrier         preMemoryBarrier                        =
        {
                vk::VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER,
@@ -3685,14 +3606,6 @@ void ImageInstanceImages::uploadImage (const vk::DeviceInterface&                vki,
                queueFamilyIndex,                                                                       // queueFamilyIndex
        };
        const vk::Unique<vk::VkCommandPool>             cmdPool                                         (vk::createCommandPool(vki, device, &cmdPoolCreateInfo));
-       const vk::VkCommandBufferAllocateInfo   cmdBufCreateInfo                        =
-       {
-               vk::VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,
-               DE_NULL,
-               *cmdPool,                                                                                       // cmdPool
-               vk::VK_COMMAND_BUFFER_LEVEL_PRIMARY,                            // level
-               1u,                                                                                                     // count
-       };
        const vk::VkCommandBufferBeginInfo              cmdBufBeginInfo                         =
        {
                vk::VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO,
@@ -3701,8 +3614,8 @@ void ImageInstanceImages::uploadImage (const vk::DeviceInterface&         vki,
                (const vk::VkCommandBufferInheritanceInfo*)DE_NULL,
        };
 
-       const vk::Unique<vk::VkCommandBuffer>   cmd                                                     (vk::allocateCommandBuffer(vki, device, &cmdBufCreateInfo));
-       const vk::Unique<vk::VkFence>                   cmdCompleteFence                        (vk::createFence(vki, device, &fenceCreateInfo));
+       const vk::Unique<vk::VkCommandBuffer>   cmd                                                     (vk::allocateCommandBuffer(vki, device, *cmdPool, vk::VK_COMMAND_BUFFER_LEVEL_PRIMARY));
+       const vk::Unique<vk::VkFence>                   cmdCompleteFence                        (vk::createFence(vki, device));
        const deUint64                                                  infiniteTimeout                         = ~(deUint64)0u;
        std::vector<vk::VkBufferImageCopy>              copySlices;
 
index adf3239..417cc30 100644 (file)
@@ -228,7 +228,7 @@ tcu::TestStatus SharedVarTestInstance::iterate (void)
        const VkBufferMemoryBarrier computeFinishBarrier = makeBufferMemoryBarrier(VK_ACCESS_SHADER_WRITE_BIT, VK_ACCESS_HOST_READ_BIT, *buffer, 0ull, bufferSizeBytes);
 
        const Unique<VkCommandPool> cmdPool(makeCommandPool(vk, device, queueFamilyIndex));
-       const Unique<VkCommandBuffer> cmdBuffer(makeCommandBuffer(vk, device, *cmdPool));
+       const Unique<VkCommandBuffer> cmdBuffer(allocateCommandBuffer(vk, device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
        // Start recording commands
 
@@ -399,7 +399,7 @@ tcu::TestStatus SharedVarAtomicOpTestInstance::iterate (void)
        const VkBufferMemoryBarrier computeFinishBarrier = makeBufferMemoryBarrier(VK_ACCESS_SHADER_WRITE_BIT, VK_ACCESS_HOST_READ_BIT, *buffer, 0ull, bufferSizeBytes);
 
        const Unique<VkCommandPool> cmdPool(makeCommandPool(vk, device, queueFamilyIndex));
-       const Unique<VkCommandBuffer> cmdBuffer(makeCommandBuffer(vk, device, *cmdPool));
+       const Unique<VkCommandBuffer> cmdBuffer(allocateCommandBuffer(vk, device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
        // Start recording commands
 
@@ -572,7 +572,7 @@ tcu::TestStatus SSBOLocalBarrierTestInstance::iterate (void)
        const VkBufferMemoryBarrier computeFinishBarrier = makeBufferMemoryBarrier(VK_ACCESS_SHADER_WRITE_BIT, VK_ACCESS_HOST_READ_BIT, *buffer, 0ull, bufferSizeBytes);
 
        const Unique<VkCommandPool> cmdPool(makeCommandPool(vk, device, queueFamilyIndex));
-       const Unique<VkCommandBuffer> cmdBuffer(makeCommandBuffer(vk, device, *cmdPool));
+       const Unique<VkCommandBuffer> cmdBuffer(allocateCommandBuffer(vk, device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
        // Start recording commands
 
@@ -783,7 +783,7 @@ tcu::TestStatus CopyImageToSSBOTestInstance::iterate (void)
                // Prepare the command buffer
 
                const Unique<VkCommandPool> cmdPool(makeCommandPool(vk, device, queueFamilyIndex));
-               const Unique<VkCommandBuffer> cmdBuffer(makeCommandBuffer(vk, device, *cmdPool));
+               const Unique<VkCommandBuffer> cmdBuffer(allocateCommandBuffer(vk, device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
                // Start recording commands
 
@@ -993,7 +993,7 @@ tcu::TestStatus CopySSBOToImageTestInstance::iterate (void)
                // Prepare the command buffer
 
                const Unique<VkCommandPool> cmdPool(makeCommandPool(vk, device, queueFamilyIndex));
-               const Unique<VkCommandBuffer> cmdBuffer(makeCommandBuffer(vk, device, *cmdPool));
+               const Unique<VkCommandBuffer> cmdBuffer(allocateCommandBuffer(vk, device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
                // Start recording commands
 
@@ -1262,7 +1262,7 @@ tcu::TestStatus BufferToBufferInvertTestInstance::iterate (void)
        const VkBufferMemoryBarrier shaderWriteBarrier = makeBufferMemoryBarrier(VK_ACCESS_SHADER_WRITE_BIT, VK_ACCESS_HOST_READ_BIT, *outputBuffer, 0ull, bufferSizeBytes);
 
        const Unique<VkCommandPool> cmdPool(makeCommandPool(vk, device, queueFamilyIndex));
-       const Unique<VkCommandBuffer> cmdBuffer(makeCommandBuffer(vk, device, *cmdPool));
+       const Unique<VkCommandBuffer> cmdBuffer(allocateCommandBuffer(vk, device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
        // Start recording commands
 
@@ -1453,7 +1453,7 @@ tcu::TestStatus InvertSSBOInPlaceTestInstance::iterate (void)
        const VkBufferMemoryBarrier shaderWriteBarrier = makeBufferMemoryBarrier(VK_ACCESS_SHADER_WRITE_BIT, VK_ACCESS_HOST_READ_BIT, *buffer, 0ull, bufferSizeBytes);
 
        const Unique<VkCommandPool> cmdPool(makeCommandPool(vk, device, queueFamilyIndex));
-       const Unique<VkCommandBuffer> cmdBuffer(makeCommandBuffer(vk, device, *cmdPool));
+       const Unique<VkCommandBuffer> cmdBuffer(allocateCommandBuffer(vk, device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
        // Start recording commands
 
@@ -1646,7 +1646,7 @@ tcu::TestStatus WriteToMultipleSSBOTestInstance::iterate (void)
        };
 
        const Unique<VkCommandPool> cmdPool(makeCommandPool(vk, device, queueFamilyIndex));
-       const Unique<VkCommandBuffer> cmdBuffer(makeCommandBuffer(vk, device, *cmdPool));
+       const Unique<VkCommandBuffer> cmdBuffer(allocateCommandBuffer(vk, device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
        // Start recording commands
 
@@ -1868,7 +1868,7 @@ tcu::TestStatus SSBOBarrierTestInstance::iterate (void)
        const VkBufferMemoryBarrier afterComputeBarrier = makeBufferMemoryBarrier(VK_ACCESS_SHADER_WRITE_BIT, VK_ACCESS_HOST_READ_BIT, *outputBuffer, 0ull, outputBufferSizeBytes);
 
        const Unique<VkCommandPool> cmdPool(makeCommandPool(vk, device, queueFamilyIndex));
-       const Unique<VkCommandBuffer> cmdBuffer(makeCommandBuffer(vk, device, *cmdPool));
+       const Unique<VkCommandBuffer> cmdBuffer(allocateCommandBuffer(vk, device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
        // Start recording commands
 
@@ -2084,7 +2084,7 @@ tcu::TestStatus ImageAtomicOpTestInstance::iterate (void)
                // Prepare the command buffer
 
                const Unique<VkCommandPool> cmdPool(makeCommandPool(vk, device, queueFamilyIndex));
-               const Unique<VkCommandBuffer> cmdBuffer(makeCommandBuffer(vk, device, *cmdPool));
+               const Unique<VkCommandBuffer> cmdBuffer(allocateCommandBuffer(vk, device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
                // Start recording commands
 
@@ -2303,7 +2303,7 @@ tcu::TestStatus ImageBarrierTestInstance::iterate (void)
        const VkBufferMemoryBarrier afterComputeBarrier = makeBufferMemoryBarrier(VK_ACCESS_SHADER_WRITE_BIT, VK_ACCESS_HOST_READ_BIT, *outputBuffer, 0ull, outputBufferSizeBytes);
 
        const Unique<VkCommandPool> cmdPool(makeCommandPool(vk, device, queueFamilyIndex));
-       const Unique<VkCommandBuffer> cmdBuffer(makeCommandBuffer(vk, device, *cmdPool));
+       const Unique<VkCommandBuffer> cmdBuffer(allocateCommandBuffer(vk, device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
        // Start recording commands
 
@@ -2376,7 +2376,7 @@ tcu::TestStatus createTest (Context& context)
        const Unique<VkPipeline> pipeline(makeComputePipeline(vk, device, *pipelineLayout, *shaderModule));
 
        const Unique<VkCommandPool> cmdPool(makeCommandPool(vk, device, queueFamilyIndex));
-       const Unique<VkCommandBuffer> cmdBuffer(makeCommandBuffer(vk, device, *cmdPool));
+       const Unique<VkCommandBuffer> cmdBuffer(allocateCommandBuffer(vk, device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
        // Start recording commands
 
index 4819fd7..ebc67ca 100644 (file)
@@ -265,7 +265,7 @@ tcu::TestStatus IndirectDispatchInstanceBufferUpload::iterate (void)
 
        // Create command buffer
        const vk::Unique<vk::VkCommandPool> cmdPool(makeCommandPool(m_device_interface, m_device, m_queueFamilyIndex));
-       const vk::Unique<vk::VkCommandBuffer> cmdBuffer(makeCommandBuffer(m_device_interface, m_device, *cmdPool));
+       const vk::Unique<vk::VkCommandBuffer> cmdBuffer(allocateCommandBuffer(m_device_interface, m_device, *cmdPool, vk::VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
        // Begin recording commands
        beginCommandBuffer(m_device_interface, *cmdBuffer);
index bc7c81a..b5b949b 100644 (file)
@@ -440,7 +440,7 @@ tcu::TestStatus     ComputeBuiltinVarInstance::iterate (void)
                VK_ACCESS_SHADER_WRITE_BIT, VK_ACCESS_HOST_READ_BIT, *resultBuffer, 0ull, resultBufferSize);
 
        const Unique<VkCommandPool> cmdPool(makeCommandPool(m_vki, m_device, m_queueFamilyIndex));
-       const Unique<VkCommandBuffer> cmdBuffer(makeCommandBuffer(m_vki, m_device, *cmdPool));
+       const Unique<VkCommandBuffer> cmdBuffer(allocateCommandBuffer(m_vki, m_device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
        // Start recording commands
        beginCommandBuffer(m_vki, *cmdBuffer);
index 0fb4b0d..5aa61a9 100644 (file)
@@ -98,19 +98,6 @@ Move<VkCommandPool> makeCommandPool (const DeviceInterface& vk, const VkDevice d
        return createCommandPool(vk, device, &commandPoolParams);
 }
 
-Move<VkCommandBuffer> makeCommandBuffer (const DeviceInterface& vk, const VkDevice device, const VkCommandPool commandPool)
-{
-       const VkCommandBufferAllocateInfo bufferAllocateParams =
-       {
-               VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,         // VkStructureType                      sType;
-               DE_NULL,                                                                                        // const void*                          pNext;
-               commandPool,                                                                            // VkCommandPool                        commandPool;
-               VK_COMMAND_BUFFER_LEVEL_PRIMARY,                                        // VkCommandBufferLevel         level;
-               1u,                                                                                                     // deUint32                                     bufferCount;
-       };
-       return allocateCommandBuffer(vk, device, &bufferAllocateParams);
-}
-
 Move<VkPipelineLayout> makePipelineLayout (const DeviceInterface&              vk,
                                                                                   const VkDevice                               device)
 {
@@ -295,13 +282,7 @@ void submitCommandsAndWait (const DeviceInterface& vk,
                                                        const VkQueue                   queue,
                                                        const VkCommandBuffer   commandBuffer)
 {
-       const VkFenceCreateInfo fenceParams =
-       {
-               VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,    // VkStructureType              sType;
-               DE_NULL,                                                                // const void*                  pNext;
-               0u,                                                                             // VkFenceCreateFlags   flags;
-       };
-       const Unique<VkFence> fence(createFence(vk, device, &fenceParams));
+       const Unique<VkFence> fence(createFence(vk, device));
 
        const VkSubmitInfo submitInfo =
        {
index a34c7fe..4078c66 100644 (file)
@@ -82,10 +82,6 @@ vk::Move<vk::VkCommandPool>                  makeCommandPool                         (const vk::DeviceInterface&                     v
                                                                                                                                 const vk::VkDevice                                     device,
                                                                                                                                 const deUint32                                         queueFamilyIndex);
 
-vk::Move<vk::VkCommandBuffer>          makeCommandBuffer                       (const vk::DeviceInterface&                     vk,
-                                                                                                                                const vk::VkDevice                                     device,
-                                                                                                                                const vk::VkCommandPool                        commandPool);
-
 vk::Move<vk::VkPipelineLayout> makePipelineLayout                              (const vk::DeviceInterface&                     vk,
                                                                                                                                 const vk::VkDevice                                     device);
 
index 151da27..65f80a0 100644 (file)
@@ -409,17 +409,8 @@ void DrawTestInstanceBase::initialize (const DrawParamsBase& data)
                                                           VK_WHOLE_SIZE);
 
        const CmdPoolCreateInfo cmdPoolCreateInfo(queueFamilyIndex);
-       m_cmdPool = vk::createCommandPool(m_vk, device, &cmdPoolCreateInfo);
-
-       const vk::VkCommandBufferAllocateInfo cmdBufferAllocateInfo =
-       {
-               vk::VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,     // VkStructureType                      sType;
-               DE_NULL,                                                                                        // const void*                          pNext;
-               *m_cmdPool,                                                                                     // VkCommandPool                        commandPool;
-               vk::VK_COMMAND_BUFFER_LEVEL_PRIMARY,                            // VkCommandBufferLevel         level;
-               1u,                                                                                                     // deUint32                                     bufferCount;
-       };
-       m_cmdBuffer = vk::allocateCommandBuffer(m_vk, device, &cmdBufferAllocateInfo);
+       m_cmdPool       = vk::createCommandPool(m_vk, device, &cmdPoolCreateInfo);
+       m_cmdBuffer     = vk::allocateCommandBuffer(m_vk, device, *m_cmdPool, vk::VK_COMMAND_BUFFER_LEVEL_PRIMARY);
 
        initPipeline(device);
 }
index 177c02f..e0a5381 100644 (file)
@@ -141,17 +141,8 @@ void DrawTestsBaseClass::initialize (void)
                                                           dataSize);
 
        const CmdPoolCreateInfo cmdPoolCreateInfo(queueFamilyIndex);
-       m_cmdPool = vk::createCommandPool(m_vk, device, &cmdPoolCreateInfo);
-
-       const vk::VkCommandBufferAllocateInfo cmdBufferAllocateInfo =
-       {
-               vk::VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,     // VkStructureType                      sType;
-               DE_NULL,                                                                                        // const void*                          pNext;
-               *m_cmdPool,                                                                                     // VkCommandPool                        commandPool;
-               vk::VK_COMMAND_BUFFER_LEVEL_PRIMARY,                            // VkCommandBufferLevel         level;
-               1u,                                                                                                     // deUint32                                     bufferCount;
-       };
-       m_cmdBuffer = vk::allocateCommandBuffer(m_vk, device, &cmdBufferAllocateInfo);
+       m_cmdPool       = vk::createCommandPool(m_vk, device, &cmdPoolCreateInfo);
+       m_cmdBuffer     = vk::allocateCommandBuffer(m_vk, device, *m_cmdPool, vk::VK_COMMAND_BUFFER_LEVEL_PRIMARY);
 
        initPipeline(device);
 }
index b825e08..e016d2c 100644 (file)
@@ -306,16 +306,7 @@ void Image::readUsingBuffer (vk::VkQueue                           queue,
                //todo [scygan] get proper queueFamilyIndex
                CmdPoolCreateInfo copyCmdPoolCreateInfo(0);
                vk::Unique<vk::VkCommandPool> copyCmdPool(vk::createCommandPool(m_vk, m_device, &copyCmdPoolCreateInfo));
-
-               const vk::VkCommandBufferAllocateInfo cmdBufferAllocateInfo =
-               {
-                       vk::VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,     // VkStructureType                      sType;
-                       DE_NULL,                                                                                        // const void*                          pNext;
-                       *copyCmdPool,                                                                           // VkCommandPool                        commandPool;
-                       vk::VK_COMMAND_BUFFER_LEVEL_PRIMARY,                            // VkCommandBufferLevel         level;
-                       1u,                                                                                                     // deUint32                                     bufferCount;
-               };
-               vk::Unique<vk::VkCommandBuffer> copyCmdBuffer(vk::allocateCommandBuffer(m_vk, m_device, &cmdBufferAllocateInfo));
+               vk::Unique<vk::VkCommandBuffer> copyCmdBuffer(vk::allocateCommandBuffer(m_vk, m_device, *copyCmdPool, vk::VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
                CmdBufferBeginInfo beginInfo;
                VK_CHECK(m_vk.beginCommandBuffer(*copyCmdBuffer, &beginInfo));
@@ -446,16 +437,7 @@ de::SharedPtr<Image> Image::copyToLinearImage (vk::VkQueue                                 queue,
                //todo [scygan] get proper queueFamilyIndex
                CmdPoolCreateInfo copyCmdPoolCreateInfo(0);
                vk::Unique<vk::VkCommandPool> copyCmdPool(vk::createCommandPool(m_vk, m_device, &copyCmdPoolCreateInfo));
-
-               const vk::VkCommandBufferAllocateInfo cmdBufferAllocateInfo =
-               {
-                       vk::VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,     // VkStructureType                      sType;
-                       DE_NULL,                                                                                        // const void*                          pNext;
-                       *copyCmdPool,                                                                           // VkCommandPool                        commandPool;
-                       vk::VK_COMMAND_BUFFER_LEVEL_PRIMARY,                            // VkCommandBufferLevel         level;
-                       1u,                                                                                                     // deUint32                                     bufferCount;
-               };
-               vk::Unique<vk::VkCommandBuffer> copyCmdBuffer(vk::allocateCommandBuffer(m_vk, m_device, &cmdBufferAllocateInfo));
+               vk::Unique<vk::VkCommandBuffer> copyCmdBuffer(vk::allocateCommandBuffer(m_vk, m_device, *copyCmdPool, vk::VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
                CmdBufferBeginInfo beginInfo;
                VK_CHECK(m_vk.beginCommandBuffer(*copyCmdBuffer, &beginInfo));
@@ -597,17 +579,7 @@ void Image::upload (vk::VkQueue                                    queue,
                //todo [scygan] get proper queueFamilyIndex
                CmdPoolCreateInfo copyCmdPoolCreateInfo(0);
                vk::Unique<vk::VkCommandPool> copyCmdPool(vk::createCommandPool(m_vk, m_device, &copyCmdPoolCreateInfo));
-
-               const vk::VkCommandBufferAllocateInfo cmdBufferAllocateInfo =
-               {
-                       vk::VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,     // VkStructureType                      sType;
-                       DE_NULL,                                                                                        // const void*                          pNext;
-                       *copyCmdPool,                                                                           // VkCommandPool                        commandPool;
-                       vk::VK_COMMAND_BUFFER_LEVEL_PRIMARY,                            // VkCommandBufferLevel         level;
-                       1u,                                                                                                     // deUint32                                     bufferCount;
-               };
-
-               vk::Unique<vk::VkCommandBuffer> copyCmdBuffer(vk::allocateCommandBuffer(m_vk, m_device, &cmdBufferAllocateInfo));
+               vk::Unique<vk::VkCommandBuffer> copyCmdBuffer(vk::allocateCommandBuffer(m_vk, m_device, *copyCmdPool, vk::VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
                CmdBufferBeginInfo beginInfo;
                VK_CHECK(m_vk.beginCommandBuffer(*copyCmdBuffer, &beginInfo));
@@ -719,16 +691,7 @@ void Image::uploadUsingBuffer (vk::VkQueue                                 queue,
                //todo [scygan] get proper queueFamilyIndex
                CmdPoolCreateInfo copyCmdPoolCreateInfo(0);
                vk::Unique<vk::VkCommandPool> copyCmdPool(vk::createCommandPool(m_vk, m_device, &copyCmdPoolCreateInfo));
-
-               const vk::VkCommandBufferAllocateInfo cmdBufferAllocateInfo =
-               {
-                       vk::VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,     // VkStructureType                      sType;
-                       DE_NULL,                                                                                        // const void*                          pNext;
-                       *copyCmdPool,                                                                           // VkCommandPool                        commandPool;
-                       vk::VK_COMMAND_BUFFER_LEVEL_PRIMARY,                            // VkCommandBufferLevel         level;
-                       1u,                                                                                                     // deUint32                                     bufferCount;
-               };
-               vk::Unique<vk::VkCommandBuffer> copyCmdBuffer(vk::allocateCommandBuffer(m_vk, m_device, &cmdBufferAllocateInfo));
+               vk::Unique<vk::VkCommandBuffer> copyCmdBuffer(vk::allocateCommandBuffer(m_vk, m_device, *copyCmdPool, vk::VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
                CmdBufferBeginInfo beginInfo;
                VK_CHECK(m_vk.beginCommandBuffer(*copyCmdBuffer, &beginInfo));
index 13461c1..13b80e3 100644 (file)
@@ -396,15 +396,7 @@ InstancedDrawInstance::InstancedDrawInstance(Context &context, TestParams params
        const CmdPoolCreateInfo cmdPoolCreateInfo(queueFamilyIndex);
        m_cmdPool = vk::createCommandPool(m_vk, device, &cmdPoolCreateInfo);
 
-       const vk::VkCommandBufferAllocateInfo cmdBufferAllocateInfo =
-       {
-               vk::VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,     // VkStructureType                      sType;
-               DE_NULL,                                                                                        // const void*                          pNext;
-               *m_cmdPool,                                                                                     // VkCommandPool                        commandPool;
-               vk::VK_COMMAND_BUFFER_LEVEL_PRIMARY,                            // VkCommandBufferLevel         level;
-               1u,                                                                                                     // deUint32                                     bufferCount;
-       };
-       m_cmdBuffer = vk::allocateCommandBuffer(m_vk, device, &cmdBufferAllocateInfo);
+       m_cmdBuffer = vk::allocateCommandBuffer(m_vk, device, *m_cmdPool, vk::VK_COMMAND_BUFFER_LEVEL_PRIMARY);
 
        const vk::Unique<vk::VkShaderModule> vs(createShaderModule(m_vk, device, m_context.getBinaryCollection().get("InstancedDrawVert"), 0));
        const vk::Unique<vk::VkShaderModule> fs(createShaderModule(m_vk, device, m_context.getBinaryCollection().get("InstancedDrawFrag"), 0));
index 01f9c10..efd98db 100644 (file)
@@ -246,18 +246,9 @@ tcu::ConstPixelBufferAccess NegativeViewportHeightTestInstance::draw (const VkVi
 
        // Command buffer
 
-       const CmdPoolCreateInfo         cmdPoolCreateInfo       (queueFamilyIndex);
-       const Unique<VkCommandPool>     cmdPool                         (createCommandPool(vk, device, &cmdPoolCreateInfo));
-
-       const VkCommandBufferAllocateInfo cmdBufferAllocateInfo =
-       {
-               VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,         // VkStructureType                      sType;
-               DE_NULL,                                                                                        // const void*                          pNext;
-               *cmdPool,                                                                                       // VkCommandPool                        commandPool;
-               VK_COMMAND_BUFFER_LEVEL_PRIMARY,                                        // VkCommandBufferLevel         level;
-               1u,                                                                                                     // deUint32                                     bufferCount;
-       };
-       const Unique<VkCommandBuffer> cmdBuffer(allocateCommandBuffer(vk, device, &cmdBufferAllocateInfo));
+       const CmdPoolCreateInfo                 cmdPoolCreateInfo       (queueFamilyIndex);
+       const Unique<VkCommandPool>             cmdPool                         (createCommandPool(vk, device, &cmdPoolCreateInfo));
+       const Unique<VkCommandBuffer>   cmdBuffer                       (allocateCommandBuffer(vk, device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
        // Draw
 
@@ -306,13 +297,7 @@ tcu::ConstPixelBufferAccess NegativeViewportHeightTestInstance::draw (const VkVi
 
        // Submit
        {
-               const VkFenceCreateInfo fenceInfo       =
-               {
-                       VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,            // VkStructureType       sType;
-                       DE_NULL,                                                                        // const void*           pNext;
-                       (VkFenceCreateFlags)0,                                          // VkFenceCreateFlags    flags;
-               };
-               const Unique<VkFence>   fence           (createFence(vk, device, &fenceInfo));
+               const Unique<VkFence>   fence           (createFence(vk, device));
                const VkSubmitInfo              submitInfo      =
                {
                        VK_STRUCTURE_TYPE_SUBMIT_INFO,                          // VkStructureType                sType;
index 48ae00b..7bd9f96 100644 (file)
@@ -283,16 +283,7 @@ protected:
 
                const CmdPoolCreateInfo cmdPoolCreateInfo(m_context.getUniversalQueueFamilyIndex());
                m_cmdPool = vk::createCommandPool(m_vk, device, &cmdPoolCreateInfo);
-
-               const vk::VkCommandBufferAllocateInfo cmdBufferAllocateInfo =
-               {
-                       vk::VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,     // VkStructureType                      sType;
-                       DE_NULL,                                                                                        // const void*                          pNext;
-                       *m_cmdPool,                                                                                     // VkCommandPool                        commandPool;
-                       vk::VK_COMMAND_BUFFER_LEVEL_PRIMARY,                            // VkCommandBufferLevel         level;
-                       1u,                                                                                                     // deUint32                                     bufferCount;
-               };
-               m_cmdBuffer = vk::allocateCommandBuffer(m_vk, device, &cmdBufferAllocateInfo);
+               m_cmdBuffer = vk::allocateCommandBuffer(m_vk, device, *m_cmdPool, vk::VK_COMMAND_BUFFER_LEVEL_PRIMARY);
        }
 
        virtual tcu::TestStatus iterate (void)
index ee3f48d..d97ca60 100644 (file)
@@ -256,16 +256,7 @@ protected:
 
                const CmdPoolCreateInfo cmdPoolCreateInfo(m_context.getUniversalQueueFamilyIndex());
                m_cmdPool = vk::createCommandPool(m_vk, device, &cmdPoolCreateInfo);
-
-               const vk::VkCommandBufferAllocateInfo cmdBufferAllocateInfo =
-               {
-                       vk::VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,     // VkStructureType                      sType;
-                       DE_NULL,                                                                                        // const void*                          pNext;
-                       *m_cmdPool,                                                                                     // VkCommandPool                        commandPool;
-                       vk::VK_COMMAND_BUFFER_LEVEL_PRIMARY,                            // VkCommandBufferLevel         level;
-                       1u,                                                                                                     // deUint32                                     bufferCount;
-               };
-               m_cmdBuffer = vk::allocateCommandBuffer(m_vk, device, &cmdBufferAllocateInfo);
+               m_cmdBuffer = vk::allocateCommandBuffer(m_vk, device, *m_cmdPool, vk::VK_COMMAND_BUFFER_LEVEL_PRIMARY);
        }
 
        virtual tcu::TestStatus iterate (void)
index bff226d..f26209b 100644 (file)
@@ -685,8 +685,8 @@ tcu::TestStatus EarlyFragmentTestInstance::iterate (void)
        const Unique<VkPipelineLayout>  pipelineLayout(makePipelineLayout(vk, device, *descriptorSetLayout));
        const Unique<VkPipeline>                pipeline          (makeGraphicsPipeline(vk, device, *pipelineLayout, *renderPass, *vertexModule, *fragmentModule, renderSize,
                                                                                                  (m_testMode == MODE_DEPTH), (m_testMode == MODE_STENCIL)));
-       const Unique<VkCommandPool>             cmdPool           (makeCommandPool(vk, device, queueFamilyIndex));
-       const Unique<VkCommandBuffer>   cmdBuffer         (makeCommandBuffer(vk, device, *cmdPool));
+       const Unique<VkCommandPool>             cmdPool           (createCommandPool(vk, device, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queueFamilyIndex));
+       const Unique<VkCommandBuffer>   cmdBuffer         (allocateCommandBuffer(vk, device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
        // Draw commands
 
index 465b999..200e35b 100644 (file)
@@ -95,31 +95,6 @@ VkImageMemoryBarrier makeImageMemoryBarrier  (const VkAccessFlags                    srcAccessMask
        return barrier;
 }
 
-Move<VkCommandPool> makeCommandPool (const DeviceInterface& vk, const VkDevice device, const deUint32 queueFamilyIndex)
-{
-       const VkCommandPoolCreateInfo info =
-       {
-               VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,                     // VkStructureType                      sType;
-               DE_NULL,                                                                                        // const void*                          pNext;
-               VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT,        // VkCommandPoolCreateFlags     flags;
-               queueFamilyIndex,                                                                       // deUint32                                     queueFamilyIndex;
-       };
-       return createCommandPool(vk, device, &info);
-}
-
-Move<VkCommandBuffer> makeCommandBuffer (const DeviceInterface& vk, const VkDevice device, const VkCommandPool commandPool)
-{
-       const VkCommandBufferAllocateInfo info =
-       {
-               VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,         // VkStructureType              sType;
-               DE_NULL,                                                                                        // const void*                  pNext;
-               commandPool,                                                                            // VkCommandPool                commandPool;
-               VK_COMMAND_BUFFER_LEVEL_PRIMARY,                                        // VkCommandBufferLevel level;
-               1u,                                                                                                     // deUint32                             commandBufferCount;
-       };
-       return allocateCommandBuffer(vk, device, &info);
-}
-
 Move<VkDescriptorSet> makeDescriptorSet (const DeviceInterface&                        vk,
                                                                                 const VkDevice                                 device,
                                                                                 const VkDescriptorPool                 descriptorPool,
@@ -236,13 +211,7 @@ void submitCommandsAndWait (const DeviceInterface& vk,
                                                        const VkQueue                   queue,
                                                        const VkCommandBuffer   commandBuffer)
 {
-       const VkFenceCreateInfo fenceInfo =
-       {
-               VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,    // VkStructureType              sType;
-               DE_NULL,                                                                // const void*                  pNext;
-               (VkFenceCreateFlags)0,                                  // VkFenceCreateFlags   flags;
-       };
-       const Unique<VkFence> fence(createFence(vk, device, &fenceInfo));
+       const Unique<VkFence> fence(createFence(vk, device));
 
        const VkSubmitInfo submitInfo =
        {
index b06dbe1..f8b6cef 100644 (file)
@@ -36,8 +36,6 @@ namespace FragmentOperations
 {
 
 vk::VkBufferCreateInfo                 makeBufferCreateInfo    (const vk::VkDeviceSize bufferSize, const vk::VkBufferUsageFlags usage);
-vk::Move<vk::VkCommandPool>            makeCommandPool                 (const vk::DeviceInterface& vk, const vk::VkDevice device, const deUint32 queueFamilyIndex);
-vk::Move<vk::VkCommandBuffer>  makeCommandBuffer               (const vk::DeviceInterface& vk, const vk::VkDevice device, const vk::VkCommandPool commandPool);
 vk::Move<vk::VkDescriptorSet>  makeDescriptorSet               (const vk::DeviceInterface& vk, const vk::VkDevice device, const vk::VkDescriptorPool descriptorPool, const vk::VkDescriptorSetLayout setLayout);
 vk::Move<vk::VkPipelineLayout> makePipelineLayout              (const vk::DeviceInterface& vk, const vk::VkDevice device);
 vk::Move<vk::VkPipelineLayout> makePipelineLayout              (const vk::DeviceInterface& vk, const vk::VkDevice device, const vk::VkDescriptorSetLayout descriptorSetLayout);
index a4e9c44..8feb7af 100644 (file)
@@ -587,8 +587,8 @@ public:
                m_pipelineLayout        = makePipelineLayout    (vk, device);
                m_pipeline                      = makeGraphicsPipeline  (vk, device, *m_pipelineLayout, *m_renderPass, *m_vertexModule, *m_geometryModule, *m_fragmentModule,
                                                                                                         m_renderSize, m_numViewports, scissors);
-               m_cmdPool                       = makeCommandPool               (vk, device, queueFamilyIndex);
-               m_cmdBuffer                     = makeCommandBuffer             (vk, device, *m_cmdPool);
+               m_cmdPool                       = createCommandPool             (vk, device, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queueFamilyIndex);
+               m_cmdBuffer                     = allocateCommandBuffer (vk, device, *m_cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY);
        }
 
        void draw (Context& context, const VkBuffer colorBuffer) const
index a2c1fa1..2951b12 100644 (file)
@@ -563,8 +563,8 @@ public:
                m_framebuffer                           = makeFramebuffer               (vk, device, *m_renderPass, 1u, &m_colorAttachment.get(),
                                                                                                                         static_cast<deUint32>(m_renderSize.x()),  static_cast<deUint32>(m_renderSize.y()));
                m_pipelineLayout                        = makePipelineLayout    (vk, device);
-               m_cmdPool                                       = makeCommandPool               (vk, device, queueFamilyIndex);
-               m_cmdBuffer                                     = makeCommandBuffer             (vk, device, *m_cmdPool);
+               m_cmdPool                                       = createCommandPool             (vk, device, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queueFamilyIndex);
+               m_cmdBuffer                                     = allocateCommandBuffer (vk, device, *m_cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY);
 
        }
 
index 26b1d25..0dbeea4 100644 (file)
@@ -85,8 +85,8 @@ tcu::TestStatus GeometryExpanderRenderTestInstance::iterate (void)
        const VkImageSubresourceRange   colorSubRange                   = makeImageSubresourceRange(VK_IMAGE_ASPECT_COLOR_BIT, 0u, 1u, 0u, 1u);
        const Unique<VkImageView>               colorAttachmentView             (makeImageView(vk, device, *colorAttachmentImage, VK_IMAGE_VIEW_TYPE_2D, colorFormat, colorSubRange));
        const Unique<VkFramebuffer>             framebuffer                             (makeFramebuffer(vk, device, *renderPass, *colorAttachmentView, resolution.x(), resolution.y(), 1u));
-       const Unique<VkCommandPool>             cmdPool                                 (makeCommandPool(vk, device, queueFamilyIndex));
-       const Unique<VkCommandBuffer>   cmdBuffer                               (makeCommandBuffer(vk, device, *cmdPool));
+       const Unique<VkCommandPool>             cmdPool                                 (createCommandPool(vk, device, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queueFamilyIndex));
+       const Unique<VkCommandBuffer>   cmdBuffer                               (allocateCommandBuffer(vk, device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
        const VkDeviceSize                              vertexDataSizeBytes             = sizeInBytes(m_vertexPosData) + sizeInBytes(m_vertexAttrData);
        const deUint32                                  vertexPositionsOffset   = 0u;
index 4200828..afbb786 100644 (file)
@@ -124,14 +124,7 @@ void uploadImage (Context&                                                         context,
 
        // Create command pool and buffer
        {
-               const VkCommandPoolCreateInfo cmdPoolParams =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,             // VkStructureType                      sType;
-                       DE_NULL,                                                                                // const void*                          pNext;
-                       VK_COMMAND_POOL_CREATE_TRANSIENT_BIT,                   // VkCommandPoolCreateFlags     flags;
-                       queueFamilyIndex,                                                               // deUint32                                     queueFamilyIndex;
-               };
-               cmdPool = createCommandPool(vk, device, &cmdPoolParams);
+               cmdPool = createCommandPool(vk, device, VK_COMMAND_POOL_CREATE_TRANSIENT_BIT, queueFamilyIndex);
 
                const VkCommandBufferAllocateInfo cmdBufferAllocateInfo =
                {
@@ -145,16 +138,7 @@ void uploadImage (Context&                                                         context,
        }
 
        // Create fence
-       {
-               const VkFenceCreateInfo fenceParams =
-               {
-                       VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,    // VkStructureType              sType;
-                       DE_NULL,                                                                // const void*                  pNext;
-                       0u                                                                              // VkFenceCreateFlags   flags;
-               };
-
-               fence = createFence(vk, device, &fenceParams);
-       }
+       fence = createFence(vk, device);
 
        // Barriers for copying buffer to image
        const VkBufferMemoryBarrier preBufferBarrier =
index 278994f..4cd0c29 100644 (file)
@@ -371,8 +371,8 @@ void draw (Context&                                 context,
        const Unique<VkPipelineLayout>  pipelineLayout                  (makePipelineLayout             (vk, device));
        const Unique<VkPipeline>                pipeline                                (makeGraphicsPipeline   (vk, device, *pipelineLayout, *renderPass, *vertexModule, *geometryModule, *fragmentModule, renderExtent));
 
-       const Unique<VkCommandPool>             cmdPool                                 (makeCommandPool                (vk, device, queueFamilyIndex));
-       const Unique<VkCommandBuffer>   cmdBuffer                               (makeCommandBuffer              (vk, device, *cmdPool));
+       const Unique<VkCommandPool>             cmdPool                                 (createCommandPool              (vk, device, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queueFamilyIndex));
+       const Unique<VkCommandBuffer>   cmdBuffer                               (allocateCommandBuffer  (vk, device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
        // Initialize vertex data
        {
index 182f9c0..b6790c4 100644 (file)
@@ -931,8 +931,8 @@ tcu::TestStatus test (Context& context, const TestParams params)
        const Unique<VkPipelineLayout>  pipelineLayout                  (makePipelineLayout             (vk, device));
        const Unique<VkPipeline>                pipeline                                (makeGraphicsPipeline   (vk, device, *pipelineLayout, *renderPass, *vertexModule, *geometryModule, *fragmentModule,
                                                                                                                                                                         makeExtent2D(params.image.size.width, params.image.size.height)));
-       const Unique<VkCommandPool>             cmdPool                                 (makeCommandPool                (vk, device, queueFamilyIndex));
-       const Unique<VkCommandBuffer>   cmdBuffer                               (makeCommandBuffer              (vk, device, *cmdPool));
+       const Unique<VkCommandPool>             cmdPool                                 (createCommandPool              (vk, device, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queueFamilyIndex));
+       const Unique<VkCommandBuffer>   cmdBuffer                               (allocateCommandBuffer  (vk, device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
        zeroBuffer(vk, device, *colorBufferAlloc, colorBufferSize);
 
index 0c8f63f..5c831dd 100644 (file)
@@ -566,31 +566,6 @@ Move<VkFramebuffer> makeFramebuffer (const DeviceInterface&        vk,
        return createFramebuffer(vk, device, &framebufferInfo);
 }
 
-Move<VkCommandPool> makeCommandPool (const DeviceInterface& vk, const VkDevice device, const deUint32 queueFamilyIndex)
-{
-       const VkCommandPoolCreateInfo info =
-       {
-               VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,                     // VkStructureType                      sType;
-               DE_NULL,                                                                                        // const void*                          pNext;
-               VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT,        // VkCommandPoolCreateFlags     flags;
-               queueFamilyIndex,                                                                       // deUint32                                     queueFamilyIndex;
-       };
-       return createCommandPool(vk, device, &info);
-}
-
-Move<VkCommandBuffer> makeCommandBuffer (const DeviceInterface& vk, const VkDevice device, const VkCommandPool commandPool)
-{
-       const VkCommandBufferAllocateInfo info =
-       {
-               VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,         // VkStructureType              sType;
-               DE_NULL,                                                                                        // const void*                  pNext;
-               commandPool,                                                                            // VkCommandPool                commandPool;
-               VK_COMMAND_BUFFER_LEVEL_PRIMARY,                                        // VkCommandBufferLevel level;
-               1u,                                                                                                     // deUint32                             commandBufferCount;
-       };
-       return allocateCommandBuffer(vk, device, &info);
-}
-
 VkImageMemoryBarrier makeImageMemoryBarrier    (const VkAccessFlags                    srcAccessMask,
                                                                                         const VkAccessFlags                    dstAccessMask,
                                                                                         const VkImageLayout                    oldLayout,
@@ -685,13 +660,7 @@ void submitCommandsAndWait (const DeviceInterface& vk,
                                                        const VkQueue                   queue,
                                                        const VkCommandBuffer   commandBuffer)
 {
-       const VkFenceCreateInfo fenceInfo =
-       {
-               VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,    // VkStructureType              sType;
-               DE_NULL,                                                                // const void*                  pNext;
-               (VkFenceCreateFlags)0,                                  // VkFenceCreateFlags   flags;
-       };
-       const Unique<VkFence> fence(createFence(vk, device, &fenceInfo));
+       const Unique<VkFence> fence(createFence(vk, device));
 
        const VkSubmitInfo submitInfo =
        {
index 43e72a5..179cd50 100644 (file)
@@ -173,8 +173,6 @@ vk::Move<vk::VkImageView>           makeImageView                           (const vk::DeviceInterface& vk, cons
 vk::VkBufferImageCopy                  makeBufferImageCopy                     (const vk::VkExtent3D extent, const vk::VkImageSubresourceLayers subresourceLayers);
 vk::Move<vk::VkPipelineLayout> makePipelineLayout                      (const vk::DeviceInterface& vk, const vk::VkDevice device, const vk::VkDescriptorSetLayout descriptorSetLayout = DE_NULL);
 vk::Move<vk::VkFramebuffer>            makeFramebuffer                         (const vk::DeviceInterface& vk, const vk::VkDevice device, const vk::VkRenderPass renderPass, const vk::VkImageView colorAttachment, const deUint32 width, const deUint32 height, const deUint32 layers);
-vk::Move<vk::VkCommandPool>            makeCommandPool                         (const vk::DeviceInterface& vk, const vk::VkDevice device, const deUint32 queueFamilyIndex);
-vk::Move<vk::VkCommandBuffer>  makeCommandBuffer                       (const vk::DeviceInterface& vk, const vk::VkDevice device, const vk::VkCommandPool commandPool);
 vk::VkImageMemoryBarrier               makeImageMemoryBarrier          (const vk::VkAccessFlags srcAccessMask, const vk::VkAccessFlags dstAccessMask, const vk::VkImageLayout oldLayout, const vk::VkImageLayout newLayout, const vk::VkImage image, const vk::VkImageSubresourceRange subresourceRange);
 vk::VkBufferMemoryBarrier              makeBufferMemoryBarrier         (const vk::VkAccessFlags srcAccessMask, const vk::VkAccessFlags dstAccessMask, const vk::VkBuffer buffer, const vk::VkDeviceSize offset, const vk::VkDeviceSize bufferSizeBytes);
 de::MovePtr<vk::Allocation>            bindImage                                       (const vk::DeviceInterface& vk, const vk::VkDevice device, vk::Allocator& allocator, const vk::VkImage image, const vk::MemoryRequirement requirement);
index 9ae79c4..7166e14 100644 (file)
@@ -513,8 +513,8 @@ tcu::TestStatus     BinaryAtomicInstanceBase::iterate (void)
        const Unique<VkPipeline>                pipeline(makeComputePipeline(deviceInterface, device, *pipelineLayout, *shaderModule));
 
        // Create command buffer
-       const Unique<VkCommandPool>             cmdPool(makeCommandPool(deviceInterface, device, queueFamilyIndex));
-       const Unique<VkCommandBuffer>   cmdBuffer(makeCommandBuffer(deviceInterface, device, *cmdPool));
+       const Unique<VkCommandPool>             cmdPool(createCommandPool(deviceInterface, device, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queueFamilyIndex));
+       const Unique<VkCommandBuffer>   cmdBuffer(allocateCommandBuffer(deviceInterface, device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
        beginCommandBuffer(deviceInterface, *cmdBuffer);
 
index 17e9e8d..d3671d9 100644 (file)
@@ -445,8 +445,8 @@ tcu::TestStatus BaseTestInstance::iterate (void)
        const Unique<VkPipelineLayout> pipelineLayout(makePipelineLayout(vk, device, descriptorSetLayout));
        const Unique<VkPipeline> pipeline(makeComputePipeline(vk, device, *pipelineLayout, *shaderModule));
 
-       const Unique<VkCommandPool> cmdPool(makeCommandPool(vk, device, queueFamilyIndex));
-       const Unique<VkCommandBuffer> cmdBuffer(makeCommandBuffer(vk, device, *cmdPool));
+       const Unique<VkCommandPool> cmdPool(createCommandPool(vk, device, VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT, queueFamilyIndex));
+       const Unique<VkCommandBuffer> cmdBuffer(allocateCommandBuffer(vk, device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
        beginCommandBuffer(vk, *cmdBuffer);
 
index 6f8bdac..77b0334 100644 (file)
@@ -316,9 +316,9 @@ tcu::TestStatus test (Context& context, const CaseDef caseDef)
 
        // Prepare commands
 
-       const Unique<VkPipelineLayout>  pipelineLayout  (makePipelineLayout     (vk, device, *descriptorSetLayout));
-       const Unique<VkCommandPool>             cmdPool                 (makeCommandPool        (vk, device, queueFamilyIndex));
-       const Unique<VkCommandBuffer>   cmdBuffer               (makeCommandBuffer      (vk, device, *cmdPool));
+       const Unique<VkPipelineLayout>  pipelineLayout  (makePipelineLayout(vk, device, *descriptorSetLayout));
+       const Unique<VkCommandPool>             cmdPool                 (createCommandPool(vk, device, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queueFamilyIndex));
+       const Unique<VkCommandBuffer>   cmdBuffer               (allocateCommandBuffer(vk, device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
        const tcu::IVec3                                workSize                                = (caseDef.singleLayerBind ? caseDef.texture.layerSize() : caseDef.texture.size());
        const int                                               loopNumLayers                   = (caseDef.singleLayerBind ? numLayers : 1);
index dabe758..400a42d 100644 (file)
@@ -376,8 +376,8 @@ tcu::TestStatus     MemoryQualifierInstanceBase::iterate (void)
        const vk::Unique<VkPipeline> pipeline(makeComputePipeline(deviceInterface, device, *pipelineLayout, *shaderModule));
 
        // Create command buffer
-       const Unique<VkCommandPool> cmdPool(makeCommandPool(deviceInterface, device, queueFamilyIndex));
-       const Unique<VkCommandBuffer> cmdBuffer(makeCommandBuffer(deviceInterface, device, *cmdPool));
+       const Unique<VkCommandPool> cmdPool(createCommandPool(deviceInterface, device, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queueFamilyIndex));
+       const Unique<VkCommandBuffer> cmdBuffer(allocateCommandBuffer(deviceInterface, device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
        // Start recording commands
        beginCommandBuffer(deviceInterface, *cmdBuffer);
index 8ebff3d..7fa880a 100644 (file)
@@ -303,8 +303,8 @@ tcu::TestStatus SizeTestInstance::iterate (void)
        const Unique<VkPipelineLayout> pipelineLayout(makePipelineLayout(vk, device, descriptorSetLayout));
        const Unique<VkPipeline> pipeline(makeComputePipeline(vk, device, *pipelineLayout, *shaderModule));
 
-       const Unique<VkCommandPool> cmdPool(makeCommandPool(vk, device, queueFamilyIndex));
-       const Unique<VkCommandBuffer> cmdBuffer(makeCommandBuffer(vk, device, *cmdPool));
+       const Unique<VkCommandPool> cmdPool(createCommandPool(vk, device, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queueFamilyIndex));
+       const Unique<VkCommandBuffer> cmdBuffer(allocateCommandBuffer(vk, device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
        beginCommandBuffer(vk, *cmdBuffer);
 
index 437b830..1d70427 100644 (file)
@@ -222,31 +222,6 @@ VkBufferImageCopy makeBufferImageCopy (const VkExtent3D extent,
        return copyParams;
 }
 
-Move<VkCommandPool> makeCommandPool (const DeviceInterface& vk, const VkDevice device, const deUint32 queueFamilyIndex)
-{
-       const VkCommandPoolCreateInfo commandPoolParams =
-       {
-               VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,                     // VkStructureType                      sType;
-               DE_NULL,                                                                                        // const void*                          pNext;
-               VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT,        // VkCommandPoolCreateFlags     flags;
-               queueFamilyIndex,                                                                       // deUint32                                     queueFamilyIndex;
-       };
-       return createCommandPool(vk, device, &commandPoolParams);
-}
-
-Move<VkCommandBuffer> makeCommandBuffer (const DeviceInterface& vk, const VkDevice device, const VkCommandPool commandPool)
-{
-       const VkCommandBufferAllocateInfo bufferAllocateParams =
-       {
-               VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,         // VkStructureType                      sType;
-               DE_NULL,                                                                                        // const void*                          pNext;
-               commandPool,                                                                            // VkCommandPool                        commandPool;
-               VK_COMMAND_BUFFER_LEVEL_PRIMARY,                                        // VkCommandBufferLevel         level;
-               1u,                                                                                                     // deUint32                                     bufferCount;
-       };
-       return allocateCommandBuffer(vk, device, &bufferAllocateParams);
-}
-
 Move<VkPipelineLayout> makePipelineLayout (const DeviceInterface&              vk,
                                                                                   const VkDevice                               device,
                                                                                   const VkDescriptorSetLayout  descriptorSetLayout)
@@ -414,13 +389,7 @@ void submitCommandsAndWait (const DeviceInterface& vk,
                                                        const VkQueue                   queue,
                                                        const VkCommandBuffer   commandBuffer)
 {
-       const VkFenceCreateInfo fenceParams =
-       {
-               VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,    // VkStructureType              sType;
-               DE_NULL,                                                                // const void*                  pNext;
-               0u,                                                                             // VkFenceCreateFlags   flags;
-       };
-       const Unique<VkFence> fence(createFence(vk, device, &fenceParams));
+       const Unique<VkFence> fence(createFence(vk, device));
 
        const VkSubmitInfo submitInfo =
        {
index 039dca0..67fcc5f 100644 (file)
@@ -105,14 +105,6 @@ deUint32   getNumPixels            (const ImageType imageType, const tcu::UVec3& imageSize);
 deUint32       getDimensions           (const ImageType imageType);                                                            //!< Coordinate dimension used for addressing (e.g. 3 (x,y,z) for 2d array)
 deUint32       getLayerDimensions      (const ImageType imageType);                                                            //!< Coordinate dimension used for addressing a single layer (e.g. 2 (x,y) for 2d array)
 
-vk::Move<vk::VkCommandPool>            makeCommandPool                                 (const vk::DeviceInterface&                     vk,
-                                                                                                                                const vk::VkDevice                                     device,
-                                                                                                                                const deUint32                                         queueFamilyIndex);
-
-vk::Move<vk::VkCommandBuffer>  makeCommandBuffer                               (const vk::DeviceInterface&                     vk,
-                                                                                                                                const vk::VkDevice                                     device,
-                                                                                                                                const vk::VkCommandPool                        commandPool);
-
 vk::Move<vk::VkPipelineLayout> makePipelineLayout                              (const vk::DeviceInterface&                     vk,
                                                                                                                                 const vk::VkDevice                                     device,
                                                                                                                                 const vk::VkDescriptorSetLayout        descriptorSetLayout);
index d93e058..3df4c35 100644 (file)
@@ -486,24 +486,6 @@ struct TestConfig
        vk::VkSharingMode       sharing;
 };
 
-vk::Move<vk::VkCommandBuffer> createCommandBuffer (const vk::DeviceInterface&  vkd,
-                                                                                                  vk::VkDevice                                 device,
-                                                                                                  vk::VkCommandPool                    pool,
-                                                                                                  vk::VkCommandBufferLevel             level)
-{
-       const vk::VkCommandBufferAllocateInfo bufferInfo =
-       {
-               vk::VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,
-               DE_NULL,
-
-               pool,
-               level,
-               1u
-       };
-
-       return vk::allocateCommandBuffer(vkd, device, &bufferInfo);
-}
-
 vk::Move<vk::VkCommandBuffer> createBeginCommandBuffer (const vk::DeviceInterface&     vkd,
                                                                                                                vk::VkDevice                            device,
                                                                                                                vk::VkCommandPool                       pool,
@@ -528,29 +510,13 @@ vk::Move<vk::VkCommandBuffer> createBeginCommandBuffer (const vk::DeviceInterfac
                (level == vk::VK_COMMAND_BUFFER_LEVEL_SECONDARY ? &inheritInfo : (const vk::VkCommandBufferInheritanceInfo*)DE_NULL),
        };
 
-       vk::Move<vk::VkCommandBuffer> commandBuffer (createCommandBuffer(vkd, device, pool, level));
+       vk::Move<vk::VkCommandBuffer> commandBuffer (allocateCommandBuffer(vkd, device, pool, level));
 
        vkd.beginCommandBuffer(*commandBuffer, &beginInfo);
 
        return commandBuffer;
 }
 
-vk::Move<vk::VkCommandPool> createCommandPool (const vk::DeviceInterface&      vkd,
-                                                                                          vk::VkDevice                                 device,
-                                                                                          deUint32                                             queueFamilyIndex)
-{
-       const vk::VkCommandPoolCreateInfo poolInfo =
-       {
-               vk::VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,
-               DE_NULL,
-
-               vk::VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT,
-               queueFamilyIndex,
-       };
-
-       return vk::createCommandPool(vkd, device, &poolInfo);
-}
-
 vk::Move<vk::VkBuffer> createBuffer (const vk::DeviceInterface&        vkd,
                                                                         vk::VkDevice                           device,
                                                                         vk::VkDeviceSize                       size,
@@ -1034,7 +1000,7 @@ public:
                , m_queue                               (queue)
                , m_queueFamilyIndex    (queueFamilyIndex)
                , m_queues                              (queues)
-               , m_commandPool                 (createCommandPool(vkd, device, queueFamilyIndex))
+               , m_commandPool                 (createCommandPool(vkd, device, vk::VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queueFamilyIndex))
                , m_binaryCollection    (binaryCollection)
        {
                for (size_t queueNdx = 0; queueNdx < m_queues.size(); queueNdx++)
index 93ca41b..a9e7d63 100644 (file)
@@ -691,29 +691,10 @@ BlendTestInstance::BlendTestInstance (Context&                                                                    context,
        }
 
        // Create command pool
-       {
-               const VkCommandPoolCreateInfo cmdPoolParams =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,             // VkStructureType                      sType;
-                       DE_NULL,                                                                                // const void*                          pNext;
-                       VK_COMMAND_POOL_CREATE_TRANSIENT_BIT,                   // VkCommandPoolCreateFlags     flags;
-                       queueFamilyIndex                                                                // deUint32                                     queueFamilyIndex;
-               };
-
-               m_cmdPool = createCommandPool(vk, vkDevice, &cmdPoolParams);
-       }
+       m_cmdPool = createCommandPool(vk, vkDevice, VK_COMMAND_POOL_CREATE_TRANSIENT_BIT, queueFamilyIndex);
 
        // Create command buffer
        {
-               const VkCommandBufferAllocateInfo cmdBufferAllocateInfo =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO, // VkStructureType                      sType;
-                       DE_NULL,                                                                                // const void*                          pNext;
-                       *m_cmdPool,                                                                             // VkCommandPool                        commandPool;
-                       VK_COMMAND_BUFFER_LEVEL_PRIMARY,                                // VkCommandBufferLevel         level;
-                       1u,                                                                                             // deUint32                             bufferCount;
-               };
-
                const VkCommandBufferBeginInfo cmdBufferBeginInfo =
                {
                        VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO,    // VkStructureType                                      sType;
@@ -750,7 +731,7 @@ BlendTestInstance::BlendTestInstance (Context&                                                                      context,
                        { VK_IMAGE_ASPECT_COLOR_BIT, 0u, 1u, 0u, 1u }                                                   // VkImageSubresourceRange    subresourceRange;
                };
 
-               m_cmdBuffer = allocateCommandBuffer(vk, vkDevice, &cmdBufferAllocateInfo);
+               m_cmdBuffer = allocateCommandBuffer(vk, vkDevice, *m_cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY);
 
                VK_CHECK(vk.beginCommandBuffer(*m_cmdBuffer, &cmdBufferBeginInfo));
 
@@ -775,16 +756,7 @@ BlendTestInstance::BlendTestInstance (Context&                                                                     context,
        }
 
        // Create fence
-       {
-               const VkFenceCreateInfo fenceParams =
-               {
-                       VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,    // VkStructureType              sType;
-                       DE_NULL,                                                                // const void*                  pNext;
-                       0u                                                                              // VkFenceCreateFlags   flags;
-               };
-
-               m_fence = createFence(vk, vkDevice, &fenceParams);
-       }
+       m_fence = createFence(vk, vkDevice);
 }
 
 BlendTestInstance::~BlendTestInstance (void)
index 33529df..2ea6851 100644 (file)
@@ -550,43 +550,13 @@ CacheTestInstance::CacheTestInstance (Context&                 context,
        const deUint32          queueFamilyIndex = context.getUniversalQueueFamilyIndex();
 
        // Create command pool
-       {
-               const VkCommandPoolCreateInfo cmdPoolParams =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,   // VkStructureType      sType;
-                       DE_NULL,                                      // const void*          pNext;
-                       VK_COMMAND_POOL_CREATE_TRANSIENT_BIT,         // VkCmdPoolCreateFlags flags;
-                       queueFamilyIndex,                             // deUint32             queueFamilyIndex;
-               };
-
-               m_cmdPool = createCommandPool(vk, vkDevice, &cmdPoolParams);
-       }
+       m_cmdPool = createCommandPool(vk, vkDevice, VK_COMMAND_POOL_CREATE_TRANSIENT_BIT, queueFamilyIndex);
 
        // Create command buffer
-       {
-               const VkCommandBufferAllocateInfo cmdAllocateParams =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO, // VkStructureType         sType;
-                       DE_NULL,                                        // const void*             pNext;
-                       *m_cmdPool,                                     // VkCommandPool           cmdPool;
-                       VK_COMMAND_BUFFER_LEVEL_PRIMARY,                // VkCommandBufferLevel    level;
-                       1u,                                             // deUint32                bufferCount;
-               };
-
-               m_cmdBuffer = allocateCommandBuffer(vk, vkDevice, &cmdAllocateParams);
-       }
+       m_cmdBuffer = allocateCommandBuffer(vk, vkDevice, *m_cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY);
 
        // Create fence
-       {
-               const VkFenceCreateInfo fenceParams =
-               {
-                       VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,        // VkStructureType      sType;
-                       DE_NULL,                                    // const void*          pNext;
-                       0u,                                         // VkFenceCreateFlags   flags;
-               };
-
-               m_fence = createFence(vk, vkDevice, &fenceParams);
-       }
+       m_fence = createFence(vk, vkDevice);
 
        // Create the Pipeline Cache
        {
index 62b3012..be53d7f 100644 (file)
@@ -695,29 +695,10 @@ DepthTestInstance::DepthTestInstance (Context&                            context,
        }
 
        // Create command pool
-       {
-               const VkCommandPoolCreateInfo cmdPoolParams =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,     // VkStructureType              sType;
-                       DE_NULL,                                                                        // const void*                  pNext;
-                       VK_COMMAND_POOL_CREATE_TRANSIENT_BIT,           // VkCmdPoolCreateFlags flags;
-                       queueFamilyIndex                                                        // deUint32                             queueFamilyIndex;
-               };
-
-               m_cmdPool = createCommandPool(vk, vkDevice, &cmdPoolParams);
-       }
+       m_cmdPool = createCommandPool(vk, vkDevice, VK_COMMAND_POOL_CREATE_TRANSIENT_BIT, queueFamilyIndex);
 
        // Create command buffer
        {
-               const VkCommandBufferAllocateInfo cmdBufferAllocateInfo =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO, // VkStructureType                      sType;
-                       DE_NULL,                                                                                // const void*                          pNext;
-                       *m_cmdPool,                                                                             // VkCommandPool                        commandPool;
-                       VK_COMMAND_BUFFER_LEVEL_PRIMARY,                                // VkCommandBufferLevel         level;
-                       1u                                                                                              // deUint32                                     bufferCount;
-               };
-
                const VkCommandBufferBeginInfo cmdBufferBeginInfo =
                {
                        VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO,    // VkStructureType                                      sType;
@@ -773,7 +754,7 @@ DepthTestInstance::DepthTestInstance (Context&                              context,
                        },
                };
 
-               m_cmdBuffer = allocateCommandBuffer(vk, vkDevice, &cmdBufferAllocateInfo);
+               m_cmdBuffer = allocateCommandBuffer(vk, vkDevice, *m_cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY);
 
                VK_CHECK(vk.beginCommandBuffer(*m_cmdBuffer, &cmdBufferBeginInfo));
 
@@ -798,16 +779,7 @@ DepthTestInstance::DepthTestInstance (Context&                             context,
        }
 
        // Create fence
-       {
-               const VkFenceCreateInfo fenceParams =
-               {
-                       VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,    // VkStructureType              sType;
-                       DE_NULL,                                                                // const void*                  pNext;
-                       0u                                                                              // VkFenceCreateFlags   flags;
-               };
-
-               m_fence = createFence(vk, vkDevice, &fenceParams);
-       }
+       m_fence = createFence(vk, vkDevice);
 }
 
 DepthTestInstance::~DepthTestInstance (void)
index 6ea4ac6..f9b9933 100644 (file)
@@ -694,29 +694,10 @@ ImageSamplingInstance::ImageSamplingInstance (Context&                                                    context,
        }
 
        // Create command pool
-       {
-               const VkCommandPoolCreateInfo cmdPoolParams =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,             // VkStructureType                              sType;
-                       DE_NULL,                                                                                // const void*                                  pNext;
-                       VK_COMMAND_POOL_CREATE_TRANSIENT_BIT,                   // VkCommandPoolCreateFlags     flags;
-                       queueFamilyIndex                                                                // deUint32                                     queueFamilyIndex;
-               };
-
-               m_cmdPool = createCommandPool(vk, vkDevice, &cmdPoolParams);
-       }
+       m_cmdPool = createCommandPool(vk, vkDevice, VK_COMMAND_POOL_CREATE_TRANSIENT_BIT, queueFamilyIndex);
 
        // Create command buffer
        {
-               const VkCommandBufferAllocateInfo cmdBufferAllocateInfo =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO, // VkStructureType                      sType;
-                       DE_NULL,                                                                                // const void*                          pNext;
-                       *m_cmdPool,                                                                             // VkCommandPool                        commandPool;
-                       VK_COMMAND_BUFFER_LEVEL_PRIMARY,                                // VkCommandBufferLevel         level;
-                       1u,                                                                                             // deUint32                                     bufferCount;
-               };
-
                const VkCommandBufferBeginInfo cmdBufferBeginInfo =
                {
                        VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO,    // VkStructureType                                      sType;
@@ -761,7 +742,7 @@ ImageSamplingInstance::ImageSamplingInstance (Context&                                                      context,
                        preAttachmentBarriers[imgNdx].subresourceRange.layerCount               = 1u;
                }
 
-               m_cmdBuffer = allocateCommandBuffer(vk, vkDevice, &cmdBufferAllocateInfo);
+               m_cmdBuffer = allocateCommandBuffer(vk, vkDevice, *m_cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY);
 
                VK_CHECK(vk.beginCommandBuffer(*m_cmdBuffer, &cmdBufferBeginInfo));
 
@@ -783,16 +764,7 @@ ImageSamplingInstance::ImageSamplingInstance (Context&                                                     context,
        }
 
        // Create fence
-       {
-               const VkFenceCreateInfo fenceParams =
-               {
-                       VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,    // VkStructureType              sType;
-                       DE_NULL,                                                                // const void*                  pNext;
-                       0u                                                                              // VkFenceCreateFlags   flags;
-               };
-
-               m_fence = createFence(vk, vkDevice, &fenceParams);
-       }
+       m_fence = createFence(vk, vkDevice);
 }
 
 ImageSamplingInstance::~ImageSamplingInstance (void)
index 4d750d2..0bc6922 100644 (file)
@@ -238,40 +238,11 @@ de::MovePtr<tcu::TextureLevel> readColorAttachment (const vk::DeviceInterface&    v
        }
 
        // Create command pool and buffer
-       {
-               const VkCommandPoolCreateInfo cmdPoolParams =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,             // VkStructureType              sType;
-                       DE_NULL,                                                                                // const void*                  pNext;
-                       VK_COMMAND_POOL_CREATE_TRANSIENT_BIT,                   // VkCmdPoolCreateFlags flags;
-                       queueFamilyIndex,                                                               // deUint32                             queueFamilyIndex;
-               };
-
-               cmdPool = createCommandPool(vk, device, &cmdPoolParams);
-
-               const VkCommandBufferAllocateInfo cmdBufferAllocateInfo =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO, // VkStructureType                      sType;
-                       DE_NULL,                                                                                // const void*                          pNext;
-                       *cmdPool,                                                                               // VkCommandPool                        commandPool;
-                       VK_COMMAND_BUFFER_LEVEL_PRIMARY,                                // VkCommandBufferLevel         level;
-                       1u                                                                                              // deUint32                                     bufferCount;
-               };
-
-               cmdBuffer = allocateCommandBuffer(vk, device, &cmdBufferAllocateInfo);
-       }
+       cmdPool         = createCommandPool(vk, device, VK_COMMAND_POOL_CREATE_TRANSIENT_BIT, queueFamilyIndex);
+       cmdBuffer       = allocateCommandBuffer(vk, device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY);
 
        // Create fence
-       {
-               const VkFenceCreateInfo fenceParams =
-               {
-                       VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,            // VkStructureType              sType;
-                       DE_NULL,                                                                        // const void*                  pNext;
-                       0u                                                                                      // VkFenceCreateFlags   flags;
-               };
-
-               fence = createFence(vk, device, &fenceParams);
-       }
+       fence = createFence(vk, device);
 
        // Barriers for copying image to buffer
 
@@ -429,40 +400,11 @@ void uploadTestTextureInternal (const DeviceInterface&                    vk,
        }
 
        // Create command pool and buffer
-       {
-               const VkCommandPoolCreateInfo cmdPoolParams =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,             // VkStructureType                      sType;
-                       DE_NULL,                                                                                // const void*                          pNext;
-                       VK_COMMAND_POOL_CREATE_TRANSIENT_BIT,                   // VkCommandPoolCreateFlags     flags;
-                       queueFamilyIndex,                                                               // deUint32                                     queueFamilyIndex;
-               };
-
-               cmdPool = createCommandPool(vk, device, &cmdPoolParams);
-
-               const VkCommandBufferAllocateInfo cmdBufferAllocateInfo =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO, // VkStructureType                      sType;
-                       DE_NULL,                                                                                // const void*                          pNext;
-                       *cmdPool,                                                                               // VkCommandPool                        commandPool;
-                       VK_COMMAND_BUFFER_LEVEL_PRIMARY,                                // VkCommandBufferLevel         level;
-                       1u,                                                                                             // deUint32                                     bufferCount;
-               };
-
-               cmdBuffer = allocateCommandBuffer(vk, device, &cmdBufferAllocateInfo);
-       }
+       cmdPool         = createCommandPool(vk, device, VK_COMMAND_POOL_CREATE_TRANSIENT_BIT, queueFamilyIndex);
+       cmdBuffer       = allocateCommandBuffer(vk, device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY);
 
        // Create fence
-       {
-               const VkFenceCreateInfo fenceParams =
-               {
-                       VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,            // VkStructureType              sType;
-                       DE_NULL,                                                                        // const void*                  pNext;
-                       0u                                                                                      // VkFenceCreateFlags   flags;
-               };
-
-               fence = createFence(vk, device, &fenceParams);
-       }
+       fence = createFence(vk, device);
 
        // Barriers for copying buffer to image
        const VkBufferMemoryBarrier preBufferBarrier =
index 61f5e40..44080d2 100644 (file)
@@ -1355,29 +1355,10 @@ InputAssemblyInstance::InputAssemblyInstance (Context&                                                  context,
        }
 
        // Create command pool
-       {
-               const VkCommandPoolCreateInfo cmdPoolParams =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,             // VkStructureType                              sType;
-                       DE_NULL,                                                                                // const void*                                  pNext;
-                       VK_COMMAND_POOL_CREATE_TRANSIENT_BIT,                   // VkCommandPoolCreateFlags             flags;
-                       queueFamilyIndex                                                                // deUint32                                             queueFamilyIndex;
-               };
-
-               m_cmdPool = createCommandPool(vk, vkDevice, &cmdPoolParams);
-       }
+       m_cmdPool = createCommandPool(vk, vkDevice, VK_COMMAND_POOL_CREATE_TRANSIENT_BIT, queueFamilyIndex);
 
        // Create command buffer
        {
-               const VkCommandBufferAllocateInfo cmdBufferAllocateInfo =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO, // VkStructureType                      sType;
-                       DE_NULL,                                                                                // const void*                          pNext;
-                       *m_cmdPool,                                                                             // VkCommandPool                        commandPool;
-                       VK_COMMAND_BUFFER_LEVEL_PRIMARY,                                // VkCommandBufferLevel         level;
-                       1u                                                                                              // deUint32                                     bufferCount;
-               };
-
                const VkCommandBufferBeginInfo cmdBufferBeginInfo =
                {
                        VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO,    // VkStructureType                                      sType;
@@ -1413,7 +1394,7 @@ InputAssemblyInstance::InputAssemblyInstance (Context&                                                    context,
                        { VK_IMAGE_ASPECT_COLOR_BIT, 0u, 1u, 0u, 1u },  // VkImageSubresourceRange      subresourceRange;
                };
 
-               m_cmdBuffer = allocateCommandBuffer(vk, vkDevice, &cmdBufferAllocateInfo);
+               m_cmdBuffer = allocateCommandBuffer(vk, vkDevice, *m_cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY);
 
                VK_CHECK(vk.beginCommandBuffer(*m_cmdBuffer, &cmdBufferBeginInfo));
 
@@ -1434,16 +1415,7 @@ InputAssemblyInstance::InputAssemblyInstance (Context&                                                   context,
        }
 
        // Create fence
-       {
-               const VkFenceCreateInfo fenceParams =
-               {
-                       VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,    // VkStructureType              sType;
-                       DE_NULL,                                                                // const void*                  pNext;
-                       0u                                                                              // VkFenceCreateFlags   flags;
-               };
-
-               m_fence = createFence(vk, vkDevice, &fenceParams);
-       }
+       m_fence = createFence(vk, vkDevice);
 }
 
 InputAssemblyInstance::~InputAssemblyInstance (void)
index 7485b26..8a25c3e 100644 (file)
@@ -116,29 +116,9 @@ VkImageMemoryBarrier makeImageMemoryBarrier        (const VkAccessFlags                    srcAccessMask
        return barrier;
 }
 
-Move<VkCommandPool> makeCommandPool (const DeviceInterface& vk, const VkDevice device, const deUint32 queueFamilyIndex)
-{
-       const VkCommandPoolCreateInfo info =
-       {
-               VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,                     // VkStructureType                      sType;
-               DE_NULL,                                                                                        // const void*                          pNext;
-               VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT,        // VkCommandPoolCreateFlags     flags;
-               queueFamilyIndex,                                                                       // deUint32                                     queueFamilyIndex;
-       };
-       return createCommandPool(vk, device, &info);
-}
-
 Move<VkCommandBuffer> makeCommandBuffer (const DeviceInterface& vk, const VkDevice device, const VkCommandPool commandPool)
 {
-       const VkCommandBufferAllocateInfo info =
-       {
-               VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,         // VkStructureType              sType;
-               DE_NULL,                                                                                        // const void*                  pNext;
-               commandPool,                                                                            // VkCommandPool                commandPool;
-               VK_COMMAND_BUFFER_LEVEL_PRIMARY,                                        // VkCommandBufferLevel level;
-               1u,                                                                                                     // deUint32                             commandBufferCount;
-       };
-       return allocateCommandBuffer(vk, device, &info);
+       return allocateCommandBuffer(vk, device, commandPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY);
 }
 
 Move<VkDescriptorSet> makeDescriptorSet (const DeviceInterface&                        vk,
@@ -257,13 +237,7 @@ void submitCommandsAndWait (const DeviceInterface& vk,
                                                        const VkQueue                   queue,
                                                        const VkCommandBuffer   commandBuffer)
 {
-       const VkFenceCreateInfo fenceInfo =
-       {
-               VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,    // VkStructureType              sType;
-               DE_NULL,                                                                // const void*                  pNext;
-               (VkFenceCreateFlags)0,                                  // VkFenceCreateFlags   flags;
-       };
-       const Unique<VkFence> fence(createFence(vk, device, &fenceInfo));
+       const Unique<VkFence> fence(createFence(vk, device));
 
        const VkSubmitInfo submitInfo =
        {
index b7e81f8..67a75d6 100644 (file)
@@ -77,7 +77,6 @@ private:
 };
 
 vk::VkBufferCreateInfo                 makeBufferCreateInfo    (const vk::VkDeviceSize bufferSize, const vk::VkBufferUsageFlags usage);
-vk::Move<vk::VkCommandPool>            makeCommandPool                 (const vk::DeviceInterface& vk, const vk::VkDevice device, const deUint32 queueFamilyIndex);
 vk::Move<vk::VkCommandBuffer>  makeCommandBuffer               (const vk::DeviceInterface& vk, const vk::VkDevice device, const vk::VkCommandPool commandPool);
 vk::Move<vk::VkDescriptorSet>  makeDescriptorSet               (const vk::DeviceInterface& vk, const vk::VkDevice device, const vk::VkDescriptorPool descriptorPool, const vk::VkDescriptorSetLayout setLayout);
 vk::Move<vk::VkPipelineLayout> makePipelineLayout              (const vk::DeviceInterface& vk, const vk::VkDevice device);
index 5f808bf..85dc81e 100644 (file)
@@ -771,7 +771,7 @@ void renderMultisampledImage (Context& context, const CaseDef& caseDef, const Vk
        const deUint32                                  queueFamilyIndex        = context.getUniversalQueueFamilyIndex();
        Allocator&                                              allocator                       = context.getDefaultAllocator();
 
-       const Unique<VkCommandPool>             cmdPool                         (makeCommandPool  (vk, device, queueFamilyIndex));
+       const Unique<VkCommandPool>             cmdPool                         (createCommandPool(vk, device, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queueFamilyIndex));
        const Unique<VkCommandBuffer>   cmdBuffer                       (makeCommandBuffer(vk, device, *cmdPool));
 
        const VkRect2D renderArea = {
@@ -947,7 +947,7 @@ tcu::TestStatus test (Context& context, const CaseDef caseDef)
        const Unique<VkImage>                   colorImage              (makeImage(vk, device, caseDef.colorFormat, caseDef.renderSize, caseDef.numLayers, caseDef.numSamples, colorImageUsage));
        const UniquePtr<Allocation>             colorImageAlloc (bindImage(vk, device, allocator, *colorImage, MemoryRequirement::Any));
 
-       const Unique<VkCommandPool>             cmdPool                 (makeCommandPool  (vk, device, queueFamilyIndex));
+       const Unique<VkCommandPool>             cmdPool                 (createCommandPool(vk, device, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queueFamilyIndex));
        const Unique<VkCommandBuffer>   cmdBuffer               (makeCommandBuffer(vk, device, *cmdPool));
 
        const VkRect2D renderArea = {
@@ -1206,7 +1206,7 @@ void renderAndResolve (Context& context, const CaseDef& caseDef, const VkBuffer
                                                                                                                                   VK_IMAGE_USAGE_TRANSFER_SRC_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT));
        const UniquePtr<Allocation>             resolveImageAlloc       (bindImage(vk, device, allocator, *resolveImage, MemoryRequirement::Any));
 
-       const Unique<VkCommandPool>             cmdPool                         (makeCommandPool  (vk, device, queueFamilyIndex));
+       const Unique<VkCommandPool>             cmdPool                         (createCommandPool  (vk, device, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queueFamilyIndex));
        const Unique<VkCommandBuffer>   cmdBuffer                       (makeCommandBuffer(vk, device, *cmdPool));
 
        // Working image barrier, we change it based on which rendering stages were executed so far.
index 63a1bb1..9bea697 100644 (file)
@@ -601,7 +601,7 @@ tcu::TestStatus MSInterpolationInstanceBase::iterate (void)
        const Unique<VkPipeline> graphicsPipeline(createGraphicsPipeline(deviceInterface, device, DE_NULL, &graphicsPipelineInfo));
 
        // Create command buffer for compute and transfer oparations
-       const Unique<VkCommandPool>       commandPool(makeCommandPool(deviceInterface, device, queueFamilyIndex));
+       const Unique<VkCommandPool>       commandPool(createCommandPool(deviceInterface, device, (VkCommandPoolCreateFlags)VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queueFamilyIndex));
        const Unique<VkCommandBuffer> commandBuffer(makeCommandBuffer(deviceInterface, device, *commandPool));
 
        // Start recording commands
index b07ab5f..e4a9042 100644 (file)
@@ -1951,29 +1951,10 @@ void MultisampleRenderer::initialize (Context&                                                                  context,
        }
 
        // Create command pool
-       {
-               const VkCommandPoolCreateInfo cmdPoolParams =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,             // VkStructureType                              sType;
-                       DE_NULL,                                                                                // const void*                                  pNext;
-                       VK_COMMAND_POOL_CREATE_TRANSIENT_BIT,                   // VkCommandPoolCreateFlags             flags;
-                       queueFamilyIndex,                                                               // deUint32                                             queueFamilyIndex;
-               };
-
-               m_cmdPool = createCommandPool(vk, vkDevice, &cmdPoolParams);
-       }
+       m_cmdPool = createCommandPool(vk, vkDevice, VK_COMMAND_POOL_CREATE_TRANSIENT_BIT, queueFamilyIndex);
 
        // Create command buffer
        {
-               const VkCommandBufferAllocateInfo cmdBufferAllocateInfo =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO, // VkStructureType                      sType;
-                       DE_NULL,                                                                                // const void*                          pNext;
-                       *m_cmdPool,                                                                             // VkCommandPool                        commandPool;
-                       VK_COMMAND_BUFFER_LEVEL_PRIMARY,                                // VkCommandBufferLevel level;
-                       1u                                                                                              // deUint32                             bufferCount;
-               };
-
                const VkCommandBufferBeginInfo cmdBufferBeginInfo =
                {
                        VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO,    // VkStructureType                                      sType;
@@ -2056,7 +2037,7 @@ void MultisampleRenderer::initialize (Context&                                                                    context,
                        },
                };
 
-               m_cmdBuffer = allocateCommandBuffer(vk, vkDevice, &cmdBufferAllocateInfo);
+               m_cmdBuffer = allocateCommandBuffer(vk, vkDevice, *m_cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY);
 
                VK_CHECK(vk.beginCommandBuffer(*m_cmdBuffer, &cmdBufferBeginInfo));
 
@@ -2082,16 +2063,7 @@ void MultisampleRenderer::initialize (Context&                                                                   context,
        }
 
        // Create fence
-       {
-               const VkFenceCreateInfo fenceParams =
-               {
-                       VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,    // VkStructureType              sType;
-                       DE_NULL,                                                                // const void*                  pNext;
-                       0u                                                                              // VkFenceCreateFlags   flags;
-               };
-
-               m_fence = createFence(vk, vkDevice, &fenceParams);
-       }
+       m_fence = createFence(vk, vkDevice);
 }
 
 MultisampleRenderer::~MultisampleRenderer (void)
index 8ed5b5d..d49b7ae 100644 (file)
@@ -1070,28 +1070,10 @@ PushConstantGraphicsTestInstance::PushConstantGraphicsTestInstance (Context&
        }
 
        // Create command pool
-       {
-               const VkCommandPoolCreateInfo cmdPoolParams =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,     // VkStructureType              sType;
-                       DE_NULL,                                                                        // const void*                  pNext;
-                       VK_COMMAND_POOL_CREATE_TRANSIENT_BIT,           // VkCmdPoolCreateFlags flags;
-                       queueFamilyIndex                                                        // deUint32                             queueFamilyIndex;
-               };
-               m_cmdPool = createCommandPool(vk, vkDevice, &cmdPoolParams);
-       }
+       m_cmdPool = createCommandPool(vk, vkDevice, VK_COMMAND_POOL_CREATE_TRANSIENT_BIT, queueFamilyIndex);
 
        // Create command buffer
        {
-               const VkCommandBufferAllocateInfo cmdBufferAllocateInfo =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO, // VkStructureType                      sType;
-                       DE_NULL,                                                                                // const void*                          pNext;
-                       *m_cmdPool,                                                                             // VkCommandPool                        commandPool;
-                       VK_COMMAND_BUFFER_LEVEL_PRIMARY,                                // VkCommandBufferLevel         level;
-                       1u                                                                                              // deUint32                                     bufferCount;
-               };
-
                const VkCommandBufferBeginInfo cmdBufferBeginInfo =
                {
                        VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO,    // VkStructureType                                      sType;
@@ -1130,7 +1112,7 @@ PushConstantGraphicsTestInstance::PushConstantGraphicsTestInstance (Context&
                        { VK_IMAGE_ASPECT_COLOR_BIT, 0u, 1u, 0u, 1u },  // VkImageSubresourceRange      subresourceRange;
                };
 
-               m_cmdBuffer = allocateCommandBuffer(vk, vkDevice, &cmdBufferAllocateInfo);
+               m_cmdBuffer = allocateCommandBuffer(vk, vkDevice, *m_cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY);
 
                VK_CHECK(vk.beginCommandBuffer(*m_cmdBuffer, &cmdBufferBeginInfo));
 
@@ -1215,16 +1197,7 @@ PushConstantGraphicsTestInstance::PushConstantGraphicsTestInstance (Context&
        }
 
        // Create fence
-       {
-               const VkFenceCreateInfo fenceParams =
-               {
-                       VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,    // VkStructureType              sType;
-                       DE_NULL,                                                                // const void*                  pNext;
-                       0u                                                                              // VkFenceCreateFlags   flags;
-               };
-
-               m_fence = createFence(vk, vkDevice, &fenceParams);
-       }
+       m_fence = createFence(vk, vkDevice);
 }
 
 PushConstantGraphicsTestInstance::~PushConstantGraphicsTestInstance (void)
@@ -1518,29 +1491,11 @@ PushConstantComputeTestInstance::PushConstantComputeTestInstance (Context&                                      c
        }
 
        // Create command pool
-       {
-               const VkCommandPoolCreateInfo cmdPoolParams =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,             // VkStructureType              sType;
-                       DE_NULL,                                                                                // const void*                  pNext;
-                       VK_COMMAND_POOL_CREATE_TRANSIENT_BIT,                   // VkCmdPoolCreateFlags flags;
-                       queueFamilyIndex                                                                // deUint32                             queueFamilyIndex;
-               };
-               m_cmdPool = createCommandPool(vk, vkDevice, &cmdPoolParams);
-       }
+       m_cmdPool = createCommandPool(vk, vkDevice, VK_COMMAND_POOL_CREATE_TRANSIENT_BIT, queueFamilyIndex);
 
        // Create command buffer
        {
-               const VkCommandBufferAllocateInfo cmdBufferAllocateInfo =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO, // VkStructureType                      sType;
-                       DE_NULL,                                                                                // const void*                          pNext;
-                       *m_cmdPool,                                                                             // VkCommandPool                        commandPool;
-                       VK_COMMAND_BUFFER_LEVEL_PRIMARY,                                // VkCommandBufferLevel         level;
-                       1u                                                                                              // deUint32                                     bufferCount;
-               };
-
-               m_cmdBuffer = allocateCommandBuffer(vk, vkDevice, &cmdBufferAllocateInfo);
+               m_cmdBuffer = allocateCommandBuffer(vk, vkDevice, *m_cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY);
 
                const VkCommandBufferBeginInfo cmdBufferBeginInfo =
                {
@@ -1565,16 +1520,7 @@ PushConstantComputeTestInstance::PushConstantComputeTestInstance (Context&                                       c
        }
 
        // Create fence
-       {
-               const VkFenceCreateInfo fenceParams =
-               {
-                       VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,    // VkStructureType              sType;
-                       DE_NULL,                                                                // const void*                  pNext;
-                       0u                                                                              // VkFenceCreateFlags   flags;
-               };
-
-               m_fence = createFence(vk, vkDevice, &fenceParams);
-       }
+       m_fence = createFence(vk, vkDevice);
 }
 
 PushConstantComputeTestInstance::~PushConstantComputeTestInstance (void)
index 5f389eb..997b4a8 100644 (file)
@@ -577,7 +577,7 @@ tcu::TestStatus test (Context& context, const CaseDef caseDef)
        const Unique<VkRenderPass>              renderPass                      (makeRenderPass                         (vk, device, caseDef.colorFormat, static_cast<deUint32>(numLayers)));
        const Unique<VkPipelineLayout>  pipelineLayout          (makePipelineLayout                     (vk, device));
        vector<SharedPtrVkPipeline>             pipeline;
-       const Unique<VkCommandPool>             cmdPool                         (makeCommandPool  (vk, device, queueFamilyIndex));
+       const Unique<VkCommandPool>             cmdPool                         (createCommandPool  (vk, device, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queueFamilyIndex));
        const Unique<VkCommandBuffer>   cmdBuffer                       (makeCommandBuffer(vk, device, *cmdPool));
 
        vector<SharedPtrVkImageView>    colorAttachments;
index b090c75..0cc4483 100644 (file)
@@ -498,7 +498,7 @@ tcu::TestStatus ComputeTestInstance::iterate (void)
        const Unique<VkShaderModule>   shaderModule  (createShaderModule (vk, device, m_context.getBinaryCollection().get("comp"), 0));
        const Unique<VkPipelineLayout> pipelineLayout(makePipelineLayout (vk, device, *descriptorSetLayout));
        const Unique<VkPipeline>       pipeline      (makeComputePipeline(vk, device, *pipelineLayout, *shaderModule, pSpecInfo));
-       const Unique<VkCommandPool>    cmdPool       (makeCommandPool    (vk, device, queueFamilyIndex));
+       const Unique<VkCommandPool>    cmdPool       (createCommandPool  (vk, device, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queueFamilyIndex));
        const Unique<VkCommandBuffer>  cmdBuffer     (makeCommandBuffer  (vk, device, *cmdPool));
 
        beginCommandBuffer(vk, *cmdBuffer);
@@ -623,7 +623,7 @@ tcu::TestStatus GraphicsTestInstance::iterate (void)
        const Unique<VkRenderPass>     renderPass    (makeRenderPass    (vk, device, imageFormat));
        const Unique<VkFramebuffer>    framebuffer   (makeFramebuffer   (vk, device, *renderPass, 1u, &colorImageView.get(), static_cast<deUint32>(renderSize.x()), static_cast<deUint32>(renderSize.y())));
        const Unique<VkPipelineLayout> pipelineLayout(makePipelineLayout(vk, device, *descriptorSetLayout));
-       const Unique<VkCommandPool>    cmdPool       (makeCommandPool   (vk, device, queueFamilyIndex));
+       const Unique<VkCommandPool>    cmdPool       (createCommandPool (vk, device, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queueFamilyIndex));
        const Unique<VkCommandBuffer>  cmdBuffer     (makeCommandBuffer (vk, device, *cmdPool));
 
        GraphicsPipelineBuilder pipelineBuilder;
index 87a3a15..9622b7e 100644 (file)
@@ -783,29 +783,10 @@ StencilTestInstance::StencilTestInstance (Context&                                        context,
        }
 
        // Create command pool
-       {
-               const VkCommandPoolCreateInfo cmdPoolParams =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,             // VkStructureType                      sType;
-                       DE_NULL,                                                                                // const void*                          pNext;
-                       VK_COMMAND_POOL_CREATE_TRANSIENT_BIT,                   // VkCommandPoolCreateFlags     flags;
-                       queueFamilyIndex,                                                               // deUint32                                     queueFamilyIndex;
-               };
-
-               m_cmdPool = createCommandPool(vk, vkDevice, &cmdPoolParams);
-       }
+       m_cmdPool = createCommandPool(vk, vkDevice, VK_COMMAND_POOL_CREATE_TRANSIENT_BIT, queueFamilyIndex);
 
        // Create command buffer
        {
-               const VkCommandBufferAllocateInfo cmdBufferAllocateInfo =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO, // VkStructureType              sType;
-                       DE_NULL,                                                                                // const void*                  pNext;
-                       *m_cmdPool,                                                                             // VkCommandPool                commandPool;
-                       VK_COMMAND_BUFFER_LEVEL_PRIMARY,                                // VkCommandBufferLevel level;
-                       1u                                                                                              // deUint32                             bufferCount;
-               };
-
                const VkCommandBufferBeginInfo cmdBufferBeginInfo =
                {
                        VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO,    // VkStructureType                                      sType;
@@ -861,7 +842,7 @@ StencilTestInstance::StencilTestInstance (Context&                                  context,
                        },
                };
 
-               m_cmdBuffer = allocateCommandBuffer(vk, vkDevice, &cmdBufferAllocateInfo);
+               m_cmdBuffer = allocateCommandBuffer(vk, vkDevice, *m_cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY);
 
                VK_CHECK(vk.beginCommandBuffer(*m_cmdBuffer, &cmdBufferBeginInfo));
 
@@ -886,16 +867,7 @@ StencilTestInstance::StencilTestInstance (Context&                                 context,
        }
 
        // Create fence
-       {
-               const VkFenceCreateInfo fenceParams =
-               {
-                       VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,    // VkStructureType              sType;
-                       DE_NULL,                                                                // const void*                  pNext;
-                       0u                                                                              // VkFenceCreateFlags   flags;
-               };
-
-               m_fence = createFence(vk, vkDevice, &fenceParams);
-       }
+       m_fence = createFence(vk, vkDevice);
 }
 
 StencilTestInstance::~StencilTestInstance (void)
index 94e2c35..205abc7 100644 (file)
@@ -703,31 +703,10 @@ TimestampTestInstance::TimestampTestInstance(Context&                context,
        }
 
        // Create command pool
-       {
-               const VkCommandPoolCreateInfo cmdPoolParams =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,   // VkStructureType      sType;
-                       DE_NULL,                                      // const void*          pNext;
-                       VK_COMMAND_POOL_CREATE_TRANSIENT_BIT,         // VkCmdPoolCreateFlags flags;
-                       queueFamilyIndex,                             // deUint32             queueFamilyIndex;
-               };
-
-               m_cmdPool = createCommandPool(vk, vkDevice, &cmdPoolParams);
-       }
+       m_cmdPool = createCommandPool(vk, vkDevice, VK_COMMAND_POOL_CREATE_TRANSIENT_BIT, queueFamilyIndex);
 
        // Create command buffer
-       {
-               const VkCommandBufferAllocateInfo cmdAllocateParams =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO, // VkStructureType         sType;
-                       DE_NULL,                                        // const void*             pNext;
-                       *m_cmdPool,                                     // VkCommandPool           cmdPool;
-                       VK_COMMAND_BUFFER_LEVEL_PRIMARY,                // VkCommandBufferLevel    level;
-                       1u,                                             // deUint32                bufferCount;
-               };
-
-               m_cmdBuffer = allocateCommandBuffer(vk, vkDevice, &cmdAllocateParams);
-       }
+       m_cmdBuffer = allocateCommandBuffer(vk, vkDevice, *m_cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY);
 
        // Create fence
        {
index 198a67e..6b6a26e 100644 (file)
@@ -1054,29 +1054,10 @@ VertexInputInstance::VertexInputInstance (Context&                                                                                              context,
        }
 
        // Create command pool
-       {
-               const VkCommandPoolCreateInfo cmdPoolParams =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,     // VkStructureType                              sType;
-                       DE_NULL,                                                                        // const void*                                  pNext;
-                       VK_COMMAND_POOL_CREATE_TRANSIENT_BIT,           // VkCommandPoolCreateFlags             flags;
-                       queueFamilyIndex,                                                       // deUint32                                             queueFamilyIndex;
-               };
-
-               m_cmdPool = createCommandPool(vk, vkDevice, &cmdPoolParams);
-       }
+       m_cmdPool = createCommandPool(vk, vkDevice, VK_COMMAND_POOL_CREATE_TRANSIENT_BIT, queueFamilyIndex);
 
        // Create command buffer
        {
-               const VkCommandBufferAllocateInfo cmdBufferAllocateInfo =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO, // VkStructureType                      sType;
-                       DE_NULL,                                                                                // const void*                          pNext;
-                       *m_cmdPool,                                                                             // VkCommandPool                        commandPool;
-                       VK_COMMAND_BUFFER_LEVEL_PRIMARY,                                // VkCommandBufferLevel         level;
-                       1u                                                                                              // deUint32                                     bufferCount;
-               };
-
                const VkCommandBufferBeginInfo cmdBufferBeginInfo =
                {
                        VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO,    // VkStructureType                                      sType;
@@ -1112,7 +1093,7 @@ VertexInputInstance::VertexInputInstance (Context&                                                                                                context,
                        { VK_IMAGE_ASPECT_COLOR_BIT, 0u, 1u, 0u, 1u },  // VkImageSubresourceRange      subresourceRange;
                };
 
-               m_cmdBuffer = allocateCommandBuffer(vk, vkDevice, &cmdBufferAllocateInfo);
+               m_cmdBuffer = allocateCommandBuffer(vk, vkDevice, *m_cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY);
 
                VK_CHECK(vk.beginCommandBuffer(*m_cmdBuffer, &cmdBufferBeginInfo));
 
@@ -1155,16 +1136,7 @@ VertexInputInstance::VertexInputInstance (Context&                                                                                               context,
        }
 
        // Create fence
-       {
-               const VkFenceCreateInfo fenceParams =
-               {
-                       VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,    // VkStructureType              sType;
-                       DE_NULL,                                                                // const void*                  pNext;
-                       0u                                                                              // VkFenceCreateFlags   flags;
-               };
-
-               m_fence = createFence(vk, vkDevice, &fenceParams);
-       }
+       m_fence = createFence(vk, vkDevice);
 }
 
 VertexInputInstance::~VertexInputInstance (void)
index 853b7f9..842e837 100644 (file)
@@ -367,15 +367,7 @@ tcu::TestStatus    BasicOcclusionQueryTestInstance::iterate (void)
        const CmdPoolCreateInfo                 cmdPoolCreateInfo       (m_context.getUniversalQueueFamilyIndex());
        vk::Move<vk::VkCommandPool>             cmdPool                         = vk::createCommandPool(vk, device, &cmdPoolCreateInfo);
 
-       const vk::VkCommandBufferAllocateInfo cmdBufferAllocateInfo =
-       {
-               vk::VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,     // VkStructureType                      sType;
-               DE_NULL,                                                                                        // const void*                          pNext;
-               *cmdPool,                                                                                       // VkCommandPool                        commandPool;
-               vk::VK_COMMAND_BUFFER_LEVEL_PRIMARY,                            // VkCommandBufferLevel         level;
-               1u,                                                                                                     // deUint32                                     bufferCount;
-       };
-       vk::Unique<vk::VkCommandBuffer> cmdBuffer                       (vk::allocateCommandBuffer(vk, device, &cmdBufferAllocateInfo));
+       vk::Unique<vk::VkCommandBuffer> cmdBuffer                       (vk::allocateCommandBuffer(vk, device, *cmdPool, vk::VK_COMMAND_BUFFER_LEVEL_PRIMARY));
        const CmdBufferBeginInfo                beginInfo                       (0u);
 
        vk.beginCommandBuffer(*cmdBuffer, &beginInfo);
@@ -779,15 +771,7 @@ vk::Move<vk::VkCommandBuffer> OcclusionQueryTestInstance::recordQueryPoolReset (
 
        DE_ASSERT(hasSeparateResetCmdBuf());
 
-       const vk::VkCommandBufferAllocateInfo cmdBufferAllocateInfo =
-       {
-               vk::VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,     // VkStructureType                      sType;
-               DE_NULL,                                                                                        // const void*                          pNext;
-               cmdPool,                                                                                        // VkCommandPool                        commandPool;
-               vk::VK_COMMAND_BUFFER_LEVEL_PRIMARY,                            // VkCommandBufferLevel         level;
-               1u,                                                                                                     // deUint32                                     bufferCount;
-       };
-       vk::Move<vk::VkCommandBuffer>   cmdBuffer       (vk::allocateCommandBuffer(vk, device, &cmdBufferAllocateInfo));
+       vk::Move<vk::VkCommandBuffer>   cmdBuffer       (vk::allocateCommandBuffer(vk, device, cmdPool, vk::VK_COMMAND_BUFFER_LEVEL_PRIMARY));
        CmdBufferBeginInfo                              beginInfo       (0u);
 
        vk.beginCommandBuffer(*cmdBuffer, &beginInfo);
@@ -802,15 +786,7 @@ vk::Move<vk::VkCommandBuffer> OcclusionQueryTestInstance::recordRender (vk::VkCo
        const vk::VkDevice                              device          = m_context.getDevice();
        const vk::DeviceInterface&              vk                      = m_context.getDeviceInterface();
 
-       const vk::VkCommandBufferAllocateInfo cmdBufferAllocateInfo =
-       {
-               vk::VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,     // VkStructureType                      sType;
-               DE_NULL,                                                                                        // const void*                          pNext;
-               cmdPool,                                                                                        // VkCommandPool                        commandPool;
-               vk::VK_COMMAND_BUFFER_LEVEL_PRIMARY,                            // VkCommandBufferLevel         level;
-               1u,                                                                                                     // deUint32                                     bufferCount;
-       };
-       vk::Move<vk::VkCommandBuffer>   cmdBuffer       (vk::allocateCommandBuffer(vk, device, &cmdBufferAllocateInfo));
+       vk::Move<vk::VkCommandBuffer>   cmdBuffer       (vk::allocateCommandBuffer(vk, device, cmdPool, vk::VK_COMMAND_BUFFER_LEVEL_PRIMARY));
        CmdBufferBeginInfo                              beginInfo       (0u);
 
        vk.beginCommandBuffer(*cmdBuffer, &beginInfo);
@@ -882,15 +858,7 @@ vk::Move<vk::VkCommandBuffer> OcclusionQueryTestInstance::recordCopyResults (vk:
        const vk::VkDevice                              device          = m_context.getDevice();
        const vk::DeviceInterface&              vk                      = m_context.getDeviceInterface();
 
-       const vk::VkCommandBufferAllocateInfo cmdBufferAllocateInfo =
-       {
-               vk::VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,     // VkStructureType                      sType;
-               DE_NULL,                                                                                        // const void*                          pNext;
-               cmdPool,                                                                                        // VkCommandPool                        commandPool;
-               vk::VK_COMMAND_BUFFER_LEVEL_PRIMARY,                            // VkCommandBufferLevel         level;
-               1u,                                                                                                     // deUint32                                     bufferCount;
-       };
-       vk::Move<vk::VkCommandBuffer>   cmdBuffer       (vk::allocateCommandBuffer(vk, device, &cmdBufferAllocateInfo));
+       vk::Move<vk::VkCommandBuffer>   cmdBuffer       (vk::allocateCommandBuffer(vk, device, cmdPool, vk::VK_COMMAND_BUFFER_LEVEL_PRIMARY));
        const CmdBufferBeginInfo                beginInfo       (0u);
 
        vk.beginCommandBuffer(*cmdBuffer, &beginInfo);
index 5b439b7..f12f291 100644 (file)
@@ -28,8 +28,8 @@
 
 namespace vkt
 {
-       namespace QueryPool
-       {
+namespace QueryPool
+{
 
 class QueryPoolOcclusionTests : public tcu::TestCaseGroup
 {
index 3248af4..087a7b3 100644 (file)
@@ -217,17 +217,7 @@ BaseRenderingTestInstance::BaseRenderingTestInstance (Context& context, VkSample
        DescriptorSetLayoutBuilder                                      descriptorSetLayoutBuilder;
 
        // Command Pool
-       {
-               const VkCommandPoolCreateInfo                   cmdPoolCreateInfo               =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,                                     // VkStructureType             sType;
-                       DE_NULL,                                                                                                        // const void*                 pNext;
-                       VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT,                        // VkCommandPoolCreateFlags    flags;
-                       queueFamilyIndex                                                                                        // deUint32                    queueFamilyIndex;
-               };
-
-               m_commandPool = createCommandPool(vkd, vkDevice, &cmdPoolCreateInfo, DE_NULL);
-       }
+       m_commandPool = createCommandPool(vkd, vkDevice, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queueFamilyIndex);
 
        // Image
        {
@@ -546,16 +536,7 @@ BaseRenderingTestInstance::BaseRenderingTestInstance (Context& context, VkSample
        }
 
        // Fence
-       {
-               const VkFenceCreateInfo                                 fenceParams                                     =
-               {
-                       VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,    // VkStructureType              sType;
-                       DE_NULL,                                                                // const void*                  pNext;
-                       VK_FENCE_CREATE_SIGNALED_BIT                    // VkFenceCreateFlags   flags;
-               };
-
-               m_fence = createFence(vkd, vkDevice, &fenceParams);
-       }
+       m_fence = createFence(vkd, vkDevice);
 
        // Result Buffer
        {
@@ -806,18 +787,7 @@ void BaseRenderingTestInstance::drawPrimitives (tcu::Surface& result, const std:
        }
 
        // Create Command Buffer
-       {
-               const VkCommandBufferAllocateInfo               cmdBufferAllocateInfo   =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,                         // VkStructureType             sType;
-                       DE_NULL,                                                                                                        // const void*                 pNext;
-                       *m_commandPool,                                                                                         // VkCommandPool               commandPool;
-                       VK_COMMAND_BUFFER_LEVEL_PRIMARY,                                                        // VkCommandBufferLevel        level;
-                       1                                                                                                                       // deUint32                    commandBufferCount;
-               };
-
-               commandBuffer = allocateCommandBuffer(vkd, vkDevice, &cmdBufferAllocateInfo);
-       }
+       commandBuffer = allocateCommandBuffer(vkd, vkDevice, *m_commandPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY);
 
        // Begin Command Buffer
        {
index 1419032..5a4cbef 100644 (file)
@@ -1187,29 +1187,10 @@ void FragmentOutExecutor::execute (int numValues, const void* const* inputs, voi
        }
 
        // Create command pool
-       {
-               const VkCommandPoolCreateInfo cmdPoolParams =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,                     // VkStructureType              sType;
-                       DE_NULL,                                                                                        // const void*                  pNext;
-                       VK_COMMAND_POOL_CREATE_TRANSIENT_BIT,                           // VkCmdPoolCreateFlags flags;
-                       queueFamilyIndex,                                                                       // deUint32                             queueFamilyIndex;
-               };
-
-               cmdPool = createCommandPool(vk, vkDevice, &cmdPoolParams);
-       }
+       cmdPool = createCommandPool(vk, vkDevice, VK_COMMAND_POOL_CREATE_TRANSIENT_BIT, queueFamilyIndex);
 
        // Create command buffer
        {
-               const VkCommandBufferAllocateInfo cmdBufferParams =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO, // VkStructureType                      sType;
-                       DE_NULL,                                                                                // const void*                          pNext;
-                       *cmdPool,                                                                               // VkCmdPool                            cmdPool;
-                       VK_COMMAND_BUFFER_LEVEL_PRIMARY,                                // VkCmdBufferLevel                     level;
-                       1                                                                                               // deUint32                                     bufferCount;
-               };
-
                const VkCommandBufferBeginInfo cmdBufferBeginInfo =
                {
                        VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO,    // VkStructureType                              sType;
@@ -1229,7 +1210,7 @@ void FragmentOutExecutor::execute (int numValues, const void* const* inputs, voi
                        &attachmentClearValues[0]                                                               // const VkClearValue*  pAttachmentClearValues;
                };
 
-               cmdBuffer = allocateCommandBuffer(vk, vkDevice, &cmdBufferParams);
+               cmdBuffer = allocateCommandBuffer(vk, vkDevice, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY);
 
                VK_CHECK(vk.beginCommandBuffer(*cmdBuffer, &cmdBufferBeginInfo));
 
@@ -1273,16 +1254,7 @@ void FragmentOutExecutor::execute (int numValues, const void* const* inputs, voi
        }
 
        // Create fence
-       {
-               const VkFenceCreateInfo fenceParams =
-               {
-                       VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,    // VkStructureType              sType;
-                       DE_NULL,                                                                // const void*                  pNext;
-                       0u                                                                              // VkFenceCreateFlags   flags;
-               };
-
-               fence = createFence(vk, vkDevice, &fenceParams);
-       }
+       fence = createFence(vk, vkDevice);
 
        // Execute Draw
        {
@@ -1321,25 +1293,7 @@ void FragmentOutExecutor::execute (int numValues, const void* const* inputs, voi
                };
 
                // constants for image copy
-
-               const VkCommandPoolCreateInfo cmdPoolParams =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,     // VkStructureType              sType;
-                       DE_NULL,                                                                        // const void*                  pNext;
-                       VK_COMMAND_POOL_CREATE_TRANSIENT_BIT,           // VkCmdPoolCreateFlags flags;
-                       queueFamilyIndex                                                        // deUint32                             queueFamilyIndex;
-               };
-
-               Move<VkCommandPool>     copyCmdPool = createCommandPool(vk, vkDevice, &cmdPoolParams);
-
-               const VkCommandBufferAllocateInfo cmdBufferParams =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO, // VkStructureType                      sType;
-                       DE_NULL,                                                                                // const void*                          pNext;
-                       *copyCmdPool,                                                                   // VkCmdPool                            cmdPool;
-                       VK_COMMAND_BUFFER_LEVEL_PRIMARY,                                // VkCmdBufferLevel                     level;
-                       1u                                                                                              // deUint32                                     bufferCount;
-               };
+               Move<VkCommandPool>     copyCmdPool = createCommandPool(vk, vkDevice, VK_COMMAND_POOL_CREATE_TRANSIENT_BIT, queueFamilyIndex);
 
                const VkCommandBufferBeginInfo cmdBufferBeginInfo =
                {
@@ -1387,7 +1341,7 @@ void FragmentOutExecutor::execute (int numValues, const void* const* inputs, voi
                                // Copy image to buffer
                                {
 
-                                       Move<VkCommandBuffer> copyCmdBuffer = allocateCommandBuffer(vk, vkDevice, &cmdBufferParams);
+                                       Move<VkCommandBuffer> copyCmdBuffer = allocateCommandBuffer(vk, vkDevice, *copyCmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY);
 
                                        const VkSubmitInfo submitInfo =
                                        {
@@ -1974,28 +1928,9 @@ void ComputeShaderExecutor::execute (int numValues, const void* const* inputs, v
        uploadInputBuffer(inputs, numValues);
 
        // Create command pool
-       {
-               const VkCommandPoolCreateInfo cmdPoolParams =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,             // VkStructureType              sType;
-                       DE_NULL,                                                                                // const void*                  pNext;
-                       VK_COMMAND_POOL_CREATE_TRANSIENT_BIT,                   // VkCmdPoolCreateFlags flags;
-                       queueFamilyIndex                                                                // deUint32                             queueFamilyIndex;
-               };
-
-               cmdPool = createCommandPool(vk, vkDevice, &cmdPoolParams);
-       }
+       cmdPool = createCommandPool(vk, vkDevice, VK_COMMAND_POOL_CREATE_TRANSIENT_BIT, queueFamilyIndex);
 
        // Create command buffer
-       const VkCommandBufferAllocateInfo cmdBufferParams =
-       {
-               VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO, // VkStructureType                      sType;
-               DE_NULL,                                                                                // const void*                          pNext;
-               *cmdPool,                                                                               // VkCmdPool                            cmdPool;
-               VK_COMMAND_BUFFER_LEVEL_PRIMARY,                                // VkCmdBufferLevel                     level;
-               1u                                                                                              // deUint32                                     bufferCount;
-       };
-
        const VkCommandBufferBeginInfo cmdBufferBeginInfo =
        {
                VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO,    // VkStructureType                                      sType;
@@ -2079,15 +2014,7 @@ void ComputeShaderExecutor::execute (int numValues, const void* const* inputs, v
        }
 
        // Create fence
-       {
-               const VkFenceCreateInfo fenceParams =
-               {
-                       VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,    // VkStructureType              sType;
-                       DE_NULL,                                                                // const void*                  pNext;
-                       0u                                                                              // VkFenceCreateFlags   flags;
-               };
-               fence = createFence(vk, vkDevice, &fenceParams);
-       }
+       fence = createFence(vk, vkDevice);
 
        const int                       maxValuesPerInvocation  = m_context.getDeviceProperties().limits.maxComputeWorkGroupSize[0];
        int                                     curOffset                               = 0;
@@ -2127,7 +2054,7 @@ void ComputeShaderExecutor::execute (int numValues, const void* const* inputs, v
                        descriptorSetUpdateBuilder.update(vk, vkDevice);
                }
 
-               cmdBuffer = allocateCommandBuffer(vk, vkDevice, &cmdBufferParams);
+               cmdBuffer = allocateCommandBuffer(vk, vkDevice, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY);
                VK_CHECK(vk.beginCommandBuffer(*cmdBuffer, &cmdBufferBeginInfo));
                vk.cmdBindPipeline(*cmdBuffer, VK_PIPELINE_BIND_POINT_COMPUTE, *computePipeline);
 
@@ -2644,29 +2571,10 @@ void TessellationExecutor::renderTess (deUint32 numValues, deUint32 vertexCount,
        }
 
        // Create command pool
-       {
-               const VkCommandPoolCreateInfo cmdPoolParams =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,             // VkStructureType              sType;
-                       DE_NULL,                                                                                // const void*                  pNext;
-                       VK_COMMAND_POOL_CREATE_TRANSIENT_BIT,                   // VkCmdPoolCreateFlags flags;
-                       queueFamilyIndex,                                                               // deUint32                             queueFamilyIndex;
-               };
-
-               cmdPool = createCommandPool(vk, vkDevice, &cmdPoolParams);
-       }
+       cmdPool = createCommandPool(vk, vkDevice, VK_COMMAND_POOL_CREATE_TRANSIENT_BIT, queueFamilyIndex);
 
        // Create command buffer
        {
-               const VkCommandBufferAllocateInfo cmdBufferParams =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO, // VkStructureType                      sType;
-                       DE_NULL,                                                                                // const void*                          pNext;
-                       *cmdPool,                                                                               // VkCmdPool                            cmdPool;
-                       VK_COMMAND_BUFFER_LEVEL_PRIMARY,                                // VkCmdBufferLevel                     level;
-                       1u                                                                                              // uint32_t                                     bufferCount;
-               };
-
                const VkCommandBufferBeginInfo cmdBufferBeginInfo =
                {
                        VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO,    // VkStructureType                                      sType;
@@ -2691,7 +2599,7 @@ void TessellationExecutor::renderTess (deUint32 numValues, deUint32 vertexCount,
                        clearValues                                                                                             // const VkClearValue*  pClearValues;
                };
 
-               cmdBuffer = allocateCommandBuffer(vk, vkDevice, &cmdBufferParams);
+               cmdBuffer = allocateCommandBuffer(vk, vkDevice, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY);
 
                VK_CHECK(vk.beginCommandBuffer(*cmdBuffer, &cmdBufferBeginInfo));
 
@@ -2711,15 +2619,7 @@ void TessellationExecutor::renderTess (deUint32 numValues, deUint32 vertexCount,
        }
 
        // Create fence
-       {
-               const VkFenceCreateInfo fenceParams =
-               {
-                       VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,    // VkStructureType              sType;
-                       DE_NULL,                                                                // const void*                  pNext;
-                       0u                                                                              // VkFenceCreateFlags   flags;
-               };
-               fence = createFence(vk, vkDevice, &fenceParams);
-       }
+       fence = createFence(vk, vkDevice);
 
        // Execute Draw
        {
index dd3c845..56f41da 100644 (file)
@@ -616,9 +616,9 @@ ShaderRenderCaseInstance::SparseContext::SparseContext (vkt::Context& context)
        , m_queueFamilyIndex    (findQueueFamilyIndexWithCaps(context.getInstanceInterface(), context.getPhysicalDevice(), VK_QUEUE_GRAPHICS_BIT|VK_QUEUE_SPARSE_BINDING_BIT))
        , m_device                              (createDevice())
        , m_deviceInterface             (context.getInstanceInterface(), *m_device)
+       , m_queue                               (getDeviceQueue(m_deviceInterface, *m_device, m_queueFamilyIndex, 0))
        , m_allocator                   (createAllocator())
 {
-       m_deviceInterface.getDeviceQueue(*m_device, m_queueFamilyIndex, 0, &m_queue);
 }
 
 Move<VkDevice> ShaderRenderCaseInstance::SparseContext::createDevice () const
@@ -1077,40 +1077,11 @@ void ShaderRenderCaseInstance::uploadImage (const tcu::TextureFormat&                   texForma
        }
 
        // Create command pool and buffer
-       {
-               const VkCommandPoolCreateInfo cmdPoolParams =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,             // VkStructureType                      sType;
-                       DE_NULL,                                                                                // const void*                          pNext;
-                       VK_COMMAND_POOL_CREATE_TRANSIENT_BIT,                   // VkCommandPoolCreateFlags     flags;
-                       queueFamilyIndex,                                                               // deUint32                                     queueFamilyIndex;
-               };
-
-               cmdPool = createCommandPool(vk, vkDevice, &cmdPoolParams);
-
-               const VkCommandBufferAllocateInfo cmdBufferAllocateInfo =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO, // VkStructureType                      sType;
-                       DE_NULL,                                                                                // const void*                          pNext;
-                       *cmdPool,                                                                               // VkCommandPool                        commandPool;
-                       VK_COMMAND_BUFFER_LEVEL_PRIMARY,                                // VkCommandBufferLevel         level;
-                       1u,                                                                                             // deUint32                                     bufferCount;
-               };
-
-               cmdBuffer = allocateCommandBuffer(vk, vkDevice, &cmdBufferAllocateInfo);
-       }
+       cmdPool = createCommandPool(vk, vkDevice, VK_COMMAND_POOL_CREATE_TRANSIENT_BIT, queueFamilyIndex);
+       cmdBuffer = allocateCommandBuffer(vk, vkDevice, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY);
 
        // Create fence
-       {
-               const VkFenceCreateInfo fenceParams =
-               {
-                       VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,            // VkStructureType              sType;
-                       DE_NULL,                                                                        // const void*                  pNext;
-                       0u                                                                                      // VkFenceCreateFlags   flags;
-               };
-
-               fence = createFence(vk, vkDevice, &fenceParams);
-       }
+       fence = createFence(vk, vkDevice);
 
        // Barriers for copying buffer to image
        const VkBufferMemoryBarrier preBufferBarrier =
@@ -1264,40 +1235,11 @@ void ShaderRenderCaseInstance::clearImage (const tcu::Sampler&                                  refSampler,
 
 
        // Create command pool and buffer
-       {
-               const VkCommandPoolCreateInfo cmdPoolParams =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,             // VkStructureType                      sType;
-                       DE_NULL,                                                                                // const void*                          pNext;
-                       VK_COMMAND_POOL_CREATE_TRANSIENT_BIT,                   // VkCommandPoolCreateFlags     flags;
-                       queueFamilyIndex,                                                               // deUint32                                     queueFamilyIndex;
-               };
-
-               cmdPool = createCommandPool(vk, vkDevice, &cmdPoolParams);
-
-               const VkCommandBufferAllocateInfo cmdBufferAllocateInfo =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO, // VkStructureType                      sType;
-                       DE_NULL,                                                                                // const void*                          pNext;
-                       *cmdPool,                                                                               // VkCommandPool                        commandPool;
-                       VK_COMMAND_BUFFER_LEVEL_PRIMARY,                                // VkCommandBufferLevel         level;
-                       1u,                                                                                             // deUint32                                     bufferCount;
-               };
-
-               cmdBuffer = allocateCommandBuffer(vk, vkDevice, &cmdBufferAllocateInfo);
-       }
+       cmdPool         = createCommandPool(vk, vkDevice, VK_COMMAND_POOL_CREATE_TRANSIENT_BIT, queueFamilyIndex);
+       cmdBuffer       = allocateCommandBuffer(vk, vkDevice, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY);
 
        // Create fence
-       {
-               const VkFenceCreateInfo fenceParams =
-               {
-                       VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,            // VkStructureType              sType;
-                       DE_NULL,                                                                        // const void*                  pNext;
-                       0u                                                                                      // VkFenceCreateFlags   flags;
-               };
-
-               fence = createFence(vk, vkDevice, &fenceParams);
-       }
+       fence = createFence(vk, vkDevice);
 
        const VkImageMemoryBarrier preImageBarrier =
        {
@@ -1388,19 +1330,6 @@ void ShaderRenderCaseInstance::clearImage (const tcu::Sampler&                                   refSampler,
        VK_CHECK(vk.waitForFences(vkDevice, 1, &fence.get(), true, ~(0ull) /* infinity */));
 }
 
-// Sparse utility function
-Move<VkSemaphore> makeSemaphore (const DeviceInterface& vk, const VkDevice device)
-{
-       const VkSemaphoreCreateInfo semaphoreCreateInfo =
-       {
-               VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO,
-               DE_NULL,
-               0u
-       };
-
-       return createSemaphore(vk, device, &semaphoreCreateInfo);
-}
-
 VkExtent3D mipLevelExtents (const VkExtent3D& baseExtents, const deUint32 mipLevel)
 {
        VkExtent3D result;
@@ -1484,7 +1413,7 @@ void ShaderRenderCaseInstance::uploadSparseImage (const tcu::TextureFormat&               tex
        const bool                                                              isShadowSampler                 = refSampler.compare != tcu::Sampler::COMPAREMODE_NONE;
        const VkImageAspectFlags                                aspectMask                              = isShadowSampler ? VK_IMAGE_ASPECT_DEPTH_BIT : VK_IMAGE_ASPECT_COLOR_BIT;
 
-       const Unique<VkSemaphore>                               imageMemoryBindSemaphore(makeSemaphore(vk, vkDevice));
+       const Unique<VkSemaphore>                               imageMemoryBindSemaphore(createSemaphore(vk, vkDevice));
        deUint32                                                                bufferSize                              = 0u;
        std::vector<deUint32>                                   offsetMultiples;
        offsetMultiples.push_back(4u);
@@ -1694,32 +1623,12 @@ void ShaderRenderCaseInstance::uploadSparseImage (const tcu::TextureFormat&             tex
 
        Move<VkCommandPool>             cmdPool;
        Move<VkCommandBuffer>   cmdBuffer;
-       // Create command pool
-       {
-               const VkCommandPoolCreateInfo cmdPoolParams =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,             // VkStructureType                      sType;
-                       DE_NULL,                                                                                // const void*                          pNext;
-                       VK_COMMAND_POOL_CREATE_TRANSIENT_BIT,                   // VkCommandPoolCreateFlags     flags;
-                       queueFamilyIndex,                                                               // deUint32                                     queueFamilyIndex;
-               };
 
-               cmdPool = createCommandPool(vk, vkDevice, &cmdPoolParams);
-       }
-
-       {
-               // Create command buffer
-               const VkCommandBufferAllocateInfo cmdBufferAllocateInfo =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO, // VkStructureType                      sType;
-                       DE_NULL,                                                                                // const void*                          pNext;
-                       *cmdPool,                                                                               // VkCommandPool                        commandPool;
-                       VK_COMMAND_BUFFER_LEVEL_PRIMARY,                                // VkCommandBufferLevel         level;
-                       1u,                                                                                             // deUint32                                     bufferCount;
-               };
+       // Create command pool
+       cmdPool = createCommandPool(vk, vkDevice, VK_COMMAND_POOL_CREATE_TRANSIENT_BIT, queueFamilyIndex);
 
-               cmdBuffer = allocateCommandBuffer(vk, vkDevice, &cmdBufferAllocateInfo);
-       }
+       // Create command buffer
+       cmdBuffer = allocateCommandBuffer(vk, vkDevice, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY);
 
        // Create source buffer
        const VkBufferCreateInfo bufferParams =
@@ -1866,14 +1775,7 @@ void ShaderRenderCaseInstance::uploadSparseImage (const tcu::TextureFormat&              tex
                DE_NULL                                                                 // const VkSemaphore*                   pSignalSemaphores;
        };
 
-       const VkFenceCreateInfo fenceParams =
-       {
-               VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,            // VkStructureType              sType;
-               DE_NULL,                                                                        // const void*                  pNext;
-               0u                                                                                      // VkFenceCreateFlags   flags;
-       };
-
-       Move<VkFence>   fence = createFence(vk, vkDevice, &fenceParams);
+       Move<VkFence>   fence = createFence(vk, vkDevice);
 
        try
        {
@@ -2846,29 +2748,10 @@ void ShaderRenderCaseInstance::render (deUint32                         numVertices,
        }
 
        // Create command pool
-       {
-               const VkCommandPoolCreateInfo                                   cmdPoolParams                           =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,             // VkStructureType              sType;
-                       DE_NULL,                                                                                // const void*                  pNext;
-                       VK_COMMAND_POOL_CREATE_TRANSIENT_BIT,                   // VkCmdPoolCreateFlags flags;
-                       queueFamilyIndex,                                                               // deUint32                             queueFamilyIndex;
-               };
-
-               cmdPool = createCommandPool(vk, vkDevice, &cmdPoolParams);
-       }
+       cmdPool = createCommandPool(vk, vkDevice, VK_COMMAND_POOL_CREATE_TRANSIENT_BIT, queueFamilyIndex);
 
        // Create command buffer
        {
-               const VkCommandBufferAllocateInfo                               cmdBufferParams                         =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO, // VkStructureType                      sType;
-                       DE_NULL,                                                                                // const void*                          pNext;
-                       *cmdPool,                                                                               // VkCmdPool                            cmdPool;
-                       VK_COMMAND_BUFFER_LEVEL_PRIMARY,                                // VkCmdBufferLevel                     level;
-                       1u                                                                                              // deUint32                                     bufferCount;
-               };
-
                const VkCommandBufferBeginInfo                                  cmdBufferBeginInfo                      =
                {
                        VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO,    // VkStructureType                      sType;
@@ -2893,7 +2776,7 @@ void ShaderRenderCaseInstance::render (deUint32                           numVertices,
                        &clearValues,                                                                                   // const VkClearValue*  pClearValues;
                };
 
-               cmdBuffer = allocateCommandBuffer(vk, vkDevice, &cmdBufferParams);
+               cmdBuffer = allocateCommandBuffer(vk, vkDevice, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY);
 
                VK_CHECK(vk.beginCommandBuffer(*cmdBuffer, &cmdBufferBeginInfo));
 
@@ -2975,15 +2858,7 @@ void ShaderRenderCaseInstance::render (deUint32                          numVertices,
        }
 
        // Create fence
-       {
-               const VkFenceCreateInfo                                                 fenceParams                                     =
-               {
-                       VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,    // VkStructureType              sType;
-                       DE_NULL,                                                                // const void*                  pNext;
-                       0u                                                                              // VkFenceCreateFlags   flags;
-               };
-               fence = createFence(vk, vkDevice, &fenceParams);
-       }
+       fence = createFence(vk, vkDevice);
 
        // Execute Draw
        {
@@ -3025,15 +2900,6 @@ void ShaderRenderCaseInstance::render (deUint32                          numVertices,
                VK_CHECK(vk.bindBufferMemory(vkDevice, *readImageBuffer, readImageBufferMemory->getMemory(), readImageBufferMemory->getOffset()));
 
                // Copy image to buffer
-               const VkCommandBufferAllocateInfo                               cmdBufferParams                         =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO, // VkStructureType                      sType;
-                       DE_NULL,                                                                                // const void*                          pNext;
-                       *cmdPool,                                                                               // VkCmdPool                            cmdPool;
-                       VK_COMMAND_BUFFER_LEVEL_PRIMARY,                                // VkCmdBufferLevel                     level;
-                       1u                                                                                              // deUint32                                     bufferCount;
-               };
-
                const VkCommandBufferBeginInfo                                  cmdBufferBeginInfo                      =
                {
                        VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO,    // VkStructureType                      sType;
@@ -3042,7 +2908,7 @@ void ShaderRenderCaseInstance::render (deUint32                           numVertices,
                        (const VkCommandBufferInheritanceInfo*)DE_NULL,
                };
 
-               const Move<VkCommandBuffer>                                             resultCmdBuffer                         = allocateCommandBuffer(vk, vkDevice, &cmdBufferParams);
+               const Move<VkCommandBuffer>                                             resultCmdBuffer                         = allocateCommandBuffer(vk, vkDevice, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY);
 
                const VkBufferImageCopy                                                 copyParams                                      =
                {
index 6d8ac05..d151157 100644 (file)
@@ -515,7 +515,7 @@ private:
                const deUint32                                          m_queueFamilyIndex;
                vk::Unique<vk::VkDevice>                        m_device;
                vk::DeviceDriver                                        m_deviceInterface;
-               vk::VkQueue                                                     m_queue;
+               const vk::VkQueue                                       m_queue;
                const de::UniquePtr<vk::Allocator>      m_allocator;
        private:
                vk::Move<vk::VkDevice>                          createDevice    (void) const;
index 177ef36..cfd080a 100644 (file)
@@ -164,10 +164,7 @@ void SparseResourcesBaseInstance::createDeviceSupportingQueues(const QueueRequir
                {
                        Queue& queue = queuesIter->second[queueNdx];
 
-                       VkQueue queueHandle = 0;
-                       m_deviceDriver->getDeviceQueue(*m_logicalDevice, queue.queueFamilyIndex, queue.queueIndex, &queueHandle);
-
-                       queue.queueHandle = queueHandle;
+                       queue.queueHandle = getDeviceQueue(*m_deviceDriver, *m_logicalDevice, queue.queueFamilyIndex, queue.queueIndex);
                }
        }
 }
index b5839a6..38d6791 100644 (file)
@@ -202,7 +202,7 @@ tcu::TestStatus BufferSparseMemoryAliasingInstance::iterate (void)
        const Unique<VkBuffer> sparseBufferRead (createBuffer(deviceInterface, getDevice(), &bufferCreateInfo));
 
        // Create sparse buffers memory bind semaphore
-       const Unique<VkSemaphore> bufferMemoryBindSemaphore(makeSemaphore(deviceInterface, getDevice()));
+       const Unique<VkSemaphore> bufferMemoryBindSemaphore(createSemaphore(deviceInterface, getDevice()));
 
        const VkMemoryRequirements      bufferMemRequirements = getBufferMemoryRequirements(deviceInterface, getDevice(), *sparseBufferWrite);
 
@@ -263,7 +263,7 @@ tcu::TestStatus BufferSparseMemoryAliasingInstance::iterate (void)
 
        // Create command buffer for compute and data transfer oparations
        const Unique<VkCommandPool>       commandPool(makeCommandPool(deviceInterface, getDevice(), computeQueue.queueFamilyIndex));
-       const Unique<VkCommandBuffer> commandBuffer(makeCommandBuffer(deviceInterface, getDevice(), *commandPool));
+       const Unique<VkCommandBuffer> commandBuffer(allocateCommandBuffer(deviceInterface, getDevice(), *commandPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
        // Start recording commands
        beginCommandBuffer(deviceInterface, *commandBuffer);
index 1eec940..1a658ed 100644 (file)
@@ -141,7 +141,7 @@ tcu::TestStatus BufferSparseBindingInstance::iterate (void)
        const Unique<VkBuffer> sparseBuffer(createBuffer(deviceInterface, getDevice(), &bufferCreateInfo));
 
        // Create sparse buffer memory bind semaphore
-       const Unique<VkSemaphore> bufferMemoryBindSemaphore(makeSemaphore(deviceInterface, getDevice()));
+       const Unique<VkSemaphore> bufferMemoryBindSemaphore(createSemaphore(deviceInterface, getDevice()));
 
        const VkMemoryRequirements bufferMemRequirement = getBufferMemoryRequirements(deviceInterface, getDevice(), *sparseBuffer);
 
@@ -193,7 +193,7 @@ tcu::TestStatus BufferSparseBindingInstance::iterate (void)
 
        // Create command buffer for transfer oparations
        const Unique<VkCommandPool>             commandPool(makeCommandPool(deviceInterface, getDevice(), computeQueue.queueFamilyIndex));
-       const Unique<VkCommandBuffer>   commandBuffer(makeCommandBuffer(deviceInterface, getDevice(), *commandPool));
+       const Unique<VkCommandBuffer>   commandBuffer(allocateCommandBuffer(deviceInterface, getDevice(), *commandPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
        // Start recording transfer commands
        beginCommandBuffer(deviceInterface, *commandBuffer);
index b5575c5..b23910f 100644 (file)
@@ -183,7 +183,7 @@ tcu::TestStatus BufferSparseResidencyInstance::iterate (void)
        const Unique<VkBuffer> sparseBuffer(createBuffer(deviceInterface, getDevice(), &bufferCreateInfo));
 
        // Create sparse buffer memory bind semaphore
-       const Unique<VkSemaphore> bufferMemoryBindSemaphore(makeSemaphore(deviceInterface, getDevice()));
+       const Unique<VkSemaphore> bufferMemoryBindSemaphore(createSemaphore(deviceInterface, getDevice()));
 
        const VkMemoryRequirements bufferMemRequirements = getBufferMemoryRequirements(deviceInterface, getDevice(), *sparseBuffer);
 
@@ -257,7 +257,7 @@ tcu::TestStatus BufferSparseResidencyInstance::iterate (void)
 
        // Create command buffer for compute and data transfer oparations
        const Unique<VkCommandPool>       commandPool(makeCommandPool(deviceInterface, getDevice(), computeQueue.queueFamilyIndex));
-       const Unique<VkCommandBuffer> commandBuffer(makeCommandBuffer(deviceInterface, getDevice(), *commandPool));
+       const Unique<VkCommandBuffer> commandBuffer(allocateCommandBuffer(deviceInterface, getDevice(), *commandPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
        // Start recording compute and transfer commands
        beginCommandBuffer(deviceInterface, *commandBuffer);
index fc9e7ee..f8e284d 100644 (file)
@@ -582,7 +582,7 @@ public:
                m_pipelineLayout        = makePipelineLayout    (vk, device, m_descriptorSetLayout);
                m_pipeline                      = makeGraphicsPipeline  (vk, device, *m_pipelineLayout, *m_renderPass, m_renderSize, m_topology, DE_LENGTH_OF_ARRAY(pShaderStages), pShaderStages);
                m_cmdPool                       = makeCommandPool               (vk, device, queueFamilyIndex);
-               m_cmdBuffer                     = makeCommandBuffer             (vk, device, *m_cmdPool);
+               m_cmdBuffer                     = allocateCommandBuffer (vk, device, *m_cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY);
        }
 
        void draw (const DeviceInterface&       vk,
@@ -726,7 +726,7 @@ void bindSparseBuffer (const DeviceInterface& vk, const VkDevice device, const V
                DE_NULL,                                                                                        // const VkSemaphore*                          pSignalSemaphores;
        };
 
-       const Unique<VkFence> fence(makeFence(vk, device));
+       const Unique<VkFence> fence(createFence(vk, device));
 
        VK_CHECK(vk.queueBindSparse(sparseQueue, 1u, &bindInfo, *fence));
        VK_CHECK(vk.waitForFences(device, 1u, &fence.get(), VK_TRUE, ~0ull));
@@ -1042,8 +1042,8 @@ public:
                                        stagingBufferSize,                      // VkDeviceSize    size;
                                };
 
-                               const Unique<VkCommandPool>             cmdPool         (makeCommandPool        (vk, getDevice(), m_universalQueue.queueFamilyIndex));
-                               const Unique<VkCommandBuffer>   cmdBuffer       (makeCommandBuffer      (vk, getDevice(), *cmdPool));
+                               const Unique<VkCommandPool>             cmdPool         (makeCommandPool(vk, getDevice(), m_universalQueue.queueFamilyIndex));
+                               const Unique<VkCommandBuffer>   cmdBuffer       (allocateCommandBuffer(vk, getDevice(), *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
                                beginCommandBuffer      (vk, *cmdBuffer);
                                vk.cmdCopyBuffer        (*cmdBuffer, *stagingBuffer, *sparseBuffer, 1u, &copyRegion);
@@ -1292,8 +1292,8 @@ public:
                                },
                        };
 
-                       const Unique<VkCommandPool>             cmdPool         (makeCommandPool        (vk, getDevice(), m_universalQueue.queueFamilyIndex));
-                       const Unique<VkCommandBuffer>   cmdBuffer       (makeCommandBuffer      (vk, getDevice(), *cmdPool));
+                       const Unique<VkCommandPool>             cmdPool         (makeCommandPool(vk, getDevice(), m_universalQueue.queueFamilyIndex));
+                       const Unique<VkCommandBuffer>   cmdBuffer       (allocateCommandBuffer(vk, getDevice(), *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
                        beginCommandBuffer      (vk, *cmdBuffer);
                        vk.cmdCopyBuffer        (*cmdBuffer, *m_stagingBuffer, *m_sparseBuffer, DE_LENGTH_OF_ARRAY(copyRegions), copyRegions);
index 60dc2a2..1dcfbbd 100644 (file)
@@ -243,8 +243,8 @@ tcu::TestStatus ImageSparseMemoryAliasingInstance::iterate (void)
        const Unique<VkImage> imageWrite(createImage(deviceInterface, getDevice(), &imageSparseInfo));
 
        // Create semaphores to synchronize sparse binding operations with other operations on the sparse images
-       const Unique<VkSemaphore> memoryBindSemaphoreTransfer(makeSemaphore(deviceInterface, getDevice()));
-       const Unique<VkSemaphore> memoryBindSemaphoreCompute(makeSemaphore(deviceInterface, getDevice()));
+       const Unique<VkSemaphore> memoryBindSemaphoreTransfer(createSemaphore(deviceInterface, getDevice()));
+       const Unique<VkSemaphore> memoryBindSemaphoreCompute(createSemaphore(deviceInterface, getDevice()));
 
        const VkSemaphore imageMemoryBindSemaphores[] = { memoryBindSemaphoreTransfer.get(), memoryBindSemaphoreCompute.get() };
 
@@ -390,7 +390,7 @@ tcu::TestStatus ImageSparseMemoryAliasingInstance::iterate (void)
 
        // Create command buffer for compute and transfer oparations
        const Unique<VkCommandPool>       commandPool  (makeCommandPool(deviceInterface, getDevice(), computeQueue.queueFamilyIndex));
-       const Unique<VkCommandBuffer> commandBuffer(makeCommandBuffer(deviceInterface, getDevice(), *commandPool));
+       const Unique<VkCommandBuffer> commandBuffer(allocateCommandBuffer(deviceInterface, getDevice(), *commandPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
        std::vector<VkBufferImageCopy> bufferImageCopy(imageSparseInfo.mipLevels);
 
index 4a8b652..37b47b6 100644 (file)
@@ -176,7 +176,7 @@ tcu::TestStatus ImageSparseBindingInstance::iterate (void)
        const Unique<VkImage> imageSparse(createImage(deviceInterface, getDevice(), &imageSparseInfo));
 
        // Create sparse image memory bind semaphore
-       const Unique<VkSemaphore> imageMemoryBindSemaphore(makeSemaphore(deviceInterface, getDevice()));
+       const Unique<VkSemaphore> imageMemoryBindSemaphore(createSemaphore(deviceInterface, getDevice()));
 
        // Get sparse image general memory requirements
        const VkMemoryRequirements imageSparseMemRequirements = getImageMemoryRequirements(deviceInterface, getDevice(), *imageSparse);
@@ -229,7 +229,7 @@ tcu::TestStatus ImageSparseBindingInstance::iterate (void)
 
        // Create command buffer for compute and transfer oparations
        const Unique<VkCommandPool>       commandPool(makeCommandPool(deviceInterface, getDevice(), computeQueue.queueFamilyIndex));
-       const Unique<VkCommandBuffer> commandBuffer(makeCommandBuffer(deviceInterface, getDevice(), *commandPool));
+       const Unique<VkCommandBuffer> commandBuffer(allocateCommandBuffer(deviceInterface, getDevice(), *commandPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
        std::vector<VkBufferImageCopy> bufferImageCopy(imageSparseInfo.mipLevels);
 
index d915878..20decb2 100644 (file)
@@ -254,7 +254,7 @@ tcu::TestStatus ImageSparseResidencyInstance::iterate (void)
        const Unique<VkImage> sparseImage(createImage(deviceInterface, getDevice(), &imageCreateInfo));
 
        // Create sparse image memory bind semaphore
-       const Unique<VkSemaphore> imageMemoryBindSemaphore(makeSemaphore(deviceInterface, getDevice()));
+       const Unique<VkSemaphore> imageMemoryBindSemaphore(createSemaphore(deviceInterface, getDevice()));
 
        {
                // Get image general memory requirements
@@ -397,7 +397,7 @@ tcu::TestStatus ImageSparseResidencyInstance::iterate (void)
 
        // Create command buffer for compute and transfer oparations
        const Unique<VkCommandPool>       commandPool(makeCommandPool(deviceInterface, getDevice(), computeQueue.queueFamilyIndex));
-       const Unique<VkCommandBuffer> commandBuffer(makeCommandBuffer(deviceInterface, getDevice(), *commandPool));
+       const Unique<VkCommandBuffer> commandBuffer(allocateCommandBuffer(deviceInterface, getDevice(), *commandPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
        // Start recording commands
        beginCommandBuffer(deviceInterface, *commandBuffer);
index 5df9758..6616df0 100644 (file)
@@ -192,7 +192,7 @@ tcu::TestStatus MipmapSparseResidencyInstance::iterate (void)
        const Unique<VkImage> imageSparse(createImage(deviceInterface, getDevice(), &imageSparseInfo));
 
        // Create sparse image memory bind semaphore
-       const Unique<VkSemaphore> imageMemoryBindSemaphore(makeSemaphore(deviceInterface, getDevice()));
+       const Unique<VkSemaphore> imageMemoryBindSemaphore(createSemaphore(deviceInterface, getDevice()));
 
        {
                // Get sparse image general memory requirements
@@ -312,7 +312,7 @@ tcu::TestStatus MipmapSparseResidencyInstance::iterate (void)
 
        // Create command buffer for compute and transfer oparations
        const Unique<VkCommandPool>       commandPool(makeCommandPool(deviceInterface, getDevice(), computeQueue.queueFamilyIndex));
-       const Unique<VkCommandBuffer> commandBuffer(makeCommandBuffer(deviceInterface, getDevice(), *commandPool));
+       const Unique<VkCommandBuffer> commandBuffer(allocateCommandBuffer(deviceInterface, getDevice(), *commandPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
        std::vector <VkBufferImageCopy> bufferImageCopy(imageSparseInfo.mipLevels);
 
index da019c5..5476932 100644 (file)
@@ -191,13 +191,13 @@ public:
 
                for (deUint32 i = 0; i < m_params.numWaitSemaphores; ++i)
                {
-                       allSemaphores.push_back(makeVkSharedPtr(makeSemaphore(vk, getDevice())));
+                       allSemaphores.push_back(makeVkSharedPtr(createSemaphore(vk, getDevice())));
                        waitSemaphores.push_back(**allSemaphores.back());
                }
 
                for (deUint32 i = 0; i < m_params.numSignalSemaphores; ++i)
                {
-                       allSemaphores.push_back(makeVkSharedPtr(makeSemaphore(vk, getDevice())));
+                       allSemaphores.push_back(makeVkSharedPtr(createSemaphore(vk, getDevice())));
                        signalSemaphores.push_back(**allSemaphores.back());
                        signalSemaphoresWaitDstStageMask.push_back(VK_PIPELINE_STAGE_ALL_COMMANDS_BIT);
                }
@@ -277,7 +277,7 @@ public:
 
                                        if (m_params.bindSparseUseFence)
                                        {
-                                               bindSparseFences.push_back(makeVkSharedPtr(makeFence(vk, getDevice())));
+                                               bindSparseFences.push_back(makeVkSharedPtr(createFence(vk, getDevice())));
                                                fence = **bindSparseFences.back();
                                        }
 
@@ -288,7 +288,7 @@ public:
                                }
                                else
                                {
-                                       regularFences.push_back(makeVkSharedPtr(makeFence(vk, getDevice())));
+                                       regularFences.push_back(makeVkSharedPtr(createFence(vk, getDevice())));
                                        VK_CHECK(vk.queueSubmit(submissionIter->queue->queueHandle, 1u, &submissionIter->info.regular, **regularFences.back()));
                                }
                        }
index 95c956d..1f73b6c 100644 (file)
@@ -288,7 +288,7 @@ tcu::TestStatus SparseShaderIntrinsicsInstanceBase::iterate (void)
        const Unique<VkImage> imageSparse(createImage(deviceInterface, getDevice(), &imageSparseInfo));
 
        // Create sparse image memory bind semaphore
-       const Unique<VkSemaphore> memoryBindSemaphore(makeSemaphore(deviceInterface, getDevice()));
+       const Unique<VkSemaphore> memoryBindSemaphore(createSemaphore(deviceInterface, getDevice()));
 
        const deUint32                    imageSparseSizeInBytes                = getImageSizeInBytes(imageSparseInfo.extent, imageSparseInfo.arrayLayers, m_format, imageSparseInfo.mipLevels, BUFFER_IMAGE_COPY_OFFSET_GRANULARITY);
        const deUint32                    imageSizeInPixels                             = getImageSizeInBytes(imageSparseInfo.extent, imageSparseInfo.arrayLayers, m_format, imageSparseInfo.mipLevels) / tcu::getPixelSize(m_format);
@@ -472,7 +472,7 @@ tcu::TestStatus SparseShaderIntrinsicsInstanceBase::iterate (void)
 
        // Create command buffer for compute and transfer oparations
        const Unique<VkCommandPool>       commandPool(makeCommandPool(deviceInterface, getDevice(), extractQueue.queueFamilyIndex));
-       const Unique<VkCommandBuffer> commandBuffer(makeCommandBuffer(deviceInterface, getDevice(), *commandPool));
+       const Unique<VkCommandBuffer> commandBuffer(allocateCommandBuffer(deviceInterface, getDevice(), *commandPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
        std::vector <VkBufferImageCopy> bufferImageSparseCopy(imageSparseInfo.mipLevels);
 
index 108600a..d5eab7d 100644 (file)
@@ -261,19 +261,6 @@ Move<VkCommandPool> makeCommandPool (const DeviceInterface& vk, const VkDevice d
        return createCommandPool(vk, device, &commandPoolParams);
 }
 
-Move<VkCommandBuffer> makeCommandBuffer (const DeviceInterface& vk, const VkDevice device, const VkCommandPool commandPool)
-{
-       const VkCommandBufferAllocateInfo bufferAllocateParams =
-       {
-               VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,         // VkStructureType                      sType;
-               DE_NULL,                                                                                        // const void*                          pNext;
-               commandPool,                                                                            // VkCommandPool                        commandPool;
-               VK_COMMAND_BUFFER_LEVEL_PRIMARY,                                        // VkCommandBufferLevel         level;
-               1u,                                                                                                     // deUint32                                     bufferCount;
-       };
-       return allocateCommandBuffer(vk, device, &bufferAllocateParams);
-}
-
 Move<VkPipelineLayout> makePipelineLayout (const DeviceInterface&              vk,
                                                                                   const VkDevice                               device,
                                                                                   const VkDescriptorSetLayout  descriptorSetLayout)
@@ -377,29 +364,6 @@ Move<VkDescriptorSet> makeDescriptorSet (const DeviceInterface&                    vk,
        return allocateDescriptorSet(vk, device, &allocateParams);
 }
 
-Move<VkSemaphore> makeSemaphore (const DeviceInterface& vk, const VkDevice device)
-{
-       const VkSemaphoreCreateInfo semaphoreCreateInfo =
-       {
-               VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO,
-               DE_NULL,
-               0u
-       };
-
-       return createSemaphore(vk, device, &semaphoreCreateInfo);
-}
-
-Move<VkFence> makeFence (const DeviceInterface& vk, const VkDevice device, const VkFenceCreateFlags flags)
-{
-       const VkFenceCreateInfo fenceCreateInfo =
-       {
-               VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,    // VkStructureType       sType;
-               DE_NULL,                                                                // const void*           pNext;
-               flags,                                                                  // VkFenceCreateFlags    flags;
-       };
-       return createFence(vk, device, &fenceCreateInfo);
-}
-
 Move<VkFramebuffer> makeFramebuffer (const DeviceInterface&            vk,
                                                                         const VkDevice                         device,
                                                                         const VkRenderPass                     renderPass,
index c04e8da..ff9852b 100644 (file)
@@ -142,10 +142,6 @@ vk::Move<vk::VkCommandPool>                makeCommandPool                                         (const vk::DeviceInterface&
                                                                                                                                         const vk::VkDevice                                     device,
                                                                                                                                         const deUint32                                         queueFamilyIndex);
 
-vk::Move<vk::VkCommandBuffer>  makeCommandBuffer                                       (const vk::DeviceInterface&                     vk,
-                                                                                                                                        const vk::VkDevice                                     device,
-                                                                                                                                        const vk::VkCommandPool                        commandPool);
-
 vk::Move<vk::VkPipelineLayout> makePipelineLayout                                      (const vk::DeviceInterface&                     vk,
                                                                                                                                         const vk::VkDevice                                     device,
                                                                                                                                         const vk::VkDescriptorSetLayout        descriptorSetLayout = DE_NULL);
@@ -175,13 +171,6 @@ vk::Move<vk::VkDescriptorSet>      makeDescriptorSet                                       (const vk::DeviceInterface&
                                                                                                                                         const vk::VkDescriptorPool                     descriptorPool,
                                                                                                                                         const vk::VkDescriptorSetLayout        setLayout);
 
-vk::Move<vk::VkSemaphore>              makeSemaphore                                           (const vk::DeviceInterface&                     vk,
-                                                                                                                                        const vk::VkDevice                                     device);
-
-vk::Move<vk::VkFence>                  makeFence                                                       (const vk::DeviceInterface&                     vk,
-                                                                                                                                        const vk::VkDevice                                     device,
-                                                                                                                                        const vk::VkFenceCreateFlags           flags   = 0u);
-
 vk::Move<vk::VkFramebuffer>            makeFramebuffer                                         (const vk::DeviceInterface&                     vk,
                                                                                                                                         const vk::VkDevice                                     device,
                                                                                                                                         const vk::VkRenderPass                         renderPass,
index 8a560ad..be9cb24 100644 (file)
@@ -222,15 +222,7 @@ Move<VkPipeline> createComputePipeline (const DeviceInterface& vkdi, const VkDev
  *//*--------------------------------------------------------------------*/
 Move<VkCommandPool> createCommandPool (const DeviceInterface& vkdi, VkDevice device, deUint32 queueFamilyIndex)
 {
-       const VkCommandPoolCreateInfo cmdPoolCreateInfo =
-       {
-               VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,     // sType
-               DE_NULL,                                                                        // pNext
-               0u,                                                                                     // flags
-               queueFamilyIndex,                                                       // queueFamilyIndex
-       };
-
-       return createCommandPool(vkdi, device, &cmdPoolCreateInfo);
+       return createCommandPool(vkdi, device, 0u, queueFamilyIndex);
 }
 
 } // anonymous
@@ -347,16 +339,7 @@ tcu::TestStatus SpvAsmComputeShaderInstance::iterate (void)
        // Create command buffer and record commands
 
        const Unique<VkCommandPool>                     cmdPool                         (createCommandPool(vkdi, device, m_context.getUniversalQueueFamilyIndex()));
-       const VkCommandBufferAllocateInfo       cmdBufferCreateInfo     =
-       {
-               VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO, // sType
-               NULL,                                                                                   // pNext
-               *cmdPool,                                                                               // cmdPool
-               VK_COMMAND_BUFFER_LEVEL_PRIMARY,                                // level
-               1u                                                                                              // count
-       };
-
-       Unique<VkCommandBuffer>                         cmdBuffer                       (allocateCommandBuffer(vkdi, device, &cmdBufferCreateInfo));
+       Unique<VkCommandBuffer>                         cmdBuffer                       (allocateCommandBuffer(vkdi, device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
        const VkCommandBufferBeginInfo          cmdBufferBeginInfo      =
        {
@@ -376,13 +359,7 @@ tcu::TestStatus SpvAsmComputeShaderInstance::iterate (void)
 
        // Create fence and run.
 
-       const VkFenceCreateInfo                 fenceCreateInfo         =
-       {
-                VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,           // sType
-                NULL,                                                                          // pNext
-                0                                                                                      // flags
-    };
-       const Unique<VkFence>                   cmdCompleteFence        (createFence(vkdi, device, &fenceCreateInfo));
+       const Unique<VkFence>                   cmdCompleteFence        (createFence(vkdi, device));
        const deUint64                                  infiniteTimeout         = ~(deUint64)0u;
        const VkSubmitInfo                              submitInfo                      =
        {
index f828de8..5aafc4b 100644 (file)
@@ -5395,25 +5395,10 @@ TestStatus runAndVerifyDefaultPipeline (Context& context, InstanceContext instan
        };
        const Unique<VkFramebuffer>                             framebuffer                             (createFramebuffer(vk, vkDevice, &framebufferParams));
 
-       const VkCommandPoolCreateInfo                   cmdPoolParams                   =
-       {
-               VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,                                     //      VkStructureType                 sType;
-               DE_NULL,                                                                                                        //      const void*                             pNext;
-               VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT,                                //      VkCmdPoolCreateFlags    flags;
-               queueFamilyIndex,                                                                                       //      deUint32                                queueFamilyIndex;
-       };
-       const Unique<VkCommandPool>                             cmdPool                                 (createCommandPool(vk, vkDevice, &cmdPoolParams));
+       const Unique<VkCommandPool>                             cmdPool                                 (createCommandPool(vk, vkDevice, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queueFamilyIndex));
 
        // Command buffer
-       const VkCommandBufferAllocateInfo               cmdBufParams                    =
-       {
-               VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,                 //      VkStructureType                 sType;
-               DE_NULL,                                                                                                //      const void*                             pNext;
-               *cmdPool,                                                                                               //      VkCmdPool                               pool;
-               VK_COMMAND_BUFFER_LEVEL_PRIMARY,                                                //      VkCmdBufferLevel                level;
-               1u,                                                                                                             //      deUint32                                count;
-       };
-       const Unique<VkCommandBuffer>                   cmdBuf                                  (allocateCommandBuffer(vk, vkDevice, &cmdBufParams));
+       const Unique<VkCommandBuffer>                   cmdBuf                                  (allocateCommandBuffer(vk, vkDevice, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
        const VkCommandBufferBeginInfo                  cmdBufBeginParams               =
        {
@@ -5556,13 +5541,7 @@ TestStatus runAndVerifyDefaultPipeline (Context& context, InstanceContext instan
 
        // Submit & wait for completion
        {
-               const VkFenceCreateInfo fenceParams     =
-               {
-                       VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,    //      VkStructureType         sType;
-                       DE_NULL,                                                                //      const void*                     pNext;
-                       0u,                                                                             //      VkFenceCreateFlags      flags;
-               };
-               const Unique<VkFence>   fence           (createFence(vk, vkDevice, &fenceParams));
+               const Unique<VkFence>   fence           (createFence(vk, vkDevice));
                const VkSubmitInfo              submitInfo      =
                {
                        VK_STRUCTURE_TYPE_SUBMIT_INFO,
index 7ac5fe3..fe8ea1e 100644 (file)
@@ -2103,24 +2103,8 @@ tcu::TestStatus SSBOLayoutCaseInstance::iterate (void)
        };
        vk::Move<vk::VkPipeline> pipeline(createComputePipeline(vk, device, DE_NULL, &pipelineCreateInfo));
 
-       const vk::VkCommandPoolCreateInfo cmdPoolParams =
-       {
-               vk::VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,                 // VkStructureType              sType;
-               DE_NULL,                                                                                                // const void*                  pNext;
-               vk::VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT,    // VkCmdPoolCreateFlags flags;
-               queueFamilyIndex,                                                                               // deUint32                             queueFamilyIndex;
-       };
-       vk::Move<vk::VkCommandPool> cmdPool (createCommandPool(vk, device, &cmdPoolParams));
-
-       const vk::VkCommandBufferAllocateInfo cmdBufParams =
-       {
-               vk::VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,     // VkStructureType                      sType;
-               DE_NULL,                                                                                        // const void*                          pNext;
-               *cmdPool,                                                                                       // VkCmdPool                            pool;
-               vk::VK_COMMAND_BUFFER_LEVEL_PRIMARY,                            // VkCmdBufferLevel             level;
-               1u,                                                                                                     // deUint32                                     bufferCount;
-       };
-       vk::Move<vk::VkCommandBuffer> cmdBuffer (allocateCommandBuffer(vk, device, &cmdBufParams));
+       vk::Move<vk::VkCommandPool> cmdPool (createCommandPool(vk, device, vk::VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queueFamilyIndex));
+       vk::Move<vk::VkCommandBuffer> cmdBuffer (allocateCommandBuffer(vk, device, *cmdPool, vk::VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
        const vk::VkCommandBufferBeginInfo cmdBufBeginParams =
        {
@@ -2186,13 +2170,7 @@ tcu::TestStatus SSBOLayoutCaseInstance::iterate (void)
 
        VK_CHECK(vk.endCommandBuffer(*cmdBuffer));
 
-       const vk::VkFenceCreateInfo     fenceParams =
-       {
-               vk::VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,        // VkStructureType              sType;
-               DE_NULL,                                                                        // const void*                  pNext;
-               0u,                                                                                     // VkFenceCreateFlags   flags;
-       };
-       vk::Move<vk::VkFence> fence (createFence(vk, device, &fenceParams));
+       vk::Move<vk::VkFence> fence (createFence(vk, device));
 
        const vk::VkSubmitInfo  submitInfo  =
        {
index cb9b426..723ff91 100644 (file)
@@ -83,7 +83,7 @@ tcu::TestStatus deviceResetSetEventCase (Context& context)
        const VkDevice                                  device                          = context.getDevice();
        const VkQueue                                   queue                           = context.getUniversalQueue();
        const deUint32                                  queueFamilyIndex        = context.getUniversalQueueFamilyIndex();
-       const Unique<VkCommandPool>             cmdPool                         (makeCommandPool(vk, device, queueFamilyIndex));
+       const Unique<VkCommandPool>             cmdPool                         (createCommandPool(vk, device, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queueFamilyIndex));
        const Unique<VkCommandBuffer>   cmdBuffer                       (makeCommandBuffer(vk, device, *cmdPool));
        const VkSubmitInfo                              submitInfo                      =
                                                                                                                {
@@ -97,13 +97,7 @@ tcu::TestStatus deviceResetSetEventCase (Context& context)
                                                                                                                        0u,                                                             // deUint32                                             signalSemaphoreCount;
                                                                                                                        DE_NULL,                                                // const VkSemaphore*                   pSignalSemaphores;
                                                                                                                };
-       const VkEventCreateInfo                 eventInfo                       =
-                                                                                                               {
-                                                                                                                       VK_STRUCTURE_TYPE_EVENT_CREATE_INFO,
-                                                                                                                       DE_NULL,
-                                                                                                                       0
-                                                                                                               };
-       const Unique<VkEvent>                   event                           (createEvent(vk, device, &eventInfo, DE_NULL));
+       const Unique<VkEvent>                   event                           (createEvent(vk, device));
 
        beginCommandBuffer(vk, *cmdBuffer);
        vk.cmdSetEvent(*cmdBuffer, *event, VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT);
@@ -134,14 +128,8 @@ tcu::TestStatus deviceWaitForEventCase (Context& context)
        const VkDevice                                  device                          = context.getDevice();
        const VkQueue                                   queue                           = context.getUniversalQueue();
        const deUint32                                  queueFamilyIndex        = context.getUniversalQueueFamilyIndex();
-       const VkFenceCreateInfo                 fenceInfo                       =
-                                                                                                               {
-                                                                                                                       VK_STRUCTURE_TYPE_FENCE_CREATE_INFO, // VkStructureType         sType;
-                                                                                                                       DE_NULL,                                                         // const void*                 pNext;
-                                                                                                                       0u,                                                                      // VkFenceCreateFlags  flags;
-                                                                                                               };
-       const Unique<VkFence>                   fence                           (createFence(vk, device, &fenceInfo));
-       const Unique<VkCommandPool>             cmdPool                         (makeCommandPool(vk, device, queueFamilyIndex));
+       const Unique<VkFence>                   fence                           (createFence(vk, device));
+       const Unique<VkCommandPool>             cmdPool                         (createCommandPool(vk, device, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queueFamilyIndex));
        const Unique<VkCommandBuffer>   cmdBuffer                       (makeCommandBuffer(vk, device, *cmdPool));
        const VkSubmitInfo                              submitInfo                      =
                                                                                                                {
@@ -187,14 +175,8 @@ tcu::TestStatus singleSubmissionCase (Context& context)
        const VkDevice                                  device                          = context.getDevice();
        const VkQueue                                   queue                           = context.getUniversalQueue();
        const deUint32                                  queueFamilyIndex        = context.getUniversalQueueFamilyIndex();
-       const VkFenceCreateInfo                 fenceInfo                       =
-                                                                                                               {
-                                                                                                                       VK_STRUCTURE_TYPE_FENCE_CREATE_INFO, // VkStructureType         sType;
-                                                                                                                       DE_NULL,                                                         // const void*                 pNext;
-                                                                                                                       0u,                                                                      // VkFenceCreateFlags  flags;
-                                                                                                               };
-       const Unique<VkFence>                   fence                           (createFence(vk, device, &fenceInfo));
-       const Unique<VkCommandPool>             cmdPool                         (makeCommandPool(vk, device, queueFamilyIndex));
+       const Unique<VkFence>                   fence                           (createFence(vk, device));
+       const Unique<VkCommandPool>             cmdPool                         (createCommandPool(vk, device, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queueFamilyIndex));
        const Move<VkCommandBuffer>             ptrCmdBuffer[COUNT]     = {makeCommandBuffer(vk, device, *cmdPool), makeCommandBuffer(vk, device, *cmdPool)};
        VkCommandBuffer                                 cmdBuffers[COUNT]       = {*ptrCmdBuffer[SET], *ptrCmdBuffer[WAIT]};
        const VkSubmitInfo                              submitInfo                      =
@@ -209,13 +191,7 @@ tcu::TestStatus singleSubmissionCase (Context& context)
                                                                                                                        0u,                                                             // deUint32                                             signalSemaphoreCount;
                                                                                                                        DE_NULL,                                                // const VkSemaphore*                   pSignalSemaphores;
                                                                                                                };
-       const VkEventCreateInfo                 eventInfo                       =
-                                                                                                               {
-                                                                                                                       VK_STRUCTURE_TYPE_EVENT_CREATE_INFO,
-                                                                                                                       DE_NULL,
-                                                                                                                       0
-                                                                                                               };
-       const Unique<VkEvent>                   event                           (createEvent(vk, device, &eventInfo, DE_NULL));
+       const Unique<VkEvent>                   event                           (createEvent(vk, device));
 
        beginCommandBuffer(vk, cmdBuffers[SET]);
        vk.cmdSetEvent(cmdBuffers[SET], *event, VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT);
@@ -239,15 +215,13 @@ tcu::TestStatus multiSubmissionCase (Context& context)
        const VkDevice                                  device                          = context.getDevice();
        const VkQueue                                   queue                           = context.getUniversalQueue();
        const deUint32                                  queueFamilyIndex        = context.getUniversalQueueFamilyIndex();
-       const VkFenceCreateInfo                 fenceInfo                       =
-                                                                                                               {
-                                                                                                                       VK_STRUCTURE_TYPE_FENCE_CREATE_INFO, // VkStructureType         sType;
-                                                                                                                       DE_NULL,                                                         // const void*                 pNext;
-                                                                                                                       0u,                                                                      // VkFenceCreateFlags  flags;
-                                                                                                               };
-       const Move<VkFence>                             ptrFence[COUNT]         = {createFence(vk, device, &fenceInfo), createFence(vk, device, &fenceInfo)};
+       const Move<VkFence>                             ptrFence[COUNT]         =
+       {
+               createFence(vk, device),
+               createFence(vk, device)
+       };
        VkFence                                                 fence[COUNT]            = {*ptrFence[SET], *ptrFence[WAIT]};
-       const Unique<VkCommandPool>             cmdPool                         (makeCommandPool(vk, device, queueFamilyIndex));
+       const Unique<VkCommandPool>             cmdPool                         (createCommandPool(vk, device, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queueFamilyIndex));
        const Move<VkCommandBuffer>             ptrCmdBuffer[COUNT]     = {makeCommandBuffer(vk, device, *cmdPool), makeCommandBuffer(vk, device, *cmdPool)};
        VkCommandBuffer                                 cmdBuffers[COUNT]       = {*ptrCmdBuffer[SET], *ptrCmdBuffer[WAIT]};
        const VkSubmitInfo                              submitInfo[COUNT]       =
@@ -275,13 +249,7 @@ tcu::TestStatus multiSubmissionCase (Context& context)
                                                                                                                                DE_NULL,                                                // const VkSemaphore*                   pSignalSemaphores;
                                                                                                                        }
                                                                                                                };
-       const VkEventCreateInfo                 eventInfo                       =
-                                                                                                               {
-                                                                                                                       VK_STRUCTURE_TYPE_EVENT_CREATE_INFO,
-                                                                                                                       DE_NULL,
-                                                                                                                       0
-                                                                                                               };
-       const Unique<VkEvent>                   event                           (createEvent(vk, device, &eventInfo, DE_NULL));
+       const Unique<VkEvent>                   event                           (createEvent(vk, device));
 
        beginCommandBuffer(vk, cmdBuffers[SET]);
        vk.cmdSetEvent(cmdBuffers[SET], *event, VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT);
@@ -307,14 +275,8 @@ tcu::TestStatus secondaryCommandBufferCase (Context& context)
        const VkDevice                                                  device                                  = context.getDevice();
        const VkQueue                                                   queue                                   = context.getUniversalQueue();
        const deUint32                                                  queueFamilyIndex                = context.getUniversalQueueFamilyIndex();
-       const VkFenceCreateInfo                                 fenceInfo                               =
-                                                                                                                                       {
-                                                                                                                                               VK_STRUCTURE_TYPE_FENCE_CREATE_INFO, // VkStructureType         sType;
-                                                                                                                                               DE_NULL,                                                         // const void*                 pNext;
-                                                                                                                                               0u,                                                                      // VkFenceCreateFlags  flags;
-                                                                                                                                       };
-       const Unique<VkFence>                                   fence                                   (createFence(vk, device, &fenceInfo));
-       const Unique<VkCommandPool>                             cmdPool                                 (makeCommandPool(vk, device, queueFamilyIndex));
+       const Unique<VkFence>                                   fence                                   (createFence(vk, device));
+       const Unique<VkCommandPool>                             cmdPool                                 (createCommandPool(vk, device, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queueFamilyIndex));
        const Move<VkCommandBuffer>                             primaryCmdBuffer                (makeCommandBuffer(vk, device, *cmdPool));
        const VkCommandBufferAllocateInfo               cmdBufferInfo                   =
                                                                                                                                        {
@@ -338,13 +300,7 @@ tcu::TestStatus secondaryCommandBufferCase (Context& context)
                                                                                                                                                0u,                                                             // deUint32                                             signalSemaphoreCount;
                                                                                                                                                DE_NULL,                                                // const VkSemaphore*                   pSignalSemaphores;
                                                                                                                                        };
-       const VkEventCreateInfo                                 eventInfo                               =
-                                                                                                                                       {
-                                                                                                                                               VK_STRUCTURE_TYPE_EVENT_CREATE_INFO,
-                                                                                                                                               DE_NULL,
-                                                                                                                                               0
-                                                                                                                                       };
-       const Unique<VkEvent>                                   event                                   (createEvent(vk, device, &eventInfo, DE_NULL));
+       const Unique<VkEvent>                                   event                                   (createEvent(vk, device));
 
        const VkCommandBufferInheritanceInfo    secCmdBufInheritInfo    =
                                                                                                                                        {
index b19b6ed..43a0ece 100644 (file)
@@ -46,7 +46,7 @@ tcu::TestStatus basicOneFenceCase (Context& context)
        const VkDevice                                  device                          = context.getDevice();
        const VkQueue                                   queue                           = context.getUniversalQueue();
        const deUint32                                  queueFamilyIndex        = context.getUniversalQueueFamilyIndex();
-       const Unique<VkCommandPool>             cmdPool                         (makeCommandPool(vk, device, queueFamilyIndex));
+       const Unique<VkCommandPool>             cmdPool                         (createCommandPool(vk, device, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queueFamilyIndex));
        const Unique<VkCommandBuffer>   cmdBuffer                       (makeCommandBuffer(vk, device, *cmdPool));
        const VkFenceCreateInfo                 fenceInfo                       =
                                                                                                                {
@@ -104,7 +104,7 @@ tcu::TestStatus basicMultiFenceCase (Context& context)
        const VkDevice                                  device                          = context.getDevice();
        const VkQueue                                   queue                           = context.getUniversalQueue();
        const deUint32                                  queueFamilyIndex        = context.getUniversalQueueFamilyIndex();
-       const Unique<VkCommandPool>             cmdPool                         (makeCommandPool(vk, device, queueFamilyIndex));
+       const Unique<VkCommandPool>             cmdPool                         (createCommandPool(vk, device, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT,  queueFamilyIndex));
        const Unique<VkCommandBuffer>   cmdBuffer                       (makeCommandBuffer(vk, device, *cmdPool));
        const VkFenceCreateInfo                 fenceInfo                       =
                                                                                                                {
index 5dfe6f9..a58b320 100644 (file)
@@ -49,14 +49,8 @@ tcu::TestStatus basicOneQueueCase (Context& context)
        const VkDevice                                  device                          = context.getDevice();
        const VkQueue                                   queue                           = context.getUniversalQueue();
        const deUint32                                  queueFamilyIndex        = context.getUniversalQueueFamilyIndex();
-       const VkSemaphoreCreateInfo             semaphoreInfo           =
-                                                                                                               {
-                                                                                                                       VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO,        //VkStructureType                       sType;
-                                                                                                                       DE_NULL,                                                                        //const void*                           pNext;
-                                                                                                                       0u                                                                                      //VkSemaphoreCreateFlags        flags;
-                                                                                                               };
-       const Unique<VkSemaphore>               semaphore                       (createSemaphore (vk, device, &semaphoreInfo, DE_NULL));
-       const Unique<VkCommandPool>             cmdPool                         (makeCommandPool(vk, device, queueFamilyIndex));
+       const Unique<VkSemaphore>               semaphore                       (createSemaphore (vk, device));
+       const Unique<VkCommandPool>             cmdPool                         (createCommandPool(vk, device, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queueFamilyIndex));
        const Unique<VkCommandBuffer>   cmdBuffer                       (makeCommandBuffer(vk, device, *cmdPool));
        const VkCommandBufferBeginInfo  info                            =
                                                                                                                {
@@ -91,13 +85,7 @@ tcu::TestStatus basicOneQueueCase (Context& context)
                                                                                                                                DE_NULL,                                                        // const VkSemaphore*                   pSignalSemaphores;
                                                                                                                        }
                                                                                                                };
-       const VkFenceCreateInfo                 fenceInfo                       =
-                                                                                                               {
-                                                                                                                       VK_STRUCTURE_TYPE_FENCE_CREATE_INFO, // VkStructureType         sType;
-                                                                                                                       DE_NULL,                                                         // const void*                 pNext;
-                                                                                                                       0u,                                                                      // VkFenceCreateFlags  flags;
-                                                                                                               };
-       const Unique<VkFence>                   fence                           (createFence(vk, device, &fenceInfo));
+       const Unique<VkFence>                   fence                           (createFence(vk, device));
 
        VK_CHECK(vk.beginCommandBuffer(*cmdBuffer, &info));
        endCommandBuffer(vk, *cmdBuffer);
@@ -142,23 +130,11 @@ tcu::TestStatus basicMultiQueueCase (Context& context)
                                                                                                                                                        VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT,   // VkCommandBufferUsageFlags                flags;
                                                                                                                                                        DE_NULL,                                                                                // const VkCommandBufferInheritanceInfo*    pInheritanceInfo;
                                                                                                                                                };
-       const VkSemaphoreCreateInfo                             semaphoreInfo                           =
-                                                                                                                                               {
-                                                                                                                                                       VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO,        //VkStructureType                       sType;
-                                                                                                                                                       DE_NULL,                                                                        //const void*                           pNext;
-                                                                                                                                                       0u                                                                                      //VkSemaphoreCreateFlags        flags;
-                                                                                                                                               };
        Move<VkSemaphore>                                               semaphore;
        Move<VkCommandPool>                                             cmdPool[COUNT];
        Move<VkCommandBuffer>                                   cmdBuffer[COUNT];
        const VkPipelineStageFlags                              stageBits[]                                     = { VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT };
        VkSubmitInfo                                                    submitInfo[COUNT];
-       const VkFenceCreateInfo                                 fenceInfo                                       =
-                                                                                                                                               {
-                                                                                                                                                       VK_STRUCTURE_TYPE_FENCE_CREATE_INFO, // VkStructureType         sType;
-                                                                                                                                                       DE_NULL,                                                         // const void*                 pNext;
-                                                                                                                                                       0u,                                                                      // VkFenceCreateFlags  flags;
-                                                                                                                                               };
        Move<VkFence>                                                   fence[COUNT];
 
        queueFamilyProperties = getPhysicalDeviceQueueFamilyProperties(instance, physicalDevice);
@@ -219,9 +195,9 @@ tcu::TestStatus basicMultiQueueCase (Context& context)
                        vk.getDeviceQueue(*logicalDevice, queues[queueReqNdx].queueFamilyIndex, 0u, &queues[queueReqNdx].queue);
        }
 
-       semaphore                       = (createSemaphore (vk,*logicalDevice, &semaphoreInfo, DE_NULL));
-       cmdPool[FIRST]          = (makeCommandPool(vk, *logicalDevice, queues[FIRST].queueFamilyIndex));
-       cmdPool[SECOND]         = (makeCommandPool(vk, *logicalDevice, queues[SECOND].queueFamilyIndex));
+       semaphore                       = (createSemaphore (vk, *logicalDevice));
+       cmdPool[FIRST]          = (createCommandPool(vk, *logicalDevice, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queues[FIRST].queueFamilyIndex));
+       cmdPool[SECOND]         = (createCommandPool(vk, *logicalDevice, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queues[SECOND].queueFamilyIndex));
        cmdBuffer[FIRST]        = (makeCommandBuffer(vk, *logicalDevice, *cmdPool[FIRST]));
        cmdBuffer[SECOND]       = (makeCommandBuffer(vk, *logicalDevice, *cmdPool[SECOND]));
 
@@ -250,8 +226,8 @@ tcu::TestStatus basicMultiQueueCase (Context& context)
        VK_CHECK(vk.beginCommandBuffer(*cmdBuffer[SECOND], &info));
        endCommandBuffer(vk, *cmdBuffer[SECOND]);
 
-       fence[FIRST]  = (createFence(vk, *logicalDevice, &fenceInfo));
-       fence[SECOND] = (createFence(vk, *logicalDevice, &fenceInfo));
+       fence[FIRST]  = (createFence(vk, *logicalDevice));
+       fence[SECOND] = (createFence(vk, *logicalDevice));
 
        VK_CHECK(vk.queueSubmit(queues[FIRST].queue, 1u, &submitInfo[FIRST], *fence[FIRST]));
        VK_CHECK(vk.queueSubmit(queues[SECOND].queue, 1u, &submitInfo[SECOND], *fence[SECOND]));
index 0a41b37..77c166a 100644 (file)
@@ -334,7 +334,7 @@ TestStatus executeComputePipeline (const Context& context, const VkPipeline& pip
                                                                                                                                .build(vk, device, VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT, 1u));
                Buffer                                                  resultBuffer            (vk, device, *queues.m_allocator, makeBufferCreateInfo(BUFFER_SIZE, VK_BUFFER_USAGE_STORAGE_BUFFER_BIT), MemoryRequirement::HostVisible);
                const VkBufferMemoryBarrier             bufferBarrier           = makeBufferMemoryBarrier(VK_ACCESS_SHADER_WRITE_BIT, VK_ACCESS_HOST_READ_BIT, *resultBuffer, 0ull, BUFFER_SIZE);
-               const Unique<VkCommandPool>             cmdPool                         (makeCommandPool(vk, device, queueFamilyIndex));
+               const Unique<VkCommandPool>             cmdPool                         (createCommandPool(vk, device, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queueFamilyIndex));
                const Unique<VkCommandBuffer>   cmdBuffer                       (makeCommandBuffer(vk, device, *cmdPool));
 
                {
@@ -417,7 +417,7 @@ TestStatus executeGraphicPipeline (const Context& context, const VkPipeline& pip
                                                                                                                                                MemoryRequirement::Any));
                Move<VkImageView>                               colorAttachmentView                     = makeImageView(vk, device, **colorAttachmentImage, VK_IMAGE_VIEW_TYPE_2D, colorFormat, colorImageSubresourceRange);
                Move<VkFramebuffer>                             framebuffer                                     = makeFramebuffer(vk, device, renderPass, *colorAttachmentView, colorImageExtent.width, colorImageExtent.height, 1u);
-               const Unique<VkCommandPool>             cmdPool                                         (makeCommandPool(vk, device, queueFamilyIndex));
+               const Unique<VkCommandPool>             cmdPool                                         (createCommandPool(vk, device, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queueFamilyIndex));
                const Unique<VkCommandBuffer>   cmdBuffer                                       (makeCommandBuffer(vk, device, *cmdPool));
                const VkDescriptorBufferInfo    outputBufferDescriptorInfo      = makeDescriptorBufferInfo(*resultBuffer, 0ull, BUFFER_SIZE);
 
index 0f14ef9..5844e31 100644 (file)
@@ -319,8 +319,8 @@ public:
 
                        const Move<VkCommandPool>               cmdPool[]               =
                        {
-                               makeCommandPool(vk, device, queuePairs[pairNdx].familyIndexWrite),
-                               makeCommandPool(vk, device, queuePairs[pairNdx].familyIndexRead)
+                               createCommandPool(vk, device, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queuePairs[pairNdx].familyIndexWrite),
+                               createCommandPool(vk, device, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queuePairs[pairNdx].familyIndexRead)
                        };
                        const Move<VkCommandBuffer>             ptrCmdBuffer[]  =
                        {
@@ -332,13 +332,7 @@ public:
                                *ptrCmdBuffer[QUEUETYPE_WRITE],
                                *ptrCmdBuffer[QUEUETYPE_READ]
                        };
-                       const VkSemaphoreCreateInfo             semaphoreInfo   =
-                       {
-                               VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO,        //VkStructureType                       sType;
-                               DE_NULL,                                                                        //const void*                           pNext;
-                               0u                                                                                      //VkSemaphoreCreateFlags        flags;
-                       };
-                       const Unique<VkSemaphore>               semaphore               (createSemaphore(vk, device, &semaphoreInfo, DE_NULL));
+                       const Unique<VkSemaphore>               semaphore               (createSemaphore(vk, device));
                        const VkPipelineStageFlags              stageBits[]             = { VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT };
                        const VkSubmitInfo                              submitInfo[]    =
                        {
@@ -420,8 +414,8 @@ public:
                        const UniquePtr<Operation>              readOp                  (m_readOp.build(*m_opContext, *resource));
                        const Move<VkCommandPool>               cmdPool[]               =
                        {
-                               makeCommandPool(vk, device, queuePairs[pairNdx].familyIndexWrite),
-                               makeCommandPool(vk, device, queuePairs[pairNdx].familyIndexRead)
+                               createCommandPool(vk, device, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queuePairs[pairNdx].familyIndexWrite),
+                               createCommandPool(vk, device, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queuePairs[pairNdx].familyIndexRead)
                        };
                        const Move<VkCommandBuffer>             ptrCmdBuffer[]  =
                        {
index 8728c72..0983aa7 100644 (file)
@@ -78,9 +78,9 @@ public:
                const VkDevice                                  device                          = m_context.getDevice();
                const VkQueue                                   queue                           = m_context.getUniversalQueue();
                const deUint32                                  queueFamilyIndex        = m_context.getUniversalQueueFamilyIndex();
-               const Unique<VkCommandPool>             cmdPool                         (makeCommandPool(vk, device, queueFamilyIndex));
+               const Unique<VkCommandPool>             cmdPool                         (createCommandPool(vk, device, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queueFamilyIndex));
                const Unique<VkCommandBuffer>   cmdBuffer                       (makeCommandBuffer(vk, device, *cmdPool));
-               const Unique<VkEvent>                   event                           (makeEvent(vk, device));
+               const Unique<VkEvent>                   event                           (createEvent(vk, device));
                const SyncInfo                                  writeSync                       = m_writeOp->getSyncInfo();
                const SyncInfo                                  readSync                        = m_readOp->getSyncInfo();
 
@@ -133,7 +133,7 @@ public:
                const VkDevice                                  device                          = m_context.getDevice();
                const VkQueue                                   queue                           = m_context.getUniversalQueue();
                const deUint32                                  queueFamilyIndex        = m_context.getUniversalQueueFamilyIndex();
-               const Unique<VkCommandPool>             cmdPool                         (makeCommandPool(vk, device, queueFamilyIndex));
+               const Unique<VkCommandPool>             cmdPool                         (createCommandPool(vk, device, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queueFamilyIndex));
                const Move<VkCommandBuffer>             cmdBuffer                       (makeCommandBuffer(vk, device, *cmdPool));
                const SyncInfo                                  writeSync                       = m_writeOp->getSyncInfo();
                const SyncInfo                                  readSync                        = m_readOp->getSyncInfo();
@@ -188,14 +188,8 @@ public:
                const VkDevice                                  device                          = m_context.getDevice();
                const VkQueue                                   queue                           = m_context.getUniversalQueue();
                const deUint32                                  queueFamilyIndex        = m_context.getUniversalQueueFamilyIndex();
-               const VkSemaphoreCreateInfo             semaphoreInfo           =
-                                                                                                                       {
-                                                                                                                               VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO,        //VkStructureType                       sType;
-                                                                                                                               DE_NULL,                                                                        //const void*                           pNext;
-                                                                                                                               0u                                                                                      //VkSemaphoreCreateFlags        flags;
-                                                                                                                       };
-               const Unique<VkSemaphore>               semaphore                       (createSemaphore (vk, device, &semaphoreInfo, DE_NULL));
-               const Unique<VkCommandPool>             cmdPool                         (makeCommandPool(vk, device, queueFamilyIndex));
+               const Unique<VkSemaphore>               semaphore                       (createSemaphore (vk, device));
+               const Unique<VkCommandPool>             cmdPool                         (createCommandPool(vk, device, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queueFamilyIndex));
                const Move<VkCommandBuffer>             ptrCmdBuffer[COUNT]     = {makeCommandBuffer(vk, device, *cmdPool), makeCommandBuffer(vk, device, *cmdPool)};
                VkCommandBuffer                                 cmdBuffers[COUNT]       = {*ptrCmdBuffer[WRITE], *ptrCmdBuffer[READ]};
                const VkPipelineStageFlags              stageBits[]                     = { VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT };
@@ -276,7 +270,7 @@ public:
                const VkDevice                                  device                          = m_context.getDevice();
                const VkQueue                                   queue                           = m_context.getUniversalQueue();
                const deUint32                                  queueFamilyIndex        = m_context.getUniversalQueueFamilyIndex();
-               const Unique<VkCommandPool>             cmdPool                         (makeCommandPool(vk, device, queueFamilyIndex));
+               const Unique<VkCommandPool>             cmdPool                         (createCommandPool(vk, device, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queueFamilyIndex));
                const Move<VkCommandBuffer>             ptrCmdBuffer[COUNT]     = {makeCommandBuffer(vk, device, *cmdPool), makeCommandBuffer(vk, device, *cmdPool)};
                VkCommandBuffer                                 cmdBuffers[COUNT]       = {*ptrCmdBuffer[WRITE], *ptrCmdBuffer[READ]};
                const SyncInfo                                  writeSync                       = m_writeOp->getSyncInfo();
index 93f5d36..4bc8ed0 100644 (file)
@@ -402,17 +402,10 @@ void createVertexInfo (const vector<VertexDesc>& vertexDesc, vector<VkVertexInpu
 void createCommandBuffer (const DeviceInterface& deviceInterface, const VkDevice device, const deUint32 queueFamilyNdx, vk::Move<VkCommandBuffer>* commandBufferRef, vk::Move<VkCommandPool>* commandPoolRef)
 {
        vk::Move<VkCommandPool>         commandPool;
-       VkCommandPoolCreateInfo         commandPoolInfo;
        VkCommandBufferAllocateInfo     commandBufferInfo;
        VkCommandBuffer                         commandBuffer;
 
-       deMemset(&commandPoolInfo, 0xcd, sizeof(commandPoolInfo));
-       commandPoolInfo.sType                           = VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO;
-       commandPoolInfo.pNext                           = DE_NULL;
-       commandPoolInfo.flags                           = 0;
-       commandPoolInfo.queueFamilyIndex        = queueFamilyNdx;
-
-       commandPool = createCommandPool(deviceInterface, device, &commandPoolInfo, DE_NULL);
+       commandPool = createCommandPool(deviceInterface, device, 0u, queueFamilyNdx);
 
        deMemset(&commandBufferInfo, 0xcd, sizeof(commandBufferInfo));
        commandBufferInfo.sType                                 = VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO;
@@ -1107,19 +1100,6 @@ tcu::TestStatus testFences (Context& context)
        return TestStatus::pass("synchronization-fences passed");
 }
 
-vk::refdetails::Checked<VkSemaphore> createSemaphore (const DeviceInterface& deviceInterface, const VkDevice& device, const VkAllocationCallbacks* allocationCallbacks)
-{
-       VkSemaphoreCreateInfo           semaCreateInfo;
-       VkSemaphore                                     semaphore;
-
-       semaCreateInfo.sType            = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO;
-       semaCreateInfo.pNext            = DE_NULL;
-       semaCreateInfo.flags            = 0;
-       VK_CHECK(deviceInterface.createSemaphore(device, &semaCreateInfo, allocationCallbacks, &semaphore));
-
-       return vk::check<VkSemaphore>(semaphore);
-}
-
 tcu::TestStatus testSemaphores (Context& context)
 {
        TestLog&                                        log                                     = context.getTestContext().getLog();
@@ -1131,19 +1111,20 @@ tcu::TestStatus testSemaphores (Context& context)
        SimpleAllocator                         allocator                       (deviceInterface,
                                                                                                         *device,
                                                                                                         getPhysicalDeviceMemoryProperties(instanceInterface, physicalDevice));
-       VkQueue                                         queue[2];
+       const VkQueue                           queue[2]                        =
+       {
+               getDeviceQueue(deviceInterface, *device, queueFamilyIdx, 0),
+               getDeviceQueue(deviceInterface, *device, queueFamilyIdx, 1)
+       };
        VkResult                                        testStatus;
        TestContext                                     testContext1            (deviceInterface, device.get(), queueFamilyIdx, context.getBinaryCollection(), allocator);
        TestContext                                     testContext2            (deviceInterface, device.get(), queueFamilyIdx, context.getBinaryCollection(), allocator);
-       Unique<VkSemaphore>                     semaphore                       (createSemaphore(deviceInterface, device.get(), (VkAllocationCallbacks*)DE_NULL), Deleter<VkSemaphore>(deviceInterface, device.get(), DE_NULL));
+       Unique<VkSemaphore>                     semaphore                       (createSemaphore(deviceInterface, *device));
        VkSubmitInfo                            submitInfo[2];
        VkMappedMemoryRange                     range;
        void*                                           resultImage;
        const VkPipelineStageFlags      waitDstStageMask        = VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT;
 
-       deviceInterface.getDeviceQueue(device.get(), queueFamilyIdx, 0, &queue[0]);
-       deviceInterface.getDeviceQueue(device.get(), queueFamilyIdx, 1, &queue[1]);
-
        const tcu::Vec4         vertices1[]                     =
        {
                tcu::Vec4( 0.5f,  0.5f, 0.0f, 1.0f),
@@ -1243,19 +1224,6 @@ tcu::TestStatus testSemaphores (Context& context)
        return tcu::TestStatus::pass("synchronization-semaphores passed");
 }
 
-vk::refdetails::Checked<VkEvent> createEvent (const DeviceInterface& deviceInterface, const VkDevice& device, const VkAllocationCallbacks* allocationCallbacks)
-{
-       VkEventCreateInfo               eventCreateInfo;
-       VkEvent                                 event;
-
-       eventCreateInfo.sType           = VK_STRUCTURE_TYPE_EVENT_CREATE_INFO;
-       eventCreateInfo.pNext           = DE_NULL;
-       eventCreateInfo.flags           = 0;
-       VK_CHECK(deviceInterface.createEvent(device, &eventCreateInfo, allocationCallbacks, &event));
-
-       return vk::check<VkEvent>(event);
-}
-
 tcu::TestStatus testEvents (Context& context)
 {
        TestLog&                                        log                                     = context.getTestContext().getLog();
@@ -1267,7 +1235,7 @@ tcu::TestStatus testEvents (Context& context)
        VkResult                                        testStatus;
        VkResult                                        eventStatus;
        TestContext                                     testContext                     (deviceInterface, device, queueFamilyIdx, context.getBinaryCollection(), allocator);
-       Unique<VkEvent>                         event                           (createEvent(deviceInterface, device, (VkAllocationCallbacks*)DE_NULL), Deleter<VkEvent>(deviceInterface, device, DE_NULL));
+       Unique<VkEvent>                         event                           (createEvent(deviceInterface, device));
        VkSubmitInfo                            submitInfo;
        VkMappedMemoryRange                     range;
        void*                                           resultImage;
index 7e59f2b..151068c 100644 (file)
@@ -105,18 +105,6 @@ VkImageMemoryBarrier makeImageMemoryBarrier        (const VkAccessFlags                    srcAccessMask
        return barrier;
 }
 
-Move<VkCommandPool> makeCommandPool (const DeviceInterface& vk, const VkDevice device, const deUint32 queueFamilyIndex)
-{
-       const VkCommandPoolCreateInfo info =
-       {
-               VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,                     // VkStructureType                      sType;
-               DE_NULL,                                                                                        // const void*                          pNext;
-               VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT,        // VkCommandPoolCreateFlags     flags;
-               queueFamilyIndex,                                                                       // deUint32                                     queueFamilyIndex;
-       };
-       return createCommandPool(vk, device, &info);
-}
-
 Move<VkCommandBuffer> makeCommandBuffer (const DeviceInterface& vk, const VkDevice device, const VkCommandPool commandPool)
 {
        const VkCommandBufferAllocateInfo info =
@@ -277,17 +265,6 @@ VkBufferImageCopy makeBufferImageCopy (const VkImageSubresourceLayers      subresourc
        return copyParams;
 }
 
-Move<VkEvent> makeEvent (const DeviceInterface& vk, const VkDevice device)
-{
-       const VkEventCreateInfo eventParams =
-       {
-               VK_STRUCTURE_TYPE_EVENT_CREATE_INFO,    // VkStructureType       sType;
-               DE_NULL,                                                                // const void*           pNext;
-               (VkEventCreateFlags)0,                                  // VkEventCreateFlags    flags;
-       };
-       return createEvent(vk, device, &eventParams);
-}
-
 void beginCommandBuffer (const DeviceInterface& vk, const VkCommandBuffer commandBuffer)
 {
        const VkCommandBufferBeginInfo info =
@@ -310,13 +287,7 @@ void submitCommandsAndWait (const DeviceInterface& vk,
                                                        const VkQueue                   queue,
                                                        const VkCommandBuffer   commandBuffer)
 {
-       const VkFenceCreateInfo fenceInfo =
-       {
-               VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,    // VkStructureType              sType;
-               DE_NULL,                                                                // const void*                  pNext;
-               (VkFenceCreateFlags)0,                                  // VkFenceCreateFlags   flags;
-       };
-       const Unique<VkFence> fence(createFence(vk, device, &fenceInfo));
+       const Unique<VkFence> fence(createFence(vk, device));
 
        const VkSubmitInfo submitInfo =
        {
index 49feef5..99826d0 100644 (file)
@@ -213,7 +213,6 @@ struct ImageResource
 
 vk::VkBufferCreateInfo                 makeBufferCreateInfo                                            (const vk::VkDeviceSize bufferSize, const vk::VkBufferUsageFlags usage);
 vk::VkImageCreateInfo                  makeImageCreateInfo                                                     (const vk::VkImageType imageType, const vk::VkExtent3D& extent, const vk::VkFormat format, const vk::VkImageUsageFlags usage);
-vk::Move<vk::VkCommandPool>            makeCommandPool                                                         (const vk::DeviceInterface& vk, const vk::VkDevice device, const deUint32 queueFamilyIndex);
 vk::Move<vk::VkCommandBuffer>  makeCommandBuffer                                                       (const vk::DeviceInterface& vk, const vk::VkDevice device, const vk::VkCommandPool commandPool);
 vk::Move<vk::VkDescriptorSet>  makeDescriptorSet                                                       (const vk::DeviceInterface& vk, const vk::VkDevice device, const vk::VkDescriptorPool descriptorPool, const vk::VkDescriptorSetLayout setLayout);
 vk::Move<vk::VkPipelineLayout> makePipelineLayout                                                      (const vk::DeviceInterface& vk, const vk::VkDevice device, const vk::VkDescriptorSetLayout descriptorSetLayout);
@@ -222,7 +221,6 @@ vk::Move<vk::VkPipeline>            makeComputePipeline                                                     (const vk::DeviceInterface&
 vk::Move<vk::VkRenderPass>             makeRenderPass                                                          (const vk::DeviceInterface& vk, const vk::VkDevice device, const vk::VkFormat colorFormat);
 vk::Move<vk::VkFramebuffer>            makeFramebuffer                                                         (const vk::DeviceInterface& vk, const vk::VkDevice device, const vk::VkRenderPass renderPass, const vk::VkImageView colorAttachment, const deUint32 width, const deUint32 height, const deUint32 layers);
 vk::Move<vk::VkImageView>              makeImageView                                                           (const vk::DeviceInterface& vk, const vk::VkDevice device, const vk::VkImage image, const vk::VkImageViewType viewType, const vk::VkFormat format, const vk::VkImageSubresourceRange subresourceRange);
-vk::Move<vk::VkEvent>                  makeEvent                                                                       (const vk::DeviceInterface& vk, const vk::VkDevice device);
 vk::VkBufferImageCopy                  makeBufferImageCopy                                                     (const vk::VkImageSubresourceLayers subresourceLayers, const vk::VkExtent3D extent);
 vk::VkMemoryBarrier                            makeMemoryBarrier                                                       (const vk::VkAccessFlags srcAccessMask, const vk::VkAccessFlags dstAccessMask);
 vk::VkBufferMemoryBarrier              makeBufferMemoryBarrier                                         (const vk::VkAccessFlags srcAccessMask, const vk::VkAccessFlags dstAccessMask, const vk::VkBuffer buffer, const vk::VkDeviceSize offset, const vk::VkDeviceSize bufferSizeBytes);
index 103d906..b495048 100644 (file)
@@ -365,7 +365,7 @@ tcu::TestStatus test (Context& context, const CaseDefinition caseDef)
        const Unique<VkRenderPass>         renderPass                   (makeRenderPass                                          (vk, device, colorFormat));
        const Unique<VkFramebuffer>        framebuffer                  (makeFramebuffer                                         (vk, device, *renderPass, *colorAttachmentView, renderSize.x(), renderSize.y(), 1u));
        const Unique<VkCommandPool>        cmdPool                              (makeCommandPool                                         (vk, device, queueFamilyIndex));
-       const Unique<VkCommandBuffer>  cmdBuffer                        (makeCommandBuffer                                       (vk, device, *cmdPool));
+       const Unique<VkCommandBuffer>  cmdBuffer                        (allocateCommandBuffer                           (vk, device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
        const Unique<VkPipelineLayout> pipelineLayout           (makePipelineLayoutWithoutDescriptors(vk, device));
 
        const int inPatchSize = (caseDef.primitiveType == TESSPRIMITIVETYPE_TRIANGLES ? 3 : 4);
index 944b9a8..05d3267 100644 (file)
@@ -527,11 +527,11 @@ tcu::TestStatus TessCoordTestInstance::iterate (void)
 
        // Pipeline: set up vertex processing without rasterization
 
-       const Unique<VkRenderPass>              renderPass    (makeRenderPassWithoutAttachments (vk, device));
-       const Unique<VkFramebuffer>             framebuffer   (makeFramebufferWithoutAttachments(vk, device, *renderPass));
-       const Unique<VkPipelineLayout>  pipelineLayout(makePipelineLayout               (vk, device, *descriptorSetLayout));
-       const Unique<VkCommandPool>             cmdPool       (makeCommandPool                  (vk, device, queueFamilyIndex));
-       const Unique<VkCommandBuffer>   cmdBuffer     (makeCommandBuffer                (vk, device, *cmdPool));
+       const Unique<VkRenderPass>              renderPass              (makeRenderPassWithoutAttachments (vk, device));
+       const Unique<VkFramebuffer>             framebuffer             (makeFramebufferWithoutAttachments(vk, device, *renderPass));
+       const Unique<VkPipelineLayout>  pipelineLayout  (makePipelineLayout(vk, device, *descriptorSetLayout));
+       const Unique<VkCommandPool>             cmdPool                 (makeCommandPool(vk, device, queueFamilyIndex));
+       const Unique<VkCommandBuffer>   cmdBuffer               (allocateCommandBuffer(vk, device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
        const Unique<VkPipeline> pipeline(GraphicsPipelineBuilder()
                .setShader(vk, device, VK_SHADER_STAGE_VERTEX_BIT,                                      m_context.getBinaryCollection().get("vert"), DE_NULL)
index b3f9392..d619339 100644 (file)
@@ -478,7 +478,7 @@ tcu::TestStatus test (Context& context, const SpacingMode spacingMode)
        const Unique<VkFramebuffer>             framebuffer       (makeFramebufferWithoutAttachments(vk, device, *renderPass));
        const Unique<VkPipelineLayout>  pipelineLayout(makePipelineLayout                               (vk, device, *descriptorSetLayout));
        const Unique<VkCommandPool>             cmdPool           (makeCommandPool                                      (vk, device, queueFamilyIndex));
-       const Unique<VkCommandBuffer>   cmdBuffer         (makeCommandBuffer                            (vk, device, *cmdPool));
+       const Unique<VkCommandBuffer>   cmdBuffer         (allocateCommandBuffer                        (vk, device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
        const Unique<VkPipeline> pipeline(GraphicsPipelineBuilder()
                .setShader(vk, device, VK_SHADER_STAGE_VERTEX_BIT,                                      context.getBinaryCollection().get("vert"), DE_NULL)
index 5704746..6f0b2a6 100644 (file)
@@ -556,7 +556,7 @@ tcu::TestStatus GridRenderTestInstance::iterate (void)
        const Unique<VkFramebuffer>             framebuffer                (makeFramebuffer                                             (vk, device, *renderPass, *colorAttachmentView, renderSize.x(), renderSize.y(), m_params.numLayers));
        const Unique<VkPipelineLayout>  pipelineLayout     (makePipelineLayoutWithoutDescriptors(vk, device));
        const Unique<VkCommandPool>             cmdPool                    (makeCommandPool                                             (vk, device, queueFamilyIndex));
-       const Unique<VkCommandBuffer>   cmdBuffer                  (makeCommandBuffer                                   (vk, device, *cmdPool));
+       const Unique<VkCommandBuffer>   cmdBuffer                  (allocateCommandBuffer                               (vk, device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
        const Unique<VkPipeline> pipeline (GraphicsPipelineBuilder()
                .setRenderSize  (renderSize)
index 41472c2..9d53fd0 100644 (file)
@@ -485,12 +485,12 @@ tcu::TestStatus PassthroughTestInstance::iterate (void)
 
        // Pipeline
 
-       const Unique<VkImageView>               colorAttachmentView(makeImageView               (vk, device, *colorAttachmentImage, VK_IMAGE_VIEW_TYPE_2D, colorFormat, colorImageSubresourceRange));
-       const Unique<VkRenderPass>              renderPass                 (makeRenderPass              (vk, device, colorFormat));
-       const Unique<VkFramebuffer>             framebuffer                (makeFramebuffer             (vk, device, *renderPass, *colorAttachmentView, renderSize.x(), renderSize.y(), 1u));
-       const Unique<VkPipelineLayout>  pipelineLayout     (makePipelineLayout  (vk, device, *descriptorSetLayout));
-       const Unique<VkCommandPool>             cmdPool                    (makeCommandPool             (vk, device, queueFamilyIndex));
-       const Unique<VkCommandBuffer>   cmdBuffer                  (makeCommandBuffer   (vk, device, *cmdPool));
+       const Unique<VkImageView>               colorAttachmentView(makeImageView(vk, device, *colorAttachmentImage, VK_IMAGE_VIEW_TYPE_2D, colorFormat, colorImageSubresourceRange));
+       const Unique<VkRenderPass>              renderPass                 (makeRenderPass(vk, device, colorFormat));
+       const Unique<VkFramebuffer>             framebuffer                (makeFramebuffer(vk, device, *renderPass, *colorAttachmentView, renderSize.x(), renderSize.y(), 1u));
+       const Unique<VkPipelineLayout>  pipelineLayout     (makePipelineLayout(vk, device, *descriptorSetLayout));
+       const Unique<VkCommandPool>             cmdPool                    (makeCommandPool(vk, device, queueFamilyIndex));
+       const Unique<VkCommandBuffer>   cmdBuffer                  (allocateCommandBuffer(vk, device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
        // Message explaining the test
        {
index 1c17817..fa8c9d5 100644 (file)
@@ -331,7 +331,7 @@ tcu::TestStatus test (Context& context, const Flags flags)
        const Unique<VkFramebuffer>             framebuffer                (makeFramebuffer                                             (vk, device, *renderPass, *colorAttachmentView, renderSize.x(), renderSize.y(), 1u));
        const Unique<VkPipelineLayout>  pipelineLayout     (makePipelineLayoutWithoutDescriptors(vk, device));
        const Unique<VkCommandPool>             cmdPool                    (makeCommandPool                                             (vk, device, queueFamilyIndex));
-       const Unique<VkCommandBuffer>   cmdBuffer                  (makeCommandBuffer                                   (vk, device, *cmdPool));
+       const Unique<VkCommandBuffer>   cmdBuffer                  (allocateCommandBuffer                               (vk, device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
        GraphicsPipelineBuilder                 pipelineBuilder;
 
index 4479d0a..471b602 100644 (file)
@@ -607,7 +607,7 @@ BaseTestInstance::BaseTestInstance (Context& context, const CaseDefinition caseD
        , m_framebuffer                                                 (makeFramebufferWithoutAttachments(m_context.getDeviceInterface(), m_context.getDevice(), *m_renderPass))
        , m_pipelineLayout                                              (makePipelineLayout               (m_context.getDeviceInterface(), m_context.getDevice(), *m_descriptorSetLayout))
        , m_cmdPool                                                             (makeCommandPool                  (m_context.getDeviceInterface(), m_context.getDevice(), m_context.getUniversalQueueFamilyIndex()))
-       , m_cmdBuffer                                                   (makeCommandBuffer                (m_context.getDeviceInterface(), m_context.getDevice(), *m_cmdPool))
+       , m_cmdBuffer                                                   (allocateCommandBuffer            (m_context.getDeviceInterface(), m_context.getDevice(), *m_cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY))
 {
        requireFeatures(context.getInstanceInterface(), context.getPhysicalDevice(),
                                        FEATURE_TESSELLATION_SHADER | FEATURE_GEOMETRY_SHADER | FEATURE_VERTEX_PIPELINE_STORES_AND_ATOMICS);
@@ -1385,7 +1385,7 @@ tcu::TestStatus InvarianceTestInstance::iterate (void)
        const Unique<VkFramebuffer>    framebuffer   (makeFramebufferWithoutAttachments(vk, device, *renderPass));
        const Unique<VkPipelineLayout> pipelineLayout(makePipelineLayout               (vk, device, *descriptorSetLayout));
        const Unique<VkCommandPool>    cmdPool       (makeCommandPool                  (vk, device, queueFamilyIndex));
-       const Unique<VkCommandBuffer>  cmdBuffer     (makeCommandBuffer                (vk, device, *cmdPool));
+       const Unique<VkCommandBuffer>  cmdBuffer     (allocateCommandBuffer            (vk, device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
        for (int tessLevelCaseNdx = 0; tessLevelCaseNdx < static_cast<int>(tessLevelCases.size()); ++tessLevelCaseNdx)
        {
@@ -2035,7 +2035,7 @@ tcu::TestStatus test (Context& context, const CaseDefinition caseDef)
        const Unique<VkFramebuffer>    framebuffer   (makeFramebufferWithoutAttachments(vk, device, *renderPass));
        const Unique<VkPipelineLayout> pipelineLayout(makePipelineLayout               (vk, device, *descriptorSetLayout));
        const Unique<VkCommandPool>    cmdPool       (makeCommandPool                  (vk, device, queueFamilyIndex));
-       const Unique<VkCommandBuffer>  cmdBuffer     (makeCommandBuffer                (vk, device, *cmdPool));
+       const Unique<VkCommandBuffer>  cmdBuffer     (allocateCommandBuffer            (vk, device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
        const Unique<VkPipeline> pipeline(GraphicsPipelineBuilder()
                .setPatchControlPoints        (NUM_TESS_LEVELS)
index 2818d53..a5a1326 100644 (file)
@@ -195,12 +195,12 @@ tcu::TestStatus runTest (Context& context, const CaseDefinition caseDef)
 
        // Pipeline
 
-       const Unique<VkImageView>               colorAttachmentView     (makeImageView          (vk, device, *colorAttachmentImage, VK_IMAGE_VIEW_TYPE_2D, colorFormat, colorImageSubresourceRange));
-       const Unique<VkRenderPass>              renderPass                      (makeRenderPass         (vk, device, colorFormat));
-       const Unique<VkFramebuffer>             framebuffer                     (makeFramebuffer        (vk, device, *renderPass, *colorAttachmentView, renderSize.x(), renderSize.y(), 1u));
-       const Unique<VkPipelineLayout>  pipelineLayout          (makePipelineLayout     (vk, device, *descriptorSetLayout));
-       const Unique<VkCommandPool>             cmdPool                         (makeCommandPool        (vk, device, queueFamilyIndex));
-       const Unique<VkCommandBuffer>   cmdBuffer                       (makeCommandBuffer      (vk, device, *cmdPool));
+       const Unique<VkImageView>               colorAttachmentView     (makeImageView(vk, device, *colorAttachmentImage, VK_IMAGE_VIEW_TYPE_2D, colorFormat, colorImageSubresourceRange));
+       const Unique<VkRenderPass>              renderPass                      (makeRenderPass(vk, device, colorFormat));
+       const Unique<VkFramebuffer>             framebuffer                     (makeFramebuffer(vk, device, *renderPass, *colorAttachmentView, renderSize.x(), renderSize.y(), 1u));
+       const Unique<VkPipelineLayout>  pipelineLayout          (makePipelineLayout(vk, device, *descriptorSetLayout));
+       const Unique<VkCommandPool>             cmdPool                         (makeCommandPool(vk, device, queueFamilyIndex));
+       const Unique<VkCommandBuffer>   cmdBuffer                       (allocateCommandBuffer(vk, device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
        const Unique<VkPipeline> pipeline(GraphicsPipelineBuilder()
                .setRenderSize                            (renderSize)
index 9457e42..62149b4 100644 (file)
@@ -462,13 +462,13 @@ tcu::TestStatus test (Context& context, const CaseDefinition caseDef)
 
        // Pipeline
 
-       const Unique<VkImageView>          colorAttachmentView(makeImageView     (vk, device, *colorAttachmentImage, VK_IMAGE_VIEW_TYPE_2D, colorFormat, colorImageSubresourceRange));
-       const Unique<VkRenderPass>         renderPass             (makeRenderPass        (vk, device, colorFormat));
-       const Unique<VkFramebuffer>        framebuffer            (makeFramebuffer       (vk, device, *renderPass, *colorAttachmentView, renderSize.x(), renderSize.y(), 1u));
-       const Unique<VkPipelineLayout> pipelineLayout     (makePipelineLayout(vk, device, *descriptorSetLayout));
-       const Unique<VkCommandPool>        cmdPool                        (makeCommandPool       (vk, device, queueFamilyIndex));
-       const Unique<VkCommandBuffer>  cmdBuffer                  (makeCommandBuffer (vk, device, *cmdPool));
-       const bool                                         needPointSizeWrite = getPhysicalDeviceFeatures(context.getInstanceInterface(), context.getPhysicalDevice()).shaderTessellationAndGeometryPointSize && caseDef.usePointMode;
+       const Unique<VkImageView>               colorAttachmentView     (makeImageView(vk, device, *colorAttachmentImage, VK_IMAGE_VIEW_TYPE_2D, colorFormat, colorImageSubresourceRange));
+       const Unique<VkRenderPass>              renderPass                      (makeRenderPass(vk, device, colorFormat));
+       const Unique<VkFramebuffer>             framebuffer                     (makeFramebuffer(vk, device, *renderPass, *colorAttachmentView, renderSize.x(), renderSize.y(), 1u));
+       const Unique<VkPipelineLayout>  pipelineLayout          (makePipelineLayout(vk, device, *descriptorSetLayout));
+       const Unique<VkCommandPool>             cmdPool                         (makeCommandPool(vk, device, queueFamilyIndex));
+       const Unique<VkCommandBuffer>   cmdBuffer                       (allocateCommandBuffer(vk, device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
+       const bool                                              needPointSizeWrite      = getPhysicalDeviceFeatures(context.getInstanceInterface(), context.getPhysicalDevice()).shaderTessellationAndGeometryPointSize && caseDef.usePointMode;
 
        const Unique<VkPipeline> pipeline(GraphicsPipelineBuilder()
                .setRenderSize                            (renderSize)
index b4ad29f..918a6d1 100644 (file)
@@ -111,7 +111,7 @@ tcu::TestStatus runTest (Context&                                                   context,
        const Unique<VkFramebuffer>             framebuffer                (makeFramebuffer                                             (vk, device, *renderPass, *colorAttachmentView, renderSize.x(), renderSize.y(), 1u));
        const Unique<VkPipelineLayout>  pipelineLayout     (makePipelineLayoutWithoutDescriptors(vk, device));
        const Unique<VkCommandPool>             cmdPool                    (makeCommandPool                                             (vk, device, queueFamilyIndex));
-       const Unique<VkCommandBuffer>   cmdBuffer                  (makeCommandBuffer                                   (vk, device, *cmdPool));
+       const Unique<VkCommandBuffer>   cmdBuffer                  (allocateCommandBuffer                               (vk, device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
        const Unique<VkPipeline> pipeline(GraphicsPipelineBuilder()
                .setRenderSize                            (renderSize)
index 41c639a..38f398a 100644 (file)
@@ -825,12 +825,12 @@ tcu::TestStatus UserDefinedIOTestInstance::iterate (void)
 
        // Pipeline
 
-       const Unique<VkImageView>      colorAttachmentView(makeImageView     (vk, device, *colorAttachmentImage, VK_IMAGE_VIEW_TYPE_2D, colorFormat, colorImageSubresourceRange));
-       const Unique<VkRenderPass>     renderPass         (makeRenderPass    (vk, device, colorFormat));
-       const Unique<VkFramebuffer>    framebuffer        (makeFramebuffer   (vk, device, *renderPass, *colorAttachmentView, renderSize.x(), renderSize.y(), 1u));
+       const Unique<VkImageView>      colorAttachmentView(makeImageView(vk, device, *colorAttachmentImage, VK_IMAGE_VIEW_TYPE_2D, colorFormat, colorImageSubresourceRange));
+       const Unique<VkRenderPass>     renderPass         (makeRenderPass(vk, device, colorFormat));
+       const Unique<VkFramebuffer>    framebuffer        (makeFramebuffer(vk, device, *renderPass, *colorAttachmentView, renderSize.x(), renderSize.y(), 1u));
        const Unique<VkPipelineLayout> pipelineLayout     (makePipelineLayout(vk, device, *descriptorSetLayout));
-       const Unique<VkCommandPool>    cmdPool            (makeCommandPool   (vk, device, queueFamilyIndex));
-       const Unique<VkCommandBuffer>  cmdBuffer          (makeCommandBuffer (vk, device, *cmdPool));
+       const Unique<VkCommandPool>    cmdPool            (makeCommandPool(vk, device, queueFamilyIndex));
+       const Unique<VkCommandBuffer>  cmdBuffer          (allocateCommandBuffer (vk, device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
        const Unique<VkPipeline> pipeline(GraphicsPipelineBuilder()
                .setRenderSize                (renderSize)
index c7c8edc..4178a7a 100644 (file)
@@ -106,18 +106,6 @@ Move<VkCommandPool> makeCommandPool (const DeviceInterface& vk, const VkDevice d
        return createCommandPool(vk, device, &info);
 }
 
-Move<VkCommandBuffer> makeCommandBuffer (const DeviceInterface& vk, const VkDevice device, const VkCommandPool commandPool)
-{
-       const VkCommandBufferAllocateInfo info =
-       {
-               VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,         // VkStructureType              sType;
-               DE_NULL,                                                                                        // const void*                  pNext;
-               commandPool,                                                                            // VkCommandPool                commandPool;
-               VK_COMMAND_BUFFER_LEVEL_PRIMARY,                                        // VkCommandBufferLevel level;
-               1u,                                                                                                     // deUint32                             commandBufferCount;
-       };
-       return allocateCommandBuffer(vk, device, &info);
-}
 
 Move<VkDescriptorSet> makeDescriptorSet (const DeviceInterface&                        vk,
                                                                                 const VkDevice                                 device,
@@ -278,13 +266,7 @@ void submitCommandsAndWait (const DeviceInterface& vk,
                                                        const VkQueue                   queue,
                                                        const VkCommandBuffer   commandBuffer)
 {
-       const VkFenceCreateInfo fenceInfo =
-       {
-               VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,    // VkStructureType              sType;
-               DE_NULL,                                                                // const void*                  pNext;
-               (VkFenceCreateFlags)0,                                  // VkFenceCreateFlags   flags;
-       };
-       const Unique<VkFence> fence(createFence(vk, device, &fenceInfo));
+       const Unique<VkFence> fence(createFence(vk, device));
 
        const VkSubmitInfo submitInfo =
        {
index 552e2f5..ce120fe 100644 (file)
@@ -195,7 +195,6 @@ typedef deUint32 FeatureFlags;
 vk::VkBufferCreateInfo                 makeBufferCreateInfo                                            (const vk::VkDeviceSize bufferSize, const vk::VkBufferUsageFlags usage);
 vk::VkImageCreateInfo                  makeImageCreateInfo                                                     (const tcu::IVec2& size, const vk::VkFormat format, const vk::VkImageUsageFlags usage, const deUint32 numArrayLayers);
 vk::Move<vk::VkCommandPool>            makeCommandPool                                                         (const vk::DeviceInterface& vk, const vk::VkDevice device, const deUint32 queueFamilyIndex);
-vk::Move<vk::VkCommandBuffer>  makeCommandBuffer                                                       (const vk::DeviceInterface& vk, const vk::VkDevice device, const vk::VkCommandPool commandPool);
 vk::Move<vk::VkDescriptorSet>  makeDescriptorSet                                                       (const vk::DeviceInterface& vk, const vk::VkDevice device, const vk::VkDescriptorPool descriptorPool, const vk::VkDescriptorSetLayout setLayout);
 vk::Move<vk::VkPipelineLayout> makePipelineLayout                                                      (const vk::DeviceInterface& vk, const vk::VkDevice device, const vk::VkDescriptorSetLayout descriptorSetLayout);
 vk::Move<vk::VkPipelineLayout> makePipelineLayoutWithoutDescriptors            (const vk::DeviceInterface& vk, const vk::VkDevice device);
index 41891af..10a2448 100644 (file)
@@ -322,7 +322,7 @@ tcu::TestStatus WindingTestInstance::iterate (void)
        // Draw commands
 
        const Unique<VkCommandPool>   cmdPool  (makeCommandPool  (vk, device, queueFamilyIndex));
-       const Unique<VkCommandBuffer> cmdBuffer(makeCommandBuffer(vk, device, *cmdPool));
+       const Unique<VkCommandBuffer> cmdBuffer(allocateCommandBuffer(vk, device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
        for (int caseNdx = 0; caseNdx < DE_LENGTH_OF_ARRAY(testCases); ++caseNdx)
        {
index 62b6d85..4462237 100644 (file)
@@ -358,26 +358,9 @@ void initializeImage(Context& ctx, VkImage im, const ConstPixelBufferAccess* pba
        de::UniquePtr<Allocation> bufMem(ctx.getDefaultAllocator().allocate(bufMemReq, MemoryRequirement::HostVisible));
        VK_CHECK(vkd.bindBufferMemory(dev, buf.get(), bufMem->getMemory(), bufMem->getOffset()));
 
-       const VkCommandPoolCreateInfo copyPoolCreateInfo =
-       {
-               VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,
-               DE_NULL,
-               VK_COMMAND_POOL_CREATE_TRANSIENT_BIT,
-               uqfi
-       };
-
-       Unique<VkCommandPool> copyPool(createCommandPool(vkd, dev, &copyPoolCreateInfo));
-
-       const VkCommandBufferAllocateInfo copyBufferCreateInfo =
-       {
-               VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,
-               DE_NULL,
-               copyPool.get(),
-               VK_COMMAND_BUFFER_LEVEL_PRIMARY,
-               1
-       };
+       Unique<VkCommandPool> copyPool(createCommandPool(vkd, dev, VK_COMMAND_POOL_CREATE_TRANSIENT_BIT, uqfi));
 
-       Unique<VkCommandBuffer> copyBuffer(allocateCommandBuffer(vkd, dev, &copyBufferCreateInfo));
+       Unique<VkCommandBuffer> copyBuffer(allocateCommandBuffer(vkd, dev, *copyPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY));
 
        std::vector<VkBufferImageCopy> copyRegions;
 
index c459072..2548e97 100644 (file)
@@ -429,17 +429,7 @@ TextureRenderer::TextureRenderer (Context& context, VkSampleCountFlagBits sample
        Allocator&                                                                      allocator                               = m_context.getDefaultAllocator();
 
        // Command Pool
-       {
-               const VkCommandPoolCreateInfo                   cmdPoolCreateInfo               =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,                                     // VkStructureType             sType;
-                       DE_NULL,                                                                                                        // const void*                 pNext;
-                       VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT,                        // VkCommandPoolCreateFlags    flags;
-                       queueFamilyIndex                                                                                        // deUint32                    queueFamilyIndex;
-               };
-
-               m_commandPool = createCommandPool(vkd, vkDevice, &cmdPoolCreateInfo, DE_NULL);
-       }
+       m_commandPool = createCommandPool(vkd, vkDevice, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queueFamilyIndex);
 
        // Image
        {
@@ -725,16 +715,7 @@ TextureRenderer::TextureRenderer (Context& context, VkSampleCountFlagBits sample
        }
 
        // Fence
-       {
-               const VkFenceCreateInfo                                 fenceParams                                     =
-               {
-                       VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,    // VkStructureType              sType;
-                       DE_NULL,                                                                // const void*                  pNext;
-                       VK_FENCE_CREATE_SIGNALED_BIT                    // VkFenceCreateFlags   flags;
-               };
-
-               m_fence = createFence(vkd, vkDevice, &fenceParams);
-       }
+       m_fence = createFence(vkd, vkDevice);
 
        // Result Buffer
        {
@@ -781,16 +762,7 @@ void TextureRenderer::clearImage(VkImage image)
                1                                                               // deUint32                             layerCount;
        };
 
-       const VkCommandBufferAllocateInfo               cmdBufferAllocateInfo   =
-       {
-               VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,                         // VkStructureType             sType;
-               DE_NULL,                                                                                                        // const void*                 pNext;
-               *m_commandPool,                                                                                         // VkCommandPool               commandPool;
-               VK_COMMAND_BUFFER_LEVEL_PRIMARY,                                                        // VkCommandBufferLevel        level;
-               1                                                                                                                       // deUint32                    commandBufferCount;
-       };
-
-       commandBuffer = allocateCommandBuffer(vkd, vkDevice, &cmdBufferAllocateInfo);
+       commandBuffer = allocateCommandBuffer(vkd, vkDevice, *m_commandPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY);
 
        const VkCommandBufferBeginInfo          cmdBufferBeginInfo              =
        {
@@ -1447,18 +1419,7 @@ void TextureRenderer::renderQuad (tcu::Surface&                                                                  result,
        }
 
        // Create Command Buffer
-       {
-               const VkCommandBufferAllocateInfo               cmdBufferAllocateInfo   =
-               {
-                       VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,                         // VkStructureType             sType;
-                       DE_NULL,                                                                                                        // const void*                 pNext;
-                       *m_commandPool,                                                                                         // VkCommandPool               commandPool;
-                       VK_COMMAND_BUFFER_LEVEL_PRIMARY,                                                        // VkCommandBufferLevel        level;
-                       1                                                                                                                       // deUint32                    commandBufferCount;
-               };
-
-               commandBuffer = allocateCommandBuffer(vkd, vkDevice, &cmdBufferAllocateInfo);
-       }
+       commandBuffer = allocateCommandBuffer(vkd, vkDevice, *m_commandPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY);
 
        // Begin Command Buffer
        {
index a9ee588..3551132 100644 (file)
@@ -1508,33 +1508,16 @@ Move<vk::VkPipelineLayout> createPipelineLayout (Context& context, vk::VkDescrip
 
 Move<vk::VkCommandPool> createCmdPool (Context& context)
 {
-       const deUint32                                  queueFamilyIndex        = context.getUniversalQueueFamilyIndex();
-       const vk::VkCommandPoolCreateInfo       params                          =
-       {
-               vk::VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,                 // sType
-               DE_NULL,                                                                                                // pNext
-               vk::VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT,    // flags
-               queueFamilyIndex,                                                                               // queueFamilyIndex
-       };
+       const deUint32  queueFamilyIndex        = context.getUniversalQueueFamilyIndex();
 
-       return vk::createCommandPool(context.getDeviceInterface(), context.getDevice(), &params);
+       return vk::createCommandPool(context.getDeviceInterface(), context.getDevice(), vk::VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queueFamilyIndex);
 }
 
 Move<vk::VkCommandBuffer> createCmdBuffer (Context& context, vk::VkCommandPool cmdPool)
 {
-       const vk::VkCommandBufferAllocateInfo params =
-       {
-               vk::VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,     // sType
-               DE_NULL,                                                                                        // pNext
-               cmdPool,                                                                                        // commandPool
-               vk::VK_COMMAND_BUFFER_LEVEL_PRIMARY,                            // level
-               1u,                                                                                                     // bufferCount
-       };
-
-       return vk::allocateCommandBuffer(context.getDeviceInterface(), context.getDevice(), &params);
+       return vk::allocateCommandBuffer(context.getDeviceInterface(), context.getDevice(), cmdPool, vk::VK_COMMAND_BUFFER_LEVEL_PRIMARY);
 }
 
-
 // UniformBlockCaseInstance
 
 class UniformBlockCaseInstance : public vkt::TestInstance
@@ -1856,13 +1839,7 @@ tcu::TestStatus UniformBlockCaseInstance::iterate (void)
 
        // Submit the command buffer
        {
-               const vk::VkFenceCreateInfo fenceParams =
-               {
-                       vk::VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,        // VkStructureType              sType;
-                       DE_NULL,                                                                        // const void*                  pNext;
-                       0u,                                                                                     // VkFenceCreateFlags   flags;
-               };
-               const Unique<vk::VkFence> fence(vk::createFence(vk, device, &fenceParams));
+               const Unique<vk::VkFence> fence(vk::createFence(vk, device));
 
                const VkSubmitInfo                      submitInfo      =
                {
index fb9e3b6..4f113cb 100644 (file)
@@ -152,19 +152,6 @@ BoolOp boolOpFromIndex (size_t index)
        return ops[index % DE_LENGTH_OF_ARRAY(ops)];
 }
 
-// Utility functions using flattened structs
-Move<VkFence> createFence (const DeviceInterface& vk, VkDevice device, VkFenceCreateFlags flags)
-{
-       const VkFenceCreateInfo pCreateInfo =
-       {
-               VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,
-               DE_NULL,
-
-               flags
-       };
-       return createFence(vk, device, &pCreateInfo);
-}
-
 Move<VkFramebuffer> createFramebuffer (const DeviceInterface&  vk,
                                                                           VkDevice                                     device,
                                                                           VkFramebufferCreateFlags     pCreateInfo_flags,
@@ -283,21 +270,6 @@ Move<VkBuffer> createBuffer (const DeviceInterface&        vk,
        return createBuffer(vk, device, &pCreateInfo);
 }
 
-Move<VkCommandPool> createCommandPool (const DeviceInterface&  vk,
-                                                                          VkDevice                                     device,
-                                                                          VkCommandPoolCreateFlags     pCreateInfo_flags,
-                                                                          deUint32                                     pCreateInfo_queueFamilyIndex)
-{
-       const VkCommandPoolCreateInfo pCreateInfo =
-       {
-               VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,
-               DE_NULL,
-               pCreateInfo_flags,
-               pCreateInfo_queueFamilyIndex,
-       };
-       return createCommandPool(vk, device, &pCreateInfo);
-}
-
 void cmdBeginRenderPass (const DeviceInterface&        vk,
                                                 VkCommandBuffer                cmdBuffer,
                                                 VkRenderPass                   pRenderPassBegin_renderPass,
@@ -320,22 +292,6 @@ void cmdBeginRenderPass (const DeviceInterface&    vk,
        vk.cmdBeginRenderPass(cmdBuffer, &pRenderPassBegin, contents);
 }
 
-Move<VkCommandBuffer> allocateCommandBuffer (const DeviceInterface&    vk,
-                                                                                        VkDevice                               device,
-                                                                                        VkCommandPool                  pCreateInfo_commandPool,
-                                                                                        VkCommandBufferLevel   pCreateInfo_level)
-{
-       const VkCommandBufferAllocateInfo pAllocateInfo =
-       {
-               VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,
-               DE_NULL,
-               pCreateInfo_commandPool,
-               pCreateInfo_level,
-               1u,                                                                                             // bufferCount
-       };
-       return allocateCommandBuffer(vk, device, &pAllocateInfo);
-}
-
 void beginCommandBuffer (const DeviceInterface&                        vk,
                                                 VkCommandBuffer                                cmdBuffer,
                                                 VkCommandBufferUsageFlags              pBeginInfo_flags,
index 83e964f..15ca3b1 100644 (file)
@@ -1240,15 +1240,8 @@ Move<vk::VkFramebuffer> createFramebuffer (Context& context, vk::VkRenderPass re
 Move<vk::VkCommandPool> createCommandPool (Context& context)
 {
        const deUint32                                          queueFamilyIndex        = context.getUniversalQueueFamilyIndex();
-       const vk::VkCommandPoolCreateInfo       params                          =
-       {
-               vk::VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,         // sType
-               DE_NULL,                                                                                        // pNext
-               (vk::VkCommandPoolCreateFlags)0,
-               queueFamilyIndex,                                                                       // queueFamilyIndex
-       };
 
-       return vk::createCommandPool(context.getDeviceInterface(), context.getDevice(), &params);
+       return vk::createCommandPool(context.getDeviceInterface(), context.getDevice(), (vk::VkCommandPoolCreateFlags)0u, queueFamilyIndex);
 }
 
 Move<vk::VkDescriptorPool> createDescriptorPool (Context& context)
@@ -1274,16 +1267,7 @@ Move<vk::VkDescriptorSet> allocateDescriptorSet (Context& context, vk::VkDescrip
 
 Move<vk::VkCommandBuffer> allocateCommandBuffer (Context& context, vk::VkCommandPool cmdPool)
 {
-       const vk::VkCommandBufferAllocateInfo   params  =
-       {
-               vk::VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,     // sType
-               DE_NULL,                                                                                        // pNext
-               cmdPool,                                                                                        // commandPool
-               vk::VK_COMMAND_BUFFER_LEVEL_PRIMARY,                            // level
-               1u,                                                                                                     // bufferCount
-       };
-
-       return vk::allocateCommandBuffer(context.getDeviceInterface(), context.getDevice(), &params);
+       return vk::allocateCommandBuffer(context.getDeviceInterface(), context.getDevice(), cmdPool, vk::VK_COMMAND_BUFFER_LEVEL_PRIMARY);
 }
 
 MovePtr<vk::Allocation> allocateAndBindMemory (Context& context, vk::VkBuffer buffer, vk::MemoryRequirement memReqs)
@@ -1683,13 +1667,7 @@ TestStatus ShaderCaseInstance::iterate (void)
                        0u,                                                                                     // signalSemaphoreCount
                        (const vk::VkSemaphore*)0,                                      // pSignalSemaphores
                };
-               const vk::VkFenceCreateInfo     fenceParams     =
-               {
-                       vk::VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,        // sType
-                       DE_NULL,                                                                        // pNext
-                       0u,                                                                                     // flags
-               };
-               const Unique<vk::VkFence>       fence           (vk::createFence(vkd, device, &fenceParams));
+               const Unique<vk::VkFence>       fence           (vk::createFence(vkd, device));
 
                VK_CHECK(vkd.queueSubmit        (queue, 1u, &submitInfo, *fence));
                VK_CHECK(vkd.waitForFences      (device, 1u, &fence.get(), DE_TRUE, ~0ull));
index 72024c9..8b8c8ec 100644 (file)
@@ -250,9 +250,7 @@ DefaultDevice::~DefaultDevice (void)
 
 VkQueue DefaultDevice::getUniversalQueue (void) const
 {
-       VkQueue queue   = 0;
-       m_deviceInterface.getDeviceQueue(*m_device, m_universalQueueFamilyIndex, 0, &queue);
-       return queue;
+       return getDeviceQueue(m_deviceInterface, *m_device, m_universalQueueFamilyIndex, 0);
 }
 
 VkPhysicalDeviceFeatures DefaultDevice::filterDefaultDeviceFeatures (const VkPhysicalDeviceFeatures& deviceFeatures)
index f82fb2b..7cc45e4 100644 (file)
@@ -50,52 +50,6 @@ using tcu::Maybe;
 using tcu::UVec2;
 using tcu::TestLog;
 
-namespace vk
-{
-
-Move<VkSemaphore> createSemaphore (const DeviceInterface&              vk,
-                                                                  VkDevice                                             device,
-                                                                  VkSemaphoreCreateFlags               flags           = (VkSemaphoreCreateFlags)0,
-                                                                  const VkAllocationCallbacks* pAllocator      = DE_NULL)
-{
-       const VkSemaphoreCreateInfo createInfo =
-       {
-               VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO,
-               DE_NULL,
-
-               flags
-       };
-
-       return createSemaphore(vk, device, &createInfo, pAllocator);
-}
-
-Move<VkFence> createFence (const DeviceInterface&              vk,
-                                                  VkDevice                                             device,
-                                                  VkFenceCreateFlags                   flags           = (VkFenceCreateFlags)0,
-                                                  const VkAllocationCallbacks* pAllocator      = DE_NULL)
-{
-       const VkFenceCreateInfo createInfo =
-       {
-               VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,
-               DE_NULL,
-
-               flags
-       };
-
-       return createFence(vk, device, &createInfo, pAllocator);
-}
-
-VkQueue getDeviceQueue (const DeviceInterface& vkd, VkDevice device, deUint32 queueFamilyIndex, deUint32 queueIndex)
-{
-       VkQueue queue;
-
-       vkd.getDeviceQueue(device, queueFamilyIndex, queueIndex, &queue);
-
-       return queue;
-}
-
-} // vk
-
 namespace vkt
 {
 namespace wsi
index 9a2bbf1..2df4f3f 100644 (file)
@@ -213,25 +213,6 @@ de::MovePtr<vk::wsi::Window> createWindow (const vk::wsi::Display& display, cons
        }
 }
 
-vk::VkQueue getDeviceQueue (const vk::DeviceInterface& vkd, vk::VkDevice device, deUint32 queueFamilyIndex, deUint32 queueIndex)
-{
-       vk::VkQueue queue = (vk::VkQueue)0;
-       vkd.getDeviceQueue(device, queueFamilyIndex, queueIndex, &queue);
-       return queue;
-}
-
-vk::Move<vk::VkSemaphore> createSemaphore (const vk::DeviceInterface&  vkd,
-                                                                                  vk::VkDevice                                 device)
-{
-       const vk::VkSemaphoreCreateInfo createInfo =
-       {
-               vk::VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO,
-               DE_NULL,
-               0u
-       };
-       return vk::createSemaphore(vkd, device, &createInfo);
-}
-
 void initSemaphores (const vk::DeviceInterface&                vkd,
                                         vk::VkDevice                                   device,
                                         std::vector<vk::VkSemaphore>&  semaphores)
@@ -255,18 +236,6 @@ void deinitSemaphores (const vk::DeviceInterface&  vkd,
        semaphores.clear();
 }
 
-vk::Move<vk::VkFence> createFence (const vk::DeviceInterface&  vkd,
-                                                                  vk::VkDevice                                 device)
-{
-       const vk::VkFenceCreateInfo createInfo =
-       {
-               vk::VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,
-               DE_NULL,
-               0u
-       };
-       return vk::createFence(vkd, device, &createInfo);
-}
-
 void initFences (const vk::DeviceInterface&    vkd,
                                 vk::VkDevice                           device,
                                 std::vector<vk::VkFence>&      fences)
index d3b4239..92c1780 100644 (file)
@@ -222,25 +222,6 @@ bool wsiTypeSupportsScaling (vk::wsi::Type wsiType)
        return vk::wsi::getPlatformProperties(wsiType).swapchainExtent == vk::wsi::PlatformProperties::SWAPCHAIN_EXTENT_SCALED_TO_WINDOW_SIZE;
 }
 
-vk::VkQueue getDeviceQueue (const vk::DeviceInterface& vkd, vk::VkDevice device, deUint32 queueFamilyIndex, deUint32 queueIndex)
-{
-       vk::VkQueue queue = (vk::VkQueue)0;
-       vkd.getDeviceQueue(device, queueFamilyIndex, queueIndex, &queue);
-       return queue;
-}
-
-vk::Move<vk::VkSemaphore> createSemaphore (const vk::DeviceInterface&  vkd,
-                                                                                  vk::VkDevice                                 device)
-{
-       const vk::VkSemaphoreCreateInfo createInfo =
-       {
-               vk::VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO,
-               DE_NULL,
-               0u
-       };
-       return vk::createSemaphore(vkd, device, &createInfo);
-}
-
 void initSemaphores (const vk::DeviceInterface&                vkd,
                                         vk::VkDevice                                   device,
                                         std::vector<vk::VkSemaphore>&  semaphores)
@@ -264,18 +245,6 @@ void deinitSemaphores (const vk::DeviceInterface&  vkd,
        semaphores.clear();
 }
 
-vk::Move<vk::VkFence> createFence (const vk::DeviceInterface&  vkd,
-                                                                  vk::VkDevice                                 device)
-{
-       const vk::VkFenceCreateInfo createInfo =
-       {
-               vk::VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,
-               DE_NULL,
-               0u
-       };
-       return vk::createFence(vkd, device, &createInfo);
-}
-
 void initFences (const vk::DeviceInterface&    vkd,
                                 vk::VkDevice                           device,
                                 std::vector<vk::VkFence>&      fences)
index 280e247..d01c7a8 100644 (file)
@@ -214,13 +214,6 @@ struct InstanceHelper
        {}
 };
 
-VkQueue getDeviceQueue (const DeviceInterface& vkd, VkDevice device, deUint32 queueFamilyIndex, deUint32 queueIndex)
-{
-       VkQueue queue = (VkQueue)0;
-       vkd.getDeviceQueue(device, queueFamilyIndex, queueIndex, &queue);
-       return queue;
-}
-
 struct DeviceHelper
 {
        const VkPhysicalDevice  physicalDevice;
@@ -1307,18 +1300,6 @@ typedef de::SharedPtr<Unique<VkCommandBuffer> >  CommandBufferSp;
 typedef de::SharedPtr<Unique<VkFence> >                        FenceSp;
 typedef de::SharedPtr<Unique<VkSemaphore> >            SemaphoreSp;
 
-Move<VkFence> createFence (const DeviceInterface&      vkd,
-                                                  const VkDevice                       device)
-{
-       const VkFenceCreateInfo fenceParams     =
-       {
-               VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,
-               DE_NULL,
-               (VkFenceCreateFlags)0,
-       };
-       return vk::createFence(vkd, device, &fenceParams);
-}
-
 vector<FenceSp> createFences (const DeviceInterface&   vkd,
                                                          const VkDevice                        device,
                                                          size_t                                        numFences)
@@ -1331,18 +1312,6 @@ vector<FenceSp> createFences (const DeviceInterface&     vkd,
        return fences;
 }
 
-Move<VkSemaphore> createSemaphore (const DeviceInterface&      vkd,
-                                                                  const VkDevice                       device)
-{
-       const VkSemaphoreCreateInfo     semaphoreParams =
-       {
-               VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO,
-               DE_NULL,
-               (VkSemaphoreCreateFlags)0,
-       };
-       return vk::createSemaphore(vkd, device, &semaphoreParams);
-}
-
 vector<SemaphoreSp> createSemaphores (const DeviceInterface&   vkd,
                                                                          const VkDevice                        device,
                                                                          size_t                                        numSemaphores)
@@ -1355,41 +1324,16 @@ vector<SemaphoreSp> createSemaphores (const DeviceInterface&    vkd,
        return semaphores;
 }
 
-Move<VkCommandPool> createCommandPool (const DeviceInterface&  vkd,
-                                                                          const VkDevice                       device,
-                                                                          VkCommandPoolCreateFlags     flags,
-                                                                          deUint32                                     queueFamilyIndex)
-{
-       const VkCommandPoolCreateInfo   commandPoolParams       =
-       {
-               VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,
-               DE_NULL,
-               flags,
-               queueFamilyIndex
-       };
-
-       return createCommandPool(vkd, device, &commandPoolParams);
-}
-
 vector<CommandBufferSp> allocateCommandBuffers (const DeviceInterface&         vkd,
                                                                                                const VkDevice                          device,
                                                                                                const VkCommandPool                     commandPool,
                                                                                                const VkCommandBufferLevel      level,
                                                                                                const size_t                            numCommandBuffers)
 {
-       const VkCommandBufferAllocateInfo       allocInfo       =
-       {
-               VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,
-               DE_NULL,
-               commandPool,
-               level,
-               1u,
-       };
-
        vector<CommandBufferSp>                         buffers         (numCommandBuffers);
 
        for (size_t ndx = 0; ndx < numCommandBuffers; ++ndx)
-               buffers[ndx] = CommandBufferSp(new Unique<VkCommandBuffer>(allocateCommandBuffer(vkd, device, &allocInfo)));
+               buffers[ndx] = CommandBufferSp(new Unique<VkCommandBuffer>(allocateCommandBuffer(vkd, device, commandPool, level)));
 
        return buffers;
 }