aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/vulkan/vulkan_raii.hpp
diff options
context:
space:
mode:
authorJon Leech <[email protected]>2024-10-25 06:46:48 -0700
committerJon Leech <[email protected]>2024-10-25 06:46:48 -0700
commit8dc2d710cb7335b89eae3210625a93938053dd3f (patch)
tree5e67a3b6c39b54d2c95b48a41e4b0b3efed0c194 /include/vulkan/vulkan_raii.hpp
parente271cfd4809ed133cadc6c3de7903e59628b3d8a (diff)
downloadVulkan-Headers-update-300.tar.gz
Vulkan-Headers-update-300.zip
Update for Vulkan-Docs 1.3.300update-300
Diffstat (limited to 'include/vulkan/vulkan_raii.hpp')
-rw-r--r--include/vulkan/vulkan_raii.hpp48
1 files changed, 48 insertions, 0 deletions
diff --git a/include/vulkan/vulkan_raii.hpp b/include/vulkan/vulkan_raii.hpp
index 68f4f37..e777293 100644
--- a/include/vulkan/vulkan_raii.hpp
+++ b/include/vulkan/vulkan_raii.hpp
@@ -376,6 +376,10 @@ namespace VULKAN_HPP_NAMESPACE
vkGetPhysicalDeviceCalibrateableTimeDomainsKHR =
PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCalibrateableTimeDomainsKHR" ) );
+ //=== VK_NV_cooperative_matrix2 ===
+ vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV = PFN_vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV(
+ vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV" ) );
+
vkGetDeviceProcAddr = PFN_vkGetDeviceProcAddr( vkGetInstanceProcAddr( instance, "vkGetDeviceProcAddr" ) );
}
@@ -653,6 +657,9 @@ namespace VULKAN_HPP_NAMESPACE
//=== VK_KHR_calibrated_timestamps ===
PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsKHR vkGetPhysicalDeviceCalibrateableTimeDomainsKHR = 0;
+ //=== VK_NV_cooperative_matrix2 ===
+ PFN_vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV = 0;
+
PFN_vkGetDeviceProcAddr vkGetDeviceProcAddr = 0;
};
@@ -3539,6 +3546,11 @@ namespace VULKAN_HPP_NAMESPACE
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::TimeDomainKHR> getCalibrateableTimeDomainsKHR() const;
+ //=== VK_NV_cooperative_matrix2 ===
+
+ VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::CooperativeMatrixFlexibleDimensionsPropertiesNV>
+ getCooperativeMatrixFlexibleDimensionsPropertiesNV() const;
+
private:
VULKAN_HPP_NAMESPACE::PhysicalDevice m_physicalDevice = {};
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const * m_dispatcher = nullptr;
@@ -13548,6 +13560,9 @@ namespace VULKAN_HPP_NAMESPACE
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const
VULKAN_HPP_RAII_CREATE_NOEXCEPT
{
+ VULKAN_HPP_ASSERT(
+ createInfo.flags & vk::DescriptorPoolCreateFlagBits::eFreeDescriptorSet &&
+ "createInfo.flags need to have vk::DescriptorPoolCreateFlagBits::eFreeDesriptors set in order to allow destruction of VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DescriptorSet which requires to return individual allocations to the pool" );
VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool;
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateDescriptorPool(
static_cast<VkDevice>( m_device ),
@@ -23687,6 +23702,39 @@ namespace VULKAN_HPP_NAMESPACE
reinterpret_cast<const VkWriteIndirectExecutionSetShaderEXT *>( executionSetWrites.data() ) );
}
+ //=== VK_NV_cooperative_matrix2 ===
+
+ VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::CooperativeMatrixFlexibleDimensionsPropertiesNV>
+ PhysicalDevice::getCooperativeMatrixFlexibleDimensionsPropertiesNV() const
+ {
+ VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV &&
+ "Function <vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV> requires <VK_NV_cooperative_matrix2>" );
+
+ std::vector<VULKAN_HPP_NAMESPACE::CooperativeMatrixFlexibleDimensionsPropertiesNV> properties;
+ uint32_t propertyCount;
+ VULKAN_HPP_NAMESPACE::Result result;
+ do
+ {
+ result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV(
+ static_cast<VkPhysicalDevice>( m_physicalDevice ), &propertyCount, nullptr ) );
+ if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && propertyCount )
+ {
+ properties.resize( propertyCount );
+ result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV(
+ static_cast<VkPhysicalDevice>( m_physicalDevice ),
+ &propertyCount,
+ reinterpret_cast<VkCooperativeMatrixFlexibleDimensionsPropertiesNV *>( properties.data() ) ) );
+ }
+ } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete );
+ VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getCooperativeMatrixFlexibleDimensionsPropertiesNV" );
+ VULKAN_HPP_ASSERT( propertyCount <= properties.size() );
+ if ( propertyCount < properties.size() )
+ {
+ properties.resize( propertyCount );
+ }
+ return properties;
+ }
+
//====================
//=== RAII Helpers ===
//====================