Update for Vulkan-Docs 1.1.121
This commit is contained in:
parent
9eab96f406
commit
5671d014bc
@ -56,7 +56,7 @@
|
||||
# define VULKAN_HPP_ASSERT assert
|
||||
#endif
|
||||
|
||||
static_assert( VK_HEADER_VERSION == 120 , "Wrong VK_HEADER_VERSION!" );
|
||||
static_assert( VK_HEADER_VERSION == 121 , "Wrong VK_HEADER_VERSION!" );
|
||||
|
||||
// 32-bit vulkan is not typesafe for handles, so don't allow copy constructors on this platform by default.
|
||||
// To enable this feature on 32-bit platforms please define VULKAN_HPP_TYPESAFE_CONVERSION
|
||||
@ -4830,7 +4830,8 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
eMirroredRepeat = VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT,
|
||||
eClampToEdge = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE,
|
||||
eClampToBorder = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER,
|
||||
eMirrorClampToEdge = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE
|
||||
eMirrorClampToEdge = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE,
|
||||
eMirrorClampToEdgeKHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR
|
||||
};
|
||||
|
||||
VULKAN_HPP_INLINE std::string to_string( SamplerAddressMode value )
|
||||
@ -5398,6 +5399,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
ePipelineShaderStageRequiredSubgroupSizeCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT,
|
||||
ePhysicalDeviceSubgroupSizeControlFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT,
|
||||
ePhysicalDeviceShaderCoreProperties2AMD = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD,
|
||||
ePhysicalDeviceCoherentMemoryFeaturesAMD = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD,
|
||||
ePhysicalDeviceMemoryBudgetPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT,
|
||||
ePhysicalDeviceMemoryPriorityFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT,
|
||||
eMemoryPriorityAllocateInfoEXT = VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT,
|
||||
@ -5841,6 +5843,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
case StructureType::ePipelineShaderStageRequiredSubgroupSizeCreateInfoEXT : return "PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT";
|
||||
case StructureType::ePhysicalDeviceSubgroupSizeControlFeaturesEXT : return "PhysicalDeviceSubgroupSizeControlFeaturesEXT";
|
||||
case StructureType::ePhysicalDeviceShaderCoreProperties2AMD : return "PhysicalDeviceShaderCoreProperties2AMD";
|
||||
case StructureType::ePhysicalDeviceCoherentMemoryFeaturesAMD : return "PhysicalDeviceCoherentMemoryFeaturesAMD";
|
||||
case StructureType::ePhysicalDeviceMemoryBudgetPropertiesEXT : return "PhysicalDeviceMemoryBudgetPropertiesEXT";
|
||||
case StructureType::ePhysicalDeviceMemoryPriorityFeaturesEXT : return "PhysicalDeviceMemoryPriorityFeaturesEXT";
|
||||
case StructureType::eMemoryPriorityAllocateInfoEXT : return "MemoryPriorityAllocateInfoEXT";
|
||||
@ -8848,7 +8851,9 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
eHostCoherent = VK_MEMORY_PROPERTY_HOST_COHERENT_BIT,
|
||||
eHostCached = VK_MEMORY_PROPERTY_HOST_CACHED_BIT,
|
||||
eLazilyAllocated = VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT,
|
||||
eProtected = VK_MEMORY_PROPERTY_PROTECTED_BIT
|
||||
eProtected = VK_MEMORY_PROPERTY_PROTECTED_BIT,
|
||||
eDeviceCoherentAMD = VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD,
|
||||
eDeviceUncachedAMD = VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD
|
||||
};
|
||||
|
||||
VULKAN_HPP_INLINE std::string to_string( MemoryPropertyFlagBits value )
|
||||
@ -8861,6 +8866,8 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
case MemoryPropertyFlagBits::eHostCached : return "HostCached";
|
||||
case MemoryPropertyFlagBits::eLazilyAllocated : return "LazilyAllocated";
|
||||
case MemoryPropertyFlagBits::eProtected : return "Protected";
|
||||
case MemoryPropertyFlagBits::eDeviceCoherentAMD : return "DeviceCoherentAMD";
|
||||
case MemoryPropertyFlagBits::eDeviceUncachedAMD : return "DeviceUncachedAMD";
|
||||
default: return "invalid";
|
||||
}
|
||||
}
|
||||
@ -8881,7 +8888,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
{
|
||||
enum
|
||||
{
|
||||
allFlags = VkFlags(MemoryPropertyFlagBits::eDeviceLocal) | VkFlags(MemoryPropertyFlagBits::eHostVisible) | VkFlags(MemoryPropertyFlagBits::eHostCoherent) | VkFlags(MemoryPropertyFlagBits::eHostCached) | VkFlags(MemoryPropertyFlagBits::eLazilyAllocated) | VkFlags(MemoryPropertyFlagBits::eProtected)
|
||||
allFlags = VkFlags(MemoryPropertyFlagBits::eDeviceLocal) | VkFlags(MemoryPropertyFlagBits::eHostVisible) | VkFlags(MemoryPropertyFlagBits::eHostCoherent) | VkFlags(MemoryPropertyFlagBits::eHostCached) | VkFlags(MemoryPropertyFlagBits::eLazilyAllocated) | VkFlags(MemoryPropertyFlagBits::eProtected) | VkFlags(MemoryPropertyFlagBits::eDeviceCoherentAMD) | VkFlags(MemoryPropertyFlagBits::eDeviceUncachedAMD)
|
||||
};
|
||||
};
|
||||
|
||||
@ -8896,6 +8903,8 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
if ( value & MemoryPropertyFlagBits::eHostCached ) result += "HostCached | ";
|
||||
if ( value & MemoryPropertyFlagBits::eLazilyAllocated ) result += "LazilyAllocated | ";
|
||||
if ( value & MemoryPropertyFlagBits::eProtected ) result += "Protected | ";
|
||||
if ( value & MemoryPropertyFlagBits::eDeviceCoherentAMD ) result += "DeviceCoherentAMD | ";
|
||||
if ( value & MemoryPropertyFlagBits::eDeviceUncachedAMD ) result += "DeviceUncachedAMD | ";
|
||||
return "{ " + result.substr(0, result.size() - 3) + " }";
|
||||
}
|
||||
|
||||
@ -11504,6 +11513,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
struct PhysicalDeviceBlendOperationAdvancedPropertiesEXT;
|
||||
struct PhysicalDeviceBufferDeviceAddressFeaturesEXT;
|
||||
using PhysicalDeviceBufferAddressFeaturesEXT = PhysicalDeviceBufferDeviceAddressFeaturesEXT;
|
||||
struct PhysicalDeviceCoherentMemoryFeaturesAMD;
|
||||
struct PhysicalDeviceComputeShaderDerivativesFeaturesNV;
|
||||
struct PhysicalDeviceConditionalRenderingFeaturesEXT;
|
||||
struct PhysicalDeviceConservativeRasterizationPropertiesEXT;
|
||||
@ -43193,6 +43203,90 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
static_assert( sizeof( PhysicalDeviceBufferDeviceAddressFeaturesEXT ) == sizeof( VkPhysicalDeviceBufferDeviceAddressFeaturesEXT ), "struct and wrapper have different size!" );
|
||||
static_assert( std::is_standard_layout<PhysicalDeviceBufferDeviceAddressFeaturesEXT>::value, "struct wrapper is not a standard layout!" );
|
||||
|
||||
namespace layout
|
||||
{
|
||||
struct PhysicalDeviceCoherentMemoryFeaturesAMD
|
||||
{
|
||||
protected:
|
||||
PhysicalDeviceCoherentMemoryFeaturesAMD( vk::Bool32 deviceCoherentMemory_ = 0 )
|
||||
: deviceCoherentMemory( deviceCoherentMemory_ )
|
||||
{}
|
||||
|
||||
PhysicalDeviceCoherentMemoryFeaturesAMD( VkPhysicalDeviceCoherentMemoryFeaturesAMD const & rhs )
|
||||
{
|
||||
*reinterpret_cast<VkPhysicalDeviceCoherentMemoryFeaturesAMD*>(this) = rhs;
|
||||
}
|
||||
|
||||
PhysicalDeviceCoherentMemoryFeaturesAMD& operator=( VkPhysicalDeviceCoherentMemoryFeaturesAMD const & rhs )
|
||||
{
|
||||
*reinterpret_cast<VkPhysicalDeviceCoherentMemoryFeaturesAMD*>(this) = rhs;
|
||||
return *this;
|
||||
}
|
||||
|
||||
public:
|
||||
vk::StructureType sType = StructureType::ePhysicalDeviceCoherentMemoryFeaturesAMD;
|
||||
void* pNext = nullptr;
|
||||
vk::Bool32 deviceCoherentMemory;
|
||||
};
|
||||
static_assert( sizeof( PhysicalDeviceCoherentMemoryFeaturesAMD ) == sizeof( VkPhysicalDeviceCoherentMemoryFeaturesAMD ), "layout struct and wrapper have different size!" );
|
||||
}
|
||||
|
||||
struct PhysicalDeviceCoherentMemoryFeaturesAMD : public layout::PhysicalDeviceCoherentMemoryFeaturesAMD
|
||||
{
|
||||
PhysicalDeviceCoherentMemoryFeaturesAMD( vk::Bool32 deviceCoherentMemory_ = 0 )
|
||||
: layout::PhysicalDeviceCoherentMemoryFeaturesAMD( deviceCoherentMemory_ )
|
||||
{}
|
||||
|
||||
PhysicalDeviceCoherentMemoryFeaturesAMD( VkPhysicalDeviceCoherentMemoryFeaturesAMD const & rhs )
|
||||
: layout::PhysicalDeviceCoherentMemoryFeaturesAMD( rhs )
|
||||
{}
|
||||
|
||||
PhysicalDeviceCoherentMemoryFeaturesAMD& operator=( VkPhysicalDeviceCoherentMemoryFeaturesAMD const & rhs )
|
||||
{
|
||||
*reinterpret_cast<VkPhysicalDeviceCoherentMemoryFeaturesAMD*>(this) = rhs;
|
||||
return *this;
|
||||
}
|
||||
|
||||
PhysicalDeviceCoherentMemoryFeaturesAMD & setPNext( void* pNext_ )
|
||||
{
|
||||
pNext = pNext_;
|
||||
return *this;
|
||||
}
|
||||
|
||||
PhysicalDeviceCoherentMemoryFeaturesAMD & setDeviceCoherentMemory( vk::Bool32 deviceCoherentMemory_ )
|
||||
{
|
||||
deviceCoherentMemory = deviceCoherentMemory_;
|
||||
return *this;
|
||||
}
|
||||
|
||||
operator VkPhysicalDeviceCoherentMemoryFeaturesAMD const&() const
|
||||
{
|
||||
return *reinterpret_cast<const VkPhysicalDeviceCoherentMemoryFeaturesAMD*>( this );
|
||||
}
|
||||
|
||||
operator VkPhysicalDeviceCoherentMemoryFeaturesAMD &()
|
||||
{
|
||||
return *reinterpret_cast<VkPhysicalDeviceCoherentMemoryFeaturesAMD*>( this );
|
||||
}
|
||||
|
||||
bool operator==( PhysicalDeviceCoherentMemoryFeaturesAMD const& rhs ) const
|
||||
{
|
||||
return ( sType == rhs.sType )
|
||||
&& ( pNext == rhs.pNext )
|
||||
&& ( deviceCoherentMemory == rhs.deviceCoherentMemory );
|
||||
}
|
||||
|
||||
bool operator!=( PhysicalDeviceCoherentMemoryFeaturesAMD const& rhs ) const
|
||||
{
|
||||
return !operator==( rhs );
|
||||
}
|
||||
|
||||
private:
|
||||
using layout::PhysicalDeviceCoherentMemoryFeaturesAMD::sType;
|
||||
};
|
||||
static_assert( sizeof( PhysicalDeviceCoherentMemoryFeaturesAMD ) == sizeof( VkPhysicalDeviceCoherentMemoryFeaturesAMD ), "struct and wrapper have different size!" );
|
||||
static_assert( std::is_standard_layout<PhysicalDeviceCoherentMemoryFeaturesAMD>::value, "struct wrapper is not a standard layout!" );
|
||||
|
||||
namespace layout
|
||||
{
|
||||
struct PhysicalDeviceComputeShaderDerivativesFeaturesNV
|
||||
@ -70073,6 +70167,8 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
template <> struct isStructureChainValid<PhysicalDeviceProperties2, PhysicalDeviceBlendOperationAdvancedPropertiesEXT>{ enum { value = true }; };
|
||||
template <> struct isStructureChainValid<PhysicalDeviceFeatures2, PhysicalDeviceBufferDeviceAddressFeaturesEXT>{ enum { value = true }; };
|
||||
template <> struct isStructureChainValid<DeviceCreateInfo, PhysicalDeviceBufferDeviceAddressFeaturesEXT>{ enum { value = true }; };
|
||||
template <> struct isStructureChainValid<PhysicalDeviceFeatures2, PhysicalDeviceCoherentMemoryFeaturesAMD>{ enum { value = true }; };
|
||||
template <> struct isStructureChainValid<DeviceCreateInfo, PhysicalDeviceCoherentMemoryFeaturesAMD>{ enum { value = true }; };
|
||||
template <> struct isStructureChainValid<PhysicalDeviceFeatures2, PhysicalDeviceComputeShaderDerivativesFeaturesNV>{ enum { value = true }; };
|
||||
template <> struct isStructureChainValid<DeviceCreateInfo, PhysicalDeviceComputeShaderDerivativesFeaturesNV>{ enum { value = true }; };
|
||||
template <> struct isStructureChainValid<PhysicalDeviceFeatures2, PhysicalDeviceConditionalRenderingFeaturesEXT>{ enum { value = true }; };
|
||||
@ -70135,6 +70231,8 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
template <> struct isStructureChainValid<PhysicalDeviceProperties2, PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX>{ enum { value = true }; };
|
||||
template <> struct isStructureChainValid<PhysicalDeviceProperties2, PhysicalDeviceMultiviewProperties>{ enum { value = true }; };
|
||||
template <> struct isStructureChainValid<PhysicalDeviceProperties2, PhysicalDevicePCIBusInfoPropertiesEXT>{ enum { value = true }; };
|
||||
template <> struct isStructureChainValid<PhysicalDeviceFeatures2, PhysicalDevicePipelineExecutablePropertiesFeaturesKHR>{ enum { value = true }; };
|
||||
template <> struct isStructureChainValid<DeviceCreateInfo, PhysicalDevicePipelineExecutablePropertiesFeaturesKHR>{ enum { value = true }; };
|
||||
template <> struct isStructureChainValid<PhysicalDeviceProperties2, PhysicalDevicePointClippingProperties>{ enum { value = true }; };
|
||||
template <> struct isStructureChainValid<PhysicalDeviceFeatures2, PhysicalDeviceProtectedMemoryFeatures>{ enum { value = true }; };
|
||||
template <> struct isStructureChainValid<DeviceCreateInfo, PhysicalDeviceProtectedMemoryFeatures>{ enum { value = true }; };
|
||||
|
@ -44,7 +44,7 @@ extern "C" {
|
||||
#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff)
|
||||
#define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff)
|
||||
// Version of this file
|
||||
#define VK_HEADER_VERSION 120
|
||||
#define VK_HEADER_VERSION 121
|
||||
|
||||
|
||||
#define VK_NULL_HANDLE 0
|
||||
@ -491,6 +491,7 @@ typedef enum VkStructureType {
|
||||
VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = 1000225001,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT = 1000225002,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD = 1000227000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD = 1000229000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = 1000237000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT = 1000238000,
|
||||
VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT = 1000238001,
|
||||
@ -1241,6 +1242,7 @@ typedef enum VkSamplerAddressMode {
|
||||
VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2,
|
||||
VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3,
|
||||
VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4,
|
||||
VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE,
|
||||
VK_SAMPLER_ADDRESS_MODE_BEGIN_RANGE = VK_SAMPLER_ADDRESS_MODE_REPEAT,
|
||||
VK_SAMPLER_ADDRESS_MODE_END_RANGE = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER,
|
||||
VK_SAMPLER_ADDRESS_MODE_RANGE_SIZE = (VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER - VK_SAMPLER_ADDRESS_MODE_REPEAT + 1),
|
||||
@ -1507,6 +1509,8 @@ typedef enum VkMemoryPropertyFlagBits {
|
||||
VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008,
|
||||
VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010,
|
||||
VK_MEMORY_PROPERTY_PROTECTED_BIT = 0x00000020,
|
||||
VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 0x00000040,
|
||||
VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 0x00000080,
|
||||
VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
|
||||
} VkMemoryPropertyFlagBits;
|
||||
typedef VkFlags VkMemoryPropertyFlags;
|
||||
@ -5081,7 +5085,7 @@ VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImage2KHR(
|
||||
#define VK_KHR_display 1
|
||||
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR)
|
||||
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR)
|
||||
#define VK_KHR_DISPLAY_SPEC_VERSION 21
|
||||
#define VK_KHR_DISPLAY_SPEC_VERSION 23
|
||||
#define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display"
|
||||
|
||||
typedef enum VkDisplayPlaneAlphaFlagBitsKHR {
|
||||
@ -5204,7 +5208,7 @@ VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR(
|
||||
|
||||
|
||||
#define VK_KHR_display_swapchain 1
|
||||
#define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 9
|
||||
#define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 10
|
||||
#define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain"
|
||||
typedef struct VkDisplayPresentInfoKHR {
|
||||
VkStructureType sType;
|
||||
@ -5227,7 +5231,7 @@ VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR(
|
||||
|
||||
|
||||
#define VK_KHR_sampler_mirror_clamp_to_edge 1
|
||||
#define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 1
|
||||
#define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 3
|
||||
#define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge"
|
||||
|
||||
|
||||
@ -5243,7 +5247,7 @@ typedef VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewPropertiesK
|
||||
|
||||
|
||||
#define VK_KHR_get_physical_device_properties2 1
|
||||
#define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 1
|
||||
#define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 2
|
||||
#define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2"
|
||||
typedef VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR;
|
||||
|
||||
@ -5308,7 +5312,7 @@ VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
|
||||
|
||||
|
||||
#define VK_KHR_device_group 1
|
||||
#define VK_KHR_DEVICE_GROUP_SPEC_VERSION 3
|
||||
#define VK_KHR_DEVICE_GROUP_SPEC_VERSION 4
|
||||
#define VK_KHR_DEVICE_GROUP_EXTENSION_NAME "VK_KHR_device_group"
|
||||
typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR;
|
||||
|
||||
@ -6093,7 +6097,7 @@ typedef struct VkImageFormatListCreateInfoKHR {
|
||||
#define VK_KHR_sampler_ycbcr_conversion 1
|
||||
typedef VkSamplerYcbcrConversion VkSamplerYcbcrConversionKHR;
|
||||
|
||||
#define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 1
|
||||
#define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 14
|
||||
#define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion"
|
||||
typedef VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversionKHR;
|
||||
|
||||
@ -6812,7 +6816,7 @@ VKAPI_ATTR uint32_t VKAPI_CALL vkGetImageViewHandleNVX(
|
||||
|
||||
|
||||
#define VK_AMD_draw_indirect_count 1
|
||||
#define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 1
|
||||
#define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 2
|
||||
#define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count"
|
||||
typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
|
||||
typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
|
||||
@ -7048,7 +7052,7 @@ typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT {
|
||||
|
||||
|
||||
#define VK_EXT_conditional_rendering 1
|
||||
#define VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION 1
|
||||
#define VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION 2
|
||||
#define VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME "VK_EXT_conditional_rendering"
|
||||
|
||||
typedef enum VkConditionalRenderingFlagBitsEXT {
|
||||
@ -7680,7 +7684,7 @@ typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT {
|
||||
|
||||
|
||||
#define VK_EXT_hdr_metadata 1
|
||||
#define VK_EXT_HDR_METADATA_SPEC_VERSION 1
|
||||
#define VK_EXT_HDR_METADATA_SPEC_VERSION 2
|
||||
#define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata"
|
||||
typedef struct VkXYColorEXT {
|
||||
float x;
|
||||
@ -7864,7 +7868,7 @@ VKAPI_ATTR void VKAPI_CALL vkSubmitDebugUtilsMessageEXT(
|
||||
|
||||
|
||||
#define VK_EXT_sampler_filter_minmax 1
|
||||
#define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 1
|
||||
#define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 2
|
||||
#define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax"
|
||||
|
||||
typedef enum VkSamplerReductionModeEXT {
|
||||
@ -8742,7 +8746,7 @@ VKAPI_ATTR VkResult VKAPI_CALL vkCompileDeferredNV(
|
||||
|
||||
|
||||
#define VK_NV_representative_fragment_test 1
|
||||
#define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION 1
|
||||
#define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION 2
|
||||
#define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME "VK_NV_representative_fragment_test"
|
||||
typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV {
|
||||
VkStructureType sType;
|
||||
@ -8901,7 +8905,7 @@ VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsEXT(
|
||||
|
||||
|
||||
#define VK_AMD_shader_core_properties 1
|
||||
#define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 1
|
||||
#define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 2
|
||||
#define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties"
|
||||
typedef struct VkPhysicalDeviceShaderCorePropertiesAMD {
|
||||
VkStructureType sType;
|
||||
@ -9091,7 +9095,7 @@ typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV {
|
||||
|
||||
|
||||
#define VK_NV_shader_image_footprint 1
|
||||
#define VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION 1
|
||||
#define VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION 2
|
||||
#define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint"
|
||||
typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV {
|
||||
VkStructureType sType;
|
||||
@ -9452,6 +9456,17 @@ typedef struct VkPhysicalDeviceShaderCoreProperties2AMD {
|
||||
|
||||
|
||||
|
||||
#define VK_AMD_device_coherent_memory 1
|
||||
#define VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION 1
|
||||
#define VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME "VK_AMD_device_coherent_memory"
|
||||
typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
VkBool32 deviceCoherentMemory;
|
||||
} VkPhysicalDeviceCoherentMemoryFeaturesAMD;
|
||||
|
||||
|
||||
|
||||
#define VK_EXT_memory_budget 1
|
||||
#define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1
|
||||
#define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget"
|
||||
|
@ -247,7 +247,7 @@ VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryWin32HandleNV(
|
||||
|
||||
|
||||
#define VK_NV_win32_keyed_mutex 1
|
||||
#define VK_NV_WIN32_KEYED_MUTEX_SPEC_VERSION 1
|
||||
#define VK_NV_WIN32_KEYED_MUTEX_SPEC_VERSION 2
|
||||
#define VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME "VK_NV_win32_keyed_mutex"
|
||||
typedef struct VkWin32KeyedMutexAcquireReleaseInfoNV {
|
||||
VkStructureType sType;
|
||||
@ -264,7 +264,7 @@ typedef struct VkWin32KeyedMutexAcquireReleaseInfoNV {
|
||||
|
||||
|
||||
#define VK_EXT_full_screen_exclusive 1
|
||||
#define VK_EXT_FULL_SCREEN_EXCLUSIVE_SPEC_VERSION 3
|
||||
#define VK_EXT_FULL_SCREEN_EXCLUSIVE_SPEC_VERSION 4
|
||||
#define VK_EXT_FULL_SCREEN_EXCLUSIVE_EXTENSION_NAME "VK_EXT_full_screen_exclusive"
|
||||
|
||||
typedef enum VkFullScreenExclusiveEXT {
|
||||
|
@ -43,6 +43,17 @@ def noneStr(s):
|
||||
return s
|
||||
return ""
|
||||
|
||||
# noneInt - returns string argument as an integer, or default if argument is
|
||||
# None.
|
||||
# Used in converting etree Elements into integers.
|
||||
# s - string to convert
|
||||
# default - default value
|
||||
def noneInt(s, default = 0):
|
||||
if s:
|
||||
return int(s)
|
||||
else:
|
||||
return default
|
||||
|
||||
# enquote - returns string argument with surrounding quotes,
|
||||
# for serialization into Python code.
|
||||
def enquote(s):
|
||||
@ -50,7 +61,7 @@ def enquote(s):
|
||||
return "'{}'".format(s)
|
||||
return None
|
||||
|
||||
# Primary sort key for regSortFeatures.
|
||||
# 1st sort key for regSortFeatures.
|
||||
# Sorts by category of the feature name string:
|
||||
# Core API features (those defined with a <feature> tag)
|
||||
# ARB/KHR/OES (Khronos extensions)
|
||||
@ -66,31 +77,32 @@ def regSortCategoryKey(feature):
|
||||
|
||||
return 2
|
||||
|
||||
# Secondary sort key for regSortFeatures.
|
||||
# Sorts by extension name.
|
||||
def regSortNameKey(feature):
|
||||
return feature.name
|
||||
# 2nd sort key for regSortFeatures.
|
||||
# Sorts by sortorder attribute
|
||||
def regSortOrderKey(feature):
|
||||
return feature.sortorder
|
||||
|
||||
# Second sort key for regSortFeatures.
|
||||
# 3rd sort key for regSortFeatures.
|
||||
# Sorts by feature version. <extension> elements all have version number "0"
|
||||
def regSortFeatureVersionKey(feature):
|
||||
return float(feature.versionNumber)
|
||||
|
||||
# Tertiary sort key for regSortFeatures.
|
||||
# 4th sort key for regSortFeatures.
|
||||
# Sorts by extension number. <feature> elements all have extension number 0.
|
||||
def regSortExtensionNumberKey(feature):
|
||||
return int(feature.number)
|
||||
|
||||
# regSortFeatures - default sort procedure for features.
|
||||
# Sorts by primary key of feature category ('feature' or 'extension')
|
||||
# Sorts by primary key of feature category ('feature', or extension tag)
|
||||
# then by sort order within the category
|
||||
# then by version number (for features)
|
||||
# then by extension number (for extensions)
|
||||
def regSortFeatures(featureList):
|
||||
featureList.sort(key=regSortExtensionNumberKey)
|
||||
featureList.sort(key=regSortFeatureVersionKey)
|
||||
featureList.sort(key=regSortOrderKey)
|
||||
featureList.sort(key=regSortCategoryKey)
|
||||
|
||||
|
||||
# GeneratorOptions - base class for options used during header production
|
||||
# These options are target language independent, and used by
|
||||
# Registry.apiGen() and by base OutputGenerator objects.
|
||||
@ -121,8 +133,9 @@ def regSortFeatures(featureList):
|
||||
# deciding which interfaces to generate).
|
||||
# sortProcedure - takes a list of FeatureInfo objects and sorts
|
||||
# them in place to a preferred order in the generated output.
|
||||
# Default is core API versions, ARB/KHR/OES extensions, all
|
||||
# other extensions, alphabetically within each group.
|
||||
# Default is core API versions, ARB/KHR/OES extensions, all other
|
||||
# extensions, by core API version number or extension number in
|
||||
# each group.
|
||||
# The regex patterns can be None or empty, in which case they match
|
||||
# nothing.
|
||||
class GeneratorOptions:
|
||||
|
0
registry/genvk.py
Normal file → Executable file
0
registry/genvk.py
Normal file → Executable file
85
registry/reg.py
Normal file → Executable file
85
registry/reg.py
Normal file → Executable file
@ -19,7 +19,8 @@ import re
|
||||
import sys
|
||||
import xml.etree.ElementTree as etree
|
||||
from collections import defaultdict, namedtuple
|
||||
from generator import OutputGenerator, write
|
||||
from generator import OutputGenerator, write, noneInt
|
||||
import pdb
|
||||
|
||||
# matchAPIProfile - returns whether an API and profile
|
||||
# being generated matches an element's profile
|
||||
@ -70,6 +71,12 @@ def matchAPIProfile(api, profile, elem):
|
||||
return False
|
||||
return True
|
||||
|
||||
# Print all the keys in an Element - only for diagnostics
|
||||
# def printKeys(msg, elem):
|
||||
# print('printKeys:', msg, file=sys.stderr)
|
||||
# for key in elem.keys():
|
||||
# print(' {} -> {}'.format(key, elem.get(key)), file=sys.stderr)
|
||||
|
||||
# BaseInfo - base class for information about a registry feature
|
||||
# (type/group/enum/command/API/extension).
|
||||
# required - should this feature be defined during header generation
|
||||
@ -89,26 +96,41 @@ class BaseInfo:
|
||||
def resetState(self):
|
||||
self.required = False
|
||||
self.declared = False
|
||||
def compareElem(self, info):
|
||||
# Just compares the tag and attributes.
|
||||
# @@ This should be virtualized. In particular, comparing <enum>
|
||||
# tags requires special-casing on the attributes, as 'extnumber' is
|
||||
# only relevant when 'offset' is present.
|
||||
selfKeys = sorted(self.elem.keys())
|
||||
infoKeys = sorted(info.elem.keys())
|
||||
|
||||
if selfKeys != infoKeys:
|
||||
def compareKeys(self, info, key, required = False):
|
||||
# Return True if self.elem and info.elem have the same attribute
|
||||
# value for key.
|
||||
# If 'required' is not True, also returns True if neither element
|
||||
# has an attribute value for key.
|
||||
if required and key not in self.elem.keys():
|
||||
return False
|
||||
return self.elem.get(key) == info.elem.get(key)
|
||||
def compareElem(self, info, infoName):
|
||||
# Return True if self.elem and info.elem have the same definition
|
||||
# info - the other object
|
||||
# infoName - 'type' / 'group' / 'enum' / 'command' / 'feature' / 'extension'
|
||||
|
||||
# Ignore value of 'extname' and 'extnumber', as these will inherently
|
||||
# be different when redefining the same interface in different feature
|
||||
# and/or extension blocks.
|
||||
for key in selfKeys:
|
||||
if key not in ('extname', 'extnumber') and \
|
||||
(self.elem.get(key) != info.elem.get(key)):
|
||||
if infoName == 'enum':
|
||||
if self.compareKeys(info, 'extends'):
|
||||
# Either both extend the same type, or no type
|
||||
if (self.compareKeys(info, 'value', required = True) or
|
||||
self.compareKeys(info, 'bitpos', required = True)):
|
||||
# If both specify the same value or bit position,
|
||||
# they're equal
|
||||
return True
|
||||
elif (self.compareKeys(info, 'extends') and
|
||||
self.compareKeys(info, 'extnumber') and
|
||||
self.compareKeys(info, 'offset') and
|
||||
self.compareKeys(info, 'dir')):
|
||||
# If both specify the same relative offset, they're equal
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
else:
|
||||
# The same enum can't extend two different types
|
||||
return False
|
||||
|
||||
return True
|
||||
else:
|
||||
# Non-<enum>s should never be redefined
|
||||
return False
|
||||
|
||||
# TypeInfo - registry information about a type. No additional state
|
||||
# beyond BaseInfo is required.
|
||||
@ -164,29 +186,34 @@ class CmdInfo(BaseInfo):
|
||||
# FeatureInfo - registry information about an API <feature>
|
||||
# or <extension>
|
||||
# name - feature name string (e.g. 'VK_KHR_surface')
|
||||
# version - feature version number (e.g. 1.2). <extension>
|
||||
# category - category, e.g. VERSION or khr/vendor tag
|
||||
# version - feature name string
|
||||
# features are unversioned and assigned version number 0.
|
||||
# ** This is confusingly taken from the 'number' attribute of <feature>.
|
||||
# Needs fixing.
|
||||
# versionNumber - API version number, taken from the 'number' attribute
|
||||
# of <feature>. Extensions do not have API version numbers and are
|
||||
# assigned number 0.
|
||||
# number - extension number, used for ordering and for
|
||||
# assigning enumerant offsets. <feature> features do
|
||||
# not have extension numbers and are assigned number 0.
|
||||
# category - category, e.g. VERSION or khr/vendor tag
|
||||
# emit - has this feature been defined already?
|
||||
class FeatureInfo(BaseInfo):
|
||||
"""Represents the state of an API feature (version/extension)"""
|
||||
def __init__(self, elem):
|
||||
BaseInfo.__init__(self, elem)
|
||||
self.name = elem.get('name')
|
||||
# Determine element category (vendor). Only works
|
||||
# for <extension> elements.
|
||||
self.sortorder = noneInt(elem.get('sortorder'), 0)
|
||||
|
||||
if elem.tag == 'feature':
|
||||
# Element category (vendor) is meaningless for <feature>
|
||||
self.category = 'VERSION'
|
||||
self.version = elem.get('name')
|
||||
self.versionNumber = elem.get('number')
|
||||
self.number = "0"
|
||||
self.supported = None
|
||||
else:
|
||||
# Extract vendor portion of VK_<vendor>_<name>
|
||||
self.category = self.name.split('_', 2)[1]
|
||||
self.version = "0"
|
||||
self.versionNumber = "0"
|
||||
@ -295,12 +322,14 @@ class Registry:
|
||||
else:
|
||||
key = elem.get('name')
|
||||
if key in dictionary:
|
||||
if not dictionary[key].compareElem(info):
|
||||
if not dictionary[key].compareElem(info, infoName):
|
||||
self.gen.logMsg('warn', 'Attempt to redefine', key,
|
||||
'with different value (this may be benign)')
|
||||
#else:
|
||||
# self.gen.logMsg('warn', 'Benign redefinition of', key,
|
||||
# 'with identical value')
|
||||
'(this should not happen)')
|
||||
# printKeys('old element', dictionary[key].elem)
|
||||
# printKeys('new element', info.elem)
|
||||
else:
|
||||
# Benign redefinition - intentional cases exist.
|
||||
True
|
||||
else:
|
||||
dictionary[key] = info
|
||||
|
||||
@ -1053,7 +1082,7 @@ class Registry:
|
||||
self.gen.logMsg('diag', 'NOT including extension',
|
||||
extName, '(does not match api attribute or explicitly requested extensions)')
|
||||
|
||||
# Sort the extension features list, if a sort procedure is defined
|
||||
# Sort the features list, if a sort procedure is defined
|
||||
if self.genOpts.sortProcedure:
|
||||
self.genOpts.sortProcedure(features)
|
||||
|
||||
|
File diff suppressed because one or more lines are too long
@ -154,7 +154,7 @@ server.
|
||||
<type category="define">// Vulkan 1.1 version number
|
||||
#define <name>VK_API_VERSION_1_1</name> <type>VK_MAKE_VERSION</type>(1, 1, 0)// Patch version should always be set to 0</type>
|
||||
<type category="define">// Version of this file
|
||||
#define <name>VK_HEADER_VERSION</name> 120</type>
|
||||
#define <name>VK_HEADER_VERSION</name> 121</type>
|
||||
|
||||
<type category="define">
|
||||
#define <name>VK_DEFINE_HANDLE</name>(object) typedef struct object##_T* object;</type>
|
||||
@ -4036,7 +4036,7 @@ typedef void <name>CAMetalLayer</name>;
|
||||
<member><type>VkBool32</type> <name>fragmentShaderPixelInterlock</name></member>
|
||||
<member><type>VkBool32</type> <name>fragmentShaderShadingRateInterlock</name></member>
|
||||
</type>
|
||||
<type category="struct" name="VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR">
|
||||
<type category="struct" name="VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
|
||||
<member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR"><type>VkStructureType</type> <name>sType</name></member>
|
||||
<member><type>void</type>* <name>pNext</name></member>
|
||||
<member><type>VkBool32</type> <name>pipelineExecutableInfo</name></member>
|
||||
@ -4148,6 +4148,11 @@ typedef void <name>CAMetalLayer</name>;
|
||||
<member>const <type>void</type>* <name>pNext</name></member>
|
||||
<member optional="true"><type>VkPipelineCompilerControlFlagsAMD</type> <name>compilerControlFlags</name></member>
|
||||
</type>
|
||||
<type category="struct" name="VkPhysicalDeviceCoherentMemoryFeaturesAMD" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
|
||||
<member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD"><type>VkStructureType</type> <name>sType</name></member>
|
||||
<member noautovalidity="true"><type>void</type>* <name>pNext</name></member>
|
||||
<member><type>VkBool32</type> <name>deviceCoherentMemory</name></member>
|
||||
</type>
|
||||
</types>
|
||||
|
||||
<comment>Vulkan enumerant (token) definitions</comment>
|
||||
@ -7562,14 +7567,14 @@ typedef void <name>CAMetalLayer</name>;
|
||||
<param><type>uint32_t</type> <name>bindInfoCount</name></param>
|
||||
<param len="bindInfoCount">const <type>VkBindAccelerationStructureMemoryInfoNV</type>* <name>pBindInfos</name></param>
|
||||
</command>
|
||||
<command queues="compute" renderpass="both" cmdbufferlevel="primary,secondary">
|
||||
<command queues="compute" renderpass="outside" cmdbufferlevel="primary,secondary">
|
||||
<proto><type>void</type> <name>vkCmdCopyAccelerationStructureNV</name></proto>
|
||||
<param><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
|
||||
<param><type>VkAccelerationStructureNV</type> <name>dst</name></param>
|
||||
<param><type>VkAccelerationStructureNV</type> <name>src</name></param>
|
||||
<param><type>VkCopyAccelerationStructureModeNV</type> <name>mode</name></param>
|
||||
</command>
|
||||
<command queues="compute" renderpass="both" cmdbufferlevel="primary,secondary">
|
||||
<command queues="compute" renderpass="outside" cmdbufferlevel="primary,secondary">
|
||||
<proto><type>void</type> <name>vkCmdWriteAccelerationStructuresPropertiesNV</name></proto>
|
||||
<param><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
|
||||
<param><type>uint32_t</type> <name>accelerationStructureCount</name></param>
|
||||
@ -7578,7 +7583,7 @@ typedef void <name>CAMetalLayer</name>;
|
||||
<param><type>VkQueryPool</type> <name>queryPool</name></param>
|
||||
<param><type>uint32_t</type> <name>firstQuery</name></param>
|
||||
</command>
|
||||
<command queues="compute" renderpass="both" cmdbufferlevel="primary,secondary">
|
||||
<command queues="compute" renderpass="outside" cmdbufferlevel="primary,secondary">
|
||||
<proto><type>void</type> <name>vkCmdBuildAccelerationStructureNV</name></proto>
|
||||
<param><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
|
||||
<param>const <type>VkAccelerationStructureInfoNV</type>* <name>pInfo</name></param>
|
||||
@ -7590,7 +7595,7 @@ typedef void <name>CAMetalLayer</name>;
|
||||
<param><type>VkBuffer</type> <name>scratch</name></param>
|
||||
<param><type>VkDeviceSize</type> <name>scratchOffset</name></param>
|
||||
</command>
|
||||
<command queues="compute" renderpass="both" cmdbufferlevel="primary,secondary">
|
||||
<command queues="compute" renderpass="outside" cmdbufferlevel="primary,secondary">
|
||||
<proto><type>void</type> <name>vkCmdTraceRaysNV</name></proto>
|
||||
<param><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
|
||||
<param><type>VkBuffer</type> <name>raygenShaderBindingTableBuffer</name></param>
|
||||
@ -8383,7 +8388,7 @@ typedef void <name>CAMetalLayer</name>;
|
||||
</extension>
|
||||
<extension name="VK_KHR_display" number="3" type="instance" requires="VK_KHR_surface" author="KHR" contact="James Jones @cubanismo,Norbert Nopper @FslNopper" supported="vulkan">
|
||||
<require>
|
||||
<enum value="21" name="VK_KHR_DISPLAY_SPEC_VERSION"/>
|
||||
<enum value="23" name="VK_KHR_DISPLAY_SPEC_VERSION"/>
|
||||
<enum value=""VK_KHR_display"" name="VK_KHR_DISPLAY_EXTENSION_NAME"/>
|
||||
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR"/>
|
||||
<enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR"/>
|
||||
@ -8409,7 +8414,7 @@ typedef void <name>CAMetalLayer</name>;
|
||||
</extension>
|
||||
<extension name="VK_KHR_display_swapchain" number="4" type="device" requires="VK_KHR_swapchain,VK_KHR_display" author="KHR" contact="James Jones @cubanismo" supported="vulkan">
|
||||
<require>
|
||||
<enum value="9" name="VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION"/>
|
||||
<enum value="10" name="VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION"/>
|
||||
<enum value=""VK_KHR_display_swapchain"" name="VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME"/>
|
||||
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR"/>
|
||||
<enum offset="1" extends="VkResult" dir="-" name="VK_ERROR_INCOMPATIBLE_DISPLAY_KHR"/>
|
||||
@ -8535,9 +8540,10 @@ typedef void <name>CAMetalLayer</name>;
|
||||
</extension>
|
||||
<extension name="VK_KHR_sampler_mirror_clamp_to_edge" type="device" number="15" author="KHR" contact="Tobias Hector @tobski" supported="vulkan">
|
||||
<require>
|
||||
<enum value="1" name="VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION"/>
|
||||
<enum value="3" name="VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION"/>
|
||||
<enum value=""VK_KHR_sampler_mirror_clamp_to_edge"" name="VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME"/>
|
||||
<enum value="4" extends="VkSamplerAddressMode" name="VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE" comment="Note that this defines what was previously a core enum, and so uses the 'value' attribute rather than 'offset', and does not have a suffix. This is a special case, and should not be repeated"/>
|
||||
<enum extends="VkSamplerAddressMode" name="VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR" alias="VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE" comment="Alias introduced for consistency with extension suffixing rules"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_IMG_filter_cubic" number="16" type="device" author="IMG" contact="Tobias Hector @tobski" supported="vulkan">
|
||||
@ -8727,7 +8733,7 @@ typedef void <name>CAMetalLayer</name>;
|
||||
</extension>
|
||||
<extension name="VK_AMD_draw_indirect_count" number="34" type="device" author="AMD" contact="Daniel Rakos @drakos-amd" supported="vulkan" promotedto="VK_KHR_draw_indirect_count">
|
||||
<require>
|
||||
<enum value="1" name="VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION"/>
|
||||
<enum value="2" name="VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION"/>
|
||||
<enum value=""VK_AMD_draw_indirect_count"" name="VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME"/>
|
||||
<command name="vkCmdDrawIndirectCountAMD"/>
|
||||
<command name="vkCmdDrawIndexedIndirectCountAMD"/>
|
||||
@ -8924,7 +8930,7 @@ typedef void <name>CAMetalLayer</name>;
|
||||
</extension>
|
||||
<extension name="VK_NV_win32_keyed_mutex" number="59" type="device" requires="VK_NV_external_memory_win32" author="NV" contact="Carsten Rohde @crohde" platform="win32" supported="vulkan" promotedto="VK_KHR_win32_keyed_mutex">
|
||||
<require>
|
||||
<enum value="1" name="VK_NV_WIN32_KEYED_MUTEX_SPEC_VERSION"/>
|
||||
<enum value="2" name="VK_NV_WIN32_KEYED_MUTEX_SPEC_VERSION"/>
|
||||
<enum value=""VK_NV_win32_keyed_mutex"" name="VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME"/>
|
||||
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV"/>
|
||||
<type name="VkWin32KeyedMutexAcquireReleaseInfoNV"/>
|
||||
@ -8932,7 +8938,7 @@ typedef void <name>CAMetalLayer</name>;
|
||||
</extension>
|
||||
<extension name="VK_KHR_get_physical_device_properties2" number="60" type="instance" author="KHR" contact="Jeff Bolz @jeffbolznv" supported="vulkan" promotedto="VK_VERSION_1_1">
|
||||
<require>
|
||||
<enum value="1" name="VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION"/>
|
||||
<enum value="2" name="VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION"/>
|
||||
<enum value=""VK_KHR_get_physical_device_properties2"" name="VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME"/>
|
||||
<enum extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR" alias="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2"/>
|
||||
<enum extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR" alias="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2"/>
|
||||
@ -8963,7 +8969,7 @@ typedef void <name>CAMetalLayer</name>;
|
||||
</extension>
|
||||
<extension name="VK_KHR_device_group" number="61" type="device" author="KHR" requires="VK_KHR_device_group_creation" contact="Jeff Bolz @jeffbolznv" supported="vulkan" promotedto="VK_VERSION_1_1">
|
||||
<require>
|
||||
<enum value="3" name="VK_KHR_DEVICE_GROUP_SPEC_VERSION"/>
|
||||
<enum value="4" name="VK_KHR_DEVICE_GROUP_SPEC_VERSION"/>
|
||||
<enum value=""VK_KHR_device_group"" name="VK_KHR_DEVICE_GROUP_EXTENSION_NAME"/>
|
||||
<enum extends="VkStructureType" name="VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR" alias="VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO"/>
|
||||
<enum extends="VkStructureType" name="VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR" alias="VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO"/>
|
||||
@ -9285,7 +9291,7 @@ typedef void <name>CAMetalLayer</name>;
|
||||
</extension>
|
||||
<extension name="VK_EXT_conditional_rendering" number="82" type="device" author="NV" contact="Vikram Kushwaha @vkushwaha" supported="vulkan">
|
||||
<require>
|
||||
<enum value="1" name="VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION"/>
|
||||
<enum value="2" name="VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION"/>
|
||||
<enum value=""VK_EXT_conditional_rendering"" name="VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME"/>
|
||||
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT"/>
|
||||
<enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT"/>
|
||||
@ -9592,7 +9598,7 @@ typedef void <name>CAMetalLayer</name>;
|
||||
</extension>
|
||||
<extension name="VK_EXT_hdr_metadata" number="106" type="device" requires="VK_KHR_swapchain" author="GOOGLE" contact="Courtney Goeltzenleuchter @courtney-g" supported="vulkan">
|
||||
<require>
|
||||
<enum value="1" name="VK_EXT_HDR_METADATA_SPEC_VERSION"/>
|
||||
<enum value="2" name="VK_EXT_HDR_METADATA_SPEC_VERSION"/>
|
||||
<enum value=""VK_EXT_hdr_metadata"" name="VK_EXT_HDR_METADATA_EXTENSION_NAME"/>
|
||||
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_HDR_METADATA_EXT"/>
|
||||
<type name="VkHdrMetadataEXT"/>
|
||||
@ -9903,7 +9909,7 @@ typedef void <name>CAMetalLayer</name>;
|
||||
</extension>
|
||||
<extension name="VK_EXT_sampler_filter_minmax" number="131" type="device" author="NV" requires="VK_KHR_get_physical_device_properties2" contact="Jeff Bolz @jeffbolznv" supported="vulkan">
|
||||
<require>
|
||||
<enum value="1" name="VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION"/>
|
||||
<enum value="2" name="VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION"/>
|
||||
<enum value=""VK_EXT_sampler_filter_minmax"" name="VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME"/>
|
||||
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT"/>
|
||||
<enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT"/>
|
||||
@ -10168,7 +10174,7 @@ typedef void <name>CAMetalLayer</name>;
|
||||
</extension>
|
||||
<extension name="VK_KHR_sampler_ycbcr_conversion" number="157" type="device" requires="VK_KHR_maintenance1,VK_KHR_bind_memory2,VK_KHR_get_memory_requirements2,VK_KHR_get_physical_device_properties2" author="KHR" contact="Andrew Garrard @fluppeteer" supported="vulkan" promotedto="VK_VERSION_1_1">
|
||||
<require>
|
||||
<enum value="1" name="VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION"/>
|
||||
<enum value="14" name="VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION"/>
|
||||
<enum value=""VK_KHR_sampler_ycbcr_conversion"" name="VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME"/>
|
||||
<enum extends="VkStructureType" name="VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR" alias="VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO"/>
|
||||
<enum extends="VkStructureType" name="VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR" alias="VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO"/>
|
||||
@ -10451,7 +10457,7 @@ typedef void <name>CAMetalLayer</name>;
|
||||
</extension>
|
||||
<extension name="VK_NV_representative_fragment_test" number="167" type="device" author="NV" contact="Kedarnath Thangudu @kthangudu" supported="vulkan">
|
||||
<require>
|
||||
<enum value="1" name="VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION"/>
|
||||
<enum value="2" name="VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION"/>
|
||||
<enum value=""VK_NV_representative_fragment_test"" name="VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME"/>
|
||||
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV"/>
|
||||
<enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV"/>
|
||||
@ -10613,7 +10619,7 @@ typedef void <name>CAMetalLayer</name>;
|
||||
</extension>
|
||||
<extension name="VK_AMD_shader_core_properties" number="186" type="device" author="AMD" requires="VK_KHR_get_physical_device_properties2" contact="Martin Dinkov @mdinkov" supported="vulkan">
|
||||
<require>
|
||||
<enum value="1" name="VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION"/>
|
||||
<enum value="2" name="VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION"/>
|
||||
<enum value=""VK_AMD_shader_core_properties"" name="VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME"/>
|
||||
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD"/>
|
||||
<type name="VkPhysicalDeviceShaderCorePropertiesAMD"/>
|
||||
@ -10778,7 +10784,7 @@ typedef void <name>CAMetalLayer</name>;
|
||||
</extension>
|
||||
<extension name="VK_NV_shader_image_footprint" number="205" type="device" requires="VK_KHR_get_physical_device_properties2" author="NV" contact="Pat Brown @nvpbrown" supported="vulkan">
|
||||
<require>
|
||||
<enum value="1" name="VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION"/>
|
||||
<enum value="2" name="VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION"/>
|
||||
<enum value=""VK_NV_shader_image_footprint"" name="VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME"/>
|
||||
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV"/>
|
||||
<type name="VkPhysicalDeviceShaderImageFootprintFeaturesNV"/>
|
||||
@ -11021,10 +11027,14 @@ typedef void <name>CAMetalLayer</name>;
|
||||
<enum value=""VK_AMD_extension_229"" name="VK_AMD_EXTENSION_229_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_AMD_extension_230" number="230" author="AMD" contact="Martin Dinkov @mdinkov" supported="disabled">
|
||||
<extension name="VK_AMD_device_coherent_memory" number="230" type="device" author="AMD" contact="Tobias Hector @tobski" supported="vulkan">
|
||||
<require>
|
||||
<enum value="0" name="VK_AMD_EXTENSION_230_SPEC_VERSION"/>
|
||||
<enum value=""VK_AMD_extension_230"" name="VK_AMD_EXTENSION_230_EXTENSION_NAME"/>
|
||||
<enum value="1" name="VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION"/>
|
||||
<enum value=""VK_AMD_device_coherent_memory"" name="VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME"/>
|
||||
<enum bitpos="6" extends="VkMemoryPropertyFlagBits" name="VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD"/>
|
||||
<enum bitpos="7" extends="VkMemoryPropertyFlagBits" name="VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD"/>
|
||||
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD"/>
|
||||
<type name="VkPhysicalDeviceCoherentMemoryFeaturesAMD"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_AMD_extension_231" number="231" author="AMD" contact="Martin Dinkov @mdinkov" supported="disabled">
|
||||
@ -11229,7 +11239,7 @@ typedef void <name>CAMetalLayer</name>;
|
||||
</extension>
|
||||
<extension name="VK_EXT_full_screen_exclusive" number="256" type="device" author="EXT" requires="VK_KHR_get_physical_device_properties2,VK_KHR_surface,VK_KHR_get_surface_capabilities2,VK_KHR_swapchain" platform="win32" contact="James Jones @cubanismo" supported="vulkan">
|
||||
<require>
|
||||
<enum value="3" name="VK_EXT_FULL_SCREEN_EXCLUSIVE_SPEC_VERSION"/>
|
||||
<enum value="4" name="VK_EXT_FULL_SCREEN_EXCLUSIVE_SPEC_VERSION"/>
|
||||
<enum value=""VK_EXT_full_screen_exclusive"" name="VK_EXT_FULL_SCREEN_EXCLUSIVE_EXTENSION_NAME"/>
|
||||
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT"/>
|
||||
<enum offset="2" extends="VkStructureType" name="VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT"/>
|
||||
|
Loading…
x
Reference in New Issue
Block a user