aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-autoroll <android-autoroll@skia-public.iam.gserviceaccount.com>2024-04-19 17:28:48 +0000
committerandroid-autoroll <android-autoroll@skia-public.iam.gserviceaccount.com>2024-04-19 17:28:48 +0000
commit6650bbcda74a3b9f0136b78829fe151dee5986db (patch)
treea85da1fad6c29207991a39f004557230c611daf5
parentc4db00fa37fd5404d04d7245600e0b3849bd327d (diff)
parent84b8737394d50f84f62abe8b6c6a6e5f9a3a2606 (diff)
downloadangle-6650bbcda74a3b9f0136b78829fe151dee5986db.tar.gz
Roll ANGLE from 602a6a9a532f to 84b8737394d5 (2 revisions)
https://chromium.googlesource.com/angle/angle.git/+log/602a6a9a532f..84b8737394d5 Please enable autosubmit on changes if possible when approving them. If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/angle-android-autoroll Please CC angle-team@google.com,rmistry@google.com,syoussefi@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Test: Presubmit checks will test this change. Exempt-From-Owner-Approval: The autoroll bot does not require owner approval. Change-Id: I93b30e99df31c7995beb8af2aaffa3d499c22784
-rw-r--r--DEPS4
-rw-r--r--scripts/code_generation_hashes/Vulkan_mandatory_format_support_table.json2
-rw-r--r--third_party/vulkan-deps/DEPS6
-rw-r--r--third_party/vulkan-deps/spirv-tools/src/include/spirv-tools/libspirv.h4
-rw-r--r--third_party/vulkan-deps/spirv-tools/src/include/spirv-tools/libspirv.hpp15
-rw-r--r--third_party/vulkan-deps/spirv-tools/src/include/spirv-tools/linker.hpp19
-rw-r--r--third_party/vulkan-deps/spirv-tools/src/include/spirv-tools/linter.hpp4
-rw-r--r--third_party/vulkan-deps/spirv-tools/src/include/spirv-tools/optimizer.hpp6
-rw-r--r--third_party/vulkan-deps/spirv-tools/src/source/opt/trim_capabilities_pass.h3
-rw-r--r--third_party/vulkan-deps/spirv-tools/src/source/val/validate_image.cpp65
-rw-r--r--third_party/vulkan-deps/spirv-tools/src/test/val/val_image_test.cpp16
-rw-r--r--third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan.hpp2
-rw-r--r--third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_core.h5
-rw-r--r--third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_enums.hpp28
-rw-r--r--third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_to_string.hpp27
-rw-r--r--third_party/vulkan-deps/vulkan-headers/src/registry/validusage.json291
-rwxr-xr-xthird_party/vulkan-deps/vulkan-headers/src/registry/vk.xml17
17 files changed, 364 insertions, 150 deletions
diff --git a/DEPS b/DEPS
index 80de2c008f..48184f5735 100644
--- a/DEPS
+++ b/DEPS
@@ -918,7 +918,7 @@ deps = {
},
'third_party/SwiftShader': {
- 'url': Var('swiftshader_git') + '/SwiftShader@764410d4d65546fd1e536b02059b1f714a390720',
+ 'url': Var('swiftshader_git') + '/SwiftShader@9aec4b969291f0a218b537f44f8a1387cf494316',
'condition': 'not build_with_chromium',
},
@@ -938,7 +938,7 @@ deps = {
},
'third_party/vulkan-deps': {
- 'url': Var('chromium_git') + '/vulkan-deps@aa20d192b8c4e4a617d93d809cc416e0429acacd',
+ 'url': Var('chromium_git') + '/vulkan-deps@4737535cad1ab7165a86b34503f70bbd6c624efd',
'condition': 'not build_with_chromium',
},
diff --git a/scripts/code_generation_hashes/Vulkan_mandatory_format_support_table.json b/scripts/code_generation_hashes/Vulkan_mandatory_format_support_table.json
index bb9187adb2..e2cae3d9d7 100644
--- a/scripts/code_generation_hashes/Vulkan_mandatory_format_support_table.json
+++ b/scripts/code_generation_hashes/Vulkan_mandatory_format_support_table.json
@@ -10,5 +10,5 @@
"src/libANGLE/renderer/vulkan/vk_mandatory_format_support_table_autogen.cpp":
"96ac9e08704b7a086f7c8db5d213de2b",
"third_party/vulkan-deps/vulkan-headers/src/registry/vk.xml":
- "92f8dff013d055ad698a16b7c31cef14"
+ "a03bcee36a94c6430abe65c367c8862f"
}
diff --git a/third_party/vulkan-deps/DEPS b/third_party/vulkan-deps/DEPS
index 17cec956af..bc2e50ea2d 100644
--- a/third_party/vulkan-deps/DEPS
+++ b/third_party/vulkan-deps/DEPS
@@ -19,10 +19,10 @@ vars = {
'spirv_headers_revision': '4f7b471f1a66b6d06462cd4ba57628cc0cd087d7',
# Current revision of SPIRV-Tools for Vulkan.
- 'spirv_tools_revision': '2904985aee4de2fd67d697242a267f5ec31814ce',
+ 'spirv_tools_revision': 'dadb3012d51702cccae71967f9f2acaec8f393d5',
# Current revision of Khronos Vulkan-Headers.
- 'vulkan_headers_revision': '1e7b8a6d03d30c9254b5f533b561d62bba8c3199',
+ 'vulkan_headers_revision': 'eaa319dade959cb61ed2229c8ea42e307cc8f8b3',
# Current revision of Khronos Vulkan-Loader.
'vulkan_loader_revision': 'c684aed192ce1bb202dedd775ea18f066c8c55cb',
@@ -34,7 +34,7 @@ vars = {
'vulkan_utility_libraries_revision': 'd0670f9ff0da1a2f7596d4861f601dc4c8810aea',
# Current revision of Khronos Vulkan-ValidationLayers.
- 'vulkan_validation_revision': 'b11c199a3a41c8909f78fd8b36655e9c4e92d103',
+ 'vulkan_validation_revision': 'd1316e54231099f7febfcee90ace3ad6a8a551b5',
}
deps = {
diff --git a/third_party/vulkan-deps/spirv-tools/src/include/spirv-tools/libspirv.h b/third_party/vulkan-deps/spirv-tools/src/include/spirv-tools/libspirv.h
index 08cfd6579b..83b1a8e9b6 100644
--- a/third_party/vulkan-deps/spirv-tools/src/include/spirv-tools/libspirv.h
+++ b/third_party/vulkan-deps/spirv-tools/src/include/spirv-tools/libspirv.h
@@ -33,15 +33,19 @@ extern "C" {
#else
#define SPIRV_TOOLS_EXPORT __declspec(dllimport)
#endif
+#define SPIRV_TOOLS_LOCAL
#else
#if defined(SPIRV_TOOLS_IMPLEMENTATION)
#define SPIRV_TOOLS_EXPORT __attribute__((visibility("default")))
+#define SPIRV_TOOLS_LOCAL __attribute__((visibility("hidden")))
#else
#define SPIRV_TOOLS_EXPORT
+#define SPIRV_TOOLS_LOCAL
#endif
#endif
#else
#define SPIRV_TOOLS_EXPORT
+#define SPIRV_TOOLS_LOCAL
#endif
// Helpers
diff --git a/third_party/vulkan-deps/spirv-tools/src/include/spirv-tools/libspirv.hpp b/third_party/vulkan-deps/spirv-tools/src/include/spirv-tools/libspirv.hpp
index ee6c8469a0..59ff82b17c 100644
--- a/third_party/vulkan-deps/spirv-tools/src/include/spirv-tools/libspirv.hpp
+++ b/third_party/vulkan-deps/spirv-tools/src/include/spirv-tools/libspirv.hpp
@@ -37,7 +37,7 @@ using InstructionParser =
std::function<spv_result_t(const spv_parsed_instruction_t& instruction)>;
// C++ RAII wrapper around the C context object spv_context.
-class Context {
+class SPIRV_TOOLS_EXPORT Context {
public:
// Constructs a context targeting the given environment |env|.
//
@@ -73,7 +73,7 @@ class Context {
};
// A RAII wrapper around a validator options object.
-class ValidatorOptions {
+class SPIRV_TOOLS_EXPORT ValidatorOptions {
public:
ValidatorOptions() : options_(spvValidatorOptionsCreate()) {}
~ValidatorOptions() { spvValidatorOptionsDestroy(options_); }
@@ -163,7 +163,7 @@ class ValidatorOptions {
};
// A C++ wrapper around an optimization options object.
-class OptimizerOptions {
+class SPIRV_TOOLS_EXPORT OptimizerOptions {
public:
OptimizerOptions() : options_(spvOptimizerOptionsCreate()) {}
~OptimizerOptions() { spvOptimizerOptionsDestroy(options_); }
@@ -205,7 +205,7 @@ class OptimizerOptions {
};
// A C++ wrapper around a reducer options object.
-class ReducerOptions {
+class SPIRV_TOOLS_EXPORT ReducerOptions {
public:
ReducerOptions() : options_(spvReducerOptionsCreate()) {}
~ReducerOptions() { spvReducerOptionsDestroy(options_); }
@@ -236,7 +236,7 @@ class ReducerOptions {
};
// A C++ wrapper around a fuzzer options object.
-class FuzzerOptions {
+class SPIRV_TOOLS_EXPORT FuzzerOptions {
public:
FuzzerOptions() : options_(spvFuzzerOptionsCreate()) {}
~FuzzerOptions() { spvFuzzerOptionsDestroy(options_); }
@@ -283,7 +283,7 @@ class FuzzerOptions {
// provides methods for assembling, disassembling, and validating.
//
// Instances of this class provide basic thread-safety guarantee.
-class SpirvTools {
+class SPIRV_TOOLS_EXPORT SpirvTools {
public:
enum {
// Default assembling option used by assemble():
@@ -388,7 +388,8 @@ class SpirvTools {
bool IsValid() const;
private:
- struct Impl; // Opaque struct for holding the data fields used by this class.
+ struct SPIRV_TOOLS_LOCAL
+ Impl; // Opaque struct for holding the data fields used by this class.
std::unique_ptr<Impl> impl_; // Unique pointer to implementation data.
};
diff --git a/third_party/vulkan-deps/spirv-tools/src/include/spirv-tools/linker.hpp b/third_party/vulkan-deps/spirv-tools/src/include/spirv-tools/linker.hpp
index 5b60cb9f95..6ba6e9654a 100644
--- a/third_party/vulkan-deps/spirv-tools/src/include/spirv-tools/linker.hpp
+++ b/third_party/vulkan-deps/spirv-tools/src/include/spirv-tools/linker.hpp
@@ -24,7 +24,7 @@
namespace spvtools {
-class LinkerOptions {
+class SPIRV_TOOLS_EXPORT LinkerOptions {
public:
// Returns whether a library or an executable should be produced by the
// linking phase.
@@ -84,14 +84,15 @@ class LinkerOptions {
// * Some entry points were defined multiple times;
// * Some imported symbols did not have an exported counterpart;
// * Possibly other reasons.
-spv_result_t Link(const Context& context,
- const std::vector<std::vector<uint32_t>>& binaries,
- std::vector<uint32_t>* linked_binary,
- const LinkerOptions& options = LinkerOptions());
-spv_result_t Link(const Context& context, const uint32_t* const* binaries,
- const size_t* binary_sizes, size_t num_binaries,
- std::vector<uint32_t>* linked_binary,
- const LinkerOptions& options = LinkerOptions());
+SPIRV_TOOLS_EXPORT spv_result_t
+Link(const Context& context, const std::vector<std::vector<uint32_t>>& binaries,
+ std::vector<uint32_t>* linked_binary,
+ const LinkerOptions& options = LinkerOptions());
+SPIRV_TOOLS_EXPORT spv_result_t
+Link(const Context& context, const uint32_t* const* binaries,
+ const size_t* binary_sizes, size_t num_binaries,
+ std::vector<uint32_t>* linked_binary,
+ const LinkerOptions& options = LinkerOptions());
} // namespace spvtools
diff --git a/third_party/vulkan-deps/spirv-tools/src/include/spirv-tools/linter.hpp b/third_party/vulkan-deps/spirv-tools/src/include/spirv-tools/linter.hpp
index 52ed5a4672..ccbcf0c179 100644
--- a/third_party/vulkan-deps/spirv-tools/src/include/spirv-tools/linter.hpp
+++ b/third_party/vulkan-deps/spirv-tools/src/include/spirv-tools/linter.hpp
@@ -24,7 +24,7 @@ namespace spvtools {
// provides a method for linting.
//
// Instances of this class provides basic thread-safety guarantee.
-class Linter {
+class SPIRV_TOOLS_EXPORT Linter {
public:
explicit Linter(spv_target_env env);
@@ -40,7 +40,7 @@ class Linter {
bool Run(const uint32_t* binary, size_t binary_size);
private:
- struct Impl;
+ struct SPIRV_TOOLS_LOCAL Impl;
std::unique_ptr<Impl> impl_;
};
} // namespace spvtools
diff --git a/third_party/vulkan-deps/spirv-tools/src/include/spirv-tools/optimizer.hpp b/third_party/vulkan-deps/spirv-tools/src/include/spirv-tools/optimizer.hpp
index 926e438fe2..a3119d9b43 100644
--- a/third_party/vulkan-deps/spirv-tools/src/include/spirv-tools/optimizer.hpp
+++ b/third_party/vulkan-deps/spirv-tools/src/include/spirv-tools/optimizer.hpp
@@ -37,14 +37,14 @@ struct DescriptorSetAndBinding;
// provides methods for registering optimization passes and optimizing.
//
// Instances of this class provides basic thread-safety guarantee.
-class Optimizer {
+class SPIRV_TOOLS_EXPORT Optimizer {
public:
// The token for an optimization pass. It is returned via one of the
// Create*Pass() standalone functions at the end of this header file and
// consumed by the RegisterPass() method. Tokens are one-time objects that
// only support move; copying is not allowed.
struct PassToken {
- struct Impl; // Opaque struct for holding internal data.
+ struct SPIRV_TOOLS_LOCAL Impl; // Opaque struct for holding internal data.
PassToken(std::unique_ptr<Impl>);
@@ -239,7 +239,7 @@ class Optimizer {
Optimizer& SetValidateAfterAll(bool validate);
private:
- struct Impl; // Opaque struct for holding internal data.
+ struct SPIRV_TOOLS_LOCAL Impl; // Opaque struct for holding internal data.
std::unique_ptr<Impl> impl_; // Unique pointer to internal data.
};
diff --git a/third_party/vulkan-deps/spirv-tools/src/source/opt/trim_capabilities_pass.h b/third_party/vulkan-deps/spirv-tools/src/source/opt/trim_capabilities_pass.h
index 3a8460f3b2..81c07b8227 100644
--- a/third_party/vulkan-deps/spirv-tools/src/source/opt/trim_capabilities_pass.h
+++ b/third_party/vulkan-deps/spirv-tools/src/source/opt/trim_capabilities_pass.h
@@ -98,7 +98,8 @@ class TrimCapabilitiesPass : public Pass {
spv::Capability::StoragePushConstant16,
spv::Capability::StorageUniform16,
spv::Capability::StorageUniformBufferBlock16,
- spv::Capability::VulkanMemoryModelDeviceScope
+ spv::Capability::VulkanMemoryModelDeviceScope,
+ spv::Capability::GroupNonUniformPartitionedNV
// clang-format on
};
diff --git a/third_party/vulkan-deps/spirv-tools/src/source/val/validate_image.cpp b/third_party/vulkan-deps/spirv-tools/src/source/val/validate_image.cpp
index bfcb310db5..a1a76ea274 100644
--- a/third_party/vulkan-deps/spirv-tools/src/source/val/validate_image.cpp
+++ b/third_party/vulkan-deps/spirv-tools/src/source/val/validate_image.cpp
@@ -2169,7 +2169,8 @@ spv_result_t ValidateImageProcessingQCOMDecoration(ValidationState_t& _, int id,
spv::Decoration decor) {
const Instruction* si_inst = nullptr;
const Instruction* ld_inst = _.FindDef(id);
- if (ld_inst->opcode() == spv::Op::OpSampledImage) {
+ bool is_intf_obj = (ld_inst->opcode() == spv::Op::OpSampledImage);
+ if (is_intf_obj == true) {
si_inst = ld_inst;
int t_idx = si_inst->GetOperandAs<int>(2); // texture
ld_inst = _.FindDef(t_idx);
@@ -2186,6 +2187,56 @@ spv_result_t ValidateImageProcessingQCOMDecoration(ValidationState_t& _, int id,
return SPV_SUCCESS;
}
+spv_result_t ValidateImageProcessing2QCOMWindowDecoration(ValidationState_t& _,
+ int id) {
+ const Instruction* ld_inst = _.FindDef(id);
+ bool is_intf_obj = (ld_inst->opcode() != spv::Op::OpSampledImage);
+ if (is_intf_obj == true) {
+ if (ld_inst->opcode() != spv::Op::OpLoad) {
+ return _.diag(SPV_ERROR_INVALID_DATA, ld_inst) << "Expect to see OpLoad";
+ }
+ int texture_id = ld_inst->GetOperandAs<int>(2); // variable to load
+ spv::Decoration decor = spv::Decoration::BlockMatchTextureQCOM;
+ if (!_.HasDecoration(texture_id, decor)) {
+ return _.diag(SPV_ERROR_INVALID_DATA, ld_inst)
+ << "Missing decoration " << _.SpvDecorationString(decor);
+ }
+ decor = spv::Decoration::BlockMatchSamplerQCOM;
+ if (!_.HasDecoration(texture_id, decor)) {
+ return _.diag(SPV_ERROR_INVALID_DATA, ld_inst)
+ << "Missing decoration " << _.SpvDecorationString(decor);
+ }
+ } else {
+ const Instruction* si_inst = ld_inst;
+ int t_idx = si_inst->GetOperandAs<int>(2); // texture
+ const Instruction* t_ld_inst = _.FindDef(t_idx);
+ if (t_ld_inst->opcode() != spv::Op::OpLoad) {
+ return _.diag(SPV_ERROR_INVALID_DATA, t_ld_inst)
+ << "Expect to see OpLoad";
+ }
+ int texture_id = t_ld_inst->GetOperandAs<int>(2); // variable to load
+ spv::Decoration decor = spv::Decoration::BlockMatchTextureQCOM;
+ if (!_.HasDecoration(texture_id, decor)) {
+ return _.diag(SPV_ERROR_INVALID_DATA, ld_inst)
+ << "Missing decoration " << _.SpvDecorationString(decor);
+ }
+ int s_idx = si_inst->GetOperandAs<int>(3); // sampler
+ const Instruction* s_ld_inst = _.FindDef(s_idx);
+ if (s_ld_inst->opcode() != spv::Op::OpLoad) {
+ return _.diag(SPV_ERROR_INVALID_DATA, s_ld_inst)
+ << "Expect to see OpLoad";
+ }
+ int sampler_id = s_ld_inst->GetOperandAs<int>(2); // variable to load
+ decor = spv::Decoration::BlockMatchSamplerQCOM;
+ if (!_.HasDecoration(sampler_id, decor)) {
+ return _.diag(SPV_ERROR_INVALID_DATA, ld_inst)
+ << "Missing decoration " << _.SpvDecorationString(decor);
+ }
+ }
+
+ return SPV_SUCCESS;
+}
+
spv_result_t ValidateImageProcessingQCOM(ValidationState_t& _,
const Instruction* inst) {
spv_result_t res = SPV_SUCCESS;
@@ -2211,18 +2262,10 @@ spv_result_t ValidateImageProcessingQCOM(ValidationState_t& _,
case spv::Op::OpImageBlockMatchWindowSSDQCOM:
case spv::Op::OpImageBlockMatchWindowSADQCOM: {
int tgt_idx = inst->GetOperandAs<int>(2); // target
- res = ValidateImageProcessingQCOMDecoration(
- _, tgt_idx, spv::Decoration::BlockMatchTextureQCOM);
- if (res != SPV_SUCCESS) break;
- res = ValidateImageProcessingQCOMDecoration(
- _, tgt_idx, spv::Decoration::BlockMatchSamplerQCOM);
+ res = ValidateImageProcessing2QCOMWindowDecoration(_, tgt_idx);
if (res != SPV_SUCCESS) break;
int ref_idx = inst->GetOperandAs<int>(4); // reference
- res = ValidateImageProcessingQCOMDecoration(
- _, ref_idx, spv::Decoration::BlockMatchTextureQCOM);
- if (res != SPV_SUCCESS) break;
- res = ValidateImageProcessingQCOMDecoration(
- _, ref_idx, spv::Decoration::BlockMatchSamplerQCOM);
+ res = ValidateImageProcessing2QCOMWindowDecoration(_, ref_idx);
break;
}
case spv::Op::OpImageBlockMatchGatherSSDQCOM:
diff --git a/third_party/vulkan-deps/spirv-tools/src/test/val/val_image_test.cpp b/third_party/vulkan-deps/spirv-tools/src/test/val/val_image_test.cpp
index 44ccf2d641..77b042f04c 100644
--- a/third_party/vulkan-deps/spirv-tools/src/test/val/val_image_test.cpp
+++ b/third_party/vulkan-deps/spirv-tools/src/test/val/val_image_test.cpp
@@ -8332,9 +8332,9 @@ TEST_F(ValidateImage, QCOMImageProcessing2BlockMatchWindowSADNoDecorRefNIT) {
OpDecorate %4 DescriptorSet 0
OpDecorate %4 Binding 1
OpDecorate %4 BlockMatchTextureQCOM
- OpDecorate %4 BlockMatchSamplerQCOM
OpDecorate %5 DescriptorSet 0
OpDecorate %5 Binding 3
+ OpDecorate %5 BlockMatchSamplerQCOM
OpDecorate %6 DescriptorSet 0
OpDecorate %6 Binding 2
OpDecorate %6 BlockMatchSamplerQCOM
@@ -8816,9 +8816,9 @@ TEST_F(ValidateImage, QCOMImageProcessing2BlockMatchWindowSSDNoDecorRefNIT) {
OpDecorate %4 DescriptorSet 0
OpDecorate %4 Binding 1
OpDecorate %4 BlockMatchTextureQCOM
- OpDecorate %4 BlockMatchSamplerQCOM
OpDecorate %5 DescriptorSet 0
OpDecorate %5 Binding 3
+ OpDecorate %5 BlockMatchSamplerQCOM
OpDecorate %6 DescriptorSet 0
OpDecorate %6 Binding 2
OpDecorate %6 BlockMatchSamplerQCOM
@@ -9557,9 +9557,8 @@ TEST_F(ValidateImage,
OpDecorate %104 DescriptorSet 0
OpDecorate %104 Binding 2
OpDecorate %102 BlockMatchTextureQCOM
- OpDecorate %102 BlockMatchSamplerQCOM
+ OpDecorate %103 BlockMatchSamplerQCOM
OpDecorate %104 BlockMatchTextureQCOM
- OpDecorate %104 BlockMatchSamplerQCOM
%void = OpTypeVoid
%3 = OpTypeFunction %void
%uint = OpTypeInt 32 0
@@ -9632,9 +9631,8 @@ TEST_F(ValidateImage, QCOMImageProcessing2BlockMatchWindowSADInvalidUseRefNI) {
OpDecorate %104 DescriptorSet 0
OpDecorate %104 Binding 2
OpDecorate %102 BlockMatchTextureQCOM
- OpDecorate %102 BlockMatchSamplerQCOM
+ OpDecorate %103 BlockMatchSamplerQCOM
OpDecorate %104 BlockMatchTextureQCOM
- OpDecorate %104 BlockMatchSamplerQCOM
%void = OpTypeVoid
%3 = OpTypeFunction %void
%uint = OpTypeInt 32 0
@@ -9847,9 +9845,8 @@ TEST_F(ValidateImage,
OpDecorate %104 DescriptorSet 0
OpDecorate %104 Binding 2
OpDecorate %102 BlockMatchTextureQCOM
- OpDecorate %102 BlockMatchSamplerQCOM
+ OpDecorate %103 BlockMatchSamplerQCOM
OpDecorate %104 BlockMatchTextureQCOM
- OpDecorate %104 BlockMatchSamplerQCOM
%void = OpTypeVoid
%3 = OpTypeFunction %void
%uint = OpTypeInt 32 0
@@ -9922,9 +9919,8 @@ TEST_F(ValidateImage, QCOMImageProcessing2BlockMatchWindowSSDInvalidUseRefNI) {
OpDecorate %104 DescriptorSet 0
OpDecorate %104 Binding 2
OpDecorate %102 BlockMatchTextureQCOM
- OpDecorate %102 BlockMatchSamplerQCOM
+ OpDecorate %103 BlockMatchSamplerQCOM
OpDecorate %104 BlockMatchTextureQCOM
- OpDecorate %104 BlockMatchSamplerQCOM
%void = OpTypeVoid
%3 = OpTypeFunction %void
%uint = OpTypeInt 32 0
diff --git a/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan.hpp b/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan.hpp
index 1edbcd5323..eae7cc3398 100644
--- a/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan.hpp
+++ b/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan.hpp
@@ -56,7 +56,7 @@ extern "C" __declspec( dllimport ) FARPROC __stdcall GetProcAddress( HINSTANCE h
# include <span>
#endif
-static_assert( VK_HEADER_VERSION == 282, "Wrong VK_HEADER_VERSION!" );
+static_assert( VK_HEADER_VERSION == 283, "Wrong VK_HEADER_VERSION!" );
// <tuple> includes <sys/sysmacros.h> through some other header
// this results in major(x) being resolved to gnu_dev_major(x)
diff --git a/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_core.h b/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_core.h
index 9b2c88f781..114c0950d3 100644
--- a/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_core.h
+++ b/third_party/vulkan-deps/vulkan-headers/src/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 282
+#define VK_HEADER_VERSION 283
// Complete version of this file
#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION)
@@ -11110,6 +11110,7 @@ typedef VkFlags64 VkPipelineCreateFlagBits2KHR;
static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT_KHR = 0x00000001ULL;
static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_ALLOW_DERIVATIVES_BIT_KHR = 0x00000002ULL;
static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DERIVATIVE_BIT_KHR = 0x00000004ULL;
+static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT = 0x400000000ULL;
static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = 0x00000008ULL;
static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DISPATCH_BASE_BIT_KHR = 0x00000010ULL;
static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DEFER_COMPILE_BIT_NV = 0x00000020ULL;
@@ -18503,7 +18504,7 @@ VKAPI_ATTR void VKAPI_CALL vkCmdOpticalFlowExecuteNV(
// VK_EXT_legacy_dithering is a preprocessor guard. Do not pass it to API calls.
#define VK_EXT_legacy_dithering 1
-#define VK_EXT_LEGACY_DITHERING_SPEC_VERSION 1
+#define VK_EXT_LEGACY_DITHERING_SPEC_VERSION 2
#define VK_EXT_LEGACY_DITHERING_EXTENSION_NAME "VK_EXT_legacy_dithering"
typedef struct VkPhysicalDeviceLegacyDitheringFeaturesEXT {
VkStructureType sType;
diff --git a/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_enums.hpp b/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_enums.hpp
index 951c4e1eee..2aaf68c7f5 100644
--- a/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_enums.hpp
+++ b/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_enums.hpp
@@ -6214,7 +6214,7 @@ namespace VULKAN_HPP_NAMESPACE
enum class VideoEncodeCapabilityFlagBitsKHR : VkVideoEncodeCapabilityFlagsKHR
{
ePrecedingExternallyEncodedBytes = VK_VIDEO_ENCODE_CAPABILITY_PRECEDING_EXTERNALLY_ENCODED_BYTES_BIT_KHR,
- eInsufficientstreamBufferRangeDetectionBit = VK_VIDEO_ENCODE_CAPABILITY_INSUFFICIENT_BITSTREAM_BUFFER_RANGE_DETECTION_BIT_KHR
+ eInsufficientBitstreamBufferRangeDetection = VK_VIDEO_ENCODE_CAPABILITY_INSUFFICIENT_BITSTREAM_BUFFER_RANGE_DETECTION_BIT_KHR
};
using VideoEncodeCapabilityFlagsKHR = Flags<VideoEncodeCapabilityFlagBitsKHR>;
@@ -6224,14 +6224,14 @@ namespace VULKAN_HPP_NAMESPACE
{
static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeCapabilityFlagsKHR allFlags =
- VideoEncodeCapabilityFlagBitsKHR::ePrecedingExternallyEncodedBytes | VideoEncodeCapabilityFlagBitsKHR::eInsufficientstreamBufferRangeDetectionBit;
+ VideoEncodeCapabilityFlagBitsKHR::ePrecedingExternallyEncodedBytes | VideoEncodeCapabilityFlagBitsKHR::eInsufficientBitstreamBufferRangeDetection;
};
enum class VideoEncodeFeedbackFlagBitsKHR : VkVideoEncodeFeedbackFlagsKHR
{
- estreamBufferOffsetBit = VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BUFFER_OFFSET_BIT_KHR,
- estreamBytesWrittenBit = VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BYTES_WRITTEN_BIT_KHR,
- estreamHasOverridesBit = VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_HAS_OVERRIDES_BIT_KHR
+ eBitstreamBufferOffset = VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BUFFER_OFFSET_BIT_KHR,
+ eBitstreamBytesWritten = VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BYTES_WRITTEN_BIT_KHR,
+ eBitstreamHasOverrides = VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_HAS_OVERRIDES_BIT_KHR
};
using VideoEncodeFeedbackFlagsKHR = Flags<VideoEncodeFeedbackFlagBitsKHR>;
@@ -6240,9 +6240,9 @@ namespace VULKAN_HPP_NAMESPACE
struct FlagTraits<VideoEncodeFeedbackFlagBitsKHR>
{
static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
- static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeFeedbackFlagsKHR allFlags = VideoEncodeFeedbackFlagBitsKHR::estreamBufferOffsetBit |
- VideoEncodeFeedbackFlagBitsKHR::estreamBytesWrittenBit |
- VideoEncodeFeedbackFlagBitsKHR::estreamHasOverridesBit;
+ static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeFeedbackFlagsKHR allFlags = VideoEncodeFeedbackFlagBitsKHR::eBitstreamBufferOffset |
+ VideoEncodeFeedbackFlagBitsKHR::eBitstreamBytesWritten |
+ VideoEncodeFeedbackFlagBitsKHR::eBitstreamHasOverrides;
};
enum class VideoEncodeUsageFlagBitsKHR : VkVideoEncodeUsageFlagsKHR
@@ -6918,6 +6918,7 @@ namespace VULKAN_HPP_NAMESPACE
eDisableOptimization = VK_PIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT_KHR,
eAllowDerivatives = VK_PIPELINE_CREATE_2_ALLOW_DERIVATIVES_BIT_KHR,
eDerivative = VK_PIPELINE_CREATE_2_DERIVATIVE_BIT_KHR,
+ eEnableLegacyDitheringEXT = VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT,
eViewIndexFromDeviceIndex = VK_PIPELINE_CREATE_2_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR,
eDispatchBase = VK_PIPELINE_CREATE_2_DISPATCH_BASE_BIT_KHR,
eDeferCompileNV = VK_PIPELINE_CREATE_2_DEFER_COMPILE_BIT_NV,
@@ -6956,11 +6957,12 @@ namespace VULKAN_HPP_NAMESPACE
static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineCreateFlags2KHR allFlags =
PipelineCreateFlagBits2KHR::eDisableOptimization | PipelineCreateFlagBits2KHR::eAllowDerivatives | PipelineCreateFlagBits2KHR::eDerivative |
- PipelineCreateFlagBits2KHR::eViewIndexFromDeviceIndex | PipelineCreateFlagBits2KHR::eDispatchBase | PipelineCreateFlagBits2KHR::eDeferCompileNV |
- PipelineCreateFlagBits2KHR::eCaptureStatistics | PipelineCreateFlagBits2KHR::eCaptureInternalRepresentations |
- PipelineCreateFlagBits2KHR::eFailOnPipelineCompileRequired | PipelineCreateFlagBits2KHR::eEarlyReturnOnFailure |
- PipelineCreateFlagBits2KHR::eLinkTimeOptimizationEXT | PipelineCreateFlagBits2KHR::eRetainLinkTimeOptimizationInfoEXT |
- PipelineCreateFlagBits2KHR::eLibrary | PipelineCreateFlagBits2KHR::eRayTracingSkipTriangles | PipelineCreateFlagBits2KHR::eRayTracingSkipAabbs |
+ PipelineCreateFlagBits2KHR::eEnableLegacyDitheringEXT | PipelineCreateFlagBits2KHR::eViewIndexFromDeviceIndex |
+ PipelineCreateFlagBits2KHR::eDispatchBase | PipelineCreateFlagBits2KHR::eDeferCompileNV | PipelineCreateFlagBits2KHR::eCaptureStatistics |
+ PipelineCreateFlagBits2KHR::eCaptureInternalRepresentations | PipelineCreateFlagBits2KHR::eFailOnPipelineCompileRequired |
+ PipelineCreateFlagBits2KHR::eEarlyReturnOnFailure | PipelineCreateFlagBits2KHR::eLinkTimeOptimizationEXT |
+ PipelineCreateFlagBits2KHR::eRetainLinkTimeOptimizationInfoEXT | PipelineCreateFlagBits2KHR::eLibrary |
+ PipelineCreateFlagBits2KHR::eRayTracingSkipTriangles | PipelineCreateFlagBits2KHR::eRayTracingSkipAabbs |
PipelineCreateFlagBits2KHR::eRayTracingNoNullAnyHitShaders | PipelineCreateFlagBits2KHR::eRayTracingNoNullClosestHitShaders |
PipelineCreateFlagBits2KHR::eRayTracingNoNullMissShaders | PipelineCreateFlagBits2KHR::eRayTracingNoNullIntersectionShaders |
PipelineCreateFlagBits2KHR::eRayTracingShaderGroupHandleCaptureReplay | PipelineCreateFlagBits2KHR::eIndirectBindableNV |
diff --git a/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_to_string.hpp b/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_to_string.hpp
index cf9fea4395..011f7874f5 100644
--- a/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_to_string.hpp
+++ b/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_to_string.hpp
@@ -2915,8 +2915,8 @@ namespace VULKAN_HPP_NAMESPACE
std::string result;
if ( value & VideoEncodeCapabilityFlagBitsKHR::ePrecedingExternallyEncodedBytes )
result += "PrecedingExternallyEncodedBytes | ";
- if ( value & VideoEncodeCapabilityFlagBitsKHR::eInsufficientstreamBufferRangeDetectionBit )
- result += "InsufficientstreamBufferRangeDetectionBit | ";
+ if ( value & VideoEncodeCapabilityFlagBitsKHR::eInsufficientBitstreamBufferRangeDetection )
+ result += "InsufficientBitstreamBufferRangeDetection | ";
return "{ " + result.substr( 0, result.size() - 3 ) + " }";
}
@@ -2927,12 +2927,12 @@ namespace VULKAN_HPP_NAMESPACE
return "{}";
std::string result;
- if ( value & VideoEncodeFeedbackFlagBitsKHR::estreamBufferOffsetBit )
- result += "streamBufferOffsetBit | ";
- if ( value & VideoEncodeFeedbackFlagBitsKHR::estreamBytesWrittenBit )
- result += "streamBytesWrittenBit | ";
- if ( value & VideoEncodeFeedbackFlagBitsKHR::estreamHasOverridesBit )
- result += "streamHasOverridesBit | ";
+ if ( value & VideoEncodeFeedbackFlagBitsKHR::eBitstreamBufferOffset )
+ result += "BitstreamBufferOffset | ";
+ if ( value & VideoEncodeFeedbackFlagBitsKHR::eBitstreamBytesWritten )
+ result += "BitstreamBytesWritten | ";
+ if ( value & VideoEncodeFeedbackFlagBitsKHR::eBitstreamHasOverrides )
+ result += "BitstreamHasOverrides | ";
return "{ " + result.substr( 0, result.size() - 3 ) + " }";
}
@@ -3372,6 +3372,8 @@ namespace VULKAN_HPP_NAMESPACE
result += "AllowDerivatives | ";
if ( value & PipelineCreateFlagBits2KHR::eDerivative )
result += "Derivative | ";
+ if ( value & PipelineCreateFlagBits2KHR::eEnableLegacyDitheringEXT )
+ result += "EnableLegacyDitheringEXT | ";
if ( value & PipelineCreateFlagBits2KHR::eViewIndexFromDeviceIndex )
result += "ViewIndexFromDeviceIndex | ";
if ( value & PipelineCreateFlagBits2KHR::eDispatchBase )
@@ -8247,7 +8249,7 @@ namespace VULKAN_HPP_NAMESPACE
switch ( value )
{
case VideoEncodeCapabilityFlagBitsKHR::ePrecedingExternallyEncodedBytes: return "PrecedingExternallyEncodedBytes";
- case VideoEncodeCapabilityFlagBitsKHR::eInsufficientstreamBufferRangeDetectionBit: return "InsufficientstreamBufferRangeDetectionBit";
+ case VideoEncodeCapabilityFlagBitsKHR::eInsufficientBitstreamBufferRangeDetection: return "InsufficientBitstreamBufferRangeDetection";
default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
}
}
@@ -8256,9 +8258,9 @@ namespace VULKAN_HPP_NAMESPACE
{
switch ( value )
{
- case VideoEncodeFeedbackFlagBitsKHR::estreamBufferOffsetBit: return "streamBufferOffsetBit";
- case VideoEncodeFeedbackFlagBitsKHR::estreamBytesWrittenBit: return "streamBytesWrittenBit";
- case VideoEncodeFeedbackFlagBitsKHR::estreamHasOverridesBit: return "streamHasOverridesBit";
+ case VideoEncodeFeedbackFlagBitsKHR::eBitstreamBufferOffset: return "BitstreamBufferOffset";
+ case VideoEncodeFeedbackFlagBitsKHR::eBitstreamBytesWritten: return "BitstreamBytesWritten";
+ case VideoEncodeFeedbackFlagBitsKHR::eBitstreamHasOverrides: return "BitstreamHasOverrides";
default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
}
}
@@ -8813,6 +8815,7 @@ namespace VULKAN_HPP_NAMESPACE
case PipelineCreateFlagBits2KHR::eDisableOptimization: return "DisableOptimization";
case PipelineCreateFlagBits2KHR::eAllowDerivatives: return "AllowDerivatives";
case PipelineCreateFlagBits2KHR::eDerivative: return "Derivative";
+ case PipelineCreateFlagBits2KHR::eEnableLegacyDitheringEXT: return "EnableLegacyDitheringEXT";
case PipelineCreateFlagBits2KHR::eViewIndexFromDeviceIndex: return "ViewIndexFromDeviceIndex";
case PipelineCreateFlagBits2KHR::eDispatchBase: return "DispatchBase";
case PipelineCreateFlagBits2KHR::eDeferCompileNV: return "DeferCompileNV";
diff --git a/third_party/vulkan-deps/vulkan-headers/src/registry/validusage.json b/third_party/vulkan-deps/vulkan-headers/src/registry/validusage.json
index 5572f1bc02..57e71a4406 100644
--- a/third_party/vulkan-deps/vulkan-headers/src/registry/validusage.json
+++ b/third_party/vulkan-deps/vulkan-headers/src/registry/validusage.json
@@ -1,9 +1,9 @@
{
"version info": {
"schema version": 2,
- "api version": "1.3.282",
- "comment": "from git branch: github-main commit: 315493e7b2ed31e3d33f124f95a4b1c0cdbfaf84",
- "date": "2024-04-13 13:53:11Z"
+ "api version": "1.3.283",
+ "comment": "from git branch: github-main commit: dedb71a7edc6d5af3f9bfd5e2ef53814de999ef7",
+ "date": "2024-04-19 06:43:10Z"
},
"validation": {
"vkGetInstanceProcAddr": {
@@ -8357,7 +8357,7 @@
"core": [
{
"vuid": "VUID-vkGetCalibratedTimestampsEXT-timeDomain-09246",
- "text": "The <code>timeDomain</code> value of each <a href=\"#VkCalibratedTimestampInfoEXT\">VkCalibratedTimestampInfoEXT</a> in <code>pTimestampInfos</code> <strong class=\"purple\">must</strong> be unique",
+ "text": "The <code>timeDomain</code> value of each <a href=\"#VkCalibratedTimestampInfoKHR\">VkCalibratedTimestampInfoKHR</a> in <code>pTimestampInfos</code> <strong class=\"purple\">must</strong> be unique",
"page": "vkspec"
},
{
@@ -12163,6 +12163,11 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-vkCmdBeginRenderPass-contents-09640",
+ "text": "If <code>contents</code> is <code>VK_SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_EXT</code>, then <a href=\"#features-nestedCommandBuffer\"><code>nestedCommandBuffer</code></a> <strong class=\"purple\">must</strong> be enabled",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-vkCmdBeginRenderPass-commandBuffer-parameter",
"text": "<code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle",
"page": "vkspec"
@@ -16557,6 +16562,11 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicState-09639",
+ "text": "If the pipeline requires <a href=\"#pipelines-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a>, <code>pDynamicState</code> includes <code>VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT</code>, and <code>pDynamicState</code> does not include <code>VK_DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT</code>, <code>pRasterizationState</code> <strong class=\"purple\">must</strong> include a <a href=\"#VkPipelineRasterizationConservativeStateCreateInfoEXT\">VkPipelineRasterizationConservativeStateCreateInfoEXT</a> in its <code>pNext</code> chain",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3DepthClipEnable-07384",
"text": "If the <a href=\"#features-extendedDynamicState3DepthClipEnable\"><code>extendedDynamicState3DepthClipEnable</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT</code>",
"page": "vkspec"
@@ -21273,6 +21283,11 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-VkBufferCreateInfo-flags-09641",
+ "text": "If <code>flags</code> includes <code>VK_BUFFER_CREATE_PROTECTED_BIT</code>, then <code>usage</code> <strong class=\"purple\">must</strong> not contain any of the following bits<div class=\"ulist\">\n<ul>\n<li>\n<p><code>VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT</code></p>\n</li>\n<li>\n<p><code>VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT</code></p>\n</li>\n<li>\n<p><code>VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT</code></p>\n</li>\n<li>\n<p><code>VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR</code></p>\n</li>\n<li>\n<p><code>VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR</code></p>\n</li>\n<li>\n<p><code>VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR</code></p>\n</li>\n<li>\n<p><code>VK_BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT</code></p>\n</li>\n<li>\n<p><code>VK_BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT</code></p>\n</li>\n<li>\n<p><code>VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT</code></p>\n</li>\n<li>\n<p><code>VK_BUFFER_USAGE_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT</code></p>\n</li>\n<li>\n<p><code>VK_BUFFER_USAGE_MICROMAP_STORAGE_BIT_EXT</code></p>\n</li>\n</ul>\n</div>",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-VkBufferCreateInfo-sType-sType",
"text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO</code>",
"page": "vkspec"
@@ -29866,6 +29881,20 @@
}
]
},
+ "VkStridedDeviceAddressRegionKHR": {
+ "core": [
+ {
+ "vuid": "VUID-VkStridedDeviceAddressRegionKHR-size-04631",
+ "text": "If <code>size</code> is not zero, all addresses between <code>deviceAddress</code> and <span class=\"eq\"><code>deviceAddress</code> + <code>size</code> - 1</span> <strong class=\"purple\">must</strong> be in the buffer device address range of the same buffer",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkStridedDeviceAddressRegionKHR-size-04632",
+ "text": "If <code>size</code> is not zero, <code>stride</code> <strong class=\"purple\">must</strong> be less than or equal to the size of the buffer from which <code>deviceAddress</code> was queried",
+ "page": "vkspec"
+ }
+ ]
+ },
"vkGetDescriptorSetLayoutSizeEXT": {
"core": [
{
@@ -43035,6 +43064,16 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-vkCmdDraw-None-09642",
+ "text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a> with the <code>VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT</code> flag, the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdDraw-None-09643",
+ "text": "If the bound graphics pipeline was created with <code>VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT</code>, the current render pass <strong class=\"purple\">must</strong> have begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a> with the <code>VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT</code> flag",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-vkCmdDraw-commandBuffer-02712",
"text": "If <code>commandBuffer</code> is a protected command buffer and <a href=\"#limits-protectedNoFault\"><code>protectedNoFault</code></a> is not supported, any resource written to by the <code>VkPipeline</code> object bound to the pipeline bind point used by this command <strong class=\"purple\">must</strong> not be an unprotected resource",
"page": "vkspec"
@@ -43075,11 +43114,6 @@
"page": "vkspec"
},
{
- "vuid": "VUID-vkCmdDraw-None-04912",
- "text": "If the bound graphics pipeline was created with both the <code>VK_DYNAMIC_STATE_VERTEX_INPUT_EXT</code> and <code>VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT</code> dynamic states enabled, then <a href=\"#vkCmdSetVertexInputEXT\">vkCmdSetVertexInputEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command",
- "page": "vkspec"
- },
- {
"vuid": "VUID-vkCmdDraw-pStrides-04913",
"text": "If the bound graphics pipeline was created with the <code>VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT</code> dynamic state enabled, but without the <code>VK_DYNAMIC_STATE_VERTEX_INPUT_EXT</code> dynamic state enabled, then <a href=\"#vkCmdBindVertexBuffers2EXT\">vkCmdBindVertexBuffers2EXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>pStrides</code> parameter of <a href=\"#vkCmdBindVertexBuffers2EXT\">vkCmdBindVertexBuffers2EXT</a> <strong class=\"purple\">must</strong> not be <code>NULL</code>",
"page": "vkspec"
@@ -44884,6 +44918,16 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-vkCmdDrawIndexed-None-09642",
+ "text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a> with the <code>VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT</code> flag, the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawIndexed-None-09643",
+ "text": "If the bound graphics pipeline was created with <code>VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT</code>, the current render pass <strong class=\"purple\">must</strong> have begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a> with the <code>VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT</code> flag",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-vkCmdDrawIndexed-commandBuffer-02712",
"text": "If <code>commandBuffer</code> is a protected command buffer and <a href=\"#limits-protectedNoFault\"><code>protectedNoFault</code></a> is not supported, any resource written to by the <code>VkPipeline</code> object bound to the pipeline bind point used by this command <strong class=\"purple\">must</strong> not be an unprotected resource",
"page": "vkspec"
@@ -44924,11 +44968,6 @@
"page": "vkspec"
},
{
- "vuid": "VUID-vkCmdDrawIndexed-None-04912",
- "text": "If the bound graphics pipeline was created with both the <code>VK_DYNAMIC_STATE_VERTEX_INPUT_EXT</code> and <code>VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT</code> dynamic states enabled, then <a href=\"#vkCmdSetVertexInputEXT\">vkCmdSetVertexInputEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command",
- "page": "vkspec"
- },
- {
"vuid": "VUID-vkCmdDrawIndexed-pStrides-04913",
"text": "If the bound graphics pipeline was created with the <code>VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT</code> dynamic state enabled, but without the <code>VK_DYNAMIC_STATE_VERTEX_INPUT_EXT</code> dynamic state enabled, then <a href=\"#vkCmdBindVertexBuffers2EXT\">vkCmdBindVertexBuffers2EXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>pStrides</code> parameter of <a href=\"#vkCmdBindVertexBuffers2EXT\">vkCmdBindVertexBuffers2EXT</a> <strong class=\"purple\">must</strong> not be <code>NULL</code>",
"page": "vkspec"
@@ -46748,6 +46787,16 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-vkCmdDrawMultiEXT-None-09642",
+ "text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a> with the <code>VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT</code> flag, the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMultiEXT-None-09643",
+ "text": "If the bound graphics pipeline was created with <code>VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT</code>, the current render pass <strong class=\"purple\">must</strong> have begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a> with the <code>VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT</code> flag",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-vkCmdDrawMultiEXT-commandBuffer-02712",
"text": "If <code>commandBuffer</code> is a protected command buffer and <a href=\"#limits-protectedNoFault\"><code>protectedNoFault</code></a> is not supported, any resource written to by the <code>VkPipeline</code> object bound to the pipeline bind point used by this command <strong class=\"purple\">must</strong> not be an unprotected resource",
"page": "vkspec"
@@ -46788,11 +46837,6 @@
"page": "vkspec"
},
{
- "vuid": "VUID-vkCmdDrawMultiEXT-None-04912",
- "text": "If the bound graphics pipeline was created with both the <code>VK_DYNAMIC_STATE_VERTEX_INPUT_EXT</code> and <code>VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT</code> dynamic states enabled, then <a href=\"#vkCmdSetVertexInputEXT\">vkCmdSetVertexInputEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command",
- "page": "vkspec"
- },
- {
"vuid": "VUID-vkCmdDrawMultiEXT-pStrides-04913",
"text": "If the bound graphics pipeline was created with the <code>VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT</code> dynamic state enabled, but without the <code>VK_DYNAMIC_STATE_VERTEX_INPUT_EXT</code> dynamic state enabled, then <a href=\"#vkCmdBindVertexBuffers2EXT\">vkCmdBindVertexBuffers2EXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>pStrides</code> parameter of <a href=\"#vkCmdBindVertexBuffers2EXT\">vkCmdBindVertexBuffers2EXT</a> <strong class=\"purple\">must</strong> not be <code>NULL</code>",
"page": "vkspec"
@@ -48617,6 +48661,16 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-09642",
+ "text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a> with the <code>VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT</code> flag, the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-09643",
+ "text": "If the bound graphics pipeline was created with <code>VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT</code>, the current render pass <strong class=\"purple\">must</strong> have begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a> with the <code>VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT</code> flag",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-vkCmdDrawMultiIndexedEXT-commandBuffer-02712",
"text": "If <code>commandBuffer</code> is a protected command buffer and <a href=\"#limits-protectedNoFault\"><code>protectedNoFault</code></a> is not supported, any resource written to by the <code>VkPipeline</code> object bound to the pipeline bind point used by this command <strong class=\"purple\">must</strong> not be an unprotected resource",
"page": "vkspec"
@@ -48657,11 +48711,6 @@
"page": "vkspec"
},
{
- "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-04912",
- "text": "If the bound graphics pipeline was created with both the <code>VK_DYNAMIC_STATE_VERTEX_INPUT_EXT</code> and <code>VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT</code> dynamic states enabled, then <a href=\"#vkCmdSetVertexInputEXT\">vkCmdSetVertexInputEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command",
- "page": "vkspec"
- },
- {
"vuid": "VUID-vkCmdDrawMultiIndexedEXT-pStrides-04913",
"text": "If the bound graphics pipeline was created with the <code>VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT</code> dynamic state enabled, but without the <code>VK_DYNAMIC_STATE_VERTEX_INPUT_EXT</code> dynamic state enabled, then <a href=\"#vkCmdBindVertexBuffers2EXT\">vkCmdBindVertexBuffers2EXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>pStrides</code> parameter of <a href=\"#vkCmdBindVertexBuffers2EXT\">vkCmdBindVertexBuffers2EXT</a> <strong class=\"purple\">must</strong> not be <code>NULL</code>",
"page": "vkspec"
@@ -50506,6 +50555,16 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-vkCmdDrawIndirect-None-09642",
+ "text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a> with the <code>VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT</code> flag, the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawIndirect-None-09643",
+ "text": "If the bound graphics pipeline was created with <code>VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT</code>, the current render pass <strong class=\"purple\">must</strong> have begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a> with the <code>VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT</code> flag",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-vkCmdDrawIndirect-None-04007",
"text": "All vertex input bindings accessed via vertex input variables declared in the vertex shader entry point&#8217;s interface <strong class=\"purple\">must</strong> have either valid or <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a> buffers bound",
"page": "vkspec"
@@ -50531,11 +50590,6 @@
"page": "vkspec"
},
{
- "vuid": "VUID-vkCmdDrawIndirect-None-04912",
- "text": "If the bound graphics pipeline was created with both the <code>VK_DYNAMIC_STATE_VERTEX_INPUT_EXT</code> and <code>VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT</code> dynamic states enabled, then <a href=\"#vkCmdSetVertexInputEXT\">vkCmdSetVertexInputEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command",
- "page": "vkspec"
- },
- {
"vuid": "VUID-vkCmdDrawIndirect-pStrides-04913",
"text": "If the bound graphics pipeline was created with the <code>VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT</code> dynamic state enabled, but without the <code>VK_DYNAMIC_STATE_VERTEX_INPUT_EXT</code> dynamic state enabled, then <a href=\"#vkCmdBindVertexBuffers2EXT\">vkCmdBindVertexBuffers2EXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>pStrides</code> parameter of <a href=\"#vkCmdBindVertexBuffers2EXT\">vkCmdBindVertexBuffers2EXT</a> <strong class=\"purple\">must</strong> not be <code>NULL</code>",
"page": "vkspec"
@@ -52409,6 +52463,16 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-vkCmdDrawIndirectCount-None-09642",
+ "text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a> with the <code>VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT</code> flag, the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawIndirectCount-None-09643",
+ "text": "If the bound graphics pipeline was created with <code>VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT</code>, the current render pass <strong class=\"purple\">must</strong> have begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a> with the <code>VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT</code> flag",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-vkCmdDrawIndirectCount-None-04007",
"text": "All vertex input bindings accessed via vertex input variables declared in the vertex shader entry point&#8217;s interface <strong class=\"purple\">must</strong> have either valid or <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a> buffers bound",
"page": "vkspec"
@@ -52434,11 +52498,6 @@
"page": "vkspec"
},
{
- "vuid": "VUID-vkCmdDrawIndirectCount-None-04912",
- "text": "If the bound graphics pipeline was created with both the <code>VK_DYNAMIC_STATE_VERTEX_INPUT_EXT</code> and <code>VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT</code> dynamic states enabled, then <a href=\"#vkCmdSetVertexInputEXT\">vkCmdSetVertexInputEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command",
- "page": "vkspec"
- },
- {
"vuid": "VUID-vkCmdDrawIndirectCount-pStrides-04913",
"text": "If the bound graphics pipeline was created with the <code>VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT</code> dynamic state enabled, but without the <code>VK_DYNAMIC_STATE_VERTEX_INPUT_EXT</code> dynamic state enabled, then <a href=\"#vkCmdBindVertexBuffers2EXT\">vkCmdBindVertexBuffers2EXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>pStrides</code> parameter of <a href=\"#vkCmdBindVertexBuffers2EXT\">vkCmdBindVertexBuffers2EXT</a> <strong class=\"purple\">must</strong> not be <code>NULL</code>",
"page": "vkspec"
@@ -54318,6 +54377,16 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-vkCmdDrawIndexedIndirect-None-09642",
+ "text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a> with the <code>VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT</code> flag, the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawIndexedIndirect-None-09643",
+ "text": "If the bound graphics pipeline was created with <code>VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT</code>, the current render pass <strong class=\"purple\">must</strong> have begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a> with the <code>VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT</code> flag",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-vkCmdDrawIndexedIndirect-None-04007",
"text": "All vertex input bindings accessed via vertex input variables declared in the vertex shader entry point&#8217;s interface <strong class=\"purple\">must</strong> have either valid or <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a> buffers bound",
"page": "vkspec"
@@ -54343,11 +54412,6 @@
"page": "vkspec"
},
{
- "vuid": "VUID-vkCmdDrawIndexedIndirect-None-04912",
- "text": "If the bound graphics pipeline was created with both the <code>VK_DYNAMIC_STATE_VERTEX_INPUT_EXT</code> and <code>VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT</code> dynamic states enabled, then <a href=\"#vkCmdSetVertexInputEXT\">vkCmdSetVertexInputEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command",
- "page": "vkspec"
- },
- {
"vuid": "VUID-vkCmdDrawIndexedIndirect-pStrides-04913",
"text": "If the bound graphics pipeline was created with the <code>VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT</code> dynamic state enabled, but without the <code>VK_DYNAMIC_STATE_VERTEX_INPUT_EXT</code> dynamic state enabled, then <a href=\"#vkCmdBindVertexBuffers2EXT\">vkCmdBindVertexBuffers2EXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>pStrides</code> parameter of <a href=\"#vkCmdBindVertexBuffers2EXT\">vkCmdBindVertexBuffers2EXT</a> <strong class=\"purple\">must</strong> not be <code>NULL</code>",
"page": "vkspec"
@@ -56236,6 +56300,16 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-09642",
+ "text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a> with the <code>VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT</code> flag, the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-09643",
+ "text": "If the bound graphics pipeline was created with <code>VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT</code>, the current render pass <strong class=\"purple\">must</strong> have begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a> with the <code>VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT</code> flag",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-04007",
"text": "All vertex input bindings accessed via vertex input variables declared in the vertex shader entry point&#8217;s interface <strong class=\"purple\">must</strong> have either valid or <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a> buffers bound",
"page": "vkspec"
@@ -56261,11 +56335,6 @@
"page": "vkspec"
},
{
- "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-04912",
- "text": "If the bound graphics pipeline was created with both the <code>VK_DYNAMIC_STATE_VERTEX_INPUT_EXT</code> and <code>VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT</code> dynamic states enabled, then <a href=\"#vkCmdSetVertexInputEXT\">vkCmdSetVertexInputEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command",
- "page": "vkspec"
- },
- {
"vuid": "VUID-vkCmdDrawIndexedIndirectCount-pStrides-04913",
"text": "If the bound graphics pipeline was created with the <code>VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT</code> dynamic state enabled, but without the <code>VK_DYNAMIC_STATE_VERTEX_INPUT_EXT</code> dynamic state enabled, then <a href=\"#vkCmdBindVertexBuffers2EXT\">vkCmdBindVertexBuffers2EXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>pStrides</code> parameter of <a href=\"#vkCmdBindVertexBuffers2EXT\">vkCmdBindVertexBuffers2EXT</a> <strong class=\"purple\">must</strong> not be <code>NULL</code>",
"page": "vkspec"
@@ -58155,6 +58224,16 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-09642",
+ "text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a> with the <code>VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT</code> flag, the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-09643",
+ "text": "If the bound graphics pipeline was created with <code>VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT</code>, the current render pass <strong class=\"purple\">must</strong> have begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a> with the <code>VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT</code> flag",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-04007",
"text": "All vertex input bindings accessed via vertex input variables declared in the vertex shader entry point&#8217;s interface <strong class=\"purple\">must</strong> have either valid or <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a> buffers bound",
"page": "vkspec"
@@ -58180,11 +58259,6 @@
"page": "vkspec"
},
{
- "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-04912",
- "text": "If the bound graphics pipeline was created with both the <code>VK_DYNAMIC_STATE_VERTEX_INPUT_EXT</code> and <code>VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT</code> dynamic states enabled, then <a href=\"#vkCmdSetVertexInputEXT\">vkCmdSetVertexInputEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command",
- "page": "vkspec"
- },
- {
"vuid": "VUID-vkCmdDrawIndirectByteCountEXT-pStrides-04913",
"text": "If the bound graphics pipeline was created with the <code>VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT</code> dynamic state enabled, but without the <code>VK_DYNAMIC_STATE_VERTEX_INPUT_EXT</code> dynamic state enabled, then <a href=\"#vkCmdBindVertexBuffers2EXT\">vkCmdBindVertexBuffers2EXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>pStrides</code> parameter of <a href=\"#vkCmdBindVertexBuffers2EXT\">vkCmdBindVertexBuffers2EXT</a> <strong class=\"purple\">must</strong> not be <code>NULL</code>",
"page": "vkspec"
@@ -60161,6 +60235,16 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-vkCmdDrawMeshTasksNV-None-09642",
+ "text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a> with the <code>VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT</code> flag, the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksNV-None-09643",
+ "text": "If the bound graphics pipeline was created with <code>VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT</code>, the current render pass <strong class=\"purple\">must</strong> have begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a> with the <code>VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT</code> flag",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-vkCmdDrawMeshTasksNV-stage-06480",
"text": "The bound graphics pipeline <strong class=\"purple\">must</strong> not have been created with the <a href=\"#VkPipelineShaderStageCreateInfo\">VkPipelineShaderStageCreateInfo</a>::<code>stage</code> member of an element of <a href=\"#VkGraphicsPipelineCreateInfo\">VkGraphicsPipelineCreateInfo</a>::<code>pStages</code> set to <code>VK_SHADER_STAGE_VERTEX_BIT</code>, <code>VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT</code>, <code>VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT</code> or <code>VK_SHADER_STAGE_GEOMETRY_BIT</code>",
"page": "vkspec"
@@ -61925,6 +62009,16 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-09642",
+ "text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a> with the <code>VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT</code> flag, the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-09643",
+ "text": "If the bound graphics pipeline was created with <code>VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT</code>, the current render pass <strong class=\"purple\">must</strong> have begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a> with the <code>VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT</code> flag",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-stage-06480",
"text": "The bound graphics pipeline <strong class=\"purple\">must</strong> not have been created with the <a href=\"#VkPipelineShaderStageCreateInfo\">VkPipelineShaderStageCreateInfo</a>::<code>stage</code> member of an element of <a href=\"#VkGraphicsPipelineCreateInfo\">VkGraphicsPipelineCreateInfo</a>::<code>pStages</code> set to <code>VK_SHADER_STAGE_VERTEX_BIT</code>, <code>VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT</code>, <code>VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT</code> or <code>VK_SHADER_STAGE_GEOMETRY_BIT</code>",
"page": "vkspec"
@@ -63748,6 +63842,16 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-09642",
+ "text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a> with the <code>VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT</code> flag, the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-09643",
+ "text": "If the bound graphics pipeline was created with <code>VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT</code>, the current render pass <strong class=\"purple\">must</strong> have begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a> with the <code>VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT</code> flag",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-stage-06480",
"text": "The bound graphics pipeline <strong class=\"purple\">must</strong> not have been created with the <a href=\"#VkPipelineShaderStageCreateInfo\">VkPipelineShaderStageCreateInfo</a>::<code>stage</code> member of an element of <a href=\"#VkGraphicsPipelineCreateInfo\">VkGraphicsPipelineCreateInfo</a>::<code>pStages</code> set to <code>VK_SHADER_STAGE_VERTEX_BIT</code>, <code>VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT</code>, <code>VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT</code> or <code>VK_SHADER_STAGE_GEOMETRY_BIT</code>",
"page": "vkspec"
@@ -65592,6 +65696,16 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-vkCmdDrawMeshTasksEXT-None-09642",
+ "text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a> with the <code>VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT</code> flag, the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksEXT-None-09643",
+ "text": "If the bound graphics pipeline was created with <code>VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT</code>, the current render pass <strong class=\"purple\">must</strong> have begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a> with the <code>VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT</code> flag",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-vkCmdDrawMeshTasksEXT-stage-06480",
"text": "The bound graphics pipeline <strong class=\"purple\">must</strong> not have been created with the <a href=\"#VkPipelineShaderStageCreateInfo\">VkPipelineShaderStageCreateInfo</a>::<code>stage</code> member of an element of <a href=\"#VkGraphicsPipelineCreateInfo\">VkGraphicsPipelineCreateInfo</a>::<code>pStages</code> set to <code>VK_SHADER_STAGE_VERTEX_BIT</code>, <code>VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT</code>, <code>VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT</code> or <code>VK_SHADER_STAGE_GEOMETRY_BIT</code>",
"page": "vkspec"
@@ -67391,6 +67505,16 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-09642",
+ "text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a> with the <code>VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT</code> flag, the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-09643",
+ "text": "If the bound graphics pipeline was created with <code>VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT</code>, the current render pass <strong class=\"purple\">must</strong> have begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a> with the <code>VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT</code> flag",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-stage-06480",
"text": "The bound graphics pipeline <strong class=\"purple\">must</strong> not have been created with the <a href=\"#VkPipelineShaderStageCreateInfo\">VkPipelineShaderStageCreateInfo</a>::<code>stage</code> member of an element of <a href=\"#VkGraphicsPipelineCreateInfo\">VkGraphicsPipelineCreateInfo</a>::<code>pStages</code> set to <code>VK_SHADER_STAGE_VERTEX_BIT</code>, <code>VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT</code>, <code>VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT</code> or <code>VK_SHADER_STAGE_GEOMETRY_BIT</code>",
"page": "vkspec"
@@ -69249,6 +69373,16 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-09642",
+ "text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a> with the <code>VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT</code> flag, the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-09643",
+ "text": "If the bound graphics pipeline was created with <code>VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT</code>, the current render pass <strong class=\"purple\">must</strong> have begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a> with the <code>VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT</code> flag",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-stage-06480",
"text": "The bound graphics pipeline <strong class=\"purple\">must</strong> not have been created with the <a href=\"#VkPipelineShaderStageCreateInfo\">VkPipelineShaderStageCreateInfo</a>::<code>stage</code> member of an element of <a href=\"#VkGraphicsPipelineCreateInfo\">VkGraphicsPipelineCreateInfo</a>::<code>pStages</code> set to <code>VK_SHADER_STAGE_VERTEX_BIT</code>, <code>VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT</code>, <code>VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT</code> or <code>VK_SHADER_STAGE_GEOMETRY_BIT</code>",
"page": "vkspec"
@@ -71093,6 +71227,16 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-vkCmdDrawClusterHUAWEI-None-09642",
+ "text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a> with the <code>VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT</code> flag, the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawClusterHUAWEI-None-09643",
+ "text": "If the bound graphics pipeline was created with <code>VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT</code>, the current render pass <strong class=\"purple\">must</strong> have begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a> with the <code>VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT</code> flag",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-vkCmdDrawClusterHUAWEI-stage-06480",
"text": "The bound graphics pipeline <strong class=\"purple\">must</strong> not have been created with the <a href=\"#VkPipelineShaderStageCreateInfo\">VkPipelineShaderStageCreateInfo</a>::<code>stage</code> member of an element of <a href=\"#VkGraphicsPipelineCreateInfo\">VkGraphicsPipelineCreateInfo</a>::<code>pStages</code> set to <code>VK_SHADER_STAGE_VERTEX_BIT</code>, <code>VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT</code>, <code>VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT</code> or <code>VK_SHADER_STAGE_GEOMETRY_BIT</code>",
"page": "vkspec"
@@ -72872,6 +73016,16 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-09642",
+ "text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a> with the <code>VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT</code> flag, the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-09643",
+ "text": "If the bound graphics pipeline was created with <code>VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT</code>, the current render pass <strong class=\"purple\">must</strong> have begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a> with the <code>VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT</code> flag",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-stage-06480",
"text": "The bound graphics pipeline <strong class=\"purple\">must</strong> not have been created with the <a href=\"#VkPipelineShaderStageCreateInfo\">VkPipelineShaderStageCreateInfo</a>::<code>stage</code> member of an element of <a href=\"#VkGraphicsPipelineCreateInfo\">VkGraphicsPipelineCreateInfo</a>::<code>pStages</code> set to <code>VK_SHADER_STAGE_VERTEX_BIT</code>, <code>VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT</code>, <code>VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT</code> or <code>VK_SHADER_STAGE_GEOMETRY_BIT</code>",
"page": "vkspec"
@@ -81703,6 +81857,16 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-09642",
+ "text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a> with the <code>VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT</code> flag, the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-09643",
+ "text": "If the bound graphics pipeline was created with <code>VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT</code>, the current render pass <strong class=\"purple\">must</strong> have begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a> with the <code>VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT</code> flag",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-04007",
"text": "All vertex input bindings accessed via vertex input variables declared in the vertex shader entry point&#8217;s interface <strong class=\"purple\">must</strong> have either valid or <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a> buffers bound",
"page": "vkspec"
@@ -81728,11 +81892,6 @@
"page": "vkspec"
},
{
- "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-04912",
- "text": "If the bound graphics pipeline was created with both the <code>VK_DYNAMIC_STATE_VERTEX_INPUT_EXT</code> and <code>VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT</code> dynamic states enabled, then <a href=\"#vkCmdSetVertexInputEXT\">vkCmdSetVertexInputEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command",
- "page": "vkspec"
- },
- {
"vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-pStrides-04913",
"text": "If the bound graphics pipeline was created with the <code>VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT</code> dynamic state enabled, but without the <code>VK_DYNAMIC_STATE_VERTEX_INPUT_EXT</code> dynamic state enabled, then <a href=\"#vkCmdBindVertexBuffers2EXT\">vkCmdBindVertexBuffers2EXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>pStrides</code> parameter of <a href=\"#vkCmdBindVertexBuffers2EXT\">vkCmdBindVertexBuffers2EXT</a> <strong class=\"purple\">must</strong> not be <code>NULL</code>",
"page": "vkspec"
@@ -91068,20 +91227,6 @@
}
]
},
- "VkStridedDeviceAddressRegionKHR": {
- "core": [
- {
- "vuid": "VUID-VkStridedDeviceAddressRegionKHR-size-04631",
- "text": "If <code>size</code> is not zero, all addresses between <code>deviceAddress</code> and <span class=\"eq\"><code>deviceAddress</code> + <code>size</code> - 1</span> <strong class=\"purple\">must</strong> be in the buffer device address range of the same buffer",
- "page": "vkspec"
- },
- {
- "vuid": "VUID-VkStridedDeviceAddressRegionKHR-size-04632",
- "text": "If <code>size</code> is not zero, <code>stride</code> <strong class=\"purple\">must</strong> be less than or equal to the size of the buffer from which <code>deviceAddress</code> was queried",
- "page": "vkspec"
- }
- ]
- },
"vkCmdBindInvocationMaskHUAWEI": {
"core": [
{
@@ -103391,6 +103536,11 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-RuntimeSpirv-OpTypeImage-09644",
+ "text": "Any variable created with a &#8220;Type&#8221; of <code>OpTypeImage</code> that has a &#8220;Dim&#8221; operand of <code>SubpassData</code> and <code>Arrayed</code>=1 <strong class=\"purple\">must</strong> be decorated with <code>InputAttachmentIndex</code>",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-RuntimeSpirv-apiVersion-07954",
"text": "If <a href=\"#VkPhysicalDeviceProperties\">VkPhysicalDeviceProperties</a>::<code>apiVersion</code> is less than Vulkan 1.3, the <a href=\"#VK_KHR_format_feature_flags2\">VK_KHR_format_feature_flags2</a> extension is not supported, and <a href=\"#features-shaderStorageImageWriteWithoutFormat\"><code>shaderStorageImageWriteWithoutFormat</code></a> is not enabled, any variable created with a &#8220;Type&#8221; of <code>OpTypeImage</code> that has a &#8220;Sampled&#8221; operand of 2 and an &#8220;Image Format&#8221; operand of <code>Unknown</code> <strong class=\"purple\">must</strong> be decorated with <code>NonWritable</code>",
"page": "vkspec"
@@ -104519,6 +104669,11 @@
"vuid": "VUID-RuntimeSpirv-shaderSubgroupRotateClustered-09566",
"text": "If <a href=\"#features-shaderSubgroupRotateClustered\"><code>shaderSubgroupRotateClustered</code></a> is <code>VK_FALSE</code>, then the <code>ClusterSize</code> operand to <code>OpGroupNonUniformRotateKHR</code> <strong class=\"purple\">must</strong> not be used",
"page": "vkspec"
+ },
+ {
+ "vuid": "VUID-RuntimeSpirv-protectedNoFault-09645",
+ "text": "If <a href=\"#limits-protectedNoFault\"><code>protectedNoFault</code></a> is not supported, the <code>Storage</code> <code>Class</code> of the <code>PhysicalStorageBuffer</code> <strong class=\"purple\">must</strong> not be used if the buffer being accessed is <a href=\"#memory-protected-memory\">protected</a>",
+ "page": "vkspec"
}
]
},
diff --git a/third_party/vulkan-deps/vulkan-headers/src/registry/vk.xml b/third_party/vulkan-deps/vulkan-headers/src/registry/vk.xml
index 9a7cfb46c0..b14d3dc3ad 100755
--- a/third_party/vulkan-deps/vulkan-headers/src/registry/vk.xml
+++ b/third_party/vulkan-deps/vulkan-headers/src/registry/vk.xml
@@ -175,7 +175,7 @@ branch of the member gitlab server.
#define <name>VKSC_API_VERSION_1_0</name> <type>VK_MAKE_API_VERSION</type>(VKSC_API_VARIANT, 1, 0, 0)// Patch version should always be set to 0</type>
<type api="vulkan" category="define">// Version of this file
-#define <name>VK_HEADER_VERSION</name> 282</type>
+#define <name>VK_HEADER_VERSION</name> 283</type>
<type api="vulkan" category="define" requires="VK_HEADER_VERSION">// Complete version of this file
#define <name>VK_HEADER_VERSION_COMPLETE</name> <type>VK_MAKE_API_VERSION</type>(0, 1, 3, VK_HEADER_VERSION)</type>
<type api="vulkansc" category="define">// Version of this file
@@ -23162,14 +23162,15 @@ typedef void* <name>MTLSharedEvent_id</name>;
</extension>
<extension name="VK_EXT_legacy_dithering" number="466" type="device" depends="VK_KHR_get_physical_device_properties2,VK_VERSION_1_1" author="EXT" contact="Shahbaz Youssefi @syoussefi" supported="vulkan" specialuse="glemulation">
<require>
- <enum value="1" name="VK_EXT_LEGACY_DITHERING_SPEC_VERSION"/>
+ <enum value="2" name="VK_EXT_LEGACY_DITHERING_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_legacy_dithering&quot;" name="VK_EXT_LEGACY_DITHERING_EXTENSION_NAME"/>
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT"/>
<enum bitpos="7" extends="VkSubpassDescriptionFlagBits" name="VK_SUBPASS_DESCRIPTION_ENABLE_LEGACY_DITHERING_BIT_EXT"/>
<type name="VkPhysicalDeviceLegacyDitheringFeaturesEXT"/>
</require>
- <require depends="VK_KHR_dynamic_rendering,VK_VERSION_1_3">
- <enum bitpos="3" extends="VkRenderingFlagBits" name="VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT"/>
+ <require depends="(VK_KHR_dynamic_rendering,VK_VERSION_1_3)+VK_KHR_maintenance5">
+ <enum bitpos="3" extends="VkRenderingFlagBits" name="VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT"/>
+ <enum bitpos="34" extends="VkPipelineCreateFlagBits2KHR" name="VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT"/>
</require>
</extension>
<extension name="VK_EXT_pipeline_protected_access" number="467" type="device" depends="VK_KHR_get_physical_device_properties2,VK_VERSION_1_1" author="EXT" contact="Shahbaz Youssefi @syoussefi" supported="vulkan">
@@ -23186,7 +23187,6 @@ typedef void* <name>MTLSharedEvent_id</name>;
<require>
<enum value="0" name="VK_EXT_EXTENSION_468_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_extension_468&quot;" name="VK_EXT_EXTENSION_468_EXTENSION_NAME"/>
- <enum bitpos="34" extends="VkPipelineCreateFlagBits2KHR" name="VK_PIPELINE_CREATE_2_RESERVED_34_BIT_KHR"/>
</require>
</extension>
<extension name="VK_ANDROID_external_format_resolve" number="469" type="device" depends="VK_ANDROID_external_memory_android_hardware_buffer" platform="android" author="ANDROID" contact="Chris Forbes @chrisforbes" specialuse="glemulation" supported="vulkan">
@@ -24363,6 +24363,13 @@ typedef void* <name>MTLSharedEvent_id</name>;
<enum value="&quot;VK_VALVE_extension_576&quot;" name="VK_VALVE_EXTENSION_576_EXTENSION_NAME"/>
</require>
</extension>
+ <extension name="VK_HUAWEI_extension_577" number="577" author="HUAWEI" contact="Ye Wang @wangye" supported="disabled">
+ <require>
+ <enum value="0" name="VK_HUAWEI_EXTENSION_577_SPEC_VERSION"/>
+ <enum value="&quot;VK_HUAWEI_extension_577&quot;" name="VK_HUAWEI_EXTENSION_577_EXTENSION_NAME"/>
+ <enum bitpos="35" extends="VkPipelineCreateFlagBits2KHR" name="VK_PIPELINE_CREATE_2_RESERVED_35_BIT_KHR"/>
+ </require>
+ </extension>
</extensions>
<formats>
<format name="VK_FORMAT_R4G4_UNORM_PACK8" class="8-bit" blockSize="1" texelsPerBlock="1" packed="8">