MCPcopy Create free account
hub / github.com/SakuraEngine/SakuraEngine / Pipelines

Class Pipelines

SDKs/vulkan/vulkan/vulkan_raii.hpp:9013–9138  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

9011 };
9012
9013 class Pipelines : public std::vector<VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Pipeline>
9014 {
9015 public:
9016 Pipelines( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,
9017 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const & pipelineCache,
9018 VULKAN_HPP_NAMESPACE::ArrayProxy<VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo> const & createInfos,
9019 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr )
9020 {
9021 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * dispatcher = device.getDispatcher();
9022 std::vector<VkPipeline> pipelines( createInfos.size() );
9023 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( dispatcher->vkCreateComputePipelines(
9024 static_cast<VkDevice>( *device ),
9025 pipelineCache ? static_cast<VkPipelineCache>( **pipelineCache ) : 0,
9026 createInfos.size(),
9027 reinterpret_cast<const VkComputePipelineCreateInfo *>( createInfos.data() ),
9028 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ),
9029 pipelines.data() ) );
9030 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) || ( result == VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT ) )
9031 {
9032 this->reserve( createInfos.size() );
9033 for ( auto const & pipeline : pipelines )
9034 {
9035 this->emplace_back( device, pipeline, allocator, result );
9036 }
9037 }
9038 else
9039 {
9040 throwResultException( result, "vkCreateComputePipelines" );
9041 }
9042 }
9043
9044 Pipelines( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,
9045 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const & pipelineCache,
9046 VULKAN_HPP_NAMESPACE::ArrayProxy<VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo> const & createInfos,
9047 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr )
9048 {
9049 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * dispatcher = device.getDispatcher();
9050 std::vector<VkPipeline> pipelines( createInfos.size() );
9051 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( dispatcher->vkCreateGraphicsPipelines(
9052 static_cast<VkDevice>( *device ),
9053 pipelineCache ? static_cast<VkPipelineCache>( **pipelineCache ) : 0,
9054 createInfos.size(),
9055 reinterpret_cast<const VkGraphicsPipelineCreateInfo *>( createInfos.data() ),
9056 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ),
9057 pipelines.data() ) );
9058 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) || ( result == VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT ) )
9059 {
9060 this->reserve( createInfos.size() );
9061 for ( auto const & pipeline : pipelines )
9062 {
9063 this->emplace_back( device, pipeline, allocator, result );
9064 }
9065 }
9066 else
9067 {
9068 throwResultException( result, "vkCreateGraphicsPipelines" );
9069 }
9070 }

Callers 1

vulkan_raii.hppFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected