Update for Vulkan-Docs 1.4.320

This commit is contained in:
Jon Leech 2025-06-27 12:05:25 +01:00 committed by Jon Leech
parent 10739e8e00
commit 16cedde356
20 changed files with 138226 additions and 178794 deletions

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -62,33 +62,29 @@ extern "C" {
#define VK_MAKE_API_VERSION(variant, major, minor, patch) \ #define VK_MAKE_API_VERSION(variant, major, minor, patch) \
((((uint32_t)(variant)) << 29U) | (((uint32_t)(major)) << 22U) | (((uint32_t)(minor)) << 12U) | ((uint32_t)(patch))) ((((uint32_t)(variant)) << 29U) | (((uint32_t)(major)) << 22U) | (((uint32_t)(minor)) << 12U) | ((uint32_t)(patch)))
// DEPRECATED: This define has been removed. Specific version defines (e.g. VK_API_VERSION_1_0), or the VK_MAKE_VERSION macro, should be used instead.
//#define VK_API_VERSION VK_MAKE_API_VERSION(0, 1, 0, 0) // Patch version should always be set to 0 //#define VK_API_VERSION VK_MAKE_API_VERSION(0, 1, 0, 0) // Patch version should always be set to 0
// Vulkan 1.0 version number // Vulkan 1.0 version number
#define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0 #define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0
// Version of this file // Version of this file
#define VK_HEADER_VERSION 319 #define VK_HEADER_VERSION 320
// Complete version of this file // Complete version of this file
#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 4, VK_HEADER_VERSION) #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 4, VK_HEADER_VERSION)
// VK_MAKE_VERSION is deprecated, but no reason was given in the API XML
// DEPRECATED: This define is deprecated. VK_MAKE_API_VERSION should be used instead.
#define VK_MAKE_VERSION(major, minor, patch) \ #define VK_MAKE_VERSION(major, minor, patch) \
((((uint32_t)(major)) << 22U) | (((uint32_t)(minor)) << 12U) | ((uint32_t)(patch))) ((((uint32_t)(major)) << 22U) | (((uint32_t)(minor)) << 12U) | ((uint32_t)(patch)))
// VK_VERSION_MAJOR is deprecated, but no reason was given in the API XML
// DEPRECATED: This define is deprecated. VK_API_VERSION_MAJOR should be used instead.
#define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22U) #define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22U)
// VK_VERSION_MINOR is deprecated, but no reason was given in the API XML
// DEPRECATED: This define is deprecated. VK_API_VERSION_MINOR should be used instead.
#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12U) & 0x3FFU) #define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12U) & 0x3FFU)
// VK_VERSION_PATCH is deprecated, but no reason was given in the API XML
// DEPRECATED: This define is deprecated. VK_API_VERSION_PATCH should be used instead.
#define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU) #define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU)
#define VK_API_VERSION_VARIANT(version) ((uint32_t)(version) >> 29U) #define VK_API_VERSION_VARIANT(version) ((uint32_t)(version) >> 29U)
@ -21784,9 +21780,9 @@ VKAPI_ATTR void VKAPI_CALL vkQueueNotifyOutOfBandNV(
// VK_ARM_data_graph is a preprocessor guard. Do not pass it to API calls. // VK_ARM_data_graph is a preprocessor guard. Do not pass it to API calls.
#define VK_ARM_data_graph 1 #define VK_ARM_data_graph 1
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDataGraphPipelineSessionARM) VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDataGraphPipelineSessionARM)
#define VK_MAX_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_SET_NAME_SIZE_ARM 128U
#define VK_ARM_DATA_GRAPH_SPEC_VERSION 1 #define VK_ARM_DATA_GRAPH_SPEC_VERSION 1
#define VK_ARM_DATA_GRAPH_EXTENSION_NAME "VK_ARM_data_graph" #define VK_ARM_DATA_GRAPH_EXTENSION_NAME "VK_ARM_data_graph"
#define VK_MAX_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_SET_NAME_SIZE_ARM 128U
typedef enum VkDataGraphPipelineSessionBindPointARM { typedef enum VkDataGraphPipelineSessionBindPointARM {
VK_DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_TRANSIENT_ARM = 0, VK_DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_TRANSIENT_ARM = 0,

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -5,6 +5,7 @@
// This header is generated from the Khronos Vulkan XML API Registry. // This header is generated from the Khronos Vulkan XML API Registry.
#ifndef VULKAN_HPP_MACROS_HPP #ifndef VULKAN_HPP_MACROS_HPP
#define VULKAN_HPP_MACROS_HPP #define VULKAN_HPP_MACROS_HPP
@ -92,12 +93,11 @@
#endif #endif
#ifndef VK_USE_64_BIT_PTR_DEFINES #ifndef VK_USE_64_BIT_PTR_DEFINES
# if defined( __LP64__ ) || defined( _WIN64 ) || ( defined( __x86_64__ ) && !defined( __ILP32__ ) ) || defined( _M_X64 ) || defined( __ia64 ) || \ #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__) || (defined(__riscv) && __riscv_xlen == 64)
defined( _M_IA64 ) || defined( __aarch64__ ) || defined( __powerpc64__ ) || ( defined( __riscv ) && __riscv_xlen == 64 ) #define VK_USE_64_BIT_PTR_DEFINES 1
# define VK_USE_64_BIT_PTR_DEFINES 1 #else
# else #define VK_USE_64_BIT_PTR_DEFINES 0
# define VK_USE_64_BIT_PTR_DEFINES 0 #endif
# endif
#endif #endif
// 32-bit vulkan is not typesafe for non-dispatchable handles, so don't allow copy constructors on this platform by default. // 32-bit vulkan is not typesafe for non-dispatchable handles, so don't allow copy constructors on this platform by default.
@ -259,7 +259,7 @@ namespace VULKAN_HPP_NAMESPACE
{ {
namespace detail namespace detail
{ {
class DispatchLoaderDynamic; class DispatchLoaderDynamic;
#if !defined( VULKAN_HPP_DEFAULT_DISPATCHER ) #if !defined( VULKAN_HPP_DEFAULT_DISPATCHER )
# if VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 # if VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1
@ -323,4 +323,5 @@ namespace VULKAN_HPP_NAMESPACE
# define VULKAN_HPP_RAII_CREATE_NOEXCEPT # define VULKAN_HPP_RAII_CREATE_NOEXCEPT
#endif #endif
#endif #endif

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

View file

@ -37,6 +37,7 @@ namespace VULKAN_HPP_NAMESPACE
//=== ENUMs === //=== ENUMs ===
//============= //=============
#if defined( VULKAN_VIDEO_CODEC_H264STD_H_ )
//=== vulkan_video_codec_h264std === //=== vulkan_video_codec_h264std ===
enum class H264ChromaFormatIdc enum class H264ChromaFormatIdc
@ -185,7 +186,9 @@ namespace VULKAN_HPP_NAMESPACE
ePrecoded = STD_VIDEO_H264_NON_VCL_NALU_TYPE_PRECODED, ePrecoded = STD_VIDEO_H264_NON_VCL_NALU_TYPE_PRECODED,
eInvalid = STD_VIDEO_H264_NON_VCL_NALU_TYPE_INVALID eInvalid = STD_VIDEO_H264_NON_VCL_NALU_TYPE_INVALID
}; };
#endif
#if defined( VULKAN_VIDEO_CODEC_H264STD_DECODE_H_ )
//=== vulkan_video_codec_h264std_decode === //=== vulkan_video_codec_h264std_decode ===
enum class DecodeH264FieldOrderCount enum class DecodeH264FieldOrderCount
@ -194,7 +197,9 @@ namespace VULKAN_HPP_NAMESPACE
eBottom = STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_BOTTOM, eBottom = STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_BOTTOM,
eInvalid = STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_INVALID eInvalid = STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_INVALID
}; };
#endif
#if defined( VULKAN_VIDEO_CODEC_H265STD_H_ )
//=== vulkan_video_codec_h265std === //=== vulkan_video_codec_h265std ===
enum class H265ChromaFormatIdc enum class H265ChromaFormatIdc
@ -273,7 +278,9 @@ namespace VULKAN_HPP_NAMESPACE
eExtendedSar = STD_VIDEO_H265_ASPECT_RATIO_IDC_EXTENDED_SAR, eExtendedSar = STD_VIDEO_H265_ASPECT_RATIO_IDC_EXTENDED_SAR,
eInvalid = STD_VIDEO_H265_ASPECT_RATIO_IDC_INVALID eInvalid = STD_VIDEO_H265_ASPECT_RATIO_IDC_INVALID
}; };
#endif
#if defined( VULKAN_VIDEO_CODEC_VP9STD_H_ )
//=== vulkan_video_codec_vp9std === //=== vulkan_video_codec_vp9std ===
enum class VP9Profile enum class VP9Profile
@ -342,7 +349,9 @@ namespace VULKAN_HPP_NAMESPACE
eRgb = STD_VIDEO_VP9_COLOR_SPACE_RGB, eRgb = STD_VIDEO_VP9_COLOR_SPACE_RGB,
eInvalid = STD_VIDEO_VP9_COLOR_SPACE_INVALID eInvalid = STD_VIDEO_VP9_COLOR_SPACE_INVALID
}; };
#endif
#if defined( VULKAN_VIDEO_CODEC_AV1STD_H_ )
//=== vulkan_video_codec_av1std === //=== vulkan_video_codec_av1std ===
enum class AV1Profile enum class AV1Profile
@ -502,11 +511,13 @@ namespace VULKAN_HPP_NAMESPACE
eReserved = STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_RESERVED, eReserved = STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_RESERVED,
eInvalid = STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_INVALID eInvalid = STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_INVALID
}; };
#endif
//=============== //===============
//=== STRUCTS === //=== STRUCTS ===
//=============== //===============
#if defined( VULKAN_VIDEO_CODEC_H264STD_H_ )
//=== vulkan_video_codec_h264std === //=== vulkan_video_codec_h264std ===
struct H264SpsVuiFlags struct H264SpsVuiFlags
@ -960,7 +971,9 @@ namespace VULKAN_HPP_NAMESPACE
int8_t second_chroma_qp_index_offset = {}; int8_t second_chroma_qp_index_offset = {};
const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H264ScalingLists * pScalingLists = {}; const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H264ScalingLists * pScalingLists = {};
}; };
#endif
#if defined( VULKAN_VIDEO_CODEC_H264STD_DECODE_H_ )
//=== vulkan_video_codec_h264std_decode === //=== vulkan_video_codec_h264std_decode ===
struct DecodeH264PictureInfoFlags struct DecodeH264PictureInfoFlags
@ -1137,7 +1150,9 @@ namespace VULKAN_HPP_NAMESPACE
uint16_t reserved = {}; uint16_t reserved = {};
VULKAN_HPP_NAMESPACE::ArrayWrapper1D<int32_t, STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE> PicOrderCnt = {}; VULKAN_HPP_NAMESPACE::ArrayWrapper1D<int32_t, STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE> PicOrderCnt = {};
}; };
#endif
#if defined( VULKAN_VIDEO_CODEC_H264STD_ENCODE_H_ )
//=== vulkan_video_codec_h264std_encode === //=== vulkan_video_codec_h264std_encode ===
struct EncodeH264WeightTableFlags struct EncodeH264WeightTableFlags
@ -1688,7 +1703,9 @@ namespace VULKAN_HPP_NAMESPACE
VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H264DisableDeblockingFilterIdc::eDisabled; VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H264DisableDeblockingFilterIdc::eDisabled;
const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::EncodeH264WeightTable * pWeightTable = {}; const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::EncodeH264WeightTable * pWeightTable = {};
}; };
#endif
#if defined( VULKAN_VIDEO_CODEC_H265STD_H_ )
//=== vulkan_video_codec_h265std === //=== vulkan_video_codec_h265std ===
struct H265DecPicBufMgr struct H265DecPicBufMgr
@ -2805,7 +2822,9 @@ namespace VULKAN_HPP_NAMESPACE
const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H265ScalingLists * pScalingLists = {}; const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H265ScalingLists * pScalingLists = {};
const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H265PredictorPaletteEntries * pPredictorPaletteEntries = {}; const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H265PredictorPaletteEntries * pPredictorPaletteEntries = {};
}; };
#endif
#if defined( VULKAN_VIDEO_CODEC_H265STD_DECODE_H_ )
//=== vulkan_video_codec_h265std_decode === //=== vulkan_video_codec_h265std_decode ===
struct DecodeH265PictureInfoFlags struct DecodeH265PictureInfoFlags
@ -2980,7 +2999,9 @@ namespace VULKAN_HPP_NAMESPACE
VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::DecodeH265ReferenceInfoFlags flags = {}; VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::DecodeH265ReferenceInfoFlags flags = {};
int32_t PicOrderCntVal = {}; int32_t PicOrderCntVal = {};
}; };
#endif
#if defined( VULKAN_VIDEO_CODEC_H265STD_ENCODE_H_ )
//=== vulkan_video_codec_h265std_encode === //=== vulkan_video_codec_h265std_encode ===
struct EncodeH265WeightTableFlags struct EncodeH265WeightTableFlags
@ -3513,7 +3534,9 @@ namespace VULKAN_HPP_NAMESPACE
int32_t PicOrderCntVal = {}; int32_t PicOrderCntVal = {};
uint8_t TemporalId = {}; uint8_t TemporalId = {};
}; };
#endif
#if defined( VULKAN_VIDEO_CODEC_VP9STD_H_ )
//=== vulkan_video_codec_vp9std === //=== vulkan_video_codec_vp9std ===
struct VP9ColorConfigFlags struct VP9ColorConfigFlags
@ -3772,7 +3795,9 @@ namespace VULKAN_HPP_NAMESPACE
VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, STD_VIDEO_VP9_MAX_SEGMENTS> FeatureEnabled = {}; VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, STD_VIDEO_VP9_MAX_SEGMENTS> FeatureEnabled = {};
VULKAN_HPP_NAMESPACE::ArrayWrapper2D<int16_t, STD_VIDEO_VP9_MAX_SEGMENTS, STD_VIDEO_VP9_SEG_LVL_MAX> FeatureData = {}; VULKAN_HPP_NAMESPACE::ArrayWrapper2D<int16_t, STD_VIDEO_VP9_MAX_SEGMENTS, STD_VIDEO_VP9_SEG_LVL_MAX> FeatureData = {};
}; };
#endif
#if defined( VULKAN_VIDEO_CODEC_VP9STD_DECODE_H_ )
//=== vulkan_video_codec_vp9std_decode === //=== vulkan_video_codec_vp9std_decode ===
struct DecodeVP9PictureInfoFlags struct DecodeVP9PictureInfoFlags
@ -3885,7 +3910,9 @@ namespace VULKAN_HPP_NAMESPACE
const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::VP9LoopFilter * pLoopFilter = {}; const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::VP9LoopFilter * pLoopFilter = {};
const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::VP9Segmentation * pSegmentation = {}; const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::VP9Segmentation * pSegmentation = {};
}; };
#endif
#if defined( VULKAN_VIDEO_CODEC_AV1STD_H_ )
//=== vulkan_video_codec_av1std === //=== vulkan_video_codec_av1std ===
struct AV1ColorConfigFlags struct AV1ColorConfigFlags
@ -4725,7 +4752,9 @@ namespace VULKAN_HPP_NAMESPACE
const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::AV1ColorConfig * pColorConfig = {}; const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::AV1ColorConfig * pColorConfig = {};
const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::AV1TimingInfo * pTimingInfo = {}; const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::AV1TimingInfo * pTimingInfo = {};
}; };
#endif
#if defined( VULKAN_VIDEO_CODEC_AV1STD_DECODE_H_ )
//=== vulkan_video_codec_av1std_decode === //=== vulkan_video_codec_av1std_decode ===
struct DecodeAV1PictureInfoFlags struct DecodeAV1PictureInfoFlags
@ -4959,7 +4988,9 @@ namespace VULKAN_HPP_NAMESPACE
uint8_t OrderHint = {}; uint8_t OrderHint = {};
VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, STD_VIDEO_AV1_NUM_REF_FRAMES> SavedOrderHints = {}; VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, STD_VIDEO_AV1_NUM_REF_FRAMES> SavedOrderHints = {};
}; };
#endif
#if defined( VULKAN_VIDEO_CODEC_AV1STD_ENCODE_H_ )
//=== vulkan_video_codec_av1std_encode === //=== vulkan_video_codec_av1std_encode ===
struct EncodeAV1DecoderModelInfo struct EncodeAV1DecoderModelInfo
@ -5372,6 +5403,7 @@ namespace VULKAN_HPP_NAMESPACE
VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, 3> reserved1 = {}; VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, 3> reserved1 = {};
const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::EncodeAV1ExtensionHeader * pExtensionHeader = {}; const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::EncodeAV1ExtensionHeader * pExtensionHeader = {};
}; };
#endif
} // namespace VULKAN_HPP_VIDEO_NAMESPACE } // namespace VULKAN_HPP_VIDEO_NAMESPACE
} // namespace VULKAN_HPP_NAMESPACE } // namespace VULKAN_HPP_NAMESPACE

View file

@ -10,7 +10,7 @@ import tempfile
from vulkan_object import (VulkanObject, from vulkan_object import (VulkanObject,
Extension, Version, Deprecate, Handle, Param, Queues, CommandScope, Command, Extension, Version, Deprecate, Handle, Param, Queues, CommandScope, Command,
EnumField, Enum, Flag, Bitmask, ExternSync, Flags, Member, Struct, EnumField, Enum, Flag, Bitmask, ExternSync, Flags, Member, Struct,
FormatComponent, FormatPlane, Format, Constant, FormatComponent, FormatPlane, Format,
SyncSupport, SyncEquivalent, SyncStage, SyncAccess, SyncPipelineStage, SyncPipeline, SyncSupport, SyncEquivalent, SyncStage, SyncAccess, SyncPipelineStage, SyncPipeline,
SpirvEnables, Spirv) SpirvEnables, Spirv)
@ -71,6 +71,7 @@ def getQueues(elem) -> Queues:
queues |= Queues.OPTICAL_FLOW if 'opticalflow' in queues_list else 0 queues |= Queues.OPTICAL_FLOW if 'opticalflow' in queues_list else 0
queues |= Queues.DECODE if 'decode' in queues_list else 0 queues |= Queues.DECODE if 'decode' in queues_list else 0
queues |= Queues.ENCODE if 'encode' in queues_list else 0 queues |= Queues.ENCODE if 'encode' in queues_list else 0
queues |= Queues.DATA_GRAPH if 'data_graph' in queues_list else 0
return queues return queues
# Shared object used by Sync elements that do not have ones # Shared object used by Sync elements that do not have ones
@ -391,11 +392,31 @@ class BaseGenerator(OutputGenerator):
self.vk.handles[self.dealias(value, self.handleAliasMap)].aliases.append(key) self.vk.handles[self.dealias(value, self.handleAliasMap)].aliases.append(key)
def addConstants(self):
for constantName in [k for k,v in self.registry.enumvaluedict.items() if v == 'API Constants']:
enumInfo = self.registry.enumdict[constantName]
typeName = enumInfo.type
valueStr = enumInfo.elem.get('value')
# These values are represented in c-style
if valueStr.upper().endswith('F'):
value = float(valueStr[:-1])
elif valueStr.upper().endswith('U)'):
inner_number = int(valueStr.removeprefix("(~").removesuffix(")")[:-1])
value = (~inner_number) & ((1 << 32) - 1)
elif valueStr.upper().endswith('ULL)'):
inner_number = int(valueStr.removeprefix("(~").removesuffix(")")[:-3])
value = (~0) & ((1 << 64) - 1)
else:
value = int(valueStr)
self.vk.constants[constantName] = Constant(constantName, typeName, value, valueStr)
def endFile(self): def endFile(self):
# This is the point were reg.py has ran, everything is collected # This is the point were reg.py has ran, everything is collected
# We do some post processing now # We do some post processing now
self.applyExtensionDependency() self.applyExtensionDependency()
self.addConstants()
# Use structs and commands to find which things are returnedOnly # Use structs and commands to find which things are returnedOnly
for struct in [x for x in self.vk.structs.values() if not x.returnedOnly]: for struct in [x for x in self.vk.structs.values() if not x.returnedOnly]:
for enum in [self.vk.enums[x.type] for x in struct.members if x.type in self.vk.enums]: for enum in [self.vk.enums[x.type] for x in struct.members if x.type in self.vk.enums]:
@ -427,7 +448,10 @@ class BaseGenerator(OutputGenerator):
handle.device = next_parent.name == 'VkDevice' handle.device = next_parent.name == 'VkDevice'
next_parent = next_parent.parent next_parent = next_parent.parent
maxSyncSupport.queues = Queues.ALL # This use to be Queues.ALL, but there is no real concept of "all"
# Found this just needs to be something non-None
maxSyncSupport.queues = Queues.TRANSFER
maxSyncSupport.stages = self.vk.bitmasks['VkPipelineStageFlagBits2'].flags maxSyncSupport.stages = self.vk.bitmasks['VkPipelineStageFlagBits2'].flags
maxSyncEquivalent.accesses = self.vk.bitmasks['VkAccessFlagBits2'].flags maxSyncEquivalent.accesses = self.vk.bitmasks['VkAccessFlagBits2'].flags
maxSyncEquivalent.stages = self.vk.bitmasks['VkPipelineStageFlagBits2'].flags maxSyncEquivalent.stages = self.vk.bitmasks['VkPipelineStageFlagBits2'].flags
@ -562,6 +586,7 @@ class BaseGenerator(OutputGenerator):
tasks = splitIfGet(attrib, 'tasks') tasks = splitIfGet(attrib, 'tasks')
queues = getQueues(attrib) queues = getQueues(attrib)
allowNoQueues = boolGet(attrib, 'allownoqueues')
successcodes = splitIfGet(attrib, 'successcodes') successcodes = splitIfGet(attrib, 'successcodes')
errorcodes = splitIfGet(attrib, 'errorcodes') errorcodes = splitIfGet(attrib, 'errorcodes')
cmdbufferlevel = attrib.get('cmdbufferlevel') cmdbufferlevel = attrib.get('cmdbufferlevel')
@ -598,7 +623,7 @@ class BaseGenerator(OutputGenerator):
self.vk.commands[name] = Command(name, alias, protect, [], self.currentVersion, self.vk.commands[name] = Command(name, alias, protect, [], self.currentVersion,
returnType, params, instance, device, returnType, params, instance, device,
tasks, queues, successcodes, errorcodes, tasks, queues, allowNoQueues, successcodes, errorcodes,
primary, secondary, renderpass, videocoding, primary, secondary, renderpass, videocoding,
implicitExternSyncParams, deprecate, cPrototype, cFunctionPointer) implicitExternSyncParams, deprecate, cPrototype, cFunctionPointer)

View file

@ -1,9 +1,9 @@
{ {
"version info": { "version info": {
"schema version": 2, "schema version": 2,
"api version": "1.4.319", "api version": "1.4.320",
"comment": "from git branch: github-main commit: 0dd79adbba6afe2b8e135aba53b0af9c87f616e1", "comment": "from git branch: github-main commit: 1eef90d1d1e00c514393544164b0536ec4803cbb",
"date": "2025-06-20 11:58:49Z" "date": "2025-06-27 10:15:06Z"
}, },
"validation": { "validation": {
"vkGetInstanceProcAddr": { "vkGetInstanceProcAddr": {
@ -46397,12 +46397,7 @@
}, },
{ {
"vuid": "VUID-vkCmdDraw-blendEnable-04727", "vuid": "VUID-vkCmdDraw-blendEnable-04727",
"text": "If rasterization is not disabled in the bound graphics pipeline, then for each color attachment in the subpass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the <code>blendEnable</code> member of the corresponding element of the <code>pAttachments</code> member of <code>pColorBlendState</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>", "text": "If a shader object is bound to the <code>VK_SHADER_STAGE_FRAGMENT_BIT</code> stage or a graphics pipeline is bound which was created with <code>VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT</code> dynamic state enabled, the <a href=\"#dynamic-state-current-value\">current value</a> of <code>rasterizerDiscardEnable</code> is <code>VK_FALSE</code>, then for each color attachment, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the corresponding <a href=\"#dynamic-state-current-value\">current value</a> of <code>blendEnable</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>",
"page": "chapters/drawing.html"
},
{
"vuid": "VUID-vkCmdDraw-None-08643",
"text": "If a shader object is bound to the <code>VK_SHADER_STAGE_FRAGMENT_BIT</code> stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then for each color attachment in the render pass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the corresponding member of <code>pColorBlendEnables</code> in the most recent call to <code>vkCmdSetColorBlendEnableEXT</code> in the current command buffer that affected that attachment index <strong class=\"purple\">must</strong> have been <code>VK_FALSE</code>",
"page": "chapters/drawing.html" "page": "chapters/drawing.html"
}, },
{ {
@ -48031,12 +48026,7 @@
}, },
{ {
"vuid": "VUID-vkCmdDrawIndexed-blendEnable-04727", "vuid": "VUID-vkCmdDrawIndexed-blendEnable-04727",
"text": "If rasterization is not disabled in the bound graphics pipeline, then for each color attachment in the subpass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the <code>blendEnable</code> member of the corresponding element of the <code>pAttachments</code> member of <code>pColorBlendState</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>", "text": "If a shader object is bound to the <code>VK_SHADER_STAGE_FRAGMENT_BIT</code> stage or a graphics pipeline is bound which was created with <code>VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT</code> dynamic state enabled, the <a href=\"#dynamic-state-current-value\">current value</a> of <code>rasterizerDiscardEnable</code> is <code>VK_FALSE</code>, then for each color attachment, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the corresponding <a href=\"#dynamic-state-current-value\">current value</a> of <code>blendEnable</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>",
"page": "chapters/drawing.html"
},
{
"vuid": "VUID-vkCmdDrawIndexed-None-08643",
"text": "If a shader object is bound to the <code>VK_SHADER_STAGE_FRAGMENT_BIT</code> stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then for each color attachment in the render pass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the corresponding member of <code>pColorBlendEnables</code> in the most recent call to <code>vkCmdSetColorBlendEnableEXT</code> in the current command buffer that affected that attachment index <strong class=\"purple\">must</strong> have been <code>VK_FALSE</code>",
"page": "chapters/drawing.html" "page": "chapters/drawing.html"
}, },
{ {
@ -49675,12 +49665,7 @@
}, },
{ {
"vuid": "VUID-vkCmdDrawMultiEXT-blendEnable-04727", "vuid": "VUID-vkCmdDrawMultiEXT-blendEnable-04727",
"text": "If rasterization is not disabled in the bound graphics pipeline, then for each color attachment in the subpass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the <code>blendEnable</code> member of the corresponding element of the <code>pAttachments</code> member of <code>pColorBlendState</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>", "text": "If a shader object is bound to the <code>VK_SHADER_STAGE_FRAGMENT_BIT</code> stage or a graphics pipeline is bound which was created with <code>VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT</code> dynamic state enabled, the <a href=\"#dynamic-state-current-value\">current value</a> of <code>rasterizerDiscardEnable</code> is <code>VK_FALSE</code>, then for each color attachment, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the corresponding <a href=\"#dynamic-state-current-value\">current value</a> of <code>blendEnable</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>",
"page": "chapters/drawing.html"
},
{
"vuid": "VUID-vkCmdDrawMultiEXT-None-08643",
"text": "If a shader object is bound to the <code>VK_SHADER_STAGE_FRAGMENT_BIT</code> stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then for each color attachment in the render pass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the corresponding member of <code>pColorBlendEnables</code> in the most recent call to <code>vkCmdSetColorBlendEnableEXT</code> in the current command buffer that affected that attachment index <strong class=\"purple\">must</strong> have been <code>VK_FALSE</code>",
"page": "chapters/drawing.html" "page": "chapters/drawing.html"
}, },
{ {
@ -51329,12 +51314,7 @@
}, },
{ {
"vuid": "VUID-vkCmdDrawMultiIndexedEXT-blendEnable-04727", "vuid": "VUID-vkCmdDrawMultiIndexedEXT-blendEnable-04727",
"text": "If rasterization is not disabled in the bound graphics pipeline, then for each color attachment in the subpass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the <code>blendEnable</code> member of the corresponding element of the <code>pAttachments</code> member of <code>pColorBlendState</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>", "text": "If a shader object is bound to the <code>VK_SHADER_STAGE_FRAGMENT_BIT</code> stage or a graphics pipeline is bound which was created with <code>VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT</code> dynamic state enabled, the <a href=\"#dynamic-state-current-value\">current value</a> of <code>rasterizerDiscardEnable</code> is <code>VK_FALSE</code>, then for each color attachment, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the corresponding <a href=\"#dynamic-state-current-value\">current value</a> of <code>blendEnable</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>",
"page": "chapters/drawing.html"
},
{
"vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-08643",
"text": "If a shader object is bound to the <code>VK_SHADER_STAGE_FRAGMENT_BIT</code> stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then for each color attachment in the render pass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the corresponding member of <code>pColorBlendEnables</code> in the most recent call to <code>vkCmdSetColorBlendEnableEXT</code> in the current command buffer that affected that attachment index <strong class=\"purple\">must</strong> have been <code>VK_FALSE</code>",
"page": "chapters/drawing.html" "page": "chapters/drawing.html"
}, },
{ {
@ -52998,12 +52978,7 @@
}, },
{ {
"vuid": "VUID-vkCmdDrawIndirect-blendEnable-04727", "vuid": "VUID-vkCmdDrawIndirect-blendEnable-04727",
"text": "If rasterization is not disabled in the bound graphics pipeline, then for each color attachment in the subpass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the <code>blendEnable</code> member of the corresponding element of the <code>pAttachments</code> member of <code>pColorBlendState</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>", "text": "If a shader object is bound to the <code>VK_SHADER_STAGE_FRAGMENT_BIT</code> stage or a graphics pipeline is bound which was created with <code>VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT</code> dynamic state enabled, the <a href=\"#dynamic-state-current-value\">current value</a> of <code>rasterizerDiscardEnable</code> is <code>VK_FALSE</code>, then for each color attachment, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the corresponding <a href=\"#dynamic-state-current-value\">current value</a> of <code>blendEnable</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>",
"page": "chapters/drawing.html"
},
{
"vuid": "VUID-vkCmdDrawIndirect-None-08643",
"text": "If a shader object is bound to the <code>VK_SHADER_STAGE_FRAGMENT_BIT</code> stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then for each color attachment in the render pass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the corresponding member of <code>pColorBlendEnables</code> in the most recent call to <code>vkCmdSetColorBlendEnableEXT</code> in the current command buffer that affected that attachment index <strong class=\"purple\">must</strong> have been <code>VK_FALSE</code>",
"page": "chapters/drawing.html" "page": "chapters/drawing.html"
}, },
{ {
@ -54681,12 +54656,7 @@
}, },
{ {
"vuid": "VUID-vkCmdDrawIndirectCount-blendEnable-04727", "vuid": "VUID-vkCmdDrawIndirectCount-blendEnable-04727",
"text": "If rasterization is not disabled in the bound graphics pipeline, then for each color attachment in the subpass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the <code>blendEnable</code> member of the corresponding element of the <code>pAttachments</code> member of <code>pColorBlendState</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>", "text": "If a shader object is bound to the <code>VK_SHADER_STAGE_FRAGMENT_BIT</code> stage or a graphics pipeline is bound which was created with <code>VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT</code> dynamic state enabled, the <a href=\"#dynamic-state-current-value\">current value</a> of <code>rasterizerDiscardEnable</code> is <code>VK_FALSE</code>, then for each color attachment, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the corresponding <a href=\"#dynamic-state-current-value\">current value</a> of <code>blendEnable</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>",
"page": "chapters/drawing.html"
},
{
"vuid": "VUID-vkCmdDrawIndirectCount-None-08643",
"text": "If a shader object is bound to the <code>VK_SHADER_STAGE_FRAGMENT_BIT</code> stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then for each color attachment in the render pass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the corresponding member of <code>pColorBlendEnables</code> in the most recent call to <code>vkCmdSetColorBlendEnableEXT</code> in the current command buffer that affected that attachment index <strong class=\"purple\">must</strong> have been <code>VK_FALSE</code>",
"page": "chapters/drawing.html" "page": "chapters/drawing.html"
}, },
{ {
@ -56365,12 +56335,7 @@
}, },
{ {
"vuid": "VUID-vkCmdDrawIndexedIndirect-blendEnable-04727", "vuid": "VUID-vkCmdDrawIndexedIndirect-blendEnable-04727",
"text": "If rasterization is not disabled in the bound graphics pipeline, then for each color attachment in the subpass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the <code>blendEnable</code> member of the corresponding element of the <code>pAttachments</code> member of <code>pColorBlendState</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>", "text": "If a shader object is bound to the <code>VK_SHADER_STAGE_FRAGMENT_BIT</code> stage or a graphics pipeline is bound which was created with <code>VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT</code> dynamic state enabled, the <a href=\"#dynamic-state-current-value\">current value</a> of <code>rasterizerDiscardEnable</code> is <code>VK_FALSE</code>, then for each color attachment, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the corresponding <a href=\"#dynamic-state-current-value\">current value</a> of <code>blendEnable</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>",
"page": "chapters/drawing.html"
},
{
"vuid": "VUID-vkCmdDrawIndexedIndirect-None-08643",
"text": "If a shader object is bound to the <code>VK_SHADER_STAGE_FRAGMENT_BIT</code> stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then for each color attachment in the render pass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the corresponding member of <code>pColorBlendEnables</code> in the most recent call to <code>vkCmdSetColorBlendEnableEXT</code> in the current command buffer that affected that attachment index <strong class=\"purple\">must</strong> have been <code>VK_FALSE</code>",
"page": "chapters/drawing.html" "page": "chapters/drawing.html"
}, },
{ {
@ -58058,12 +58023,7 @@
}, },
{ {
"vuid": "VUID-vkCmdDrawIndexedIndirectCount-blendEnable-04727", "vuid": "VUID-vkCmdDrawIndexedIndirectCount-blendEnable-04727",
"text": "If rasterization is not disabled in the bound graphics pipeline, then for each color attachment in the subpass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the <code>blendEnable</code> member of the corresponding element of the <code>pAttachments</code> member of <code>pColorBlendState</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>", "text": "If a shader object is bound to the <code>VK_SHADER_STAGE_FRAGMENT_BIT</code> stage or a graphics pipeline is bound which was created with <code>VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT</code> dynamic state enabled, the <a href=\"#dynamic-state-current-value\">current value</a> of <code>rasterizerDiscardEnable</code> is <code>VK_FALSE</code>, then for each color attachment, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the corresponding <a href=\"#dynamic-state-current-value\">current value</a> of <code>blendEnable</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>",
"page": "chapters/drawing.html"
},
{
"vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-08643",
"text": "If a shader object is bound to the <code>VK_SHADER_STAGE_FRAGMENT_BIT</code> stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then for each color attachment in the render pass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the corresponding member of <code>pColorBlendEnables</code> in the most recent call to <code>vkCmdSetColorBlendEnableEXT</code> in the current command buffer that affected that attachment index <strong class=\"purple\">must</strong> have been <code>VK_FALSE</code>",
"page": "chapters/drawing.html" "page": "chapters/drawing.html"
}, },
{ {
@ -59747,12 +59707,7 @@
}, },
{ {
"vuid": "VUID-vkCmdDrawIndirectByteCountEXT-blendEnable-04727", "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-blendEnable-04727",
"text": "If rasterization is not disabled in the bound graphics pipeline, then for each color attachment in the subpass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the <code>blendEnable</code> member of the corresponding element of the <code>pAttachments</code> member of <code>pColorBlendState</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>", "text": "If a shader object is bound to the <code>VK_SHADER_STAGE_FRAGMENT_BIT</code> stage or a graphics pipeline is bound which was created with <code>VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT</code> dynamic state enabled, the <a href=\"#dynamic-state-current-value\">current value</a> of <code>rasterizerDiscardEnable</code> is <code>VK_FALSE</code>, then for each color attachment, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the corresponding <a href=\"#dynamic-state-current-value\">current value</a> of <code>blendEnable</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>",
"page": "chapters/drawing.html"
},
{
"vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-08643",
"text": "If a shader object is bound to the <code>VK_SHADER_STAGE_FRAGMENT_BIT</code> stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then for each color attachment in the render pass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the corresponding member of <code>pColorBlendEnables</code> in the most recent call to <code>vkCmdSetColorBlendEnableEXT</code> in the current command buffer that affected that attachment index <strong class=\"purple\">must</strong> have been <code>VK_FALSE</code>",
"page": "chapters/drawing.html" "page": "chapters/drawing.html"
}, },
{ {
@ -61538,12 +61493,7 @@
}, },
{ {
"vuid": "VUID-vkCmdDrawMeshTasksNV-blendEnable-04727", "vuid": "VUID-vkCmdDrawMeshTasksNV-blendEnable-04727",
"text": "If rasterization is not disabled in the bound graphics pipeline, then for each color attachment in the subpass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the <code>blendEnable</code> member of the corresponding element of the <code>pAttachments</code> member of <code>pColorBlendState</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>", "text": "If a shader object is bound to the <code>VK_SHADER_STAGE_FRAGMENT_BIT</code> stage or a graphics pipeline is bound which was created with <code>VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT</code> dynamic state enabled, the <a href=\"#dynamic-state-current-value\">current value</a> of <code>rasterizerDiscardEnable</code> is <code>VK_FALSE</code>, then for each color attachment, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the corresponding <a href=\"#dynamic-state-current-value\">current value</a> of <code>blendEnable</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>",
"page": "chapters/drawing.html"
},
{
"vuid": "VUID-vkCmdDrawMeshTasksNV-None-08643",
"text": "If a shader object is bound to the <code>VK_SHADER_STAGE_FRAGMENT_BIT</code> stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then for each color attachment in the render pass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the corresponding member of <code>pColorBlendEnables</code> in the most recent call to <code>vkCmdSetColorBlendEnableEXT</code> in the current command buffer that affected that attachment index <strong class=\"purple\">must</strong> have been <code>VK_FALSE</code>",
"page": "chapters/drawing.html" "page": "chapters/drawing.html"
}, },
{ {
@ -63077,12 +63027,7 @@
}, },
{ {
"vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-blendEnable-04727", "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-blendEnable-04727",
"text": "If rasterization is not disabled in the bound graphics pipeline, then for each color attachment in the subpass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the <code>blendEnable</code> member of the corresponding element of the <code>pAttachments</code> member of <code>pColorBlendState</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>", "text": "If a shader object is bound to the <code>VK_SHADER_STAGE_FRAGMENT_BIT</code> stage or a graphics pipeline is bound which was created with <code>VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT</code> dynamic state enabled, the <a href=\"#dynamic-state-current-value\">current value</a> of <code>rasterizerDiscardEnable</code> is <code>VK_FALSE</code>, then for each color attachment, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the corresponding <a href=\"#dynamic-state-current-value\">current value</a> of <code>blendEnable</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>",
"page": "chapters/drawing.html"
},
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-08643",
"text": "If a shader object is bound to the <code>VK_SHADER_STAGE_FRAGMENT_BIT</code> stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then for each color attachment in the render pass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the corresponding member of <code>pColorBlendEnables</code> in the most recent call to <code>vkCmdSetColorBlendEnableEXT</code> in the current command buffer that affected that attachment index <strong class=\"purple\">must</strong> have been <code>VK_FALSE</code>",
"page": "chapters/drawing.html" "page": "chapters/drawing.html"
}, },
{ {
@ -64675,12 +64620,7 @@
}, },
{ {
"vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-blendEnable-04727", "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-blendEnable-04727",
"text": "If rasterization is not disabled in the bound graphics pipeline, then for each color attachment in the subpass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the <code>blendEnable</code> member of the corresponding element of the <code>pAttachments</code> member of <code>pColorBlendState</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>", "text": "If a shader object is bound to the <code>VK_SHADER_STAGE_FRAGMENT_BIT</code> stage or a graphics pipeline is bound which was created with <code>VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT</code> dynamic state enabled, the <a href=\"#dynamic-state-current-value\">current value</a> of <code>rasterizerDiscardEnable</code> is <code>VK_FALSE</code>, then for each color attachment, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the corresponding <a href=\"#dynamic-state-current-value\">current value</a> of <code>blendEnable</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>",
"page": "chapters/drawing.html"
},
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08643",
"text": "If a shader object is bound to the <code>VK_SHADER_STAGE_FRAGMENT_BIT</code> stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then for each color attachment in the render pass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the corresponding member of <code>pColorBlendEnables</code> in the most recent call to <code>vkCmdSetColorBlendEnableEXT</code> in the current command buffer that affected that attachment index <strong class=\"purple\">must</strong> have been <code>VK_FALSE</code>",
"page": "chapters/drawing.html" "page": "chapters/drawing.html"
}, },
{ {
@ -66284,12 +66224,7 @@
}, },
{ {
"vuid": "VUID-vkCmdDrawMeshTasksEXT-blendEnable-04727", "vuid": "VUID-vkCmdDrawMeshTasksEXT-blendEnable-04727",
"text": "If rasterization is not disabled in the bound graphics pipeline, then for each color attachment in the subpass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the <code>blendEnable</code> member of the corresponding element of the <code>pAttachments</code> member of <code>pColorBlendState</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>", "text": "If a shader object is bound to the <code>VK_SHADER_STAGE_FRAGMENT_BIT</code> stage or a graphics pipeline is bound which was created with <code>VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT</code> dynamic state enabled, the <a href=\"#dynamic-state-current-value\">current value</a> of <code>rasterizerDiscardEnable</code> is <code>VK_FALSE</code>, then for each color attachment, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the corresponding <a href=\"#dynamic-state-current-value\">current value</a> of <code>blendEnable</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>",
"page": "chapters/drawing.html"
},
{
"vuid": "VUID-vkCmdDrawMeshTasksEXT-None-08643",
"text": "If a shader object is bound to the <code>VK_SHADER_STAGE_FRAGMENT_BIT</code> stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then for each color attachment in the render pass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the corresponding member of <code>pColorBlendEnables</code> in the most recent call to <code>vkCmdSetColorBlendEnableEXT</code> in the current command buffer that affected that attachment index <strong class=\"purple\">must</strong> have been <code>VK_FALSE</code>",
"page": "chapters/drawing.html" "page": "chapters/drawing.html"
}, },
{ {
@ -67858,12 +67793,7 @@
}, },
{ {
"vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-blendEnable-04727", "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-blendEnable-04727",
"text": "If rasterization is not disabled in the bound graphics pipeline, then for each color attachment in the subpass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the <code>blendEnable</code> member of the corresponding element of the <code>pAttachments</code> member of <code>pColorBlendState</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>", "text": "If a shader object is bound to the <code>VK_SHADER_STAGE_FRAGMENT_BIT</code> stage or a graphics pipeline is bound which was created with <code>VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT</code> dynamic state enabled, the <a href=\"#dynamic-state-current-value\">current value</a> of <code>rasterizerDiscardEnable</code> is <code>VK_FALSE</code>, then for each color attachment, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the corresponding <a href=\"#dynamic-state-current-value\">current value</a> of <code>blendEnable</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>",
"page": "chapters/drawing.html"
},
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08643",
"text": "If a shader object is bound to the <code>VK_SHADER_STAGE_FRAGMENT_BIT</code> stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then for each color attachment in the render pass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the corresponding member of <code>pColorBlendEnables</code> in the most recent call to <code>vkCmdSetColorBlendEnableEXT</code> in the current command buffer that affected that attachment index <strong class=\"purple\">must</strong> have been <code>VK_FALSE</code>",
"page": "chapters/drawing.html" "page": "chapters/drawing.html"
}, },
{ {
@ -69491,12 +69421,7 @@
}, },
{ {
"vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-blendEnable-04727", "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-blendEnable-04727",
"text": "If rasterization is not disabled in the bound graphics pipeline, then for each color attachment in the subpass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the <code>blendEnable</code> member of the corresponding element of the <code>pAttachments</code> member of <code>pColorBlendState</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>", "text": "If a shader object is bound to the <code>VK_SHADER_STAGE_FRAGMENT_BIT</code> stage or a graphics pipeline is bound which was created with <code>VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT</code> dynamic state enabled, the <a href=\"#dynamic-state-current-value\">current value</a> of <code>rasterizerDiscardEnable</code> is <code>VK_FALSE</code>, then for each color attachment, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the corresponding <a href=\"#dynamic-state-current-value\">current value</a> of <code>blendEnable</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>",
"page": "chapters/drawing.html"
},
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08643",
"text": "If a shader object is bound to the <code>VK_SHADER_STAGE_FRAGMENT_BIT</code> stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then for each color attachment in the render pass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the corresponding member of <code>pColorBlendEnables</code> in the most recent call to <code>vkCmdSetColorBlendEnableEXT</code> in the current command buffer that affected that attachment index <strong class=\"purple\">must</strong> have been <code>VK_FALSE</code>",
"page": "chapters/drawing.html" "page": "chapters/drawing.html"
}, },
{ {
@ -71100,12 +71025,7 @@
}, },
{ {
"vuid": "VUID-vkCmdDrawClusterHUAWEI-blendEnable-04727", "vuid": "VUID-vkCmdDrawClusterHUAWEI-blendEnable-04727",
"text": "If rasterization is not disabled in the bound graphics pipeline, then for each color attachment in the subpass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the <code>blendEnable</code> member of the corresponding element of the <code>pAttachments</code> member of <code>pColorBlendState</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>", "text": "If a shader object is bound to the <code>VK_SHADER_STAGE_FRAGMENT_BIT</code> stage or a graphics pipeline is bound which was created with <code>VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT</code> dynamic state enabled, the <a href=\"#dynamic-state-current-value\">current value</a> of <code>rasterizerDiscardEnable</code> is <code>VK_FALSE</code>, then for each color attachment, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the corresponding <a href=\"#dynamic-state-current-value\">current value</a> of <code>blendEnable</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>",
"page": "chapters/drawing.html"
},
{
"vuid": "VUID-vkCmdDrawClusterHUAWEI-None-08643",
"text": "If a shader object is bound to the <code>VK_SHADER_STAGE_FRAGMENT_BIT</code> stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then for each color attachment in the render pass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the corresponding member of <code>pColorBlendEnables</code> in the most recent call to <code>vkCmdSetColorBlendEnableEXT</code> in the current command buffer that affected that attachment index <strong class=\"purple\">must</strong> have been <code>VK_FALSE</code>",
"page": "chapters/drawing.html" "page": "chapters/drawing.html"
}, },
{ {
@ -72654,12 +72574,7 @@
}, },
{ {
"vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-blendEnable-04727", "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-blendEnable-04727",
"text": "If rasterization is not disabled in the bound graphics pipeline, then for each color attachment in the subpass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the <code>blendEnable</code> member of the corresponding element of the <code>pAttachments</code> member of <code>pColorBlendState</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>", "text": "If a shader object is bound to the <code>VK_SHADER_STAGE_FRAGMENT_BIT</code> stage or a graphics pipeline is bound which was created with <code>VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT</code> dynamic state enabled, the <a href=\"#dynamic-state-current-value\">current value</a> of <code>rasterizerDiscardEnable</code> is <code>VK_FALSE</code>, then for each color attachment, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the corresponding <a href=\"#dynamic-state-current-value\">current value</a> of <code>blendEnable</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>",
"page": "chapters/drawing.html"
},
{
"vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-08643",
"text": "If a shader object is bound to the <code>VK_SHADER_STAGE_FRAGMENT_BIT</code> stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then for each color attachment in the render pass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the corresponding member of <code>pColorBlendEnables</code> in the most recent call to <code>vkCmdSetColorBlendEnableEXT</code> in the current command buffer that affected that attachment index <strong class=\"purple\">must</strong> have been <code>VK_FALSE</code>",
"page": "chapters/drawing.html" "page": "chapters/drawing.html"
}, },
{ {
@ -82950,12 +82865,7 @@
}, },
{ {
"vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-blendEnable-04727", "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-blendEnable-04727",
"text": "If rasterization is not disabled in the bound graphics pipeline, then for each color attachment in the subpass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the <code>blendEnable</code> member of the corresponding element of the <code>pAttachments</code> member of <code>pColorBlendState</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>", "text": "If a shader object is bound to the <code>VK_SHADER_STAGE_FRAGMENT_BIT</code> stage or a graphics pipeline is bound which was created with <code>VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT</code> dynamic state enabled, the <a href=\"#dynamic-state-current-value\">current value</a> of <code>rasterizerDiscardEnable</code> is <code>VK_FALSE</code>, then for each color attachment, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the corresponding <a href=\"#dynamic-state-current-value\">current value</a> of <code>blendEnable</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>",
"page": "chapters/device_generated_commands/generatedcommands.html"
},
{
"vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-08643",
"text": "If a shader object is bound to the <code>VK_SHADER_STAGE_FRAGMENT_BIT</code> stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then for each color attachment in the render pass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the corresponding member of <code>pColorBlendEnables</code> in the most recent call to <code>vkCmdSetColorBlendEnableEXT</code> in the current command buffer that affected that attachment index <strong class=\"purple\">must</strong> have been <code>VK_FALSE</code>",
"page": "chapters/device_generated_commands/generatedcommands.html" "page": "chapters/device_generated_commands/generatedcommands.html"
}, },
{ {
@ -84817,12 +84727,7 @@
}, },
{ {
"vuid": "VUID-vkCmdExecuteGeneratedCommandsEXT-blendEnable-04727", "vuid": "VUID-vkCmdExecuteGeneratedCommandsEXT-blendEnable-04727",
"text": "If rasterization is not disabled in the bound graphics pipeline, then for each color attachment in the subpass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the <code>blendEnable</code> member of the corresponding element of the <code>pAttachments</code> member of <code>pColorBlendState</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>", "text": "If a shader object is bound to the <code>VK_SHADER_STAGE_FRAGMENT_BIT</code> stage or a graphics pipeline is bound which was created with <code>VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT</code> dynamic state enabled, the <a href=\"#dynamic-state-current-value\">current value</a> of <code>rasterizerDiscardEnable</code> is <code>VK_FALSE</code>, then for each color attachment, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the corresponding <a href=\"#dynamic-state-current-value\">current value</a> of <code>blendEnable</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>",
"page": "chapters/device_generated_commands/generatedcommands.html"
},
{
"vuid": "VUID-vkCmdExecuteGeneratedCommandsEXT-None-08643",
"text": "If a shader object is bound to the <code>VK_SHADER_STAGE_FRAGMENT_BIT</code> stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then for each color attachment in the render pass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the corresponding member of <code>pColorBlendEnables</code> in the most recent call to <code>vkCmdSetColorBlendEnableEXT</code> in the current command buffer that affected that attachment index <strong class=\"purple\">must</strong> have been <code>VK_FALSE</code>",
"page": "chapters/device_generated_commands/generatedcommands.html" "page": "chapters/device_generated_commands/generatedcommands.html"
}, },
{ {
@ -99967,22 +99872,22 @@
}, },
{ {
"vuid": "VUID-vkCmdDecodeVideoKHR-pDecodeInfo-10801", "vuid": "VUID-vkCmdDecodeVideoKHR-pDecodeInfo-10801",
"text": "If <code>pDecodeInfo-&gt;pSetupReferenceSlot</code> is <code>NULL</code> or <code>pDecodeInfo-&gt;pSetupReferenceSlot-&gt;pPictureResource</code> does not <a href=\"#video-image-subresource-reference\">refer</a> to the same image subresource as <code>pDecodeInfo-&gt;dstPictureResource</code>, then the image subresource <a href=\"#video-image-subresource-reference\">referred</a> to by <code>pDecodeInfo-&gt;dstPictureResource</code> <strong class=\"purple\">must</strong> be in the <code>VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR</code> layout at the time the video decode operation is executed on the device , unless the <a href=\"#features-unifiedImageLayoutsVideo\"><code>unifiedImageLayoutsVideo</code></a> feature is <code>VK_TRUE</code>, in which case it <strong class=\"purple\">may</strong> be in the <code>VK_IMAGE_LAYOUT_GENERAL</code> layout", "text": "If <code>pDecodeInfo-&gt;pSetupReferenceSlot</code> is <code>NULL</code> or <code>pDecodeInfo-&gt;pSetupReferenceSlot-&gt;pPictureResource</code> does not <a href=\"#video-image-subresource-reference\">refer</a> to the same image subresource as <code>pDecodeInfo-&gt;dstPictureResource</code>, then the image subresource <a href=\"#video-image-subresource-reference\">referred</a> to by <code>pDecodeInfo-&gt;dstPictureResource</code> <strong class=\"purple\">must</strong> be in the <code>VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR</code> layout at the time the video decode operation is executed on the device , unless the <a href=\"#features-unifiedImageLayoutsVideo\"><code>unifiedImageLayoutsVideo</code></a> feature is enabled, in which case it <strong class=\"purple\">may</strong> be in the <code>VK_IMAGE_LAYOUT_GENERAL</code> layout",
"page": "chapters/videocoding.html" "page": "chapters/videocoding.html"
}, },
{ {
"vuid": "VUID-vkCmdDecodeVideoKHR-pDecodeInfo-10802", "vuid": "VUID-vkCmdDecodeVideoKHR-pDecodeInfo-10802",
"text": "If <code>pDecodeInfo-&gt;pSetupReferenceSlot</code> is not <code>NULL</code> and <code>pDecodeInfo-&gt;pSetupReferenceSlot-&gt;pPictureResource</code> <a href=\"#video-image-subresource-reference\">refers</a> to the same image subresource as <code>pDecodeInfo-&gt;dstPictureResource</code>, then the image subresource <a href=\"#video-image-subresource-reference\">referred</a> to by <code>pDecodeInfo-&gt;dstPictureResource</code> <strong class=\"purple\">must</strong> be in the <code>VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR</code> layout at the time the video decode operation is executed on the device , unless the <a href=\"#features-unifiedImageLayoutsVideo\"><code>unifiedImageLayoutsVideo</code></a> feature is <code>VK_TRUE</code>, in which case it <strong class=\"purple\">may</strong> be in the <code>VK_IMAGE_LAYOUT_GENERAL</code> layout", "text": "If <code>pDecodeInfo-&gt;pSetupReferenceSlot</code> is not <code>NULL</code> and <code>pDecodeInfo-&gt;pSetupReferenceSlot-&gt;pPictureResource</code> <a href=\"#video-image-subresource-reference\">refers</a> to the same image subresource as <code>pDecodeInfo-&gt;dstPictureResource</code>, then the image subresource <a href=\"#video-image-subresource-reference\">referred</a> to by <code>pDecodeInfo-&gt;dstPictureResource</code> <strong class=\"purple\">must</strong> be in the <code>VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR</code> layout at the time the video decode operation is executed on the device , unless the <a href=\"#features-unifiedImageLayoutsVideo\"><code>unifiedImageLayoutsVideo</code></a> feature is enabled, in which case it <strong class=\"purple\">may</strong> be in the <code>VK_IMAGE_LAYOUT_GENERAL</code> layout",
"page": "chapters/videocoding.html" "page": "chapters/videocoding.html"
}, },
{ {
"vuid": "VUID-vkCmdDecodeVideoKHR-pDecodeInfo-10803", "vuid": "VUID-vkCmdDecodeVideoKHR-pDecodeInfo-10803",
"text": "If <code>pDecodeInfo-&gt;pSetupReferenceSlot</code> is not <code>NULL</code>, then the image subresource <a href=\"#video-image-subresource-reference\">referred</a> to by <code>pDecodeInfo-&gt;pSetupReferenceSlot-&gt;pPictureResource</code> <strong class=\"purple\">must</strong> be in the <code>VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR</code> layout at the time the video decode operation is executed on the device , unless the <a href=\"#features-unifiedImageLayoutsVideo\"><code>unifiedImageLayoutsVideo</code></a> feature is <code>VK_TRUE</code>, in which case it <strong class=\"purple\">may</strong> be in the <code>VK_IMAGE_LAYOUT_GENERAL</code> layout", "text": "If <code>pDecodeInfo-&gt;pSetupReferenceSlot</code> is not <code>NULL</code>, then the image subresource <a href=\"#video-image-subresource-reference\">referred</a> to by <code>pDecodeInfo-&gt;pSetupReferenceSlot-&gt;pPictureResource</code> <strong class=\"purple\">must</strong> be in the <code>VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR</code> layout at the time the video decode operation is executed on the device , unless the <a href=\"#features-unifiedImageLayoutsVideo\"><code>unifiedImageLayoutsVideo</code></a> feature is enabled, in which case it <strong class=\"purple\">may</strong> be in the <code>VK_IMAGE_LAYOUT_GENERAL</code> layout",
"page": "chapters/videocoding.html" "page": "chapters/videocoding.html"
}, },
{ {
"vuid": "VUID-vkCmdDecodeVideoKHR-pPictureResource-10804", "vuid": "VUID-vkCmdDecodeVideoKHR-pPictureResource-10804",
"text": "The image subresource <a href=\"#video-image-subresource-reference\">referred</a> to by the <code>pPictureResource</code> member of each element of <code>pDecodeInfo-&gt;pReferenceSlots</code> <strong class=\"purple\">must</strong> be in the <code>VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR</code> layout at the time the video decode operation is executed on the device , unless the <a href=\"#features-unifiedImageLayoutsVideo\"><code>unifiedImageLayoutsVideo</code></a> feature is <code>VK_TRUE</code>, in which case it <strong class=\"purple\">may</strong> be in the <code>VK_IMAGE_LAYOUT_GENERAL</code> layout", "text": "The image subresource <a href=\"#video-image-subresource-reference\">referred</a> to by the <code>pPictureResource</code> member of each element of <code>pDecodeInfo-&gt;pReferenceSlots</code> <strong class=\"purple\">must</strong> be in the <code>VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR</code> layout at the time the video decode operation is executed on the device , unless the <a href=\"#features-unifiedImageLayoutsVideo\"><code>unifiedImageLayoutsVideo</code></a> feature is enabled, in which case it <strong class=\"purple\">may</strong> be in the <code>VK_IMAGE_LAYOUT_GENERAL</code> layout",
"page": "chapters/videocoding.html" "page": "chapters/videocoding.html"
}, },
{ {
@ -101084,17 +100989,17 @@
}, },
{ {
"vuid": "VUID-vkCmdEncodeVideoKHR-pEncodeInfo-10811", "vuid": "VUID-vkCmdEncodeVideoKHR-pEncodeInfo-10811",
"text": "The image subresource <a href=\"#video-image-subresource-reference\">referred</a> to by <code>pEncodeInfo-&gt;srcPictureResource</code> <strong class=\"purple\">must</strong> be in the <code>VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR</code> layout at the time the video encode operation is executed on the device , unless the <a href=\"#features-unifiedImageLayoutsVideo\"><code>unifiedImageLayoutsVideo</code></a> feature is <code>VK_TRUE</code>, in which case it <strong class=\"purple\">may</strong> be in the <code>VK_IMAGE_LAYOUT_GENERAL</code> layout", "text": "The image subresource <a href=\"#video-image-subresource-reference\">referred</a> to by <code>pEncodeInfo-&gt;srcPictureResource</code> <strong class=\"purple\">must</strong> be in the <code>VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR</code> layout at the time the video encode operation is executed on the device , unless the <a href=\"#features-unifiedImageLayoutsVideo\"><code>unifiedImageLayoutsVideo</code></a> feature is enabled, in which case it <strong class=\"purple\">may</strong> be in the <code>VK_IMAGE_LAYOUT_GENERAL</code> layout",
"page": "chapters/videocoding.html" "page": "chapters/videocoding.html"
}, },
{ {
"vuid": "VUID-vkCmdEncodeVideoKHR-pEncodeInfo-10812", "vuid": "VUID-vkCmdEncodeVideoKHR-pEncodeInfo-10812",
"text": "If <code>pEncodeInfo-&gt;pSetupReferenceSlot</code> is not <code>NULL</code>, then the image subresource <a href=\"#video-image-subresource-reference\">referred</a> to by <code>pEncodeInfo-&gt;pSetupReferenceSlot-&gt;pPictureResource</code> <strong class=\"purple\">must</strong> be in the <code>VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR</code> layout at the time the video encode operation is executed on the device , unless the <a href=\"#features-unifiedImageLayoutsVideo\"><code>unifiedImageLayoutsVideo</code></a> feature is <code>VK_TRUE</code>, in which case it <strong class=\"purple\">may</strong> be in the <code>VK_IMAGE_LAYOUT_GENERAL</code> layout", "text": "If <code>pEncodeInfo-&gt;pSetupReferenceSlot</code> is not <code>NULL</code>, then the image subresource <a href=\"#video-image-subresource-reference\">referred</a> to by <code>pEncodeInfo-&gt;pSetupReferenceSlot-&gt;pPictureResource</code> <strong class=\"purple\">must</strong> be in the <code>VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR</code> layout at the time the video encode operation is executed on the device , unless the <a href=\"#features-unifiedImageLayoutsVideo\"><code>unifiedImageLayoutsVideo</code></a> feature is enabled, in which case it <strong class=\"purple\">may</strong> be in the <code>VK_IMAGE_LAYOUT_GENERAL</code> layout",
"page": "chapters/videocoding.html" "page": "chapters/videocoding.html"
}, },
{ {
"vuid": "VUID-vkCmdEncodeVideoKHR-pPictureResource-10813", "vuid": "VUID-vkCmdEncodeVideoKHR-pPictureResource-10813",
"text": "The image subresource <a href=\"#video-image-subresource-reference\">referred</a> to by the <code>pPictureResource</code> member of each element of <code>pEncodeInfo-&gt;pReferenceSlots</code> <strong class=\"purple\">must</strong> be in the <code>VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR</code> layout at the time the video encode operation is executed on the device , unless the <a href=\"#features-unifiedImageLayoutsVideo\"><code>unifiedImageLayoutsVideo</code></a> feature is <code>VK_TRUE</code>, in which case it <strong class=\"purple\">may</strong> be in the <code>VK_IMAGE_LAYOUT_GENERAL</code> layout", "text": "The image subresource <a href=\"#video-image-subresource-reference\">referred</a> to by the <code>pPictureResource</code> member of each element of <code>pEncodeInfo-&gt;pReferenceSlots</code> <strong class=\"purple\">must</strong> be in the <code>VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR</code> layout at the time the video encode operation is executed on the device , unless the <a href=\"#features-unifiedImageLayoutsVideo\"><code>unifiedImageLayoutsVideo</code></a> feature is enabled, in which case it <strong class=\"purple\">may</strong> be in the <code>VK_IMAGE_LAYOUT_GENERAL</code> layout",
"page": "chapters/videocoding.html" "page": "chapters/videocoding.html"
}, },
{ {
@ -101139,7 +101044,7 @@
}, },
{ {
"vuid": "VUID-vkCmdEncodeVideoKHR-pNext-10314", "vuid": "VUID-vkCmdEncodeVideoKHR-pNext-10314",
"text": "If an instance of the <a href=\"#VkVideoEncodeQuantizationMapInfoKHR\">VkVideoEncodeQuantizationMapInfoKHR</a> structure is included in the <code>pNext</code> chain of <code>pEncodeInfo</code> and its <code>quantizationMap</code> member is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, then the image subresource range referenced by <code>quantizationMap</code> <strong class=\"purple\">must</strong> be in the <code>VK_IMAGE_LAYOUT_VIDEO_ENCODE_QUANTIZATION_MAP_KHR</code> layout at the time the video encode operation is executed on the device , unless the <a href=\"#features-unifiedImageLayoutsVideo\"><code>unifiedImageLayoutsVideo</code></a> feature is <code>VK_TRUE</code>, in which case it <strong class=\"purple\">may</strong> be in the <code>VK_IMAGE_LAYOUT_GENERAL</code> layout", "text": "If an instance of the <a href=\"#VkVideoEncodeQuantizationMapInfoKHR\">VkVideoEncodeQuantizationMapInfoKHR</a> structure is included in the <code>pNext</code> chain of <code>pEncodeInfo</code> and its <code>quantizationMap</code> member is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, then the image subresource range referenced by <code>quantizationMap</code> <strong class=\"purple\">must</strong> be in the <code>VK_IMAGE_LAYOUT_VIDEO_ENCODE_QUANTIZATION_MAP_KHR</code> layout at the time the video encode operation is executed on the device , unless the <a href=\"#features-unifiedImageLayoutsVideo\"><code>unifiedImageLayoutsVideo</code></a> feature is enabled, in which case it <strong class=\"purple\">may</strong> be in the <code>VK_IMAGE_LAYOUT_GENERAL</code> layout",
"page": "chapters/videocoding.html" "page": "chapters/videocoding.html"
}, },
{ {
@ -113346,6 +113251,11 @@
"vuid": "VUID-RuntimeSpirv-pNext-09923", "vuid": "VUID-RuntimeSpirv-pNext-09923",
"text": "For each <a href=\"#graphs-pipelines\">data graph pipeline</a> created with a <a href=\"#VkDataGraphPipelineShaderModuleCreateInfoARM\">VkDataGraphPipelineShaderModuleCreateInfoARM</a> structure included in the <code>pNext</code> chain of <a href=\"#VkDataGraphPipelineCreateInfoARM\">VkDataGraphPipelineCreateInfoARM</a>, one and only one <a href=\"#VkDataGraphPipelineResourceInfoARM\">VkDataGraphPipelineResourceInfoARM</a> structure that satisfies all the following constraints <strong class=\"purple\">must</strong> be present in <a href=\"#VkDataGraphPipelineCreateInfoARM\">VkDataGraphPipelineCreateInfoARM</a>::<code>pResourceInfos</code> for each <code>OpVariable</code> with a <code>OpTypeTensorARM</code> type that is part of the <code>Interface</code> of the <code>OpGraphEntryPointARM</code> the pipeline is being created for:<div class=\"ulist\">\n<ul>\n<li>\n<p>its <code>descriptorSet</code> member <strong class=\"purple\">must</strong> match the <code>DescriptorSet</code>\ndecoration applied to the <code>OpVariable</code></p>\n</li>\n<li>\n<p>its <code>binding</code> member <strong class=\"purple\">must</strong> match the <code>Binding</code> decoration\napplied to the <code>OpVariable</code></p>\n</li>\n<li>\n<p>its <code>arrayElement</code> member <strong class=\"purple\">must</strong> be zero if <code>OpVariable</code> is not a\n<code>OpTypeArray</code> or if <code>OpVariable</code> is a <code>OpTypeArray</code> of\n<code>OpTypeTensorARM</code> with <code>Shape</code> present</p>\n</li>\n<li>\n<p>its <code>pNext</code> chain <strong class=\"purple\">must</strong> include a <a href=\"#VkTensorDescriptionARM\">VkTensorDescriptionARM</a>\nstructure</p>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>whose <code>dimensionCount</code> is equal to the <code>Rank</code> of the\n<code>OpTypeTensorARM</code> of the <code>OpVariable</code> or its elements</p>\n</li>\n<li>\n<p>whose <code>pDimensions</code> array elements are individually and in order\nequal to the elements of the array that defines the <code>Shape</code> of the\n<code>OpTypeTensorARM</code> of the <code>OpVariable</code> or its elements</p>\n</li>\n<li>\n<p>whose <code>format</code> <a href=\"#spirvenv-tensor-formats\">is compatible</a> with the\n<code>ElementType</code> of the <code>OpTypeTensorARM</code> of the <code>OpVariable</code></p>\n</li>\n</ul>\n</div>\n</li>\n</ul>\n</div>", "text": "For each <a href=\"#graphs-pipelines\">data graph pipeline</a> created with a <a href=\"#VkDataGraphPipelineShaderModuleCreateInfoARM\">VkDataGraphPipelineShaderModuleCreateInfoARM</a> structure included in the <code>pNext</code> chain of <a href=\"#VkDataGraphPipelineCreateInfoARM\">VkDataGraphPipelineCreateInfoARM</a>, one and only one <a href=\"#VkDataGraphPipelineResourceInfoARM\">VkDataGraphPipelineResourceInfoARM</a> structure that satisfies all the following constraints <strong class=\"purple\">must</strong> be present in <a href=\"#VkDataGraphPipelineCreateInfoARM\">VkDataGraphPipelineCreateInfoARM</a>::<code>pResourceInfos</code> for each <code>OpVariable</code> with a <code>OpTypeTensorARM</code> type that is part of the <code>Interface</code> of the <code>OpGraphEntryPointARM</code> the pipeline is being created for:<div class=\"ulist\">\n<ul>\n<li>\n<p>its <code>descriptorSet</code> member <strong class=\"purple\">must</strong> match the <code>DescriptorSet</code>\ndecoration applied to the <code>OpVariable</code></p>\n</li>\n<li>\n<p>its <code>binding</code> member <strong class=\"purple\">must</strong> match the <code>Binding</code> decoration\napplied to the <code>OpVariable</code></p>\n</li>\n<li>\n<p>its <code>arrayElement</code> member <strong class=\"purple\">must</strong> be zero if <code>OpVariable</code> is not a\n<code>OpTypeArray</code> or if <code>OpVariable</code> is a <code>OpTypeArray</code> of\n<code>OpTypeTensorARM</code> with <code>Shape</code> present</p>\n</li>\n<li>\n<p>its <code>pNext</code> chain <strong class=\"purple\">must</strong> include a <a href=\"#VkTensorDescriptionARM\">VkTensorDescriptionARM</a>\nstructure</p>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>whose <code>dimensionCount</code> is equal to the <code>Rank</code> of the\n<code>OpTypeTensorARM</code> of the <code>OpVariable</code> or its elements</p>\n</li>\n<li>\n<p>whose <code>pDimensions</code> array elements are individually and in order\nequal to the elements of the array that defines the <code>Shape</code> of the\n<code>OpTypeTensorARM</code> of the <code>OpVariable</code> or its elements</p>\n</li>\n<li>\n<p>whose <code>format</code> <a href=\"#spirvenv-tensor-formats\">is compatible</a> with the\n<code>ElementType</code> of the <code>OpTypeTensorARM</code> of the <code>OpVariable</code></p>\n</li>\n</ul>\n</div>\n</li>\n</ul>\n</div>",
"page": "appendices/spirvenv.html" "page": "appendices/spirvenv.html"
},
{
"vuid": "VUID-RuntimeSpirv-None-10834",
"text": "<a href=\"#spirvenv-buffer-indexing\">Buffer indexing calculations</a> <strong class=\"purple\">must</strong> not wrap 32 bits",
"page": "appendices/spirvenv.html"
} }
] ]
}, },

View file

@ -80,6 +80,7 @@ branch of the member gitlab server.
<tag name="MSFT" author="Microsoft Corporation" contact="Jesse Natalie @jenatali"/> <tag name="MSFT" author="Microsoft Corporation" contact="Jesse Natalie @jenatali"/>
<tag name="SHADY" author="Saarland University" contact="Hugo Devillers @hugobros3"/> <tag name="SHADY" author="Saarland University" contact="Hugo Devillers @hugobros3"/>
<tag name="FREDEMMOTT" author="Frederick Emmott" contact="Fred Emmott @fredemmott" /> <tag name="FREDEMMOTT" author="Frederick Emmott" contact="Fred Emmott @fredemmott" />
<tag name="MTK" author="Mediatek, Inc." contact="Samuel Huang @shengwenhuang"/>
</tags> </tags>
<types comment="Vulkan type definitions"> <types comment="Vulkan type definitions">
@ -145,14 +146,14 @@ branch of the member gitlab server.
<type requires="nvscibuf.h" name="NvSciBufAttrList"/> <type requires="nvscibuf.h" name="NvSciBufAttrList"/>
<type requires="nvscibuf.h" name="NvSciBufObj"/> <type requires="nvscibuf.h" name="NvSciBufObj"/>
<type category="define" deprecated="true">// DEPRECATED: This define is deprecated. VK_MAKE_API_VERSION should be used instead. <type category="define">
#define <name>VK_MAKE_VERSION</name>(major, minor, patch) \ #define <name>VK_MAKE_VERSION</name>(major, minor, patch) \
((((uint32_t)(major)) &lt;&lt; 22U) | (((uint32_t)(minor)) &lt;&lt; 12U) | ((uint32_t)(patch)))</type> ((((uint32_t)(major)) &lt;&lt; 22U) | (((uint32_t)(minor)) &lt;&lt; 12U) | ((uint32_t)(patch)))</type>
<type category="define" deprecated="true">// DEPRECATED: This define is deprecated. VK_API_VERSION_MAJOR should be used instead. <type category="define">
#define <name>VK_VERSION_MAJOR</name>(version) ((uint32_t)(version) &gt;&gt; 22U)</type> #define <name>VK_VERSION_MAJOR</name>(version) ((uint32_t)(version) &gt;&gt; 22U)</type>
<type category="define" deprecated="true">// DEPRECATED: This define is deprecated. VK_API_VERSION_MINOR should be used instead. <type category="define">
#define <name>VK_VERSION_MINOR</name>(version) (((uint32_t)(version) &gt;&gt; 12U) &amp; 0x3FFU)</type> #define <name>VK_VERSION_MINOR</name>(version) (((uint32_t)(version) &gt;&gt; 12U) &amp; 0x3FFU)</type>
<type category="define" deprecated="true">// DEPRECATED: This define is deprecated. VK_API_VERSION_PATCH should be used instead. <type category="define">
#define <name>VK_VERSION_PATCH</name>(version) ((uint32_t)(version) &amp; 0xFFFU)</type> #define <name>VK_VERSION_PATCH</name>(version) ((uint32_t)(version) &amp; 0xFFFU)</type>
<type category="define">#define <name>VK_MAKE_API_VERSION</name>(variant, major, minor, patch) \ <type category="define">#define <name>VK_MAKE_API_VERSION</name>(variant, major, minor, patch) \
@ -165,7 +166,7 @@ branch of the member gitlab server.
<type category="define" requires="VK_HEADER_VERSION">// Vulkan SC variant number <type category="define" requires="VK_HEADER_VERSION">// Vulkan SC variant number
#define <name>VKSC_API_VARIANT</name> 1</type> #define <name>VKSC_API_VARIANT</name> 1</type>
<type category="define">// DEPRECATED: This define has been removed. Specific version defines (e.g. VK_API_VERSION_1_0), or the VK_MAKE_VERSION macro, should be used instead. <type category="define">
//#define <name>VK_API_VERSION</name> <type>VK_MAKE_API_VERSION</type>(0, 1, 0, 0) // Patch version should always be set to 0</type> //#define <name>VK_API_VERSION</name> <type>VK_MAKE_API_VERSION</type>(0, 1, 0, 0) // Patch version should always be set to 0</type>
<type category="define">// Vulkan 1.0 version number <type category="define">// Vulkan 1.0 version number
#define <name>VK_API_VERSION_1_0</name> <type>VK_MAKE_API_VERSION</type>(0, 1, 0, 0)// Patch version should always be set to 0</type> #define <name>VK_API_VERSION_1_0</name> <type>VK_MAKE_API_VERSION</type>(0, 1, 0, 0)// Patch version should always be set to 0</type>
@ -181,7 +182,7 @@ branch of the member gitlab server.
#define <name>VKSC_API_VERSION_1_0</name> <type>VK_MAKE_API_VERSION</type>(VKSC_API_VARIANT, 1, 0, 0)// Patch version should always be set to 0</type> #define <name>VKSC_API_VERSION_1_0</name> <type>VK_MAKE_API_VERSION</type>(VKSC_API_VARIANT, 1, 0, 0)// Patch version should always be set to 0</type>
<type api="vulkan" category="define">// Version of this file <type api="vulkan" category="define">// Version of this file
#define <name>VK_HEADER_VERSION</name> 319</type> #define <name>VK_HEADER_VERSION</name> 320</type>
<type api="vulkan" category="define" requires="VK_HEADER_VERSION">// Complete version of this file <type api="vulkan" category="define" requires="VK_HEADER_VERSION">// Complete version of this file
#define <name>VK_HEADER_VERSION_COMPLETE</name> <type>VK_MAKE_API_VERSION</type>(0, 1, 4, VK_HEADER_VERSION)</type> #define <name>VK_HEADER_VERSION_COMPLETE</name> <type>VK_MAKE_API_VERSION</type>(0, 1, 4, VK_HEADER_VERSION)</type>
<type api="vulkansc" category="define">// Version of this file <type api="vulkansc" category="define">// Version of this file
@ -10727,7 +10728,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
</type> </type>
<type category="struct" name="VkPhysicalDeviceDataGraphOperationSupportARM"> <type category="struct" name="VkPhysicalDeviceDataGraphOperationSupportARM">
<member><type>VkPhysicalDeviceDataGraphOperationTypeARM</type> <name>operationType</name></member> <member><type>VkPhysicalDeviceDataGraphOperationTypeARM</type> <name>operationType</name></member>
<member><type>char</type> <name>name</name>[VK_MAX_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_SET_NAME_SIZE_ARM]</member> <member len="null-terminated"><type>char</type> <name>name</name>[<enum>VK_MAX_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_SET_NAME_SIZE_ARM</enum>]</member>
<member><type>uint32_t</type> <name>version</name></member> <member><type>uint32_t</type> <name>version</name></member>
</type> </type>
<type category="struct" name="VkQueueFamilyDataGraphPropertiesARM"> <type category="struct" name="VkQueueFamilyDataGraphPropertiesARM">
@ -17589,6 +17590,13 @@ typedef void* <name>MTLSharedEvent_id</name>;
<type name="VK_API_VERSION_MINOR"/> <type name="VK_API_VERSION_MINOR"/>
<type name="VK_API_VERSION_PATCH"/> <type name="VK_API_VERSION_PATCH"/>
</require> </require>
<deprecate explanationlink="deprecation-version-macros">
<type name="VK_API_VERSION"/>
<type name="VK_MAKE_VERSION"/>
<type name="VK_VERSION_MAJOR"/>
<type name="VK_VERSION_MINOR"/>
<type name="VK_VERSION_PATCH"/>
</deprecate>
<require comment="Device initialization"> <require comment="Device initialization">
<type name="PFN_vkAllocationFunction"/> <type name="PFN_vkAllocationFunction"/>
<type name="PFN_vkFreeFunction"/> <type name="PFN_vkFreeFunction"/>
@ -18377,6 +18385,15 @@ typedef void* <name>MTLSharedEvent_id</name>;
<require depends="VK_KHR_shader_draw_parameters"> <require depends="VK_KHR_shader_draw_parameters">
<feature name="shaderDrawParameters" struct="VkPhysicalDeviceShaderDrawParametersFeatures"/> <feature name="shaderDrawParameters" struct="VkPhysicalDeviceShaderDrawParametersFeatures"/>
</require> </require>
<deprecate explanationlink="deprecation-gpdp2">
<command name="vkGetPhysicalDeviceFeatures"/>
<command name="vkGetPhysicalDeviceProperties"/>
<command name="vkGetPhysicalDeviceFormatProperties"/>
<command name="vkGetPhysicalDeviceImageFormatProperties"/>
<command name="vkGetPhysicalDeviceQueueFamilyProperties"/>
<command name="vkGetPhysicalDeviceMemoryProperties"/>
<command name="vkGetPhysicalDeviceSparseImageFormatProperties"/>
</deprecate>
</feature> </feature>
<feature api="vulkan,vulkansc" name="VK_VERSION_1_2" number="1.2" depends="VK_VERSION_1_1" comment="Vulkan 1.2 core API interface definitions."> <feature api="vulkan,vulkansc" name="VK_VERSION_1_2" number="1.2" depends="VK_VERSION_1_1" comment="Vulkan 1.2 core API interface definitions.">
<require> <require>
@ -20279,6 +20296,15 @@ typedef void* <name>MTLSharedEvent_id</name>;
<command name="vkGetPhysicalDeviceMemoryProperties2KHR"/> <command name="vkGetPhysicalDeviceMemoryProperties2KHR"/>
<command name="vkGetPhysicalDeviceSparseImageFormatProperties2KHR"/> <command name="vkGetPhysicalDeviceSparseImageFormatProperties2KHR"/>
</require> </require>
<deprecate explanationlink="deprecation-gpdp2">
<command name="vkGetPhysicalDeviceFeatures"/>
<command name="vkGetPhysicalDeviceProperties"/>
<command name="vkGetPhysicalDeviceFormatProperties"/>
<command name="vkGetPhysicalDeviceImageFormatProperties"/>
<command name="vkGetPhysicalDeviceQueueFamilyProperties"/>
<command name="vkGetPhysicalDeviceMemoryProperties"/>
<command name="vkGetPhysicalDeviceSparseImageFormatProperties"/>
</deprecate>
</extension> </extension>
<extension name="VK_KHR_device_group" number="61" type="device" author="KHR" depends="VK_KHR_device_group_creation" contact="Jeff Bolz @jeffbolznv" supported="vulkan" promotedto="VK_VERSION_1_1" ratified="vulkan" nofeatures="true"> <extension name="VK_KHR_device_group" number="61" type="device" author="KHR" depends="VK_KHR_device_group_creation" contact="Jeff Bolz @jeffbolznv" supported="vulkan" promotedto="VK_VERSION_1_1" ratified="vulkan" nofeatures="true">
<require> <require>
@ -23671,7 +23697,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<feature name="depthBiasControl" struct="VkPhysicalDeviceDepthBiasControlFeaturesEXT"/> <feature name="depthBiasControl" struct="VkPhysicalDeviceDepthBiasControlFeaturesEXT"/>
</require> </require>
</extension> </extension>
<extension name="VK_EXT_device_memory_report" number="285" type="device" depends="VK_KHR_get_physical_device_properties2,VK_VERSION_1_1" author="EXT" contact="Yiwei Zhang @zhangyiwei" specialuse="devtools" supported="vulkan" ratified="vulkan"> <extension name="VK_EXT_device_memory_report" number="285" type="device" depends="VK_KHR_get_physical_device_properties2,VK_VERSION_1_1" author="EXT" contact="Yiwei Zhang @zzyiwei" specialuse="devtools" supported="vulkan" ratified="vulkan">
<require> <require>
<enum value="2" name="VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION"/> <enum value="2" name="VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_device_memory_report&quot;" name="VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME"/> <enum value="&quot;VK_EXT_device_memory_report&quot;" name="VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME"/>
@ -25233,7 +25259,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<enum value="&quot;VK_EXT_extension_388&quot;" name="VK_EXT_EXTENSION_388_EXTENSION_NAME"/> <enum value="&quot;VK_EXT_extension_388&quot;" name="VK_EXT_EXTENSION_388_EXTENSION_NAME"/>
</require> </require>
</extension> </extension>
<extension name="VK_EXT_global_priority_query" number="389" type="device" depends="VK_EXT_global_priority+(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)" author="EXT" contact="Yiwei Zhang @zhangyiwei" supported="vulkan" promotedto="VK_KHR_global_priority"> <extension name="VK_EXT_global_priority_query" number="389" type="device" depends="VK_EXT_global_priority+(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)" author="EXT" contact="Yiwei Zhang @zzyiwei" supported="vulkan" promotedto="VK_KHR_global_priority">
<require> <require>
<enum value="1" name="VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION"/> <enum value="1" name="VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_global_priority_query&quot;" name="VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME"/> <enum value="&quot;VK_EXT_global_priority_query&quot;" name="VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME"/>
@ -28512,6 +28538,42 @@ typedef void* <name>MTLSharedEvent_id</name>;
<enum bitpos="58" extends="VkFormatFeatureFlagBits2" name="VK_FORMAT_FEATURE_2_RESERVED_58_BIT_ARM"/> <enum bitpos="58" extends="VkFormatFeatureFlagBits2" name="VK_FORMAT_FEATURE_2_RESERVED_58_BIT_ARM"/>
</require> </require>
</extension> </extension>
<extension name="VK_MTK_extension_633" number="633" author="MTK" contact="Samuel Huang @shengwenhuang" supported="disabled">
<require>
<enum value="0" name="VK_MTK_EXTENSION_633_SPEC_VERSION"/>
<enum value="&quot;VK_MTK_extension_633&quot;" name="VK_MTK_EXTENSION_633_EXTENSION_NAME"/>
</require>
</extension>
<extension name="VK_NV_extension_634" number="634" author="NV" contact="Nate Morrical @nmorrical" supported="disabled">
<require>
<enum value="0" name="VK_NV_EXTENSION_634_SPEC_VERSION"/>
<enum value="&quot;VK_NV_extension_634&quot;" name="VK_NV_EXTENSION_634_EXTENSION_NAME"/>
</require>
</extension>
<extension name="VK_MTK_extension_635" number="635" author="MTK" contact="Samuel Huang @shengwenhuang" supported="disabled">
<require>
<enum value="0" name="VK_MTK_EXTENSION_635_SPEC_VERSION"/>
<enum value="&quot;VK_MTK_extension_635&quot;" name="VK_MTK_EXTENSION_635_EXTENSION_NAME"/>
</require>
</extension>
<extension name="VK_EXT_extension_636" number="636" author="EXT" contact="Jeff Bolz @jeffbolznv" supported="disabled">
<require>
<enum value="0" name="VK_EXT_EXTENSION_636_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_extension_636&quot;" name="VK_EXT_EXTENSION_636_EXTENSION_NAME"/>
</require>
</extension>
<extension name="VK_EXT_extension_637" number="637" author="EXT" contact="Peter Kohaut @peterkohaut-nv" supported="disabled">
<require>
<enum value="0" name="VK_EXT_EXTENSION_637_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_extension_637&quot;" name="VK_EXT_EXTENSION_637_EXTENSION_NAME"/>
</require>
</extension>
<extension name="VK_EXT_extension_638" number="638" author="EXT" contact="Ralph Potter gitlab:@r_potter" supported="disabled">
<require>
<enum value="0" name="VK_EXT_EXTENSION_638_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_extension_638&quot;" name="VK_EXT_EXTENSION_638_EXTENSION_NAME"/>
</require>
</extension>
</extensions> </extensions>
<formats> <formats>
<format name="VK_FORMAT_R4G4_UNORM_PACK8" class="8-bit" blockSize="1" texelsPerBlock="1" packed="8"> <format name="VK_FORMAT_R4G4_UNORM_PACK8" class="8-bit" blockSize="1" texelsPerBlock="1" packed="8">

View file

@ -139,7 +139,7 @@ class Queues(IntFlag):
OPTICAL_FLOW = auto() # VK_QUEUE_OPTICAL_FLOW_BIT_NV OPTICAL_FLOW = auto() # VK_QUEUE_OPTICAL_FLOW_BIT_NV
DECODE = auto() # VK_QUEUE_VIDEO_DECODE_BIT_KHR DECODE = auto() # VK_QUEUE_VIDEO_DECODE_BIT_KHR
ENCODE = auto() # VK_QUEUE_VIDEO_ENCODE_BIT_KHR ENCODE = auto() # VK_QUEUE_VIDEO_ENCODE_BIT_KHR
ALL = TRANSFER | GRAPHICS | COMPUTE | PROTECTED | SPARSE_BINDING | OPTICAL_FLOW | DECODE | ENCODE DATA_GRAPH = auto() # VK_QUEUE_DATA_GRAPH_BIT_ARM
class CommandScope(Enum): class CommandScope(Enum):
NONE = auto() NONE = auto()
@ -166,7 +166,8 @@ class Command:
device: bool device: bool
tasks: list[str] # ex) [ action, state, synchronization ] tasks: list[str] # ex) [ action, state, synchronization ]
queues: Queues # zero == No Queues found queues: Queues # zero == No Queues found (represents restriction which queue type can be used)
allowNoQueues: bool # VK_KHR_maintenance9 allows some calls to be done with zero queues
successCodes: list[str] # ex) [ VK_SUCCESS, VK_INCOMPLETE ] successCodes: list[str] # ex) [ VK_SUCCESS, VK_INCOMPLETE ]
errorCodes: list[str] # ex) [ VK_ERROR_OUT_OF_HOST_MEMORY ] errorCodes: list[str] # ex) [ VK_ERROR_OUT_OF_HOST_MEMORY ]
@ -358,6 +359,13 @@ class Flags:
def __lt__(self, other): def __lt__(self, other):
return self.name < other.name return self.name < other.name
@dataclass
class Constant:
name: str # ex) VK_UUID_SIZE
type: str # ex) uint32_t, float
value: (int | float)
valueStr: str # value as shown in spec (ex. "(~0U)", "256U", etc)
@dataclass @dataclass
class FormatComponent: class FormatComponent:
"""<format/component>""" """<format/component>"""
@ -462,13 +470,14 @@ class VulkanObject():
extensions: dict[str, Extension] = field(default_factory=dict, init=False) extensions: dict[str, Extension] = field(default_factory=dict, init=False)
versions: dict[str, Version] = field(default_factory=dict, init=False) versions: dict[str, Version] = field(default_factory=dict, init=False)
handles: dict[str, Handle] = field(default_factory=dict, init=False) handles: dict[str, Handle] = field(default_factory=dict, init=False)
commands: dict[str, Command] = field(default_factory=dict, init=False) commands: dict[str, Command] = field(default_factory=dict, init=False)
structs: dict[str, Struct] = field(default_factory=dict, init=False) structs: dict[str, Struct] = field(default_factory=dict, init=False)
enums: dict[str, Enum] = field(default_factory=dict, init=False) enums: dict[str, Enum] = field(default_factory=dict, init=False)
bitmasks: dict[str, Bitmask] = field(default_factory=dict, init=False) bitmasks: dict[str, Bitmask] = field(default_factory=dict, init=False)
flags: dict[str, Flags] = field(default_factory=dict, init=False) flags: dict[str, Flags] = field(default_factory=dict, init=False)
formats: dict[str, Format] = field(default_factory=dict, init=False) constants: dict[str, Constant] = field(default_factory=dict, init=False)
formats: dict[str, Format] = field(default_factory=dict, init=False)
syncStage: list[SyncStage] = field(default_factory=list, init=False) syncStage: list[SyncStage] = field(default_factory=list, init=False)
syncAccess: list[SyncAccess] = field(default_factory=list, init=False) syncAccess: list[SyncAccess] = field(default_factory=list, init=False)