Lines Matching defs:vkdi
279 const vk::DeviceInterface& vkdi,
283 const vk::DeviceInterface& vkdi,
340 void IndirectDispatchInstanceBufferUpload::fillIndirectBufferData (const vk::VkCommandBuffer commandBuffer, const vk::DeviceInterface& vkdi, const vk::BufferWithMemory& indirectBuffer)
360 vk::flushAlloc(vkdi, m_device, alloc);
401 const vk::DeviceInterface& vkdi = m_context.getDeviceInterface();
403 const vk::DeviceInterface& vkdi = (m_computeQueueOnly && (DE_NULL != m_deviceDriver)) ? *m_deviceDriver : m_context.getDeviceInterface();
407 m_queue = getDeviceQueue(vkdi, m_device, m_queueFamilyIndex, 0u);
408 m_allocator = de::MovePtr<vk::Allocator>(new vk::SimpleAllocator(vkdi, m_device, vk::getPhysicalDeviceMemoryProperties(vki, m_context.getPhysicalDevice())));
417 vkdi, m_device, allocator,
435 vk::flushAlloc(vkdi, m_device, alloc);
441 vk::Unique<vk::VkDescriptorSetLayout> descriptorSetLayout(layoutBuilder.build(vkdi, m_device));
444 vk::ComputePipelineWrapper computePipeline(vkdi, m_device, m_computePipelineConstructionType, m_context.getBinaryCollection().get("indirect_dispatch_" + m_name + "_verify"));
452 .build(vkdi, m_device, vk::VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT, static_cast<deUint32>(m_dispatchCommands.size())));
458 const vk::Unique<vk::VkCommandPool> cmdPool(makeCommandPool(vkdi, m_device, m_queueFamilyIndex));
459 const vk::Unique<vk::VkCommandBuffer> cmdBuffer(allocateCommandBuffer(vkdi, m_device, *cmdPool, vk::VK_COMMAND_BUFFER_LEVEL_PRIMARY));
462 beginCommandBuffer(vkdi, *cmdBuffer);
466 vkdi, m_device, allocator,
469 fillIndirectBufferData(*cmdBuffer, vkdi, indirectBuffer);
484 makeDescriptorSet(vkdi, m_device, *descriptorPool, *descriptorSetLayout)));
490 descriptorSetBuilder.update(vkdi, m_device);
493 vkdi.cmdBindDescriptorSets(*cmdBuffer, vk::VK_PIPELINE_BIND_POINT_COMPUTE, computePipeline.getPipelineLayout(), 0u, 1u, &(**descriptorSets[cmdNdx]), 0u, DE_NULL);
496 vkdi.cmdDispatchIndirect(*cmdBuffer, *indirectBuffer, m_dispatchCommands[cmdNdx].m_offset);
502 vkdi.cmdPipelineBarrier(*cmdBuffer, vk::VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, vk::VK_PIPELINE_STAGE_HOST_BIT, (vk::VkDependencyFlags)0,
508 endCommandBuffer(vkdi, *cmdBuffer);
511 submitCommandsAndWait(vkdi, m_device, m_queue, *cmdBuffer);
514 if (verifyResultBuffer(resultBuffer, vkdi, resultBlockSize))
521 const vk::DeviceInterface& vkdi,
526 vk::invalidateAlloc(vkdi, m_device, alloc);
675 const vk::DeviceInterface& vkdi,
689 void IndirectDispatchInstanceBufferGenerate::fillIndirectBufferData (const vk::VkCommandBuffer commandBuffer, const vk::DeviceInterface& vkdi, const vk::BufferWithMemory& indirectBuffer)
693 vkdi, m_device, m_context.getBinaryCollection().get("indirect_dispatch_" + m_name + "_generate"), 0u));
698 .build(vkdi, m_device);
701 m_pipelineLayout = makePipelineLayout(vkdi, m_device, *m_descriptorSetLayout);
702 m_computePipeline = makeComputePipeline(vkdi, m_device, *m_pipelineLayout, *genIndirectBufferDataShader);
707 .build(vkdi, m_device, vk::VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT, 1u);
710 m_descriptorSet = makeDescriptorSet(vkdi, m_device, *m_descriptorPool, *m_descriptorSetLayout);
716 descriptorSetBuilder.update(vkdi, m_device);
722 vkdi.cmdBindPipeline(commandBuffer, vk::VK_PIPELINE_BIND_POINT_COMPUTE, *m_computePipeline);
725 vkdi.cmdBindDescriptorSets(commandBuffer, vk::VK_PIPELINE_BIND_POINT_COMPUTE, *m_pipelineLayout, 0u, 1u, &m_descriptorSet.get(), 0u, DE_NULL);
728 vkdi.cmdDispatch(commandBuffer, 1u, 1u, 1u);
731 vkdi.cmdPipelineBarrier(commandBuffer, vk::VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, vk::VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT, (vk::VkDependencyFlags)0,