Update for Vulkan-Docs 1.3.296
This commit is contained in:
parent
c6391a7b8c
commit
29f979ee5a
17 changed files with 9654 additions and 619 deletions
|
|
@ -8,9 +8,11 @@
|
|||
#ifndef VULKAN_RAII_HPP
|
||||
#define VULKAN_RAII_HPP
|
||||
|
||||
#include <memory> // std::unique_ptr
|
||||
#include <utility> // std::forward
|
||||
#include <vulkan/vulkan.hpp>
|
||||
#if !( defined( VULKAN_HPP_ENABLE_STD_MODULE ) && defined( VULKAN_HPP_STD_MODULE ) )
|
||||
# include <memory> // std::unique_ptr
|
||||
# include <utility> // std::forward
|
||||
#endif
|
||||
|
||||
#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
|
||||
namespace VULKAN_HPP_NAMESPACE
|
||||
|
|
@ -1672,10 +1674,11 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
vkAntiLagUpdateAMD = PFN_vkAntiLagUpdateAMD( vkGetDeviceProcAddr( device, "vkAntiLagUpdateAMD" ) );
|
||||
|
||||
//=== VK_EXT_shader_object ===
|
||||
vkCreateShadersEXT = PFN_vkCreateShadersEXT( vkGetDeviceProcAddr( device, "vkCreateShadersEXT" ) );
|
||||
vkDestroyShaderEXT = PFN_vkDestroyShaderEXT( vkGetDeviceProcAddr( device, "vkDestroyShaderEXT" ) );
|
||||
vkGetShaderBinaryDataEXT = PFN_vkGetShaderBinaryDataEXT( vkGetDeviceProcAddr( device, "vkGetShaderBinaryDataEXT" ) );
|
||||
vkCmdBindShadersEXT = PFN_vkCmdBindShadersEXT( vkGetDeviceProcAddr( device, "vkCmdBindShadersEXT" ) );
|
||||
vkCreateShadersEXT = PFN_vkCreateShadersEXT( vkGetDeviceProcAddr( device, "vkCreateShadersEXT" ) );
|
||||
vkDestroyShaderEXT = PFN_vkDestroyShaderEXT( vkGetDeviceProcAddr( device, "vkDestroyShaderEXT" ) );
|
||||
vkGetShaderBinaryDataEXT = PFN_vkGetShaderBinaryDataEXT( vkGetDeviceProcAddr( device, "vkGetShaderBinaryDataEXT" ) );
|
||||
vkCmdBindShadersEXT = PFN_vkCmdBindShadersEXT( vkGetDeviceProcAddr( device, "vkCmdBindShadersEXT" ) );
|
||||
vkCmdSetDepthClampRangeEXT = PFN_vkCmdSetDepthClampRangeEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthClampRangeEXT" ) );
|
||||
|
||||
//=== VK_KHR_pipeline_binary ===
|
||||
vkCreatePipelineBinariesKHR = PFN_vkCreatePipelineBinariesKHR( vkGetDeviceProcAddr( device, "vkCreatePipelineBinariesKHR" ) );
|
||||
|
|
@ -1720,6 +1723,20 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
vkCmdSetDescriptorBufferOffsets2EXT = PFN_vkCmdSetDescriptorBufferOffsets2EXT( vkGetDeviceProcAddr( device, "vkCmdSetDescriptorBufferOffsets2EXT" ) );
|
||||
vkCmdBindDescriptorBufferEmbeddedSamplers2EXT =
|
||||
PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorBufferEmbeddedSamplers2EXT" ) );
|
||||
|
||||
//=== VK_EXT_device_generated_commands ===
|
||||
vkGetGeneratedCommandsMemoryRequirementsEXT =
|
||||
PFN_vkGetGeneratedCommandsMemoryRequirementsEXT( vkGetDeviceProcAddr( device, "vkGetGeneratedCommandsMemoryRequirementsEXT" ) );
|
||||
vkCmdPreprocessGeneratedCommandsEXT = PFN_vkCmdPreprocessGeneratedCommandsEXT( vkGetDeviceProcAddr( device, "vkCmdPreprocessGeneratedCommandsEXT" ) );
|
||||
vkCmdExecuteGeneratedCommandsEXT = PFN_vkCmdExecuteGeneratedCommandsEXT( vkGetDeviceProcAddr( device, "vkCmdExecuteGeneratedCommandsEXT" ) );
|
||||
vkCreateIndirectCommandsLayoutEXT = PFN_vkCreateIndirectCommandsLayoutEXT( vkGetDeviceProcAddr( device, "vkCreateIndirectCommandsLayoutEXT" ) );
|
||||
vkDestroyIndirectCommandsLayoutEXT = PFN_vkDestroyIndirectCommandsLayoutEXT( vkGetDeviceProcAddr( device, "vkDestroyIndirectCommandsLayoutEXT" ) );
|
||||
vkCreateIndirectExecutionSetEXT = PFN_vkCreateIndirectExecutionSetEXT( vkGetDeviceProcAddr( device, "vkCreateIndirectExecutionSetEXT" ) );
|
||||
vkDestroyIndirectExecutionSetEXT = PFN_vkDestroyIndirectExecutionSetEXT( vkGetDeviceProcAddr( device, "vkDestroyIndirectExecutionSetEXT" ) );
|
||||
vkUpdateIndirectExecutionSetPipelineEXT =
|
||||
PFN_vkUpdateIndirectExecutionSetPipelineEXT( vkGetDeviceProcAddr( device, "vkUpdateIndirectExecutionSetPipelineEXT" ) );
|
||||
vkUpdateIndirectExecutionSetShaderEXT =
|
||||
PFN_vkUpdateIndirectExecutionSetShaderEXT( vkGetDeviceProcAddr( device, "vkUpdateIndirectExecutionSetShaderEXT" ) );
|
||||
}
|
||||
|
||||
public:
|
||||
|
|
@ -2566,10 +2583,11 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
PFN_vkAntiLagUpdateAMD vkAntiLagUpdateAMD = 0;
|
||||
|
||||
//=== VK_EXT_shader_object ===
|
||||
PFN_vkCreateShadersEXT vkCreateShadersEXT = 0;
|
||||
PFN_vkDestroyShaderEXT vkDestroyShaderEXT = 0;
|
||||
PFN_vkGetShaderBinaryDataEXT vkGetShaderBinaryDataEXT = 0;
|
||||
PFN_vkCmdBindShadersEXT vkCmdBindShadersEXT = 0;
|
||||
PFN_vkCreateShadersEXT vkCreateShadersEXT = 0;
|
||||
PFN_vkDestroyShaderEXT vkDestroyShaderEXT = 0;
|
||||
PFN_vkGetShaderBinaryDataEXT vkGetShaderBinaryDataEXT = 0;
|
||||
PFN_vkCmdBindShadersEXT vkCmdBindShadersEXT = 0;
|
||||
PFN_vkCmdSetDepthClampRangeEXT vkCmdSetDepthClampRangeEXT = 0;
|
||||
|
||||
//=== VK_KHR_pipeline_binary ===
|
||||
PFN_vkCreatePipelineBinariesKHR vkCreatePipelineBinariesKHR = 0;
|
||||
|
|
@ -2612,6 +2630,17 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
PFN_vkCmdPushDescriptorSetWithTemplate2KHR vkCmdPushDescriptorSetWithTemplate2KHR = 0;
|
||||
PFN_vkCmdSetDescriptorBufferOffsets2EXT vkCmdSetDescriptorBufferOffsets2EXT = 0;
|
||||
PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT vkCmdBindDescriptorBufferEmbeddedSamplers2EXT = 0;
|
||||
|
||||
//=== VK_EXT_device_generated_commands ===
|
||||
PFN_vkGetGeneratedCommandsMemoryRequirementsEXT vkGetGeneratedCommandsMemoryRequirementsEXT = 0;
|
||||
PFN_vkCmdPreprocessGeneratedCommandsEXT vkCmdPreprocessGeneratedCommandsEXT = 0;
|
||||
PFN_vkCmdExecuteGeneratedCommandsEXT vkCmdExecuteGeneratedCommandsEXT = 0;
|
||||
PFN_vkCreateIndirectCommandsLayoutEXT vkCreateIndirectCommandsLayoutEXT = 0;
|
||||
PFN_vkDestroyIndirectCommandsLayoutEXT vkDestroyIndirectCommandsLayoutEXT = 0;
|
||||
PFN_vkCreateIndirectExecutionSetEXT vkCreateIndirectExecutionSetEXT = 0;
|
||||
PFN_vkDestroyIndirectExecutionSetEXT vkDestroyIndirectExecutionSetEXT = 0;
|
||||
PFN_vkUpdateIndirectExecutionSetPipelineEXT vkUpdateIndirectExecutionSetPipelineEXT = 0;
|
||||
PFN_vkUpdateIndirectExecutionSetShaderEXT vkUpdateIndirectExecutionSetShaderEXT = 0;
|
||||
};
|
||||
|
||||
//========================================
|
||||
|
|
@ -2717,6 +2746,10 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
//=== VK_KHR_pipeline_binary ===
|
||||
class PipelineBinaryKHR;
|
||||
|
||||
//=== VK_EXT_device_generated_commands ===
|
||||
class IndirectCommandsLayoutEXT;
|
||||
class IndirectExecutionSetEXT;
|
||||
|
||||
//====================
|
||||
//=== RAII HANDLES ===
|
||||
//====================
|
||||
|
|
@ -4619,6 +4652,27 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
VULKAN_HPP_NODISCARD std::pair<uint64_t, uint64_t>
|
||||
getCalibratedTimestampKHR( const VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoKHR & timestampInfo ) const;
|
||||
|
||||
//=== VK_EXT_device_generated_commands ===
|
||||
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryRequirements2
|
||||
getGeneratedCommandsMemoryRequirementsEXT( const VULKAN_HPP_NAMESPACE::GeneratedCommandsMemoryRequirementsInfoEXT & info ) const VULKAN_HPP_NOEXCEPT;
|
||||
|
||||
template <typename X, typename Y, typename... Z>
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...>
|
||||
getGeneratedCommandsMemoryRequirementsEXT( const VULKAN_HPP_NAMESPACE::GeneratedCommandsMemoryRequirementsInfoEXT & info ) const VULKAN_HPP_NOEXCEPT;
|
||||
|
||||
VULKAN_HPP_NODISCARD
|
||||
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::CreateReturnType<VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::IndirectCommandsLayoutEXT>::Type
|
||||
createIndirectCommandsLayoutEXT( VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutCreateInfoEXT const & createInfo,
|
||||
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const
|
||||
VULKAN_HPP_RAII_CREATE_NOEXCEPT;
|
||||
|
||||
VULKAN_HPP_NODISCARD
|
||||
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::CreateReturnType<VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::IndirectExecutionSetEXT>::Type
|
||||
createIndirectExecutionSetEXT( VULKAN_HPP_NAMESPACE::IndirectExecutionSetCreateInfoEXT const & createInfo,
|
||||
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const
|
||||
VULKAN_HPP_RAII_CREATE_NOEXCEPT;
|
||||
|
||||
private:
|
||||
VULKAN_HPP_NAMESPACE::Device m_device = {};
|
||||
const VULKAN_HPP_NAMESPACE::AllocationCallbacks * m_allocator = {};
|
||||
|
|
@ -6390,6 +6444,10 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
void bindShadersEXT( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ShaderStageFlagBits> const & stages,
|
||||
VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ShaderEXT> const & shaders ) const;
|
||||
|
||||
void setDepthClampRangeEXT( VULKAN_HPP_NAMESPACE::DepthClampModeEXT depthClampMode,
|
||||
Optional<const VULKAN_HPP_NAMESPACE::DepthClampRangeEXT> depthClampRange
|
||||
VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
|
||||
|
||||
//=== VK_EXT_attachment_feedback_loop_dynamic_state ===
|
||||
|
||||
void setAttachmentFeedbackLoopEnableEXT( VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT ) const
|
||||
|
|
@ -6416,6 +6474,14 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
void bindDescriptorBufferEmbeddedSamplers2EXT(
|
||||
const VULKAN_HPP_NAMESPACE::BindDescriptorBufferEmbeddedSamplersInfoEXT & bindDescriptorBufferEmbeddedSamplersInfo ) const VULKAN_HPP_NOEXCEPT;
|
||||
|
||||
//=== VK_EXT_device_generated_commands ===
|
||||
|
||||
void preprocessGeneratedCommandsEXT( const VULKAN_HPP_NAMESPACE::GeneratedCommandsInfoEXT & generatedCommandsInfo,
|
||||
VULKAN_HPP_NAMESPACE::CommandBuffer stateCommandBuffer ) const VULKAN_HPP_NOEXCEPT;
|
||||
|
||||
void executeGeneratedCommandsEXT( VULKAN_HPP_NAMESPACE::Bool32 isPreprocessed,
|
||||
const VULKAN_HPP_NAMESPACE::GeneratedCommandsInfoEXT & generatedCommandsInfo ) const VULKAN_HPP_NOEXCEPT;
|
||||
|
||||
private:
|
||||
VULKAN_HPP_NAMESPACE::Device m_device = {};
|
||||
VULKAN_HPP_NAMESPACE::CommandPool m_commandPool = {};
|
||||
|
|
@ -8898,6 +8964,126 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher = nullptr;
|
||||
};
|
||||
|
||||
class IndirectCommandsLayoutEXT
|
||||
{
|
||||
public:
|
||||
using CType = VkIndirectCommandsLayoutEXT;
|
||||
using CppType = VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutEXT;
|
||||
|
||||
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eIndirectCommandsLayoutEXT;
|
||||
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
|
||||
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown;
|
||||
|
||||
public:
|
||||
# if !defined( VULKAN_HPP_RAII_NO_EXCEPTIONS )
|
||||
IndirectCommandsLayoutEXT( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,
|
||||
VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutCreateInfoEXT const & createInfo,
|
||||
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr )
|
||||
{
|
||||
*this = device.createIndirectCommandsLayoutEXT( createInfo, allocator );
|
||||
}
|
||||
# endif
|
||||
|
||||
IndirectCommandsLayoutEXT( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,
|
||||
VkIndirectCommandsLayoutEXT indirectCommandsLayout,
|
||||
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr )
|
||||
: m_device( device )
|
||||
, m_indirectCommandsLayout( indirectCommandsLayout )
|
||||
, m_allocator( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) )
|
||||
, m_dispatcher( device.getDispatcher() )
|
||||
{
|
||||
}
|
||||
|
||||
IndirectCommandsLayoutEXT( std::nullptr_t ) {}
|
||||
|
||||
~IndirectCommandsLayoutEXT()
|
||||
{
|
||||
clear();
|
||||
}
|
||||
|
||||
IndirectCommandsLayoutEXT() = delete;
|
||||
IndirectCommandsLayoutEXT( IndirectCommandsLayoutEXT const & ) = delete;
|
||||
|
||||
IndirectCommandsLayoutEXT( IndirectCommandsLayoutEXT && rhs ) VULKAN_HPP_NOEXCEPT
|
||||
: m_device( VULKAN_HPP_NAMESPACE::exchange( rhs.m_device, {} ) )
|
||||
, m_indirectCommandsLayout( VULKAN_HPP_NAMESPACE::exchange( rhs.m_indirectCommandsLayout, {} ) )
|
||||
, m_allocator( VULKAN_HPP_NAMESPACE::exchange( rhs.m_allocator, {} ) )
|
||||
, m_dispatcher( VULKAN_HPP_NAMESPACE::exchange( rhs.m_dispatcher, nullptr ) )
|
||||
{
|
||||
}
|
||||
|
||||
IndirectCommandsLayoutEXT & operator=( IndirectCommandsLayoutEXT const & ) = delete;
|
||||
|
||||
IndirectCommandsLayoutEXT & operator=( IndirectCommandsLayoutEXT && rhs ) VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
if ( this != &rhs )
|
||||
{
|
||||
std::swap( m_device, rhs.m_device );
|
||||
std::swap( m_indirectCommandsLayout, rhs.m_indirectCommandsLayout );
|
||||
std::swap( m_allocator, rhs.m_allocator );
|
||||
std::swap( m_dispatcher, rhs.m_dispatcher );
|
||||
}
|
||||
return *this;
|
||||
}
|
||||
|
||||
VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutEXT const & operator*() const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return m_indirectCommandsLayout;
|
||||
}
|
||||
|
||||
operator VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutEXT() const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return m_indirectCommandsLayout;
|
||||
}
|
||||
|
||||
void clear() VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
if ( m_indirectCommandsLayout )
|
||||
{
|
||||
getDispatcher()->vkDestroyIndirectCommandsLayoutEXT( static_cast<VkDevice>( m_device ),
|
||||
static_cast<VkIndirectCommandsLayoutEXT>( m_indirectCommandsLayout ),
|
||||
reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) );
|
||||
}
|
||||
m_device = nullptr;
|
||||
m_indirectCommandsLayout = nullptr;
|
||||
m_allocator = nullptr;
|
||||
m_dispatcher = nullptr;
|
||||
}
|
||||
|
||||
VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutEXT release()
|
||||
{
|
||||
m_device = nullptr;
|
||||
m_allocator = nullptr;
|
||||
m_dispatcher = nullptr;
|
||||
return VULKAN_HPP_NAMESPACE::exchange( m_indirectCommandsLayout, nullptr );
|
||||
}
|
||||
|
||||
VULKAN_HPP_NAMESPACE::Device getDevice() const
|
||||
{
|
||||
return m_device;
|
||||
}
|
||||
|
||||
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const
|
||||
{
|
||||
VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
return m_dispatcher;
|
||||
}
|
||||
|
||||
void swap( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::IndirectCommandsLayoutEXT & rhs ) VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::swap( m_device, rhs.m_device );
|
||||
std::swap( m_indirectCommandsLayout, rhs.m_indirectCommandsLayout );
|
||||
std::swap( m_allocator, rhs.m_allocator );
|
||||
std::swap( m_dispatcher, rhs.m_dispatcher );
|
||||
}
|
||||
|
||||
private:
|
||||
VULKAN_HPP_NAMESPACE::Device m_device = {};
|
||||
VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutEXT m_indirectCommandsLayout = {};
|
||||
const VULKAN_HPP_NAMESPACE::AllocationCallbacks * m_allocator = {};
|
||||
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher = nullptr;
|
||||
};
|
||||
|
||||
class IndirectCommandsLayoutNV
|
||||
{
|
||||
public:
|
||||
|
|
@ -9018,6 +9204,134 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher = nullptr;
|
||||
};
|
||||
|
||||
class IndirectExecutionSetEXT
|
||||
{
|
||||
public:
|
||||
using CType = VkIndirectExecutionSetEXT;
|
||||
using CppType = VULKAN_HPP_NAMESPACE::IndirectExecutionSetEXT;
|
||||
|
||||
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eIndirectExecutionSetEXT;
|
||||
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
|
||||
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown;
|
||||
|
||||
public:
|
||||
# if !defined( VULKAN_HPP_RAII_NO_EXCEPTIONS )
|
||||
IndirectExecutionSetEXT( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,
|
||||
VULKAN_HPP_NAMESPACE::IndirectExecutionSetCreateInfoEXT const & createInfo,
|
||||
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr )
|
||||
{
|
||||
*this = device.createIndirectExecutionSetEXT( createInfo, allocator );
|
||||
}
|
||||
# endif
|
||||
|
||||
IndirectExecutionSetEXT( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,
|
||||
VkIndirectExecutionSetEXT indirectExecutionSet,
|
||||
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr )
|
||||
: m_device( device )
|
||||
, m_indirectExecutionSet( indirectExecutionSet )
|
||||
, m_allocator( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) )
|
||||
, m_dispatcher( device.getDispatcher() )
|
||||
{
|
||||
}
|
||||
|
||||
IndirectExecutionSetEXT( std::nullptr_t ) {}
|
||||
|
||||
~IndirectExecutionSetEXT()
|
||||
{
|
||||
clear();
|
||||
}
|
||||
|
||||
IndirectExecutionSetEXT() = delete;
|
||||
IndirectExecutionSetEXT( IndirectExecutionSetEXT const & ) = delete;
|
||||
|
||||
IndirectExecutionSetEXT( IndirectExecutionSetEXT && rhs ) VULKAN_HPP_NOEXCEPT
|
||||
: m_device( VULKAN_HPP_NAMESPACE::exchange( rhs.m_device, {} ) )
|
||||
, m_indirectExecutionSet( VULKAN_HPP_NAMESPACE::exchange( rhs.m_indirectExecutionSet, {} ) )
|
||||
, m_allocator( VULKAN_HPP_NAMESPACE::exchange( rhs.m_allocator, {} ) )
|
||||
, m_dispatcher( VULKAN_HPP_NAMESPACE::exchange( rhs.m_dispatcher, nullptr ) )
|
||||
{
|
||||
}
|
||||
|
||||
IndirectExecutionSetEXT & operator=( IndirectExecutionSetEXT const & ) = delete;
|
||||
|
||||
IndirectExecutionSetEXT & operator=( IndirectExecutionSetEXT && rhs ) VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
if ( this != &rhs )
|
||||
{
|
||||
std::swap( m_device, rhs.m_device );
|
||||
std::swap( m_indirectExecutionSet, rhs.m_indirectExecutionSet );
|
||||
std::swap( m_allocator, rhs.m_allocator );
|
||||
std::swap( m_dispatcher, rhs.m_dispatcher );
|
||||
}
|
||||
return *this;
|
||||
}
|
||||
|
||||
VULKAN_HPP_NAMESPACE::IndirectExecutionSetEXT const & operator*() const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return m_indirectExecutionSet;
|
||||
}
|
||||
|
||||
operator VULKAN_HPP_NAMESPACE::IndirectExecutionSetEXT() const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return m_indirectExecutionSet;
|
||||
}
|
||||
|
||||
void clear() VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
if ( m_indirectExecutionSet )
|
||||
{
|
||||
getDispatcher()->vkDestroyIndirectExecutionSetEXT( static_cast<VkDevice>( m_device ),
|
||||
static_cast<VkIndirectExecutionSetEXT>( m_indirectExecutionSet ),
|
||||
reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) );
|
||||
}
|
||||
m_device = nullptr;
|
||||
m_indirectExecutionSet = nullptr;
|
||||
m_allocator = nullptr;
|
||||
m_dispatcher = nullptr;
|
||||
}
|
||||
|
||||
VULKAN_HPP_NAMESPACE::IndirectExecutionSetEXT release()
|
||||
{
|
||||
m_device = nullptr;
|
||||
m_allocator = nullptr;
|
||||
m_dispatcher = nullptr;
|
||||
return VULKAN_HPP_NAMESPACE::exchange( m_indirectExecutionSet, nullptr );
|
||||
}
|
||||
|
||||
VULKAN_HPP_NAMESPACE::Device getDevice() const
|
||||
{
|
||||
return m_device;
|
||||
}
|
||||
|
||||
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const
|
||||
{
|
||||
VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
return m_dispatcher;
|
||||
}
|
||||
|
||||
void swap( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::IndirectExecutionSetEXT & rhs ) VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::swap( m_device, rhs.m_device );
|
||||
std::swap( m_indirectExecutionSet, rhs.m_indirectExecutionSet );
|
||||
std::swap( m_allocator, rhs.m_allocator );
|
||||
std::swap( m_dispatcher, rhs.m_dispatcher );
|
||||
}
|
||||
|
||||
//=== VK_EXT_device_generated_commands ===
|
||||
|
||||
void updatePipeline( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::WriteIndirectExecutionSetPipelineEXT> const & executionSetWrites ) const
|
||||
VULKAN_HPP_NOEXCEPT;
|
||||
|
||||
void updateShader( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::WriteIndirectExecutionSetShaderEXT> const & executionSetWrites ) const
|
||||
VULKAN_HPP_NOEXCEPT;
|
||||
|
||||
private:
|
||||
VULKAN_HPP_NAMESPACE::Device m_device = {};
|
||||
VULKAN_HPP_NAMESPACE::IndirectExecutionSetEXT m_indirectExecutionSet = {};
|
||||
const VULKAN_HPP_NAMESPACE::AllocationCallbacks * m_allocator = {};
|
||||
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher = nullptr;
|
||||
};
|
||||
|
||||
class MicromapEXT
|
||||
{
|
||||
public:
|
||||
|
|
@ -22782,6 +23096,19 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
reinterpret_cast<const VkShaderEXT *>( shaders.data() ) );
|
||||
}
|
||||
|
||||
VULKAN_HPP_INLINE void
|
||||
CommandBuffer::setDepthClampRangeEXT( VULKAN_HPP_NAMESPACE::DepthClampModeEXT depthClampMode,
|
||||
Optional<const VULKAN_HPP_NAMESPACE::DepthClampRangeEXT> depthClampRange ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetDepthClampRangeEXT &&
|
||||
"Function <vkCmdSetDepthClampRangeEXT> requires <VK_EXT_depth_clamp_control> or <VK_EXT_shader_object>" );
|
||||
|
||||
getDispatcher()->vkCmdSetDepthClampRangeEXT(
|
||||
static_cast<VkCommandBuffer>( m_commandBuffer ),
|
||||
static_cast<VkDepthClampModeEXT>( depthClampMode ),
|
||||
reinterpret_cast<const VkDepthClampRangeEXT *>( static_cast<const VULKAN_HPP_NAMESPACE::DepthClampRangeEXT *>( depthClampRange ) ) );
|
||||
}
|
||||
|
||||
//=== VK_KHR_pipeline_binary ===
|
||||
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE
|
||||
|
|
@ -23212,6 +23539,135 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
reinterpret_cast<const VkBindDescriptorBufferEmbeddedSamplersInfoEXT *>( &bindDescriptorBufferEmbeddedSamplersInfo ) );
|
||||
}
|
||||
|
||||
//=== VK_EXT_device_generated_commands ===
|
||||
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2 Device::getGeneratedCommandsMemoryRequirementsEXT(
|
||||
const VULKAN_HPP_NAMESPACE::GeneratedCommandsMemoryRequirementsInfoEXT & info ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
VULKAN_HPP_ASSERT( getDispatcher()->vkGetGeneratedCommandsMemoryRequirementsEXT &&
|
||||
"Function <vkGetGeneratedCommandsMemoryRequirementsEXT> requires <VK_EXT_device_generated_commands>" );
|
||||
|
||||
VULKAN_HPP_NAMESPACE::MemoryRequirements2 memoryRequirements;
|
||||
getDispatcher()->vkGetGeneratedCommandsMemoryRequirementsEXT( static_cast<VkDevice>( m_device ),
|
||||
reinterpret_cast<const VkGeneratedCommandsMemoryRequirementsInfoEXT *>( &info ),
|
||||
reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) );
|
||||
|
||||
return memoryRequirements;
|
||||
}
|
||||
|
||||
template <typename X, typename Y, typename... Z>
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> Device::getGeneratedCommandsMemoryRequirementsEXT(
|
||||
const VULKAN_HPP_NAMESPACE::GeneratedCommandsMemoryRequirementsInfoEXT & info ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
VULKAN_HPP_ASSERT( getDispatcher()->vkGetGeneratedCommandsMemoryRequirementsEXT &&
|
||||
"Function <vkGetGeneratedCommandsMemoryRequirementsEXT> requires <VK_EXT_device_generated_commands>" );
|
||||
|
||||
VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> structureChain;
|
||||
VULKAN_HPP_NAMESPACE::MemoryRequirements2 & memoryRequirements = structureChain.template get<VULKAN_HPP_NAMESPACE::MemoryRequirements2>();
|
||||
getDispatcher()->vkGetGeneratedCommandsMemoryRequirementsEXT( static_cast<VkDevice>( m_device ),
|
||||
reinterpret_cast<const VkGeneratedCommandsMemoryRequirementsInfoEXT *>( &info ),
|
||||
reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) );
|
||||
|
||||
return structureChain;
|
||||
}
|
||||
|
||||
VULKAN_HPP_INLINE void CommandBuffer::preprocessGeneratedCommandsEXT( const VULKAN_HPP_NAMESPACE::GeneratedCommandsInfoEXT & generatedCommandsInfo,
|
||||
VULKAN_HPP_NAMESPACE::CommandBuffer stateCommandBuffer ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
VULKAN_HPP_ASSERT( getDispatcher()->vkCmdPreprocessGeneratedCommandsEXT &&
|
||||
"Function <vkCmdPreprocessGeneratedCommandsEXT> requires <VK_EXT_device_generated_commands>" );
|
||||
|
||||
getDispatcher()->vkCmdPreprocessGeneratedCommandsEXT( static_cast<VkCommandBuffer>( m_commandBuffer ),
|
||||
reinterpret_cast<const VkGeneratedCommandsInfoEXT *>( &generatedCommandsInfo ),
|
||||
static_cast<VkCommandBuffer>( stateCommandBuffer ) );
|
||||
}
|
||||
|
||||
VULKAN_HPP_INLINE void
|
||||
CommandBuffer::executeGeneratedCommandsEXT( VULKAN_HPP_NAMESPACE::Bool32 isPreprocessed,
|
||||
const VULKAN_HPP_NAMESPACE::GeneratedCommandsInfoEXT & generatedCommandsInfo ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
VULKAN_HPP_ASSERT( getDispatcher()->vkCmdExecuteGeneratedCommandsEXT &&
|
||||
"Function <vkCmdExecuteGeneratedCommandsEXT> requires <VK_EXT_device_generated_commands>" );
|
||||
|
||||
getDispatcher()->vkCmdExecuteGeneratedCommandsEXT( static_cast<VkCommandBuffer>( m_commandBuffer ),
|
||||
static_cast<VkBool32>( isPreprocessed ),
|
||||
reinterpret_cast<const VkGeneratedCommandsInfoEXT *>( &generatedCommandsInfo ) );
|
||||
}
|
||||
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE
|
||||
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::CreateReturnType<VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::IndirectCommandsLayoutEXT>::Type
|
||||
Device::createIndirectCommandsLayoutEXT( VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutCreateInfoEXT const & createInfo,
|
||||
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const
|
||||
VULKAN_HPP_RAII_CREATE_NOEXCEPT
|
||||
{
|
||||
VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutEXT indirectCommandsLayout;
|
||||
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateIndirectCommandsLayoutEXT(
|
||||
static_cast<VkDevice>( m_device ),
|
||||
reinterpret_cast<const VkIndirectCommandsLayoutCreateInfoEXT *>( &createInfo ),
|
||||
reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ),
|
||||
reinterpret_cast<VkIndirectCommandsLayoutEXT *>( &indirectCommandsLayout ) ) );
|
||||
if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess )
|
||||
{
|
||||
# if defined( VULKAN_HPP_RAII_NO_EXCEPTIONS )
|
||||
return VULKAN_HPP_UNEXPECTED( result );
|
||||
# else
|
||||
VULKAN_HPP_NAMESPACE::detail::throwResultException( result, "Device::createIndirectCommandsLayoutEXT" );
|
||||
# endif
|
||||
}
|
||||
|
||||
return VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::IndirectCommandsLayoutEXT(
|
||||
*this, *reinterpret_cast<VkIndirectCommandsLayoutEXT *>( &indirectCommandsLayout ), allocator );
|
||||
}
|
||||
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE
|
||||
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::CreateReturnType<VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::IndirectExecutionSetEXT>::Type
|
||||
Device::createIndirectExecutionSetEXT( VULKAN_HPP_NAMESPACE::IndirectExecutionSetCreateInfoEXT const & createInfo,
|
||||
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const
|
||||
VULKAN_HPP_RAII_CREATE_NOEXCEPT
|
||||
{
|
||||
VULKAN_HPP_NAMESPACE::IndirectExecutionSetEXT indirectExecutionSet;
|
||||
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateIndirectExecutionSetEXT(
|
||||
static_cast<VkDevice>( m_device ),
|
||||
reinterpret_cast<const VkIndirectExecutionSetCreateInfoEXT *>( &createInfo ),
|
||||
reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ),
|
||||
reinterpret_cast<VkIndirectExecutionSetEXT *>( &indirectExecutionSet ) ) );
|
||||
if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess )
|
||||
{
|
||||
# if defined( VULKAN_HPP_RAII_NO_EXCEPTIONS )
|
||||
return VULKAN_HPP_UNEXPECTED( result );
|
||||
# else
|
||||
VULKAN_HPP_NAMESPACE::detail::throwResultException( result, "Device::createIndirectExecutionSetEXT" );
|
||||
# endif
|
||||
}
|
||||
|
||||
return VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::IndirectExecutionSetEXT(
|
||||
*this, *reinterpret_cast<VkIndirectExecutionSetEXT *>( &indirectExecutionSet ), allocator );
|
||||
}
|
||||
|
||||
VULKAN_HPP_INLINE void IndirectExecutionSetEXT::updatePipeline(
|
||||
VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::WriteIndirectExecutionSetPipelineEXT> const & executionSetWrites ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
VULKAN_HPP_ASSERT( getDispatcher()->vkUpdateIndirectExecutionSetPipelineEXT &&
|
||||
"Function <vkUpdateIndirectExecutionSetPipelineEXT> requires <VK_EXT_device_generated_commands>" );
|
||||
|
||||
getDispatcher()->vkUpdateIndirectExecutionSetPipelineEXT( static_cast<VkDevice>( m_device ),
|
||||
static_cast<VkIndirectExecutionSetEXT>( m_indirectExecutionSet ),
|
||||
executionSetWrites.size(),
|
||||
reinterpret_cast<const VkWriteIndirectExecutionSetPipelineEXT *>( executionSetWrites.data() ) );
|
||||
}
|
||||
|
||||
VULKAN_HPP_INLINE void IndirectExecutionSetEXT::updateShader(
|
||||
VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::WriteIndirectExecutionSetShaderEXT> const & executionSetWrites ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
VULKAN_HPP_ASSERT( getDispatcher()->vkUpdateIndirectExecutionSetShaderEXT &&
|
||||
"Function <vkUpdateIndirectExecutionSetShaderEXT> requires <VK_EXT_device_generated_commands>" );
|
||||
|
||||
getDispatcher()->vkUpdateIndirectExecutionSetShaderEXT( static_cast<VkDevice>( m_device ),
|
||||
static_cast<VkIndirectExecutionSetEXT>( m_indirectExecutionSet ),
|
||||
executionSetWrites.size(),
|
||||
reinterpret_cast<const VkWriteIndirectExecutionSetShaderEXT *>( executionSetWrites.data() ) );
|
||||
}
|
||||
|
||||
//====================
|
||||
//=== RAII Helpers ===
|
||||
//====================
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue