From 577baa05033cf1d9236b3d078ca4b3269ed87a2b Mon Sep 17 00:00:00 2001 From: Jon Leech Date: Fri, 8 Mar 2024 05:12:01 -0800 Subject: [PATCH] Update for Vulkan-Docs 1.3.280 --- include/vulkan/vulkan.cppm | 7 + include/vulkan/vulkan.hpp | 25 +- include/vulkan/vulkan_core.h | 15 +- include/vulkan/vulkan_enums.hpp | 3 +- .../vulkan/vulkan_extension_inspection.hpp | 5 +- include/vulkan/vulkan_funcs.hpp | 110 +- include/vulkan/vulkan_handles.hpp | 3 + include/vulkan/vulkan_hash.hpp | 14 + include/vulkan/vulkan_raii.hpp | 8 +- include/vulkan/vulkan_static_assertions.hpp | 10 + include/vulkan/vulkan_structs.hpp | 98 ++ include/vulkan/vulkan_to_string.hpp | 1 + registry/validusage.json | 1017 +++++++++++++++-- registry/vk.xml | 19 +- 14 files changed, 1127 insertions(+), 208 deletions(-) diff --git a/include/vulkan/vulkan.cppm b/include/vulkan/vulkan.cppm index 309b8071..0b7fafb1 100644 --- a/include/vulkan/vulkan.cppm +++ b/include/vulkan/vulkan.cppm @@ -2502,6 +2502,10 @@ export namespace VULKAN_HPP_NAMESPACE using VULKAN_HPP_NAMESPACE::NVShaderAtomicFloat16VectorExtensionName; using VULKAN_HPP_NAMESPACE::NVShaderAtomicFloat16VectorSpecVersion; + //=== VK_NV_ray_tracing_validation === + using VULKAN_HPP_NAMESPACE::NVRayTracingValidationExtensionName; + using VULKAN_HPP_NAMESPACE::NVRayTracingValidationSpecVersion; + //======================== //=== CONSTEXPR VALUEs === //======================== @@ -4345,6 +4349,9 @@ export namespace VULKAN_HPP_NAMESPACE //=== VK_NV_shader_atomic_float16_vector === using VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV; + //=== VK_NV_ray_tracing_validation === + using VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingValidationFeaturesNV; + //=============== //=== HANDLEs === //=============== diff --git a/include/vulkan/vulkan.hpp b/include/vulkan/vulkan.hpp index 4494d56d..5c0c92d7 100644 --- a/include/vulkan/vulkan.hpp +++ b/include/vulkan/vulkan.hpp @@ -56,7 +56,7 @@ extern "C" __declspec( dllimport ) FARPROC __stdcall GetProcAddress( HINSTANCE h # include #endif -static_assert( VK_HEADER_VERSION == 279, "Wrong VK_HEADER_VERSION!" ); +static_assert( VK_HEADER_VERSION == 280, "Wrong VK_HEADER_VERSION!" ); // includes through some other header // this results in major(x) being resolved to gnu_dev_major(x) @@ -8670,6 +8670,10 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_CONSTEXPR_INLINE auto NVShaderAtomicFloat16VectorExtensionName = VK_NV_SHADER_ATOMIC_FLOAT16_VECTOR_EXTENSION_NAME; VULKAN_HPP_CONSTEXPR_INLINE auto NVShaderAtomicFloat16VectorSpecVersion = VK_NV_SHADER_ATOMIC_FLOAT16_VECTOR_SPEC_VERSION; + //=== VK_NV_ray_tracing_validation === + VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingValidationExtensionName = VK_NV_RAY_TRACING_VALIDATION_EXTENSION_NAME; + VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingValidationSpecVersion = VK_NV_RAY_TRACING_VALIDATION_SPEC_VERSION; + } // namespace VULKAN_HPP_NAMESPACE // clang-format off @@ -16639,6 +16643,25 @@ namespace VULKAN_HPP_NAMESPACE }; }; + //=== VK_NV_ray_tracing_validation === + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + #endif // VULKAN_HPP_DISABLE_ENHANCED_MODE #if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL diff --git a/include/vulkan/vulkan_core.h b/include/vulkan/vulkan_core.h index e2656eeb..6d09e280 100644 --- a/include/vulkan/vulkan_core.h +++ b/include/vulkan/vulkan_core.h @@ -69,7 +69,7 @@ extern "C" { #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 -#define VK_HEADER_VERSION 279 +#define VK_HEADER_VERSION 280 // Complete version of this file #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION) @@ -1111,6 +1111,7 @@ typedef enum VkStructureType { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV = 1000546000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAW_ACCESS_CHAINS_FEATURES_NV = 1000555000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV = 1000563000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV = 1000568000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES, VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT, @@ -19134,6 +19135,18 @@ typedef struct VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV { +// VK_NV_ray_tracing_validation is a preprocessor guard. Do not pass it to API calls. +#define VK_NV_ray_tracing_validation 1 +#define VK_NV_RAY_TRACING_VALIDATION_SPEC_VERSION 1 +#define VK_NV_RAY_TRACING_VALIDATION_EXTENSION_NAME "VK_NV_ray_tracing_validation" +typedef struct VkPhysicalDeviceRayTracingValidationFeaturesNV { + VkStructureType sType; + void* pNext; + VkBool32 rayTracingValidation; +} VkPhysicalDeviceRayTracingValidationFeaturesNV; + + + // VK_KHR_acceleration_structure is a preprocessor guard. Do not pass it to API calls. #define VK_KHR_acceleration_structure 1 #define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 13 diff --git a/include/vulkan/vulkan_enums.hpp b/include/vulkan/vulkan_enums.hpp index 4306fec7..6b5aa1c8 100644 --- a/include/vulkan/vulkan_enums.hpp +++ b/include/vulkan/vulkan_enums.hpp @@ -1423,7 +1423,8 @@ namespace VULKAN_HPP_NAMESPACE eBindDescriptorBufferEmbeddedSamplersInfoEXT = VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT, ePhysicalDeviceDescriptorPoolOverallocationFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV, ePhysicalDeviceRawAccessChainsFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAW_ACCESS_CHAINS_FEATURES_NV, - ePhysicalDeviceShaderAtomicFloat16VectorFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV + ePhysicalDeviceShaderAtomicFloat16VectorFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV, + ePhysicalDeviceRayTracingValidationFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV }; enum class PipelineCacheHeaderVersion diff --git a/include/vulkan/vulkan_extension_inspection.hpp b/include/vulkan/vulkan_extension_inspection.hpp index 41e02280..3b166144 100644 --- a/include/vulkan/vulkan_extension_inspection.hpp +++ b/include/vulkan/vulkan_extension_inspection.hpp @@ -435,7 +435,8 @@ namespace VULKAN_HPP_NAMESPACE "VK_KHR_maintenance6", "VK_NV_descriptor_pool_overallocation", "VK_NV_raw_access_chains", - "VK_NV_shader_atomic_float16_vector" + "VK_NV_shader_atomic_float16_vector", + "VK_NV_ray_tracing_validation" }; return deviceExtensions; } @@ -2876,7 +2877,7 @@ namespace VULKAN_HPP_NAMESPACE || ( extension == "VK_MSFT_layered_driver" ) || ( extension == "VK_KHR_index_type_uint8" ) || ( extension == "VK_KHR_line_rasterization" ) || ( extension == "VK_KHR_calibrated_timestamps" ) || ( extension == "VK_KHR_shader_expect_assume" ) || ( extension == "VK_KHR_maintenance6" ) || ( extension == "VK_NV_descriptor_pool_overallocation" ) || ( extension == "VK_NV_raw_access_chains" ) || - ( extension == "VK_NV_shader_atomic_float16_vector" ); + ( extension == "VK_NV_shader_atomic_float16_vector" ) || ( extension == "VK_NV_ray_tracing_validation" ); } VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 bool isInstanceExtension( std::string const & extension ) diff --git a/include/vulkan/vulkan_funcs.hpp b/include/vulkan/vulkan_funcs.hpp index 0a09ecc6..fb759a93 100644 --- a/include/vulkan/vulkan_funcs.hpp +++ b/include/vulkan/vulkan_funcs.hpp @@ -2146,7 +2146,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE_STRING "::Device::getQueryPoolResults", { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eNotReady } ); - return ResultValue>( static_cast( result ), std::move( data ) ); + return ResultValue>( result, std::move( data ) ); } template @@ -2174,7 +2174,7 @@ namespace VULKAN_HPP_NAMESPACE resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getQueryPoolResult", { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eNotReady } ); - return ResultValue( static_cast( result ), std::move( data ) ); + return ResultValue( result, std::move( data ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -3038,8 +3038,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE_STRING "::Device::createGraphicsPipelines", { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); - return ResultValue>( static_cast( result ), - std::move( pipelines ) ); + return ResultValue>( result, std::move( pipelines ) ); } template >( static_cast( result ), - std::move( pipelines ) ); + return ResultValue>( result, std::move( pipelines ) ); } template @@ -3097,7 +3095,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE_STRING "::Device::createGraphicsPipeline", { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); - return ResultValue( static_cast( result ), std::move( pipeline ) ); + return ResultValue( result, std::move( pipeline ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE @@ -3131,8 +3129,7 @@ namespace VULKAN_HPP_NAMESPACE { uniquePipelines.push_back( UniqueHandle( pipeline, deleter ) ); } - return ResultValue, PipelineAllocator>>( - static_cast( result ), std::move( uniquePipelines ) ); + return ResultValue, PipelineAllocator>>( result, std::move( uniquePipelines ) ); } template < @@ -3169,8 +3166,7 @@ namespace VULKAN_HPP_NAMESPACE { uniquePipelines.push_back( UniqueHandle( pipeline, deleter ) ); } - return ResultValue, PipelineAllocator>>( - static_cast( result ), std::move( uniquePipelines ) ); + return ResultValue, PipelineAllocator>>( result, std::move( uniquePipelines ) ); } template @@ -3198,8 +3194,7 @@ namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); return ResultValue>( - static_cast( result ), - UniqueHandle( pipeline, ObjectDestroy( *this, allocator, d ) ) ); + result, UniqueHandle( pipeline, ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -3246,8 +3241,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE_STRING "::Device::createComputePipelines", { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); - return ResultValue>( static_cast( result ), - std::move( pipelines ) ); + return ResultValue>( result, std::move( pipelines ) ); } template >( static_cast( result ), - std::move( pipelines ) ); + return ResultValue>( result, std::move( pipelines ) ); } template @@ -3305,7 +3298,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE_STRING "::Device::createComputePipeline", { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); - return ResultValue( static_cast( result ), std::move( pipeline ) ); + return ResultValue( result, std::move( pipeline ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE @@ -3339,8 +3332,7 @@ namespace VULKAN_HPP_NAMESPACE { uniquePipelines.push_back( UniqueHandle( pipeline, deleter ) ); } - return ResultValue, PipelineAllocator>>( - static_cast( result ), std::move( uniquePipelines ) ); + return ResultValue, PipelineAllocator>>( result, std::move( uniquePipelines ) ); } template < @@ -3377,8 +3369,7 @@ namespace VULKAN_HPP_NAMESPACE { uniquePipelines.push_back( UniqueHandle( pipeline, deleter ) ); } - return ResultValue, PipelineAllocator>>( - static_cast( result ), std::move( uniquePipelines ) ); + return ResultValue, PipelineAllocator>>( result, std::move( uniquePipelines ) ); } template @@ -3406,8 +3397,7 @@ namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); return ResultValue>( - static_cast( result ), - UniqueHandle( pipeline, ObjectDestroy( *this, allocator, d ) ) ); + result, UniqueHandle( pipeline, ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -8784,7 +8774,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::Result::eNotReady, VULKAN_HPP_NAMESPACE::Result::eSuboptimalKHR } ); - return ResultValue( static_cast( result ), std::move( imageIndex ) ); + return ResultValue( result, std::move( imageIndex ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -8984,7 +8974,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::Result::eNotReady, VULKAN_HPP_NAMESPACE::Result::eSuboptimalKHR } ); - return ResultValue( static_cast( result ), std::move( imageIndex ) ); + return ResultValue( result, std::move( imageIndex ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -15186,8 +15176,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE_STRING "::Device::createExecutionGraphPipelinesAMDX", { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); - return ResultValue>( static_cast( result ), - std::move( pipelines ) ); + return ResultValue>( result, std::move( pipelines ) ); } template >( static_cast( result ), - std::move( pipelines ) ); + return ResultValue>( result, std::move( pipelines ) ); } template @@ -15245,7 +15233,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE_STRING "::Device::createExecutionGraphPipelineAMDX", { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); - return ResultValue( static_cast( result ), std::move( pipeline ) ); + return ResultValue( result, std::move( pipeline ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE @@ -15280,8 +15268,7 @@ namespace VULKAN_HPP_NAMESPACE { uniquePipelines.push_back( UniqueHandle( pipeline, deleter ) ); } - return ResultValue, PipelineAllocator>>( - static_cast( result ), std::move( uniquePipelines ) ); + return ResultValue, PipelineAllocator>>( result, std::move( uniquePipelines ) ); } template < @@ -15319,8 +15306,7 @@ namespace VULKAN_HPP_NAMESPACE { uniquePipelines.push_back( UniqueHandle( pipeline, deleter ) ); } - return ResultValue, PipelineAllocator>>( - static_cast( result ), std::move( uniquePipelines ) ); + return ResultValue, PipelineAllocator>>( result, std::move( uniquePipelines ) ); } template @@ -15348,8 +15334,7 @@ namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); return ResultValue>( - static_cast( result ), - UniqueHandle( pipeline, ObjectDestroy( *this, allocator, d ) ) ); + result, UniqueHandle( pipeline, ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -16486,8 +16471,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); - return ResultValue>( static_cast( result ), - std::move( pipelines ) ); + return ResultValue>( result, std::move( pipelines ) ); } template >( static_cast( result ), - std::move( pipelines ) ); + return ResultValue>( result, std::move( pipelines ) ); } template @@ -16555,7 +16538,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); - return ResultValue( static_cast( result ), std::move( pipeline ) ); + return ResultValue( result, std::move( pipeline ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE @@ -16595,8 +16578,7 @@ namespace VULKAN_HPP_NAMESPACE { uniquePipelines.push_back( UniqueHandle( pipeline, deleter ) ); } - return ResultValue, PipelineAllocator>>( - static_cast( result ), std::move( uniquePipelines ) ); + return ResultValue, PipelineAllocator>>( result, std::move( uniquePipelines ) ); } template < @@ -16639,8 +16621,7 @@ namespace VULKAN_HPP_NAMESPACE { uniquePipelines.push_back( UniqueHandle( pipeline, deleter ) ); } - return ResultValue, PipelineAllocator>>( - static_cast( result ), std::move( uniquePipelines ) ); + return ResultValue, PipelineAllocator>>( result, std::move( uniquePipelines ) ); } template @@ -16673,8 +16654,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); return ResultValue>( - static_cast( result ), - UniqueHandle( pipeline, ObjectDestroy( *this, allocator, d ) ) ); + result, UniqueHandle( pipeline, ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -17670,8 +17650,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelinesNV", { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); - return ResultValue>( static_cast( result ), - std::move( pipelines ) ); + return ResultValue>( result, std::move( pipelines ) ); } template >( static_cast( result ), - std::move( pipelines ) ); + return ResultValue>( result, std::move( pipelines ) ); } template @@ -17729,7 +17707,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelineNV", { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); - return ResultValue( static_cast( result ), std::move( pipeline ) ); + return ResultValue( result, std::move( pipeline ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE @@ -17763,8 +17741,7 @@ namespace VULKAN_HPP_NAMESPACE { uniquePipelines.push_back( UniqueHandle( pipeline, deleter ) ); } - return ResultValue, PipelineAllocator>>( - static_cast( result ), std::move( uniquePipelines ) ); + return ResultValue, PipelineAllocator>>( result, std::move( uniquePipelines ) ); } template < @@ -17801,8 +17778,7 @@ namespace VULKAN_HPP_NAMESPACE { uniquePipelines.push_back( UniqueHandle( pipeline, deleter ) ); } - return ResultValue, PipelineAllocator>>( - static_cast( result ), std::move( uniquePipelines ) ); + return ResultValue, PipelineAllocator>>( result, std::move( uniquePipelines ) ); } template @@ -17830,8 +17806,7 @@ namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); return ResultValue>( - static_cast( result ), - UniqueHandle( pipeline, ObjectDestroy( *this, allocator, d ) ) ); + result, UniqueHandle( pipeline, ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -25411,8 +25386,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE_STRING "::Device::createShadersEXT", { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eIncompatibleShaderBinaryEXT } ); - return ResultValue>( static_cast( result ), - std::move( shaders ) ); + return ResultValue>( result, std::move( shaders ) ); } template >( static_cast( result ), - std::move( shaders ) ); + return ResultValue>( result, std::move( shaders ) ); } template @@ -25466,7 +25439,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE_STRING "::Device::createShaderEXT", { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eIncompatibleShaderBinaryEXT } ); - return ResultValue( static_cast( result ), std::move( shader ) ); + return ResultValue( result, std::move( shader ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE @@ -25498,8 +25471,7 @@ namespace VULKAN_HPP_NAMESPACE { uniqueShaders.push_back( UniqueHandle( shader, deleter ) ); } - return ResultValue, ShaderEXTAllocator>>( - static_cast( result ), std::move( uniqueShaders ) ); + return ResultValue, ShaderEXTAllocator>>( result, std::move( uniqueShaders ) ); } template < @@ -25534,8 +25506,7 @@ namespace VULKAN_HPP_NAMESPACE { uniqueShaders.push_back( UniqueHandle( shader, deleter ) ); } - return ResultValue, ShaderEXTAllocator>>( - static_cast( result ), std::move( uniqueShaders ) ); + return ResultValue, ShaderEXTAllocator>>( result, std::move( uniqueShaders ) ); } template @@ -25561,8 +25532,7 @@ namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eIncompatibleShaderBinaryEXT } ); return ResultValue>( - static_cast( result ), - UniqueHandle( shader, ObjectDestroy( *this, allocator, d ) ) ); + result, UniqueHandle( shader, ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ diff --git a/include/vulkan/vulkan_handles.hpp b/include/vulkan/vulkan_handles.hpp index 289ff80f..7746d0ae 100644 --- a/include/vulkan/vulkan_handles.hpp +++ b/include/vulkan/vulkan_handles.hpp @@ -1826,6 +1826,9 @@ namespace VULKAN_HPP_NAMESPACE //=== VK_NV_shader_atomic_float16_vector === struct PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV; + //=== VK_NV_ray_tracing_validation === + struct PhysicalDeviceRayTracingValidationFeaturesNV; + //=================================== //=== HANDLE forward declarations === //=================================== diff --git a/include/vulkan/vulkan_hash.hpp b/include/vulkan/vulkan_hash.hpp index a0239335..8adf2577 100644 --- a/include/vulkan/vulkan_hash.hpp +++ b/include/vulkan/vulkan_hash.hpp @@ -10812,6 +10812,20 @@ namespace std } }; + template <> + struct hash + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingValidationFeaturesNV const & physicalDeviceRayTracingValidationFeaturesNV ) const + VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingValidationFeaturesNV.sType ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingValidationFeaturesNV.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingValidationFeaturesNV.rayTracingValidation ); + return seed; + } + }; + template <> struct hash { diff --git a/include/vulkan/vulkan_raii.hpp b/include/vulkan/vulkan_raii.hpp index 22cb9c4e..fa32e311 100644 --- a/include/vulkan/vulkan_raii.hpp +++ b/include/vulkan/vulkan_raii.hpp @@ -12628,7 +12628,7 @@ namespace VULKAN_HPP_NAMESPACE resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::QueryPool::getResults", { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eNotReady } ); - return std::make_pair( static_cast( result ), std::move( data ) ); + return std::make_pair( result, std::move( data ) ); } template @@ -12650,7 +12650,7 @@ namespace VULKAN_HPP_NAMESPACE resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::QueryPool::getResult", { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eNotReady } ); - return std::make_pair( static_cast( result ), std::move( data ) ); + return std::make_pair( result, std::move( data ) ); } VULKAN_HPP_NODISCARD @@ -15138,7 +15138,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::Result::eNotReady, VULKAN_HPP_NAMESPACE::Result::eSuboptimalKHR } ); - return std::make_pair( static_cast( result ), std::move( imageIndex ) ); + return std::make_pair( result, std::move( imageIndex ) ); } VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result Queue::presentKHR( const VULKAN_HPP_NAMESPACE::PresentInfoKHR & presentInfo ) const @@ -15227,7 +15227,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::Result::eNotReady, VULKAN_HPP_NAMESPACE::Result::eSuboptimalKHR } ); - return std::make_pair( static_cast( result ), std::move( imageIndex ) ); + return std::make_pair( result, std::move( imageIndex ) ); } //=== VK_KHR_display === diff --git a/include/vulkan/vulkan_static_assertions.hpp b/include/vulkan/vulkan_static_assertions.hpp index 6c98ba36..693977cf 100644 --- a/include/vulkan/vulkan_static_assertions.hpp +++ b/include/vulkan/vulkan_static_assertions.hpp @@ -7493,4 +7493,14 @@ VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, "PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV is not nothrow_move_constructible!" ); +//=== VK_NV_ray_tracing_validation === + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingValidationFeaturesNV ) == + sizeof( VkPhysicalDeviceRayTracingValidationFeaturesNV ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, + "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "PhysicalDeviceRayTracingValidationFeaturesNV is not nothrow_move_constructible!" ); + #endif diff --git a/include/vulkan/vulkan_structs.hpp b/include/vulkan/vulkan_structs.hpp index 4289d285..45d9c2b9 100644 --- a/include/vulkan/vulkan_structs.hpp +++ b/include/vulkan/vulkan_structs.hpp @@ -79489,6 +79489,104 @@ namespace VULKAN_HPP_NAMESPACE using Type = PhysicalDeviceRayTracingPropertiesNV; }; + struct PhysicalDeviceRayTracingValidationFeaturesNV + { + using NativeType = VkPhysicalDeviceRayTracingValidationFeaturesNV; + + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceRayTracingValidationFeaturesNV; + +#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR PhysicalDeviceRayTracingValidationFeaturesNV( VULKAN_HPP_NAMESPACE::Bool32 rayTracingValidation_ = {}, + void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext( pNext_ ) + , rayTracingValidation( rayTracingValidation_ ) + { + } + + VULKAN_HPP_CONSTEXPR PhysicalDeviceRayTracingValidationFeaturesNV( PhysicalDeviceRayTracingValidationFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + PhysicalDeviceRayTracingValidationFeaturesNV( VkPhysicalDeviceRayTracingValidationFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT + : PhysicalDeviceRayTracingValidationFeaturesNV( *reinterpret_cast( &rhs ) ) + { + } + + PhysicalDeviceRayTracingValidationFeaturesNV & operator=( PhysicalDeviceRayTracingValidationFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/ + + PhysicalDeviceRayTracingValidationFeaturesNV & operator=( VkPhysicalDeviceRayTracingValidationFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceRayTracingValidationFeaturesNV & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceRayTracingValidationFeaturesNV & + setRayTracingValidation( VULKAN_HPP_NAMESPACE::Bool32 rayTracingValidation_ ) VULKAN_HPP_NOEXCEPT + { + rayTracingValidation = rayTracingValidation_; + return *this; + } +#endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/ + + operator VkPhysicalDeviceRayTracingValidationFeaturesNV const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceRayTracingValidationFeaturesNV &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) +# if 14 <= VULKAN_HPP_CPP_VERSION + auto +# else + std::tuple +# endif + reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, rayTracingValidation ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( PhysicalDeviceRayTracingValidationFeaturesNV const & ) const = default; +#else + bool operator==( PhysicalDeviceRayTracingValidationFeaturesNV const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( rayTracingValidation == rhs.rayTracingValidation ); +# endif + } + + bool operator!=( PhysicalDeviceRayTracingValidationFeaturesNV const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceRayTracingValidationFeaturesNV; + void * pNext = {}; + VULKAN_HPP_NAMESPACE::Bool32 rayTracingValidation = {}; + }; + + template <> + struct CppType + { + using Type = PhysicalDeviceRayTracingValidationFeaturesNV; + }; + struct PhysicalDeviceRelaxedLineRasterizationFeaturesIMG { using NativeType = VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG; diff --git a/include/vulkan/vulkan_to_string.hpp b/include/vulkan/vulkan_to_string.hpp index ddce545e..2d49cb65 100644 --- a/include/vulkan/vulkan_to_string.hpp +++ b/include/vulkan/vulkan_to_string.hpp @@ -4549,6 +4549,7 @@ namespace VULKAN_HPP_NAMESPACE case StructureType::ePhysicalDeviceDescriptorPoolOverallocationFeaturesNV: return "PhysicalDeviceDescriptorPoolOverallocationFeaturesNV"; case StructureType::ePhysicalDeviceRawAccessChainsFeaturesNV: return "PhysicalDeviceRawAccessChainsFeaturesNV"; case StructureType::ePhysicalDeviceShaderAtomicFloat16VectorFeaturesNV: return "PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV"; + case StructureType::ePhysicalDeviceRayTracingValidationFeaturesNV: return "PhysicalDeviceRayTracingValidationFeaturesNV"; default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast( value ) ) + " )"; } } diff --git a/registry/validusage.json b/registry/validusage.json index 27791269..f2717ee3 100644 --- a/registry/validusage.json +++ b/registry/validusage.json @@ -1,9 +1,9 @@ { "version info": { "schema version": 2, - "api version": "1.3.279", - "comment": "from git branch: github-main commit: b8d528e16a5380fc1ffb8e94297d311fe81a6791", - "date": "2024-03-01 13:37:51Z" + "api version": "1.3.280", + "comment": "from git branch: github-main commit: 69ba4fefbafa045d0fd1b07060b768b3b1c115cc", + "date": "2024-03-08 12:38:58Z" }, "validation": { "vkGetInstanceProcAddr": { @@ -886,7 +886,7 @@ }, { "vuid": "VUID-VkDeviceCreateInfo-pNext-pNext", - "text": "Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkDeviceDeviceMemoryReportCreateInfoEXT, VkDeviceDiagnosticsConfigCreateInfoNV, VkDeviceGroupDeviceCreateInfo, VkDeviceMemoryOverallocationCreateInfoAMD, VkDevicePrivateDataCreateInfo, VkDeviceQueueShaderCoreControlCreateInfoARM, VkPhysicalDevice16BitStorageFeatures, VkPhysicalDevice4444FormatsFeaturesEXT, VkPhysicalDevice8BitStorageFeatures, VkPhysicalDeviceASTCDecodeFeaturesEXT, VkPhysicalDeviceAccelerationStructureFeaturesKHR, VkPhysicalDeviceAddressBindingReportFeaturesEXT, VkPhysicalDeviceAmigoProfilingFeaturesSEC, VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT, VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT, VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT, VkPhysicalDeviceBorderColorSwizzleFeaturesEXT, VkPhysicalDeviceBufferDeviceAddressFeatures, VkPhysicalDeviceBufferDeviceAddressFeaturesEXT, VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI, VkPhysicalDeviceCoherentMemoryFeaturesAMD, VkPhysicalDeviceColorWriteEnableFeaturesEXT, VkPhysicalDeviceComputeShaderDerivativesFeaturesNV, VkPhysicalDeviceConditionalRenderingFeaturesEXT, VkPhysicalDeviceCooperativeMatrixFeaturesKHR, VkPhysicalDeviceCooperativeMatrixFeaturesNV, VkPhysicalDeviceCopyMemoryIndirectFeaturesNV, VkPhysicalDeviceCornerSampledImageFeaturesNV, VkPhysicalDeviceCoverageReductionModeFeaturesNV, VkPhysicalDeviceCubicClampFeaturesQCOM, VkPhysicalDeviceCubicWeightsFeaturesQCOM, VkPhysicalDeviceCudaKernelLaunchFeaturesNV, VkPhysicalDeviceCustomBorderColorFeaturesEXT, VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, VkPhysicalDeviceDepthBiasControlFeaturesEXT, VkPhysicalDeviceDepthClampZeroOneFeaturesEXT, VkPhysicalDeviceDepthClipControlFeaturesEXT, VkPhysicalDeviceDepthClipEnableFeaturesEXT, VkPhysicalDeviceDescriptorBufferFeaturesEXT, VkPhysicalDeviceDescriptorIndexingFeatures, VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV, VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE, VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV, VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV, VkPhysicalDeviceDeviceMemoryReportFeaturesEXT, VkPhysicalDeviceDiagnosticsConfigFeaturesNV, VkPhysicalDeviceDisplacementMicromapFeaturesNV, VkPhysicalDeviceDynamicRenderingFeatures, VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR, VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT, VkPhysicalDeviceExclusiveScissorFeaturesNV, VkPhysicalDeviceExtendedDynamicState2FeaturesEXT, VkPhysicalDeviceExtendedDynamicState3FeaturesEXT, VkPhysicalDeviceExtendedDynamicStateFeaturesEXT, VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV, VkPhysicalDeviceExternalFormatResolveFeaturesANDROID, VkPhysicalDeviceExternalMemoryRDMAFeaturesNV, VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX, VkPhysicalDeviceFaultFeaturesEXT, VkPhysicalDeviceFeatures2, VkPhysicalDeviceFragmentDensityMap2FeaturesEXT, VkPhysicalDeviceFragmentDensityMapFeaturesEXT, VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM, VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR, VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT, VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV, VkPhysicalDeviceFragmentShadingRateFeaturesKHR, VkPhysicalDeviceFrameBoundaryFeaturesEXT, VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR, VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT, VkPhysicalDeviceHostImageCopyFeaturesEXT, VkPhysicalDeviceHostQueryResetFeatures, VkPhysicalDeviceImage2DViewOf3DFeaturesEXT, VkPhysicalDeviceImageCompressionControlFeaturesEXT, VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT, VkPhysicalDeviceImageProcessing2FeaturesQCOM, VkPhysicalDeviceImageProcessingFeaturesQCOM, VkPhysicalDeviceImageRobustnessFeatures, VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT, VkPhysicalDeviceImageViewMinLodFeaturesEXT, VkPhysicalDeviceImagelessFramebufferFeatures, VkPhysicalDeviceIndexTypeUint8FeaturesKHR, VkPhysicalDeviceInheritedViewportScissorFeaturesNV, VkPhysicalDeviceInlineUniformBlockFeatures, VkPhysicalDeviceInvocationMaskFeaturesHUAWEI, VkPhysicalDeviceLegacyDitheringFeaturesEXT, VkPhysicalDeviceLineRasterizationFeaturesKHR, VkPhysicalDeviceLinearColorAttachmentFeaturesNV, VkPhysicalDeviceMaintenance4Features, VkPhysicalDeviceMaintenance5FeaturesKHR, VkPhysicalDeviceMaintenance6FeaturesKHR, VkPhysicalDeviceMapMemoryPlacedFeaturesEXT, VkPhysicalDeviceMemoryDecompressionFeaturesNV, VkPhysicalDeviceMemoryPriorityFeaturesEXT, VkPhysicalDeviceMeshShaderFeaturesEXT, VkPhysicalDeviceMeshShaderFeaturesNV, VkPhysicalDeviceMultiDrawFeaturesEXT, VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT, VkPhysicalDeviceMultiviewFeatures, VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM, VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM, VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT, VkPhysicalDeviceNestedCommandBufferFeaturesEXT, VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT, VkPhysicalDeviceOpacityMicromapFeaturesEXT, VkPhysicalDeviceOpticalFlowFeaturesNV, VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT, VkPhysicalDevicePerStageDescriptorSetFeaturesNV, VkPhysicalDevicePerformanceQueryFeaturesKHR, VkPhysicalDevicePipelineCreationCacheControlFeatures, VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR, VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT, VkPhysicalDevicePipelinePropertiesFeaturesEXT, VkPhysicalDevicePipelineProtectedAccessFeaturesEXT, VkPhysicalDevicePipelineRobustnessFeaturesEXT, VkPhysicalDevicePortabilitySubsetFeaturesKHR, VkPhysicalDevicePresentBarrierFeaturesNV, VkPhysicalDevicePresentIdFeaturesKHR, VkPhysicalDevicePresentWaitFeaturesKHR, VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT, VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT, VkPhysicalDevicePrivateDataFeatures, VkPhysicalDeviceProtectedMemoryFeatures, VkPhysicalDeviceProvokingVertexFeaturesEXT, VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT, VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT, VkPhysicalDeviceRawAccessChainsFeaturesNV, VkPhysicalDeviceRayQueryFeaturesKHR, VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV, VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR, VkPhysicalDeviceRayTracingMotionBlurFeaturesNV, VkPhysicalDeviceRayTracingPipelineFeaturesKHR, VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR, VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG, VkPhysicalDeviceRenderPassStripedFeaturesARM, VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV, VkPhysicalDeviceRobustness2FeaturesEXT, VkPhysicalDeviceSamplerYcbcrConversionFeatures, VkPhysicalDeviceScalarBlockLayoutFeatures, VkPhysicalDeviceSchedulingControlsFeaturesARM, VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures, VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV, VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT, VkPhysicalDeviceShaderAtomicFloatFeaturesEXT, VkPhysicalDeviceShaderAtomicInt64Features, VkPhysicalDeviceShaderClockFeaturesKHR, VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM, VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures, VkPhysicalDeviceShaderDrawParametersFeatures, VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD, VkPhysicalDeviceShaderEnqueueFeaturesAMDX, VkPhysicalDeviceShaderExpectAssumeFeaturesKHR, VkPhysicalDeviceShaderFloat16Int8Features, VkPhysicalDeviceShaderFloatControls2FeaturesKHR, VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT, VkPhysicalDeviceShaderImageFootprintFeaturesNV, VkPhysicalDeviceShaderIntegerDotProductFeatures, VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR, VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT, VkPhysicalDeviceShaderObjectFeaturesEXT, VkPhysicalDeviceShaderQuadControlFeaturesKHR, VkPhysicalDeviceShaderSMBuiltinsFeaturesNV, VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures, VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR, VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR, VkPhysicalDeviceShaderTerminateInvocationFeatures, VkPhysicalDeviceShaderTileImageFeaturesEXT, VkPhysicalDeviceShadingRateImageFeaturesNV, VkPhysicalDeviceSubgroupSizeControlFeatures, VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT, VkPhysicalDeviceSubpassShadingFeaturesHUAWEI, VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT, VkPhysicalDeviceSynchronization2Features, VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT, VkPhysicalDeviceTextureCompressionASTCHDRFeatures, VkPhysicalDeviceTilePropertiesFeaturesQCOM, VkPhysicalDeviceTimelineSemaphoreFeatures, VkPhysicalDeviceTransformFeedbackFeaturesEXT, VkPhysicalDeviceUniformBufferStandardLayoutFeatures, VkPhysicalDeviceVariablePointersFeatures, VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR, VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT, VkPhysicalDeviceVideoMaintenance1FeaturesKHR, VkPhysicalDeviceVulkan11Features, VkPhysicalDeviceVulkan12Features, VkPhysicalDeviceVulkan13Features, VkPhysicalDeviceVulkanMemoryModelFeatures, VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR, VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT, VkPhysicalDeviceYcbcrDegammaFeaturesQCOM, VkPhysicalDeviceYcbcrImageArraysFeaturesEXT, or VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures", + "text": "Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkDeviceDeviceMemoryReportCreateInfoEXT, VkDeviceDiagnosticsConfigCreateInfoNV, VkDeviceGroupDeviceCreateInfo, VkDeviceMemoryOverallocationCreateInfoAMD, VkDevicePrivateDataCreateInfo, VkDeviceQueueShaderCoreControlCreateInfoARM, VkPhysicalDevice16BitStorageFeatures, VkPhysicalDevice4444FormatsFeaturesEXT, VkPhysicalDevice8BitStorageFeatures, VkPhysicalDeviceASTCDecodeFeaturesEXT, VkPhysicalDeviceAccelerationStructureFeaturesKHR, VkPhysicalDeviceAddressBindingReportFeaturesEXT, VkPhysicalDeviceAmigoProfilingFeaturesSEC, VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT, VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT, VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT, VkPhysicalDeviceBorderColorSwizzleFeaturesEXT, VkPhysicalDeviceBufferDeviceAddressFeatures, VkPhysicalDeviceBufferDeviceAddressFeaturesEXT, VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI, VkPhysicalDeviceCoherentMemoryFeaturesAMD, VkPhysicalDeviceColorWriteEnableFeaturesEXT, VkPhysicalDeviceComputeShaderDerivativesFeaturesNV, VkPhysicalDeviceConditionalRenderingFeaturesEXT, VkPhysicalDeviceCooperativeMatrixFeaturesKHR, VkPhysicalDeviceCooperativeMatrixFeaturesNV, VkPhysicalDeviceCopyMemoryIndirectFeaturesNV, VkPhysicalDeviceCornerSampledImageFeaturesNV, VkPhysicalDeviceCoverageReductionModeFeaturesNV, VkPhysicalDeviceCubicClampFeaturesQCOM, VkPhysicalDeviceCubicWeightsFeaturesQCOM, VkPhysicalDeviceCudaKernelLaunchFeaturesNV, VkPhysicalDeviceCustomBorderColorFeaturesEXT, VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, VkPhysicalDeviceDepthBiasControlFeaturesEXT, VkPhysicalDeviceDepthClampZeroOneFeaturesEXT, VkPhysicalDeviceDepthClipControlFeaturesEXT, VkPhysicalDeviceDepthClipEnableFeaturesEXT, VkPhysicalDeviceDescriptorBufferFeaturesEXT, VkPhysicalDeviceDescriptorIndexingFeatures, VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV, VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE, VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV, VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV, VkPhysicalDeviceDeviceMemoryReportFeaturesEXT, VkPhysicalDeviceDiagnosticsConfigFeaturesNV, VkPhysicalDeviceDisplacementMicromapFeaturesNV, VkPhysicalDeviceDynamicRenderingFeatures, VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR, VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT, VkPhysicalDeviceExclusiveScissorFeaturesNV, VkPhysicalDeviceExtendedDynamicState2FeaturesEXT, VkPhysicalDeviceExtendedDynamicState3FeaturesEXT, VkPhysicalDeviceExtendedDynamicStateFeaturesEXT, VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV, VkPhysicalDeviceExternalFormatResolveFeaturesANDROID, VkPhysicalDeviceExternalMemoryRDMAFeaturesNV, VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX, VkPhysicalDeviceFaultFeaturesEXT, VkPhysicalDeviceFeatures2, VkPhysicalDeviceFragmentDensityMap2FeaturesEXT, VkPhysicalDeviceFragmentDensityMapFeaturesEXT, VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM, VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR, VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT, VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV, VkPhysicalDeviceFragmentShadingRateFeaturesKHR, VkPhysicalDeviceFrameBoundaryFeaturesEXT, VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR, VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT, VkPhysicalDeviceHostImageCopyFeaturesEXT, VkPhysicalDeviceHostQueryResetFeatures, VkPhysicalDeviceImage2DViewOf3DFeaturesEXT, VkPhysicalDeviceImageCompressionControlFeaturesEXT, VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT, VkPhysicalDeviceImageProcessing2FeaturesQCOM, VkPhysicalDeviceImageProcessingFeaturesQCOM, VkPhysicalDeviceImageRobustnessFeatures, VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT, VkPhysicalDeviceImageViewMinLodFeaturesEXT, VkPhysicalDeviceImagelessFramebufferFeatures, VkPhysicalDeviceIndexTypeUint8FeaturesKHR, VkPhysicalDeviceInheritedViewportScissorFeaturesNV, VkPhysicalDeviceInlineUniformBlockFeatures, VkPhysicalDeviceInvocationMaskFeaturesHUAWEI, VkPhysicalDeviceLegacyDitheringFeaturesEXT, VkPhysicalDeviceLineRasterizationFeaturesKHR, VkPhysicalDeviceLinearColorAttachmentFeaturesNV, VkPhysicalDeviceMaintenance4Features, VkPhysicalDeviceMaintenance5FeaturesKHR, VkPhysicalDeviceMaintenance6FeaturesKHR, VkPhysicalDeviceMapMemoryPlacedFeaturesEXT, VkPhysicalDeviceMemoryDecompressionFeaturesNV, VkPhysicalDeviceMemoryPriorityFeaturesEXT, VkPhysicalDeviceMeshShaderFeaturesEXT, VkPhysicalDeviceMeshShaderFeaturesNV, VkPhysicalDeviceMultiDrawFeaturesEXT, VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT, VkPhysicalDeviceMultiviewFeatures, VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM, VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM, VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT, VkPhysicalDeviceNestedCommandBufferFeaturesEXT, VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT, VkPhysicalDeviceOpacityMicromapFeaturesEXT, VkPhysicalDeviceOpticalFlowFeaturesNV, VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT, VkPhysicalDevicePerStageDescriptorSetFeaturesNV, VkPhysicalDevicePerformanceQueryFeaturesKHR, VkPhysicalDevicePipelineCreationCacheControlFeatures, VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR, VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT, VkPhysicalDevicePipelinePropertiesFeaturesEXT, VkPhysicalDevicePipelineProtectedAccessFeaturesEXT, VkPhysicalDevicePipelineRobustnessFeaturesEXT, VkPhysicalDevicePortabilitySubsetFeaturesKHR, VkPhysicalDevicePresentBarrierFeaturesNV, VkPhysicalDevicePresentIdFeaturesKHR, VkPhysicalDevicePresentWaitFeaturesKHR, VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT, VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT, VkPhysicalDevicePrivateDataFeatures, VkPhysicalDeviceProtectedMemoryFeatures, VkPhysicalDeviceProvokingVertexFeaturesEXT, VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT, VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT, VkPhysicalDeviceRawAccessChainsFeaturesNV, VkPhysicalDeviceRayQueryFeaturesKHR, VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV, VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR, VkPhysicalDeviceRayTracingMotionBlurFeaturesNV, VkPhysicalDeviceRayTracingPipelineFeaturesKHR, VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR, VkPhysicalDeviceRayTracingValidationFeaturesNV, VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG, VkPhysicalDeviceRenderPassStripedFeaturesARM, VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV, VkPhysicalDeviceRobustness2FeaturesEXT, VkPhysicalDeviceSamplerYcbcrConversionFeatures, VkPhysicalDeviceScalarBlockLayoutFeatures, VkPhysicalDeviceSchedulingControlsFeaturesARM, VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures, VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV, VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT, VkPhysicalDeviceShaderAtomicFloatFeaturesEXT, VkPhysicalDeviceShaderAtomicInt64Features, VkPhysicalDeviceShaderClockFeaturesKHR, VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM, VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures, VkPhysicalDeviceShaderDrawParametersFeatures, VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD, VkPhysicalDeviceShaderEnqueueFeaturesAMDX, VkPhysicalDeviceShaderExpectAssumeFeaturesKHR, VkPhysicalDeviceShaderFloat16Int8Features, VkPhysicalDeviceShaderFloatControls2FeaturesKHR, VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT, VkPhysicalDeviceShaderImageFootprintFeaturesNV, VkPhysicalDeviceShaderIntegerDotProductFeatures, VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR, VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT, VkPhysicalDeviceShaderObjectFeaturesEXT, VkPhysicalDeviceShaderQuadControlFeaturesKHR, VkPhysicalDeviceShaderSMBuiltinsFeaturesNV, VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures, VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR, VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR, VkPhysicalDeviceShaderTerminateInvocationFeatures, VkPhysicalDeviceShaderTileImageFeaturesEXT, VkPhysicalDeviceShadingRateImageFeaturesNV, VkPhysicalDeviceSubgroupSizeControlFeatures, VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT, VkPhysicalDeviceSubpassShadingFeaturesHUAWEI, VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT, VkPhysicalDeviceSynchronization2Features, VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT, VkPhysicalDeviceTextureCompressionASTCHDRFeatures, VkPhysicalDeviceTilePropertiesFeaturesQCOM, VkPhysicalDeviceTimelineSemaphoreFeatures, VkPhysicalDeviceTransformFeedbackFeaturesEXT, VkPhysicalDeviceUniformBufferStandardLayoutFeatures, VkPhysicalDeviceVariablePointersFeatures, VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR, VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT, VkPhysicalDeviceVideoMaintenance1FeaturesKHR, VkPhysicalDeviceVulkan11Features, VkPhysicalDeviceVulkan12Features, VkPhysicalDeviceVulkan13Features, VkPhysicalDeviceVulkanMemoryModelFeatures, VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR, VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT, VkPhysicalDeviceYcbcrDegammaFeaturesQCOM, VkPhysicalDeviceYcbcrImageArraysFeaturesEXT, or VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures", "page": "vkspec" }, { @@ -1909,7 +1909,7 @@ }, { "vuid": "VUID-vkQueueSubmit2-commandBuffer-03879", - "text": "If a command recorded into the commandBuffer member of any element of the pCommandBufferInfos member of any element of pSubmits includes a Queue Family Transfer Acquire Operation, there must exist a previously submitted Queue Family Transfer Release Operation on a queue in the queue family identified by the acquire operation, with parameters matching the acquire operation as defined in the definition of such acquire operations, and which happens before the acquire operation", + "text": "If a command recorded into the commandBuffer member of any element of the pCommandBufferInfos member of any element of pSubmits includes a Queue Family Ownership Transfer Acquire Operation, there must exist a previously submitted Queue Family Ownership Transfer Release Operation on a queue in the queue family identified by the acquire operation, with parameters matching the acquire operation as defined in the definition of such acquire operations, and which happens before the acquire operation", "page": "vkspec" }, { @@ -2259,7 +2259,7 @@ }, { "vuid": "VUID-vkQueueSubmit-pSubmits-02207", - "text": "If any element of pSubmits->pCommandBuffers includes a Queue Family Transfer Acquire Operation, there must exist a previously submitted Queue Family Transfer Release Operation on a queue in the queue family identified by the acquire operation, with parameters matching the acquire operation as defined in the definition of such acquire operations, and which happens-before the acquire operation", + "text": "If any element of pSubmits->pCommandBuffers includes a Queue Family Ownership Transfer Acquire Operation, there must exist a previously submitted Queue Family Ownership Transfer Release Operation on a queue in the queue family identified by the acquire operation, with parameters matching the acquire operation as defined in the definition of such acquire operations, and which happens-before the acquire operation", "page": "vkspec" }, { @@ -7797,6 +7797,11 @@ "text": "If the aspectMask member of subresourceRange includes VK_IMAGE_ASPECT_STENCIL_BIT, oldLayout and newLayout must not be one of VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL", "page": "vkspec" }, + { + "vuid": "VUID-VkImageMemoryBarrier2-subresourceRange-09601", + "text": "subresourceRange.aspectMask must be valid for the format the image was created with", + "page": "vkspec" + }, { "vuid": "VUID-VkImageMemoryBarrier2-srcStageMask-03854", "text": "If either srcStageMask or dstStageMask includes VK_PIPELINE_STAGE_2_HOST_BIT, srcQueueFamilyIndex and dstQueueFamilyIndex must be equal", @@ -8111,6 +8116,11 @@ "text": "If the aspectMask member of subresourceRange includes VK_IMAGE_ASPECT_STENCIL_BIT, oldLayout and newLayout must not be one of VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL", "page": "vkspec" }, + { + "vuid": "VUID-VkImageMemoryBarrier-subresourceRange-09601", + "text": "subresourceRange.aspectMask must be valid for the format the image was created with", + "page": "vkspec" + }, { "vuid": "VUID-VkImageMemoryBarrier-None-09052", "text": "If the synchronization2 feature is not enabled, and image was created with a sharing mode of VK_SHARING_MODE_CONCURRENT, at least one of srcQueueFamilyIndex and dstQueueFamilyIndex must be VK_QUEUE_FAMILY_IGNORED", @@ -8249,6 +8259,11 @@ "text": "If the aspectMask member of subresourceRange includes VK_IMAGE_ASPECT_STENCIL_BIT, oldLayout and newLayout must not be one of VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL", "page": "vkspec" }, + { + "vuid": "VUID-VkHostImageLayoutTransitionInfoEXT-subresourceRange-09601", + "text": "subresourceRange.aspectMask must be valid for the format the image was created with", + "page": "vkspec" + }, { "vuid": "VUID-VkHostImageLayoutTransitionInfoEXT-oldLayout-09229", "text": "oldLayout must be either VK_IMAGE_LAYOUT_UNDEFINED or the current layout of the image subresources as specified in subresourceRange", @@ -8398,6 +8413,36 @@ "text": "If commandBuffer is a secondary command buffer, and the nestedCommandBuffer feature is not enabled, pRenderingInfo->flags must not include VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdBeginRendering-pRenderingInfo-09588", + "text": "If pRenderingInfo->pDepthAttachment is not NULL and pRenderingInfo->pDepthAttachment->imageView is not VK_NULL_HANDLE, pRenderingInfo->pDepthAttachment->imageView must be in the layout specified by pRenderingInfo->pDepthAttachment->imageLayout", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdBeginRendering-pRenderingInfo-09589", + "text": "If pRenderingInfo->pDepthAttachment is not NULL, pRenderingInfo->pDepthAttachment->imageView is not VK_NULL_HANDLE, pRenderingInfo->pDepthAttachment->imageResolveMode is not VK_RESOLVE_MODE_NONE, and pRenderingInfo->pDepthAttachment->resolveImageView is not VK_NULL_HANDLE, pRenderingInfo->pDepthAttachment->resolveImageView must be in the layout specified by pRenderingInfo->pDepthAttachment->resolveImageLayout", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdBeginRendering-pRenderingInfo-09590", + "text": "If pRenderingInfo->pStencilAttachment is not NULL and pRenderingInfo->pStencilAttachment->imageView is not VK_NULL_HANDLE, pRenderingInfo->pStencilAttachment->imageView must be in the layout specified by pRenderingInfo->pStencilAttachment->imageLayout", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdBeginRendering-pRenderingInfo-09591", + "text": "If pRenderingInfo->pStencilAttachment is not NULL, pRenderingInfo->pStencilAttachment->imageView is not VK_NULL_HANDLE, pRenderingInfo->pStencilAttachment->imageResolveMode is not VK_RESOLVE_MODE_NONE, and pRenderingInfo->pStencilAttachment->resolveImageView is not VK_NULL_HANDLE, pRenderingInfo->pStencilAttachment->resolveImageView must be in the layout specified by pRenderingInfo->pStencilAttachment->resolveImageLayout", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdBeginRendering-pRenderingInfo-09592", + "text": "For any element of pRenderingInfo->pColorAttachments, if imageView is not VK_NULL_HANDLE, that image view must be in the layout specified by imageLayout", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdBeginRendering-pRenderingInfo-09593", + "text": "For any element of pRenderingInfo->pColorAttachments, if either imageResolveMode is VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID, or imageView is not VK_NULL_HANDLE and resolveMode is not VK_RESOLVE_MODE_NONE, and resolveImageView is not VK_NULL_HANDLE, resolveImageView must be in the layout specified by resolveImageLayout", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdBeginRendering-commandBuffer-parameter", "text": "commandBuffer must be a valid VkCommandBuffer handle", @@ -15973,7 +16018,7 @@ }, { "vuid": "VUID-VkGraphicsPipelineCreateInfo-renderPass-09037", - "text": "If renderPass is VK_NULL_HANDLE, the pipeline is being created with fragment output interface state, and VkPipelineRenderingCreateInfo::colorAttachmentCount is not equal to 0, and the VK_EXT_extended_dynamic_state3 extension is not enabled, or any of the VK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT, VK_DYNAMIC_STATE_LOGIC_OP_EXT, VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT, VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT, VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT, or VK_DYNAMIC_STATE_BLEND_CONSTANTS dynamic states are not set, pColorBlendState must be a valid pointer to a valid VkPipelineColorBlendStateCreateInfo structure", + "text": "If renderPass is VK_NULL_HANDLE, the pipeline is being created with fragment output interface state, and any element of VkPipelineRenderingCreateInfo::pColorAttachmentFormats is not VK_FORMAT_UNDEFINED, and the VK_EXT_extended_dynamic_state3 extension is not enabled, or any of the VK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT, VK_DYNAMIC_STATE_LOGIC_OP_EXT, VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT, VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT, VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT, or VK_DYNAMIC_STATE_BLEND_CONSTANTS dynamic states are not set, pColorBlendState must be a valid pointer to a valid VkPipelineColorBlendStateCreateInfo structure", "page": "vkspec" }, { @@ -16101,6 +16146,11 @@ "text": "If the pipeline requires pre-rasterization shader state or fragment shader state, pStages must be a valid pointer to an array of stageCount valid VkPipelineShaderStageCreateInfo structures", "page": "vkspec" }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-stageCount-09587", + "text": "If the pipeline does not require pre-rasterization shader state or fragment shader state, stageCount must be zero", + "page": "vkspec" + }, { "vuid": "VUID-VkGraphicsPipelineCreateInfo-pRasterizationState-09039", "text": "If VkGraphicsPipelineLibraryCreateInfoEXT::flags includes VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT, and the VK_EXT_extended_dynamic_state3 extension is not enabled, or any of the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT, VK_DYNAMIC_STATE_SAMPLE_MASK_EXT, or VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT dynamic states are not set, or alphaToOne is enabled on the device and VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT is not set, then pMultisampleState must be a valid pointer to a valid VkPipelineMultisampleStateCreateInfo structure", @@ -23374,6 +23424,11 @@ "text": "If the pNext chain includes VkImageViewSampleWeightCreateInfoQCOM structure then VkImageViewSampleWeightCreateInfoQCOM::filterSize.height must be less than or equal to VkPhysicalDeviceImageProcessingPropertiesQCOM::maxWeightFilterDimension.height", "page": "vkspec" }, + { + "vuid": "VUID-VkImageViewCreateInfo-subresourceRange-09594", + "text": "subresourceRange.aspectMask must be valid for the format the image was created with", + "page": "vkspec" + }, { "vuid": "VUID-VkImageViewCreateInfo-sType-sType", "text": "sType must be VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO", @@ -41256,12 +41311,22 @@ "core": [ { "vuid": "VUID-vkCmdDraw-magFilter-04553", - "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDraw-magFilter-09598", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { "vuid": "VUID-vkCmdDraw-mipmapMode-04770", - "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDraw-mipmapMode-09599", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { @@ -41569,6 +41634,11 @@ "text": "Any shader invocation executed by this command must terminate", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdDraw-None-09600", + "text": "If a descriptor with type equal to any of VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, or VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT is accessed as a result of this command, the image subresource identified by that descriptor must be in the image layout identified when the descriptor was written", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdDraw-renderPass-02684", "text": "The current render pass must be compatible with the renderPass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", @@ -41594,6 +41664,21 @@ "text": "Input attachment views accessed in a subpass must be created with the same VkFormat as the corresponding subpass definition, and be created with a VkImageView that is compatible with the attachment referenced by the subpass' pInputAttachments[InputAttachmentIndex] in the currently bound VkFramebuffer as specified by Fragment Input Attachment Compatibility", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdDraw-pDepthInputAttachmentIndex-09595", + "text": "Input attachment views accessed in a dynamic render pass with a InputAttachmentIndex referenced by VkRenderingInputAttachmentIndexInfoKHR, or no InputAttachmentIndex if VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex or VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are NULL, must be created with a VkImageView that is compatible with the corresponding color, depth, or stencil attachment in VkRenderingInfo.", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDraw-pDepthInputAttachmentIndex-09596", + "text": "Input attachment views accessed in a dynamic render pass via a shader object must have an InputAttachmentIndex if both VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex and VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are non-NULL.", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDraw-InputAttachmentIndex-09597", + "text": "If an input attachment view accessed in a dynamic render pass via a shader object has an InputAttachmentIndex, the InputAttachmentIndex must match an index in VkRenderingInputAttachmentIndexInfoKHR.", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdDraw-None-06537", "text": "Memory backing image subresources used as attachments in the current render pass must not be written in any way other than as an attachment by this command", @@ -42341,7 +42426,7 @@ }, { "vuid": "VUID-vkCmdDraw-None-08657", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command", "page": "vkspec" }, { @@ -42361,7 +42446,7 @@ }, { "vuid": "VUID-vkCmdDraw-None-08659", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command", "page": "vkspec" }, { @@ -42646,7 +42731,7 @@ }, { "vuid": "VUID-vkCmdDraw-rasterizerDiscardEnable-09418", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled", "page": "vkspec" }, { @@ -43060,12 +43145,22 @@ "core": [ { "vuid": "VUID-vkCmdDrawIndexed-magFilter-04553", - "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawIndexed-magFilter-09598", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { "vuid": "VUID-vkCmdDrawIndexed-mipmapMode-04770", - "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawIndexed-mipmapMode-09599", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { @@ -43373,6 +43468,11 @@ "text": "Any shader invocation executed by this command must terminate", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdDrawIndexed-None-09600", + "text": "If a descriptor with type equal to any of VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, or VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT is accessed as a result of this command, the image subresource identified by that descriptor must be in the image layout identified when the descriptor was written", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdDrawIndexed-renderPass-02684", "text": "The current render pass must be compatible with the renderPass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", @@ -43398,6 +43498,21 @@ "text": "Input attachment views accessed in a subpass must be created with the same VkFormat as the corresponding subpass definition, and be created with a VkImageView that is compatible with the attachment referenced by the subpass' pInputAttachments[InputAttachmentIndex] in the currently bound VkFramebuffer as specified by Fragment Input Attachment Compatibility", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdDrawIndexed-pDepthInputAttachmentIndex-09595", + "text": "Input attachment views accessed in a dynamic render pass with a InputAttachmentIndex referenced by VkRenderingInputAttachmentIndexInfoKHR, or no InputAttachmentIndex if VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex or VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are NULL, must be created with a VkImageView that is compatible with the corresponding color, depth, or stencil attachment in VkRenderingInfo.", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawIndexed-pDepthInputAttachmentIndex-09596", + "text": "Input attachment views accessed in a dynamic render pass via a shader object must have an InputAttachmentIndex if both VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex and VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are non-NULL.", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawIndexed-InputAttachmentIndex-09597", + "text": "If an input attachment view accessed in a dynamic render pass via a shader object has an InputAttachmentIndex, the InputAttachmentIndex must match an index in VkRenderingInputAttachmentIndexInfoKHR.", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdDrawIndexed-None-06537", "text": "Memory backing image subresources used as attachments in the current render pass must not be written in any way other than as an attachment by this command", @@ -44145,7 +44260,7 @@ }, { "vuid": "VUID-vkCmdDrawIndexed-None-08657", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command", "page": "vkspec" }, { @@ -44165,7 +44280,7 @@ }, { "vuid": "VUID-vkCmdDrawIndexed-None-08659", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command", "page": "vkspec" }, { @@ -44450,7 +44565,7 @@ }, { "vuid": "VUID-vkCmdDrawIndexed-rasterizerDiscardEnable-09418", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled", "page": "vkspec" }, { @@ -44879,12 +44994,22 @@ "core": [ { "vuid": "VUID-vkCmdDrawMultiEXT-magFilter-04553", - "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawMultiEXT-magFilter-09598", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { "vuid": "VUID-vkCmdDrawMultiEXT-mipmapMode-04770", - "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawMultiEXT-mipmapMode-09599", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { @@ -45192,6 +45317,11 @@ "text": "Any shader invocation executed by this command must terminate", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdDrawMultiEXT-None-09600", + "text": "If a descriptor with type equal to any of VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, or VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT is accessed as a result of this command, the image subresource identified by that descriptor must be in the image layout identified when the descriptor was written", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdDrawMultiEXT-renderPass-02684", "text": "The current render pass must be compatible with the renderPass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", @@ -45217,6 +45347,21 @@ "text": "Input attachment views accessed in a subpass must be created with the same VkFormat as the corresponding subpass definition, and be created with a VkImageView that is compatible with the attachment referenced by the subpass' pInputAttachments[InputAttachmentIndex] in the currently bound VkFramebuffer as specified by Fragment Input Attachment Compatibility", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdDrawMultiEXT-pDepthInputAttachmentIndex-09595", + "text": "Input attachment views accessed in a dynamic render pass with a InputAttachmentIndex referenced by VkRenderingInputAttachmentIndexInfoKHR, or no InputAttachmentIndex if VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex or VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are NULL, must be created with a VkImageView that is compatible with the corresponding color, depth, or stencil attachment in VkRenderingInfo.", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawMultiEXT-pDepthInputAttachmentIndex-09596", + "text": "Input attachment views accessed in a dynamic render pass via a shader object must have an InputAttachmentIndex if both VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex and VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are non-NULL.", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawMultiEXT-InputAttachmentIndex-09597", + "text": "If an input attachment view accessed in a dynamic render pass via a shader object has an InputAttachmentIndex, the InputAttachmentIndex must match an index in VkRenderingInputAttachmentIndexInfoKHR.", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdDrawMultiEXT-None-06537", "text": "Memory backing image subresources used as attachments in the current render pass must not be written in any way other than as an attachment by this command", @@ -45964,7 +46109,7 @@ }, { "vuid": "VUID-vkCmdDrawMultiEXT-None-08657", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command", "page": "vkspec" }, { @@ -45984,7 +46129,7 @@ }, { "vuid": "VUID-vkCmdDrawMultiEXT-None-08659", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command", "page": "vkspec" }, { @@ -46269,7 +46414,7 @@ }, { "vuid": "VUID-vkCmdDrawMultiEXT-rasterizerDiscardEnable-09418", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled", "page": "vkspec" }, { @@ -46703,12 +46848,22 @@ "core": [ { "vuid": "VUID-vkCmdDrawMultiIndexedEXT-magFilter-04553", - "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawMultiIndexedEXT-magFilter-09598", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { "vuid": "VUID-vkCmdDrawMultiIndexedEXT-mipmapMode-04770", - "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawMultiIndexedEXT-mipmapMode-09599", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { @@ -47016,6 +47171,11 @@ "text": "Any shader invocation executed by this command must terminate", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-09600", + "text": "If a descriptor with type equal to any of VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, or VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT is accessed as a result of this command, the image subresource identified by that descriptor must be in the image layout identified when the descriptor was written", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdDrawMultiIndexedEXT-renderPass-02684", "text": "The current render pass must be compatible with the renderPass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", @@ -47041,6 +47201,21 @@ "text": "Input attachment views accessed in a subpass must be created with the same VkFormat as the corresponding subpass definition, and be created with a VkImageView that is compatible with the attachment referenced by the subpass' pInputAttachments[InputAttachmentIndex] in the currently bound VkFramebuffer as specified by Fragment Input Attachment Compatibility", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdDrawMultiIndexedEXT-pDepthInputAttachmentIndex-09595", + "text": "Input attachment views accessed in a dynamic render pass with a InputAttachmentIndex referenced by VkRenderingInputAttachmentIndexInfoKHR, or no InputAttachmentIndex if VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex or VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are NULL, must be created with a VkImageView that is compatible with the corresponding color, depth, or stencil attachment in VkRenderingInfo.", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawMultiIndexedEXT-pDepthInputAttachmentIndex-09596", + "text": "Input attachment views accessed in a dynamic render pass via a shader object must have an InputAttachmentIndex if both VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex and VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are non-NULL.", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawMultiIndexedEXT-InputAttachmentIndex-09597", + "text": "If an input attachment view accessed in a dynamic render pass via a shader object has an InputAttachmentIndex, the InputAttachmentIndex must match an index in VkRenderingInputAttachmentIndexInfoKHR.", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-06537", "text": "Memory backing image subresources used as attachments in the current render pass must not be written in any way other than as an attachment by this command", @@ -47788,7 +47963,7 @@ }, { "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-08657", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command", "page": "vkspec" }, { @@ -47808,7 +47983,7 @@ }, { "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-08659", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command", "page": "vkspec" }, { @@ -48093,7 +48268,7 @@ }, { "vuid": "VUID-vkCmdDrawMultiIndexedEXT-rasterizerDiscardEnable-09418", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled", "page": "vkspec" }, { @@ -48547,12 +48722,22 @@ "core": [ { "vuid": "VUID-vkCmdDrawIndirect-magFilter-04553", - "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawIndirect-magFilter-09598", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { "vuid": "VUID-vkCmdDrawIndirect-mipmapMode-04770", - "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawIndirect-mipmapMode-09599", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { @@ -48860,6 +49045,11 @@ "text": "Any shader invocation executed by this command must terminate", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdDrawIndirect-None-09600", + "text": "If a descriptor with type equal to any of VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, or VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT is accessed as a result of this command, the image subresource identified by that descriptor must be in the image layout identified when the descriptor was written", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdDrawIndirect-renderPass-02684", "text": "The current render pass must be compatible with the renderPass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", @@ -48885,6 +49075,21 @@ "text": "Input attachment views accessed in a subpass must be created with the same VkFormat as the corresponding subpass definition, and be created with a VkImageView that is compatible with the attachment referenced by the subpass' pInputAttachments[InputAttachmentIndex] in the currently bound VkFramebuffer as specified by Fragment Input Attachment Compatibility", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdDrawIndirect-pDepthInputAttachmentIndex-09595", + "text": "Input attachment views accessed in a dynamic render pass with a InputAttachmentIndex referenced by VkRenderingInputAttachmentIndexInfoKHR, or no InputAttachmentIndex if VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex or VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are NULL, must be created with a VkImageView that is compatible with the corresponding color, depth, or stencil attachment in VkRenderingInfo.", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawIndirect-pDepthInputAttachmentIndex-09596", + "text": "Input attachment views accessed in a dynamic render pass via a shader object must have an InputAttachmentIndex if both VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex and VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are non-NULL.", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawIndirect-InputAttachmentIndex-09597", + "text": "If an input attachment view accessed in a dynamic render pass via a shader object has an InputAttachmentIndex, the InputAttachmentIndex must match an index in VkRenderingInputAttachmentIndexInfoKHR.", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdDrawIndirect-None-06537", "text": "Memory backing image subresources used as attachments in the current render pass must not be written in any way other than as an attachment by this command", @@ -49632,7 +49837,7 @@ }, { "vuid": "VUID-vkCmdDrawIndirect-None-08657", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command", "page": "vkspec" }, { @@ -49652,7 +49857,7 @@ }, { "vuid": "VUID-vkCmdDrawIndirect-None-08659", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command", "page": "vkspec" }, { @@ -49937,7 +50142,7 @@ }, { "vuid": "VUID-vkCmdDrawIndirect-rasterizerDiscardEnable-09418", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled", "page": "vkspec" }, { @@ -50405,12 +50610,22 @@ "core": [ { "vuid": "VUID-vkCmdDrawIndirectCount-magFilter-04553", - "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawIndirectCount-magFilter-09598", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { "vuid": "VUID-vkCmdDrawIndirectCount-mipmapMode-04770", - "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawIndirectCount-mipmapMode-09599", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { @@ -50718,6 +50933,11 @@ "text": "Any shader invocation executed by this command must terminate", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdDrawIndirectCount-None-09600", + "text": "If a descriptor with type equal to any of VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, or VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT is accessed as a result of this command, the image subresource identified by that descriptor must be in the image layout identified when the descriptor was written", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdDrawIndirectCount-renderPass-02684", "text": "The current render pass must be compatible with the renderPass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", @@ -50743,6 +50963,21 @@ "text": "Input attachment views accessed in a subpass must be created with the same VkFormat as the corresponding subpass definition, and be created with a VkImageView that is compatible with the attachment referenced by the subpass' pInputAttachments[InputAttachmentIndex] in the currently bound VkFramebuffer as specified by Fragment Input Attachment Compatibility", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdDrawIndirectCount-pDepthInputAttachmentIndex-09595", + "text": "Input attachment views accessed in a dynamic render pass with a InputAttachmentIndex referenced by VkRenderingInputAttachmentIndexInfoKHR, or no InputAttachmentIndex if VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex or VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are NULL, must be created with a VkImageView that is compatible with the corresponding color, depth, or stencil attachment in VkRenderingInfo.", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawIndirectCount-pDepthInputAttachmentIndex-09596", + "text": "Input attachment views accessed in a dynamic render pass via a shader object must have an InputAttachmentIndex if both VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex and VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are non-NULL.", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawIndirectCount-InputAttachmentIndex-09597", + "text": "If an input attachment view accessed in a dynamic render pass via a shader object has an InputAttachmentIndex, the InputAttachmentIndex must match an index in VkRenderingInputAttachmentIndexInfoKHR.", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdDrawIndirectCount-None-06537", "text": "Memory backing image subresources used as attachments in the current render pass must not be written in any way other than as an attachment by this command", @@ -51490,7 +51725,7 @@ }, { "vuid": "VUID-vkCmdDrawIndirectCount-None-08657", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command", "page": "vkspec" }, { @@ -51510,7 +51745,7 @@ }, { "vuid": "VUID-vkCmdDrawIndirectCount-None-08659", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command", "page": "vkspec" }, { @@ -51795,7 +52030,7 @@ }, { "vuid": "VUID-vkCmdDrawIndirectCount-rasterizerDiscardEnable-09418", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled", "page": "vkspec" }, { @@ -52269,12 +52504,22 @@ "core": [ { "vuid": "VUID-vkCmdDrawIndexedIndirect-magFilter-04553", - "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawIndexedIndirect-magFilter-09598", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { "vuid": "VUID-vkCmdDrawIndexedIndirect-mipmapMode-04770", - "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawIndexedIndirect-mipmapMode-09599", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { @@ -52582,6 +52827,11 @@ "text": "Any shader invocation executed by this command must terminate", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdDrawIndexedIndirect-None-09600", + "text": "If a descriptor with type equal to any of VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, or VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT is accessed as a result of this command, the image subresource identified by that descriptor must be in the image layout identified when the descriptor was written", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdDrawIndexedIndirect-renderPass-02684", "text": "The current render pass must be compatible with the renderPass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", @@ -52607,6 +52857,21 @@ "text": "Input attachment views accessed in a subpass must be created with the same VkFormat as the corresponding subpass definition, and be created with a VkImageView that is compatible with the attachment referenced by the subpass' pInputAttachments[InputAttachmentIndex] in the currently bound VkFramebuffer as specified by Fragment Input Attachment Compatibility", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdDrawIndexedIndirect-pDepthInputAttachmentIndex-09595", + "text": "Input attachment views accessed in a dynamic render pass with a InputAttachmentIndex referenced by VkRenderingInputAttachmentIndexInfoKHR, or no InputAttachmentIndex if VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex or VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are NULL, must be created with a VkImageView that is compatible with the corresponding color, depth, or stencil attachment in VkRenderingInfo.", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawIndexedIndirect-pDepthInputAttachmentIndex-09596", + "text": "Input attachment views accessed in a dynamic render pass via a shader object must have an InputAttachmentIndex if both VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex and VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are non-NULL.", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawIndexedIndirect-InputAttachmentIndex-09597", + "text": "If an input attachment view accessed in a dynamic render pass via a shader object has an InputAttachmentIndex, the InputAttachmentIndex must match an index in VkRenderingInputAttachmentIndexInfoKHR.", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdDrawIndexedIndirect-None-06537", "text": "Memory backing image subresources used as attachments in the current render pass must not be written in any way other than as an attachment by this command", @@ -53354,7 +53619,7 @@ }, { "vuid": "VUID-vkCmdDrawIndexedIndirect-None-08657", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command", "page": "vkspec" }, { @@ -53374,7 +53639,7 @@ }, { "vuid": "VUID-vkCmdDrawIndexedIndirect-None-08659", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command", "page": "vkspec" }, { @@ -53659,7 +53924,7 @@ }, { "vuid": "VUID-vkCmdDrawIndexedIndirect-rasterizerDiscardEnable-09418", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled", "page": "vkspec" }, { @@ -54142,12 +54407,22 @@ "core": [ { "vuid": "VUID-vkCmdDrawIndexedIndirectCount-magFilter-04553", - "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawIndexedIndirectCount-magFilter-09598", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { "vuid": "VUID-vkCmdDrawIndexedIndirectCount-mipmapMode-04770", - "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawIndexedIndirectCount-mipmapMode-09599", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { @@ -54455,6 +54730,11 @@ "text": "Any shader invocation executed by this command must terminate", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-09600", + "text": "If a descriptor with type equal to any of VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, or VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT is accessed as a result of this command, the image subresource identified by that descriptor must be in the image layout identified when the descriptor was written", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdDrawIndexedIndirectCount-renderPass-02684", "text": "The current render pass must be compatible with the renderPass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", @@ -54480,6 +54760,21 @@ "text": "Input attachment views accessed in a subpass must be created with the same VkFormat as the corresponding subpass definition, and be created with a VkImageView that is compatible with the attachment referenced by the subpass' pInputAttachments[InputAttachmentIndex] in the currently bound VkFramebuffer as specified by Fragment Input Attachment Compatibility", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdDrawIndexedIndirectCount-pDepthInputAttachmentIndex-09595", + "text": "Input attachment views accessed in a dynamic render pass with a InputAttachmentIndex referenced by VkRenderingInputAttachmentIndexInfoKHR, or no InputAttachmentIndex if VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex or VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are NULL, must be created with a VkImageView that is compatible with the corresponding color, depth, or stencil attachment in VkRenderingInfo.", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawIndexedIndirectCount-pDepthInputAttachmentIndex-09596", + "text": "Input attachment views accessed in a dynamic render pass via a shader object must have an InputAttachmentIndex if both VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex and VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are non-NULL.", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawIndexedIndirectCount-InputAttachmentIndex-09597", + "text": "If an input attachment view accessed in a dynamic render pass via a shader object has an InputAttachmentIndex, the InputAttachmentIndex must match an index in VkRenderingInputAttachmentIndexInfoKHR.", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-06537", "text": "Memory backing image subresources used as attachments in the current render pass must not be written in any way other than as an attachment by this command", @@ -55227,7 +55522,7 @@ }, { "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-08657", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command", "page": "vkspec" }, { @@ -55247,7 +55542,7 @@ }, { "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-08659", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command", "page": "vkspec" }, { @@ -55532,7 +55827,7 @@ }, { "vuid": "VUID-vkCmdDrawIndexedIndirectCount-rasterizerDiscardEnable-09418", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled", "page": "vkspec" }, { @@ -56016,12 +56311,22 @@ "core": [ { "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-magFilter-04553", - "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-magFilter-09598", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-mipmapMode-04770", - "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-mipmapMode-09599", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { @@ -56329,6 +56634,11 @@ "text": "Any shader invocation executed by this command must terminate", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-09600", + "text": "If a descriptor with type equal to any of VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, or VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT is accessed as a result of this command, the image subresource identified by that descriptor must be in the image layout identified when the descriptor was written", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-renderPass-02684", "text": "The current render pass must be compatible with the renderPass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", @@ -56354,6 +56664,21 @@ "text": "Input attachment views accessed in a subpass must be created with the same VkFormat as the corresponding subpass definition, and be created with a VkImageView that is compatible with the attachment referenced by the subpass' pInputAttachments[InputAttachmentIndex] in the currently bound VkFramebuffer as specified by Fragment Input Attachment Compatibility", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-pDepthInputAttachmentIndex-09595", + "text": "Input attachment views accessed in a dynamic render pass with a InputAttachmentIndex referenced by VkRenderingInputAttachmentIndexInfoKHR, or no InputAttachmentIndex if VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex or VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are NULL, must be created with a VkImageView that is compatible with the corresponding color, depth, or stencil attachment in VkRenderingInfo.", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-pDepthInputAttachmentIndex-09596", + "text": "Input attachment views accessed in a dynamic render pass via a shader object must have an InputAttachmentIndex if both VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex and VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are non-NULL.", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-InputAttachmentIndex-09597", + "text": "If an input attachment view accessed in a dynamic render pass via a shader object has an InputAttachmentIndex, the InputAttachmentIndex must match an index in VkRenderingInputAttachmentIndexInfoKHR.", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-06537", "text": "Memory backing image subresources used as attachments in the current render pass must not be written in any way other than as an attachment by this command", @@ -57101,7 +57426,7 @@ }, { "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-08657", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command", "page": "vkspec" }, { @@ -57121,7 +57446,7 @@ }, { "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-08659", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command", "page": "vkspec" }, { @@ -57406,7 +57731,7 @@ }, { "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-rasterizerDiscardEnable-09418", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled", "page": "vkspec" }, { @@ -57977,12 +58302,22 @@ "core": [ { "vuid": "VUID-vkCmdDrawMeshTasksNV-magFilter-04553", - "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksNV-magFilter-09598", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { "vuid": "VUID-vkCmdDrawMeshTasksNV-mipmapMode-04770", - "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksNV-mipmapMode-09599", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { @@ -58290,6 +58625,11 @@ "text": "Any shader invocation executed by this command must terminate", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdDrawMeshTasksNV-None-09600", + "text": "If a descriptor with type equal to any of VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, or VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT is accessed as a result of this command, the image subresource identified by that descriptor must be in the image layout identified when the descriptor was written", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdDrawMeshTasksNV-renderPass-02684", "text": "The current render pass must be compatible with the renderPass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", @@ -58315,6 +58655,21 @@ "text": "Input attachment views accessed in a subpass must be created with the same VkFormat as the corresponding subpass definition, and be created with a VkImageView that is compatible with the attachment referenced by the subpass' pInputAttachments[InputAttachmentIndex] in the currently bound VkFramebuffer as specified by Fragment Input Attachment Compatibility", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdDrawMeshTasksNV-pDepthInputAttachmentIndex-09595", + "text": "Input attachment views accessed in a dynamic render pass with a InputAttachmentIndex referenced by VkRenderingInputAttachmentIndexInfoKHR, or no InputAttachmentIndex if VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex or VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are NULL, must be created with a VkImageView that is compatible with the corresponding color, depth, or stencil attachment in VkRenderingInfo.", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksNV-pDepthInputAttachmentIndex-09596", + "text": "Input attachment views accessed in a dynamic render pass via a shader object must have an InputAttachmentIndex if both VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex and VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are non-NULL.", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksNV-InputAttachmentIndex-09597", + "text": "If an input attachment view accessed in a dynamic render pass via a shader object has an InputAttachmentIndex, the InputAttachmentIndex must match an index in VkRenderingInputAttachmentIndexInfoKHR.", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdDrawMeshTasksNV-None-06537", "text": "Memory backing image subresources used as attachments in the current render pass must not be written in any way other than as an attachment by this command", @@ -59062,7 +59417,7 @@ }, { "vuid": "VUID-vkCmdDrawMeshTasksNV-None-08657", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command", "page": "vkspec" }, { @@ -59082,7 +59437,7 @@ }, { "vuid": "VUID-vkCmdDrawMeshTasksNV-None-08659", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command", "page": "vkspec" }, { @@ -59367,7 +59722,7 @@ }, { "vuid": "VUID-vkCmdDrawMeshTasksNV-rasterizerDiscardEnable-09418", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled", "page": "vkspec" }, { @@ -59701,12 +60056,22 @@ "core": [ { "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-magFilter-04553", - "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-magFilter-09598", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-mipmapMode-04770", - "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-mipmapMode-09599", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { @@ -60014,6 +60379,11 @@ "text": "Any shader invocation executed by this command must terminate", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-09600", + "text": "If a descriptor with type equal to any of VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, or VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT is accessed as a result of this command, the image subresource identified by that descriptor must be in the image layout identified when the descriptor was written", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-renderPass-02684", "text": "The current render pass must be compatible with the renderPass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", @@ -60039,6 +60409,21 @@ "text": "Input attachment views accessed in a subpass must be created with the same VkFormat as the corresponding subpass definition, and be created with a VkImageView that is compatible with the attachment referenced by the subpass' pInputAttachments[InputAttachmentIndex] in the currently bound VkFramebuffer as specified by Fragment Input Attachment Compatibility", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-pDepthInputAttachmentIndex-09595", + "text": "Input attachment views accessed in a dynamic render pass with a InputAttachmentIndex referenced by VkRenderingInputAttachmentIndexInfoKHR, or no InputAttachmentIndex if VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex or VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are NULL, must be created with a VkImageView that is compatible with the corresponding color, depth, or stencil attachment in VkRenderingInfo.", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-pDepthInputAttachmentIndex-09596", + "text": "Input attachment views accessed in a dynamic render pass via a shader object must have an InputAttachmentIndex if both VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex and VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are non-NULL.", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-InputAttachmentIndex-09597", + "text": "If an input attachment view accessed in a dynamic render pass via a shader object has an InputAttachmentIndex, the InputAttachmentIndex must match an index in VkRenderingInputAttachmentIndexInfoKHR.", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-06537", "text": "Memory backing image subresources used as attachments in the current render pass must not be written in any way other than as an attachment by this command", @@ -60786,7 +61171,7 @@ }, { "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-08657", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command", "page": "vkspec" }, { @@ -60806,7 +61191,7 @@ }, { "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-08659", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command", "page": "vkspec" }, { @@ -61091,7 +61476,7 @@ }, { "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-rasterizerDiscardEnable-09418", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled", "page": "vkspec" }, { @@ -61484,12 +61869,22 @@ "core": [ { "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-magFilter-04553", - "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-magFilter-09598", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-mipmapMode-04770", - "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-mipmapMode-09599", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { @@ -61797,6 +62192,11 @@ "text": "Any shader invocation executed by this command must terminate", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-09600", + "text": "If a descriptor with type equal to any of VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, or VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT is accessed as a result of this command, the image subresource identified by that descriptor must be in the image layout identified when the descriptor was written", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-renderPass-02684", "text": "The current render pass must be compatible with the renderPass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", @@ -61822,6 +62222,21 @@ "text": "Input attachment views accessed in a subpass must be created with the same VkFormat as the corresponding subpass definition, and be created with a VkImageView that is compatible with the attachment referenced by the subpass' pInputAttachments[InputAttachmentIndex] in the currently bound VkFramebuffer as specified by Fragment Input Attachment Compatibility", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-pDepthInputAttachmentIndex-09595", + "text": "Input attachment views accessed in a dynamic render pass with a InputAttachmentIndex referenced by VkRenderingInputAttachmentIndexInfoKHR, or no InputAttachmentIndex if VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex or VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are NULL, must be created with a VkImageView that is compatible with the corresponding color, depth, or stencil attachment in VkRenderingInfo.", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-pDepthInputAttachmentIndex-09596", + "text": "Input attachment views accessed in a dynamic render pass via a shader object must have an InputAttachmentIndex if both VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex and VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are non-NULL.", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-InputAttachmentIndex-09597", + "text": "If an input attachment view accessed in a dynamic render pass via a shader object has an InputAttachmentIndex, the InputAttachmentIndex must match an index in VkRenderingInputAttachmentIndexInfoKHR.", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-06537", "text": "Memory backing image subresources used as attachments in the current render pass must not be written in any way other than as an attachment by this command", @@ -62569,7 +62984,7 @@ }, { "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08657", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command", "page": "vkspec" }, { @@ -62589,7 +63004,7 @@ }, { "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08659", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command", "page": "vkspec" }, { @@ -62874,7 +63289,7 @@ }, { "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-rasterizerDiscardEnable-09418", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled", "page": "vkspec" }, { @@ -63288,12 +63703,22 @@ "core": [ { "vuid": "VUID-vkCmdDrawMeshTasksEXT-magFilter-04553", - "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksEXT-magFilter-09598", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { "vuid": "VUID-vkCmdDrawMeshTasksEXT-mipmapMode-04770", - "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksEXT-mipmapMode-09599", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { @@ -63601,6 +64026,11 @@ "text": "Any shader invocation executed by this command must terminate", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdDrawMeshTasksEXT-None-09600", + "text": "If a descriptor with type equal to any of VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, or VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT is accessed as a result of this command, the image subresource identified by that descriptor must be in the image layout identified when the descriptor was written", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdDrawMeshTasksEXT-renderPass-02684", "text": "The current render pass must be compatible with the renderPass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", @@ -63626,6 +64056,21 @@ "text": "Input attachment views accessed in a subpass must be created with the same VkFormat as the corresponding subpass definition, and be created with a VkImageView that is compatible with the attachment referenced by the subpass' pInputAttachments[InputAttachmentIndex] in the currently bound VkFramebuffer as specified by Fragment Input Attachment Compatibility", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdDrawMeshTasksEXT-pDepthInputAttachmentIndex-09595", + "text": "Input attachment views accessed in a dynamic render pass with a InputAttachmentIndex referenced by VkRenderingInputAttachmentIndexInfoKHR, or no InputAttachmentIndex if VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex or VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are NULL, must be created with a VkImageView that is compatible with the corresponding color, depth, or stencil attachment in VkRenderingInfo.", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksEXT-pDepthInputAttachmentIndex-09596", + "text": "Input attachment views accessed in a dynamic render pass via a shader object must have an InputAttachmentIndex if both VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex and VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are non-NULL.", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksEXT-InputAttachmentIndex-09597", + "text": "If an input attachment view accessed in a dynamic render pass via a shader object has an InputAttachmentIndex, the InputAttachmentIndex must match an index in VkRenderingInputAttachmentIndexInfoKHR.", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdDrawMeshTasksEXT-None-06537", "text": "Memory backing image subresources used as attachments in the current render pass must not be written in any way other than as an attachment by this command", @@ -64373,7 +64818,7 @@ }, { "vuid": "VUID-vkCmdDrawMeshTasksEXT-None-08657", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command", "page": "vkspec" }, { @@ -64393,7 +64838,7 @@ }, { "vuid": "VUID-vkCmdDrawMeshTasksEXT-None-08659", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command", "page": "vkspec" }, { @@ -64678,7 +65123,7 @@ }, { "vuid": "VUID-vkCmdDrawMeshTasksEXT-rasterizerDiscardEnable-09418", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled", "page": "vkspec" }, { @@ -65047,12 +65492,22 @@ "core": [ { "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-magFilter-04553", - "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-magFilter-09598", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-mipmapMode-04770", - "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-mipmapMode-09599", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { @@ -65360,6 +65815,11 @@ "text": "Any shader invocation executed by this command must terminate", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-09600", + "text": "If a descriptor with type equal to any of VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, or VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT is accessed as a result of this command, the image subresource identified by that descriptor must be in the image layout identified when the descriptor was written", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-renderPass-02684", "text": "The current render pass must be compatible with the renderPass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", @@ -65385,6 +65845,21 @@ "text": "Input attachment views accessed in a subpass must be created with the same VkFormat as the corresponding subpass definition, and be created with a VkImageView that is compatible with the attachment referenced by the subpass' pInputAttachments[InputAttachmentIndex] in the currently bound VkFramebuffer as specified by Fragment Input Attachment Compatibility", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-pDepthInputAttachmentIndex-09595", + "text": "Input attachment views accessed in a dynamic render pass with a InputAttachmentIndex referenced by VkRenderingInputAttachmentIndexInfoKHR, or no InputAttachmentIndex if VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex or VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are NULL, must be created with a VkImageView that is compatible with the corresponding color, depth, or stencil attachment in VkRenderingInfo.", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-pDepthInputAttachmentIndex-09596", + "text": "Input attachment views accessed in a dynamic render pass via a shader object must have an InputAttachmentIndex if both VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex and VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are non-NULL.", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-InputAttachmentIndex-09597", + "text": "If an input attachment view accessed in a dynamic render pass via a shader object has an InputAttachmentIndex, the InputAttachmentIndex must match an index in VkRenderingInputAttachmentIndexInfoKHR.", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-06537", "text": "Memory backing image subresources used as attachments in the current render pass must not be written in any way other than as an attachment by this command", @@ -66132,7 +66607,7 @@ }, { "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08657", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command", "page": "vkspec" }, { @@ -66152,7 +66627,7 @@ }, { "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08659", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command", "page": "vkspec" }, { @@ -66437,7 +66912,7 @@ }, { "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-rasterizerDiscardEnable-09418", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled", "page": "vkspec" }, { @@ -66865,12 +67340,22 @@ "core": [ { "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-magFilter-04553", - "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-magFilter-09598", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-mipmapMode-04770", - "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-mipmapMode-09599", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { @@ -67178,6 +67663,11 @@ "text": "Any shader invocation executed by this command must terminate", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-09600", + "text": "If a descriptor with type equal to any of VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, or VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT is accessed as a result of this command, the image subresource identified by that descriptor must be in the image layout identified when the descriptor was written", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-renderPass-02684", "text": "The current render pass must be compatible with the renderPass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", @@ -67203,6 +67693,21 @@ "text": "Input attachment views accessed in a subpass must be created with the same VkFormat as the corresponding subpass definition, and be created with a VkImageView that is compatible with the attachment referenced by the subpass' pInputAttachments[InputAttachmentIndex] in the currently bound VkFramebuffer as specified by Fragment Input Attachment Compatibility", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-pDepthInputAttachmentIndex-09595", + "text": "Input attachment views accessed in a dynamic render pass with a InputAttachmentIndex referenced by VkRenderingInputAttachmentIndexInfoKHR, or no InputAttachmentIndex if VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex or VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are NULL, must be created with a VkImageView that is compatible with the corresponding color, depth, or stencil attachment in VkRenderingInfo.", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-pDepthInputAttachmentIndex-09596", + "text": "Input attachment views accessed in a dynamic render pass via a shader object must have an InputAttachmentIndex if both VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex and VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are non-NULL.", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-InputAttachmentIndex-09597", + "text": "If an input attachment view accessed in a dynamic render pass via a shader object has an InputAttachmentIndex, the InputAttachmentIndex must match an index in VkRenderingInputAttachmentIndexInfoKHR.", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-06537", "text": "Memory backing image subresources used as attachments in the current render pass must not be written in any way other than as an attachment by this command", @@ -67950,7 +68455,7 @@ }, { "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08657", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command", "page": "vkspec" }, { @@ -67970,7 +68475,7 @@ }, { "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08659", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command", "page": "vkspec" }, { @@ -68255,7 +68760,7 @@ }, { "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-rasterizerDiscardEnable-09418", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled", "page": "vkspec" }, { @@ -68669,12 +69174,22 @@ "core": [ { "vuid": "VUID-vkCmdDrawClusterHUAWEI-magFilter-04553", - "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawClusterHUAWEI-magFilter-09598", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { "vuid": "VUID-vkCmdDrawClusterHUAWEI-mipmapMode-04770", - "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawClusterHUAWEI-mipmapMode-09599", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { @@ -68982,6 +69497,11 @@ "text": "Any shader invocation executed by this command must terminate", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdDrawClusterHUAWEI-None-09600", + "text": "If a descriptor with type equal to any of VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, or VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT is accessed as a result of this command, the image subresource identified by that descriptor must be in the image layout identified when the descriptor was written", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdDrawClusterHUAWEI-renderPass-02684", "text": "The current render pass must be compatible with the renderPass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", @@ -69007,6 +69527,21 @@ "text": "Input attachment views accessed in a subpass must be created with the same VkFormat as the corresponding subpass definition, and be created with a VkImageView that is compatible with the attachment referenced by the subpass' pInputAttachments[InputAttachmentIndex] in the currently bound VkFramebuffer as specified by Fragment Input Attachment Compatibility", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdDrawClusterHUAWEI-pDepthInputAttachmentIndex-09595", + "text": "Input attachment views accessed in a dynamic render pass with a InputAttachmentIndex referenced by VkRenderingInputAttachmentIndexInfoKHR, or no InputAttachmentIndex if VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex or VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are NULL, must be created with a VkImageView that is compatible with the corresponding color, depth, or stencil attachment in VkRenderingInfo.", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawClusterHUAWEI-pDepthInputAttachmentIndex-09596", + "text": "Input attachment views accessed in a dynamic render pass via a shader object must have an InputAttachmentIndex if both VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex and VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are non-NULL.", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawClusterHUAWEI-InputAttachmentIndex-09597", + "text": "If an input attachment view accessed in a dynamic render pass via a shader object has an InputAttachmentIndex, the InputAttachmentIndex must match an index in VkRenderingInputAttachmentIndexInfoKHR.", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdDrawClusterHUAWEI-None-06537", "text": "Memory backing image subresources used as attachments in the current render pass must not be written in any way other than as an attachment by this command", @@ -69754,7 +70289,7 @@ }, { "vuid": "VUID-vkCmdDrawClusterHUAWEI-None-08657", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command", "page": "vkspec" }, { @@ -69774,7 +70309,7 @@ }, { "vuid": "VUID-vkCmdDrawClusterHUAWEI-None-08659", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command", "page": "vkspec" }, { @@ -70059,7 +70594,7 @@ }, { "vuid": "VUID-vkCmdDrawClusterHUAWEI-rasterizerDiscardEnable-09418", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled", "page": "vkspec" }, { @@ -70408,12 +70943,22 @@ "core": [ { "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-magFilter-04553", - "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-magFilter-09598", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-mipmapMode-04770", - "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-mipmapMode-09599", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { @@ -70721,6 +71266,11 @@ "text": "Any shader invocation executed by this command must terminate", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-09600", + "text": "If a descriptor with type equal to any of VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, or VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT is accessed as a result of this command, the image subresource identified by that descriptor must be in the image layout identified when the descriptor was written", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-renderPass-02684", "text": "The current render pass must be compatible with the renderPass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", @@ -70746,6 +71296,21 @@ "text": "Input attachment views accessed in a subpass must be created with the same VkFormat as the corresponding subpass definition, and be created with a VkImageView that is compatible with the attachment referenced by the subpass' pInputAttachments[InputAttachmentIndex] in the currently bound VkFramebuffer as specified by Fragment Input Attachment Compatibility", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-pDepthInputAttachmentIndex-09595", + "text": "Input attachment views accessed in a dynamic render pass with a InputAttachmentIndex referenced by VkRenderingInputAttachmentIndexInfoKHR, or no InputAttachmentIndex if VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex or VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are NULL, must be created with a VkImageView that is compatible with the corresponding color, depth, or stencil attachment in VkRenderingInfo.", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-pDepthInputAttachmentIndex-09596", + "text": "Input attachment views accessed in a dynamic render pass via a shader object must have an InputAttachmentIndex if both VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex and VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are non-NULL.", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-InputAttachmentIndex-09597", + "text": "If an input attachment view accessed in a dynamic render pass via a shader object has an InputAttachmentIndex, the InputAttachmentIndex must match an index in VkRenderingInputAttachmentIndexInfoKHR.", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-06537", "text": "Memory backing image subresources used as attachments in the current render pass must not be written in any way other than as an attachment by this command", @@ -71493,7 +72058,7 @@ }, { "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-08657", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command", "page": "vkspec" }, { @@ -71513,7 +72078,7 @@ }, { "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-08659", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command", "page": "vkspec" }, { @@ -71798,7 +72363,7 @@ }, { "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-rasterizerDiscardEnable-09418", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled", "page": "vkspec" }, { @@ -76945,12 +77510,22 @@ "core": [ { "vuid": "VUID-vkCmdDispatch-magFilter-04553", - "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDispatch-magFilter-09598", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { "vuid": "VUID-vkCmdDispatch-mipmapMode-04770", - "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDispatch-mipmapMode-09599", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { @@ -77258,6 +77833,11 @@ "text": "Any shader invocation executed by this command must terminate", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdDispatch-None-09600", + "text": "If a descriptor with type equal to any of VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, or VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT is accessed as a result of this command, the image subresource identified by that descriptor must be in the image layout identified when the descriptor was written", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdDispatch-commandBuffer-02712", "text": "If commandBuffer is a protected command buffer and protectedNoFault is not supported, any resource written to by the VkPipeline object bound to the pipeline bind point used by this command must not be an unprotected resource", @@ -77319,12 +77899,22 @@ "core": [ { "vuid": "VUID-vkCmdDispatchIndirect-magFilter-04553", - "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDispatchIndirect-magFilter-09598", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { "vuid": "VUID-vkCmdDispatchIndirect-mipmapMode-04770", - "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDispatchIndirect-mipmapMode-09599", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { @@ -77632,6 +78222,11 @@ "text": "Any shader invocation executed by this command must terminate", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdDispatchIndirect-None-09600", + "text": "If a descriptor with type equal to any of VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, or VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT is accessed as a result of this command, the image subresource identified by that descriptor must be in the image layout identified when the descriptor was written", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdDispatchIndirect-buffer-02708", "text": "If buffer is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object", @@ -77717,12 +78312,22 @@ "core": [ { "vuid": "VUID-vkCmdDispatchBase-magFilter-04553", - "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDispatchBase-magFilter-09598", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { "vuid": "VUID-vkCmdDispatchBase-mipmapMode-04770", - "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDispatchBase-mipmapMode-09599", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { @@ -78030,6 +78635,11 @@ "text": "Any shader invocation executed by this command must terminate", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdDispatchBase-None-09600", + "text": "If a descriptor with type equal to any of VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, or VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT is accessed as a result of this command, the image subresource identified by that descriptor must be in the image layout identified when the descriptor was written", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdDispatchBase-commandBuffer-02712", "text": "If commandBuffer is a protected command buffer and protectedNoFault is not supported, any resource written to by the VkPipeline object bound to the pipeline bind point used by this command must not be an unprotected resource", @@ -78111,12 +78721,22 @@ "core": [ { "vuid": "VUID-vkCmdSubpassShadingHUAWEI-magFilter-04553", - "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdSubpassShadingHUAWEI-magFilter-09598", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { "vuid": "VUID-vkCmdSubpassShadingHUAWEI-mipmapMode-04770", - "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdSubpassShadingHUAWEI-mipmapMode-09599", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { @@ -78424,6 +79044,11 @@ "text": "Any shader invocation executed by this command must terminate", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdSubpassShadingHUAWEI-None-09600", + "text": "If a descriptor with type equal to any of VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, or VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT is accessed as a result of this command, the image subresource identified by that descriptor must be in the image layout identified when the descriptor was written", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdSubpassShadingHUAWEI-None-04931", "text": "This command must be called in a subpass with bind point VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI. No draw commands can be called in the same subpass. Only one vkCmdSubpassShadingHUAWEI command can be called in a subpass", @@ -79094,12 +79719,22 @@ "core": [ { "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-magFilter-04553", - "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-magFilter-09598", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-mipmapMode-04770", - "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-mipmapMode-09599", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { @@ -79407,6 +80042,11 @@ "text": "Any shader invocation executed by this command must terminate", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-09600", + "text": "If a descriptor with type equal to any of VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, or VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT is accessed as a result of this command, the image subresource identified by that descriptor must be in the image layout identified when the descriptor was written", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-renderPass-02684", "text": "The current render pass must be compatible with the renderPass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", @@ -79432,6 +80072,21 @@ "text": "Input attachment views accessed in a subpass must be created with the same VkFormat as the corresponding subpass definition, and be created with a VkImageView that is compatible with the attachment referenced by the subpass' pInputAttachments[InputAttachmentIndex] in the currently bound VkFramebuffer as specified by Fragment Input Attachment Compatibility", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-pDepthInputAttachmentIndex-09595", + "text": "Input attachment views accessed in a dynamic render pass with a InputAttachmentIndex referenced by VkRenderingInputAttachmentIndexInfoKHR, or no InputAttachmentIndex if VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex or VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are NULL, must be created with a VkImageView that is compatible with the corresponding color, depth, or stencil attachment in VkRenderingInfo.", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-pDepthInputAttachmentIndex-09596", + "text": "Input attachment views accessed in a dynamic render pass via a shader object must have an InputAttachmentIndex if both VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex and VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are non-NULL.", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-InputAttachmentIndex-09597", + "text": "If an input attachment view accessed in a dynamic render pass via a shader object has an InputAttachmentIndex, the InputAttachmentIndex must match an index in VkRenderingInputAttachmentIndexInfoKHR.", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-06537", "text": "Memory backing image subresources used as attachments in the current render pass must not be written in any way other than as an attachment by this command", @@ -80179,7 +80834,7 @@ }, { "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-08657", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command", "page": "vkspec" }, { @@ -80199,7 +80854,7 @@ }, { "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-08659", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command", "page": "vkspec" }, { @@ -80484,7 +81139,7 @@ }, { "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-rasterizerDiscardEnable-09418", - "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled", + "text": "If a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled", "page": "vkspec" }, { @@ -81502,6 +82157,11 @@ "text": "The subresource.arrayLayer member of each element of pBinds must be less than the arrayLayers specified in VkImageCreateInfo when image was created", "page": "vkspec" }, + { + "vuid": "VUID-VkSparseImageMemoryBindInfo-subresource-01106", + "text": "The subresource.aspectMask member of each element of pBinds must be valid for the format specified in VkImageCreateInfo when image was created", + "page": "vkspec" + }, { "vuid": "VUID-VkSparseImageMemoryBindInfo-image-02901", "text": "image must have been created with VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT set", @@ -81536,11 +82196,6 @@ "text": "memory and memoryOffset must match the memory requirements of the calling command’s image, as described in section Resource Memory Association", "page": "vkspec" }, - { - "vuid": "VUID-VkSparseImageMemoryBind-subresource-01106", - "text": "subresource must be a valid image subresource for image (see Image Views)", - "page": "vkspec" - }, { "vuid": "VUID-VkSparseImageMemoryBind-offset-01107", "text": "offset.x must be a multiple of the sparse image block width (VkSparseImageFormatProperties::imageGranularity.width) of the image", @@ -89044,12 +89699,22 @@ "core": [ { "vuid": "VUID-vkCmdTraceRaysNV-magFilter-04553", - "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdTraceRaysNV-magFilter-09598", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { "vuid": "VUID-vkCmdTraceRaysNV-mipmapMode-04770", - "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdTraceRaysNV-mipmapMode-09599", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { @@ -89357,6 +90022,11 @@ "text": "Any shader invocation executed by this command must terminate", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdTraceRaysNV-None-09600", + "text": "If a descriptor with type equal to any of VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, or VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT is accessed as a result of this command, the image subresource identified by that descriptor must be in the image layout identified when the descriptor was written", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdTraceRaysNV-None-03429", "text": "Any shader group handle referenced by this call must have been queried from the currently bound ray tracing pipeline", @@ -89538,12 +90208,22 @@ "core": [ { "vuid": "VUID-vkCmdTraceRaysKHR-magFilter-04553", - "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdTraceRaysKHR-magFilter-09598", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { "vuid": "VUID-vkCmdTraceRaysKHR-mipmapMode-04770", - "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdTraceRaysKHR-mipmapMode-09599", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { @@ -89851,6 +90531,11 @@ "text": "Any shader invocation executed by this command must terminate", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdTraceRaysKHR-None-09600", + "text": "If a descriptor with type equal to any of VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, or VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT is accessed as a result of this command, the image subresource identified by that descriptor must be in the image layout identified when the descriptor was written", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdTraceRaysKHR-None-03429", "text": "Any shader group handle referenced by this call must have been queried from the currently bound ray tracing pipeline", @@ -90175,12 +90860,22 @@ "core": [ { "vuid": "VUID-vkCmdTraceRaysIndirectKHR-magFilter-04553", - "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdTraceRaysIndirectKHR-magFilter-09598", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { "vuid": "VUID-vkCmdTraceRaysIndirectKHR-mipmapMode-04770", - "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdTraceRaysIndirectKHR-mipmapMode-09599", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { @@ -90488,6 +91183,11 @@ "text": "Any shader invocation executed by this command must terminate", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdTraceRaysIndirectKHR-None-09600", + "text": "If a descriptor with type equal to any of VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, or VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT is accessed as a result of this command, the image subresource identified by that descriptor must be in the image layout identified when the descriptor was written", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdTraceRaysIndirectKHR-None-03429", "text": "Any shader group handle referenced by this call must have been queried from the currently bound ray tracing pipeline", @@ -90748,12 +91448,22 @@ "core": [ { "vuid": "VUID-vkCmdTraceRaysIndirect2KHR-magFilter-04553", - "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdTraceRaysIndirect2KHR-magFilter-09598", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { "vuid": "VUID-vkCmdTraceRaysIndirect2KHR-mipmapMode-04770", - "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdTraceRaysIndirect2KHR-mipmapMode-09599", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { @@ -91061,6 +91771,11 @@ "text": "Any shader invocation executed by this command must terminate", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdTraceRaysIndirect2KHR-None-09600", + "text": "If a descriptor with type equal to any of VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, or VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT is accessed as a result of this command, the image subresource identified by that descriptor must be in the image layout identified when the descriptor was written", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdTraceRaysIndirect2KHR-None-03429", "text": "Any shader group handle referenced by this call must have been queried from the currently bound ray tracing pipeline", @@ -95766,12 +96481,22 @@ "core": [ { "vuid": "VUID-vkCmdDispatchGraphAMDX-magFilter-04553", - "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDispatchGraphAMDX-magFilter-09598", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { "vuid": "VUID-vkCmdDispatchGraphAMDX-mipmapMode-04770", - "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDispatchGraphAMDX-mipmapMode-09599", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { @@ -96079,6 +96804,11 @@ "text": "Any shader invocation executed by this command must terminate", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdDispatchGraphAMDX-None-09600", + "text": "If a descriptor with type equal to any of VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, or VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT is accessed as a result of this command, the image subresource identified by that descriptor must be in the image layout identified when the descriptor was written", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdDispatchGraphAMDX-commandBuffer-09181", "text": "commandBuffer must not be a protected command buffer", @@ -96185,12 +96915,22 @@ "core": [ { "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-magFilter-04553", - "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-magFilter-09598", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-mipmapMode-04770", - "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-mipmapMode-09599", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { @@ -96498,6 +97238,11 @@ "text": "Any shader invocation executed by this command must terminate", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-None-09600", + "text": "If a descriptor with type equal to any of VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, or VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT is accessed as a result of this command, the image subresource identified by that descriptor must be in the image layout identified when the descriptor was written", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-commandBuffer-09181", "text": "commandBuffer must not be a protected command buffer", @@ -96624,12 +97369,22 @@ "core": [ { "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-magFilter-04553", - "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-magFilter-09598", + "text": "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-mipmapMode-04770", - "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-mipmapMode-09599", + "text": "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view’s format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT", "page": "vkspec" }, { @@ -96937,6 +97692,11 @@ "text": "Any shader invocation executed by this command must terminate", "page": "vkspec" }, + { + "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-None-09600", + "text": "If a descriptor with type equal to any of VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, or VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT is accessed as a result of this command, the image subresource identified by that descriptor must be in the image layout identified when the descriptor was written", + "page": "vkspec" + }, { "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-commandBuffer-09181", "text": "commandBuffer must not be a protected command buffer", @@ -98482,6 +99242,15 @@ } ] }, + "VkPhysicalDeviceRayTracingValidationFeaturesNV": { + "core": [ + { + "vuid": "VUID-VkPhysicalDeviceRayTracingValidationFeaturesNV-sType-sType", + "text": "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV", + "page": "vkspec" + } + ] + }, "VkPhysicalDeviceSubpassShadingFeaturesHUAWEI": { "core": [ { diff --git a/registry/vk.xml b/registry/vk.xml index ee9221e9..7b2fd073 100755 --- a/registry/vk.xml +++ b/registry/vk.xml @@ -175,7 +175,7 @@ branch of the member gitlab server. #define VKSC_API_VERSION_1_0 VK_MAKE_API_VERSION(VKSC_API_VARIANT, 1, 0, 0)// Patch version should always be set to 0 // Version of this file -#define VK_HEADER_VERSION 279 +#define VK_HEADER_VERSION 280 // Complete version of this file #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION) // Version of this file @@ -7557,6 +7557,11 @@ typedef void* MTLSharedEvent_id; VkBool32 rayTracingMotionBlur VkBool32 rayTracingMotionBlurPipelineTraceRaysIndirect + + VkStructureType sType + void* pNext + VkBool32 rayTracingValidation + VkStructureType sType @@ -24187,6 +24192,9 @@ typedef void* MTLSharedEvent_id; + + + @@ -24271,7 +24279,6 @@ typedef void* MTLSharedEvent_id; - @@ -24306,10 +24313,12 @@ typedef void* MTLSharedEvent_id; - + - - + + + +