diff --git a/renderdoc/driver/shaders/spirv/spir-v.xml b/renderdoc/driver/shaders/spirv/spir-v.xml
index 5b4f9ce4a..3078e776f 100644
--- a/renderdoc/driver/shaders/spirv/spir-v.xml
+++ b/renderdoc/driver/shaders/spirv/spir-v.xml
@@ -166,13 +166,14 @@
+
-
+
@@ -192,8 +193,8 @@
-
-
+
+
diff --git a/renderdoc/driver/shaders/spirv/spirv.core.grammar.json b/renderdoc/driver/shaders/spirv/spirv.core.grammar.json
index 766a4ed21..546191281 100644
--- a/renderdoc/driver/shaders/spirv/spirv.core.grammar.json
+++ b/renderdoc/driver/shaders/spirv/spirv.core.grammar.json
@@ -5029,7 +5029,7 @@
"opname" : "OpDemoteToHelperInvocationEXT",
"class" : "Control-Flow",
"opcode" : 5380,
- "capabilities" : [ "DemoteToHelperInvocation" ],
+ "capabilities" : [ "DemoteToHelperInvocationEXT" ],
"version" : "1.6"
},
{
@@ -7869,6 +7869,43 @@
"extensions" : [ "SPV_INTEL_unstructured_loop_controls" ],
"version" : "None"
},
+ {
+ "opname" : "OpAliasDomainDeclINTEL",
+ "class" : "@exclude",
+ "opcode" : 5911,
+ "operands" : [
+ { "kind" : "IdResult"},
+ { "kind" : "IdRef", "quantifier" : "?", "name" : "'Name'" }
+ ],
+ "capabilities" : [ "MemoryAccessAliasingINTEL" ],
+ "extensions" : [ "SPV_INTEL_memory_access_aliasing" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpAliasScopeDeclINTEL",
+ "class" : "@exclude",
+ "opcode" : 5912,
+ "operands" : [
+ { "kind" : "IdResult"},
+ { "kind" : "IdRef", "name" : "'Alias Domain'"},
+ { "kind" : "IdRef", "quantifier" : "?", "name" : "'Name'" }
+ ],
+ "capabilities" : [ "MemoryAccessAliasingINTEL" ],
+ "extensions" : [ "SPV_INTEL_memory_access_aliasing" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpAliasScopeListDeclINTEL",
+ "class" : "@exclude",
+ "opcode" : 5913,
+ "operands" : [
+ { "kind" : "IdResult"},
+ { "kind" : "IdRef", "quantifier" : "*", "name" : "'AliasScope1, AliasScope2, ...'" }
+ ],
+ "capabilities" : [ "MemoryAccessAliasingINTEL" ],
+ "extensions" : [ "SPV_INTEL_memory_access_aliasing" ],
+ "version" : "None"
+ },
{
"opname" : "OpFixedSqrtINTEL",
"class" : "@exclude",
@@ -8512,6 +8549,142 @@
],
"capabilities" : [ "LongConstantCompositeINTEL" ],
"version" : "None"
+ },
+ {
+ "opname" : "OpControlBarrierArriveINTEL",
+ "class" : "Barrier",
+ "opcode" : 6142,
+ "operands" : [
+ { "kind" : "IdScope", "name" : "'Execution'" },
+ { "kind" : "IdScope", "name" : "'Memory'" },
+ { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
+ ],
+ "capabilities" : [ "SplitBarrierINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpControlBarrierWaitINTEL",
+ "class" : "Barrier",
+ "opcode" : 6143,
+ "operands" : [
+ { "kind" : "IdScope", "name" : "'Execution'" },
+ { "kind" : "IdScope", "name" : "'Memory'" },
+ { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
+ ],
+ "capabilities" : [ "SplitBarrierINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpGroupIMulKHR",
+ "class" : "Group",
+ "opcode" : 6401,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdScope", "name" : "'Execution'" },
+ { "kind" : "GroupOperation", "name" : "'Operation'" },
+ { "kind" : "IdRef", "name" : "'X'" }
+ ],
+ "capabilities" : [ "GroupUniformArithmeticKHR" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpGroupFMulKHR",
+ "class" : "Group",
+ "opcode" : 6402,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdScope", "name" : "'Execution'" },
+ { "kind" : "GroupOperation", "name" : "'Operation'" },
+ { "kind" : "IdRef", "name" : "'X'" }
+ ],
+ "capabilities" : [ "GroupUniformArithmeticKHR" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpGroupBitwiseAndKHR",
+ "class" : "Group",
+ "opcode" : 6403,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdScope", "name" : "'Execution'" },
+ { "kind" : "GroupOperation", "name" : "'Operation'" },
+ { "kind" : "IdRef", "name" : "'X'" }
+ ],
+ "capabilities" : [ "GroupUniformArithmeticKHR" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpGroupBitwiseOrKHR",
+ "class" : "Group",
+ "opcode" : 6404,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdScope", "name" : "'Execution'" },
+ { "kind" : "GroupOperation", "name" : "'Operation'" },
+ { "kind" : "IdRef", "name" : "'X'" }
+ ],
+ "capabilities" : [ "GroupUniformArithmeticKHR" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpGroupBitwiseXorKHR",
+ "class" : "Group",
+ "opcode" : 6405,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdScope", "name" : "'Execution'" },
+ { "kind" : "GroupOperation", "name" : "'Operation'" },
+ { "kind" : "IdRef", "name" : "'X'" }
+ ],
+ "capabilities" : [ "GroupUniformArithmeticKHR" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpGroupLogicalAndKHR",
+ "class" : "Group",
+ "opcode" : 6406,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdScope", "name" : "'Execution'" },
+ { "kind" : "GroupOperation", "name" : "'Operation'" },
+ { "kind" : "IdRef", "name" : "'X'" }
+ ],
+ "capabilities" : [ "GroupUniformArithmeticKHR" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpGroupLogicalOrKHR",
+ "class" : "Group",
+ "opcode" : 6407,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdScope", "name" : "'Execution'" },
+ { "kind" : "GroupOperation", "name" : "'Operation'" },
+ { "kind" : "IdRef", "name" : "'X'" }
+ ],
+ "capabilities" : [ "GroupUniformArithmeticKHR" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpGroupLogicalXorKHR",
+ "class" : "Group",
+ "opcode" : 6408,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdScope", "name" : "'Execution'" },
+ { "kind" : "GroupOperation", "name" : "'Operation'" },
+ { "kind" : "IdRef", "name" : "'X'" }
+ ],
+ "capabilities" : [ "GroupUniformArithmeticKHR" ],
+ "version" : "None"
}
],
"operand_kinds" : [
@@ -9090,6 +9263,26 @@
"capabilities" : [ "VulkanMemoryModel" ],
"extensions" : [ "SPV_KHR_vulkan_memory_model" ],
"version" : "1.5"
+ },
+ {
+ "enumerant" : "AliasScopeINTELMask",
+ "value" : "0x10000",
+ "parameters" : [
+ { "kind" : "IdRef" }
+ ],
+ "capabilities" : [ "MemoryAccessAliasingINTEL" ],
+ "extensions" : [ "SPV_INTEL_memory_access_aliasing" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "NoAliasINTELMask",
+ "parameters" : [
+ { "kind" : "IdRef" }
+ ],
+ "value" : "0x20000",
+ "capabilities" : [ "MemoryAccessAliasingINTEL" ],
+ "extensions" : [ "SPV_INTEL_memory_access_aliasing" ],
+ "version" : "None"
}
]
},
@@ -9241,6 +9434,10 @@
{
"enumerant" : "CPP_for_OpenCL",
"value" : 6
+ },
+ {
+ "enumerant" : "SYCL",
+ "value" : 7
}
]
},
@@ -9917,6 +10114,15 @@
],
"capabilities" : [ "FPGAKernelAttributesINTEL" ],
"version" : "None"
+ },
+ {
+ "enumerant" : "NamedBarrierCountINTEL",
+ "value" : 6417,
+ "parameters" : [
+ { "kind" : "LiteralInteger", "name" : "'Barrier Count'" }
+ ],
+ "capabilities" : [ "VectorComputeINTEL" ],
+ "version" : "None"
}
]
},
@@ -11579,6 +11785,24 @@
"capabilities" : [ "LoopFuseINTEL" ],
"version" : "None"
},
+ {
+ "enumerant" : "AliasScopeINTEL",
+ "value" : 5914,
+ "parameters" : [
+ { "kind" : "IdRef", "name" : "'Aliasing Scopes List'" }
+ ],
+ "capabilities" : [ "MemoryAccessAliasingINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "NoAliasINTEL",
+ "value" : 5915,
+ "parameters" : [
+ { "kind" : "IdRef", "name" : "'Aliasing Scopes List'" }
+ ],
+ "capabilities" : [ "MemoryAccessAliasingINTEL" ],
+ "version" : "None"
+ },
{
"enumerant" : "BufferLocationINTEL",
"value" : 5921,
@@ -13677,6 +13901,12 @@
"extensions" : [ "SPV_INTEL_loop_fuse" ],
"version" : "None"
},
+ {
+ "enumerant" : "MemoryAccessAliasingINTEL",
+ "value" : 5910,
+ "extensions" : [ "SPV_INTEL_memory_access_aliasing" ],
+ "version" : "None"
+ },
{
"enumerant" : "FPGABufferLocationINTEL",
"value" : 5920,
@@ -13800,6 +14030,18 @@
"value" : 6114,
"extensions" : [ "SPV_INTEL_debug_module" ],
"version" : "None"
+ },
+ {
+ "enumerant" : "SplitBarrierINTEL",
+ "value" : 6141,
+ "extensions" : [ "SPV_INTEL_split_barrier" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "GroupUniformArithmeticKHR",
+ "value" : 6400,
+ "extensions" : [ "SPV_KHR_uniform_group_instructions"],
+ "version" : "None"
}
]
},
diff --git a/renderdoc/driver/shaders/spirv/spirv_debug.cpp b/renderdoc/driver/shaders/spirv/spirv_debug.cpp
index dbf75ba00..c0975d96a 100644
--- a/renderdoc/driver/shaders/spirv/spirv_debug.cpp
+++ b/renderdoc/driver/shaders/spirv/spirv_debug.cpp
@@ -3489,6 +3489,15 @@ void ThreadState::StepNext(ShaderDebugState *state, const rdcarray
case Op::SDotAccSatKHR:
case Op::UDotAccSatKHR:
case Op::SUDotAccSatKHR:
+
+ case Op::GroupIMulKHR:
+ case Op::GroupFMulKHR:
+ case Op::GroupBitwiseAndKHR:
+ case Op::GroupBitwiseOrKHR:
+ case Op::GroupBitwiseXorKHR:
+ case Op::GroupLogicalAndKHR:
+ case Op::GroupLogicalOrKHR:
+ case Op::GroupLogicalXorKHR:
{
RDCERR("Group opcodes not supported. SPIR-V should have been rejected by capability!");
@@ -3762,6 +3771,8 @@ void ThreadState::StepNext(ShaderDebugState *state, const rdcarray
case Op::FPGARegINTEL:
case Op::ReadPipeBlockingINTEL:
case Op::WritePipeBlockingINTEL:
+ case Op::ControlBarrierArriveINTEL:
+ case Op::ControlBarrierWaitINTEL:
{
// these are kernel only
RDCERR("Encountered unexpected kernel SPIR-V operation %s", ToStr(opdata.op).c_str());
diff --git a/renderdoc/driver/shaders/spirv/spirv_debug_setup.cpp b/renderdoc/driver/shaders/spirv/spirv_debug_setup.cpp
index e2cf5a159..04042270a 100644
--- a/renderdoc/driver/shaders/spirv/spirv_debug_setup.cpp
+++ b/renderdoc/driver/shaders/spirv/spirv_debug_setup.cpp
@@ -522,6 +522,9 @@ void Reflector::CheckDebuggable(bool &debuggable, rdcstr &debugStatus) const
case Capability::LongConstantCompositeINTEL:
case Capability::DebugInfoModuleINTEL:
case Capability::BindlessTextureNV:
+ case Capability::MemoryAccessAliasingINTEL:
+ case Capability::SplitBarrierINTEL:
+ case Capability::GroupUniformArithmeticKHR:
case Capability::Max:
case Capability::Invalid:
{
diff --git a/renderdoc/driver/shaders/spirv/spirv_gen.cpp b/renderdoc/driver/shaders/spirv/spirv_gen.cpp
index 74d925aab..9ef95fc47 100644
--- a/renderdoc/driver/shaders/spirv/spirv_gen.cpp
+++ b/renderdoc/driver/shaders/spirv/spirv_gen.cpp
@@ -201,6 +201,8 @@ rdcstr DoStringise(const rdcspv::MemoryAccess &el)
STRINGISE_BITFIELD_CLASS_BIT(MakePointerAvailable);
STRINGISE_BITFIELD_CLASS_BIT(MakePointerVisible);
STRINGISE_BITFIELD_CLASS_BIT(NonPrivatePointer);
+ STRINGISE_BITFIELD_CLASS_BIT(AliasScopeINTELMask);
+ STRINGISE_BITFIELD_CLASS_BIT(NoAliasINTELMask);
}
END_BITFIELD_STRINGISE();
}
@@ -262,6 +264,7 @@ rdcstr DoStringise(const rdcspv::SourceLanguage &el)
STRINGISE_ENUM_CLASS(OpenCL_CPP);
STRINGISE_ENUM_CLASS(HLSL);
STRINGISE_ENUM_CLASS(CPP_for_OpenCL);
+ STRINGISE_ENUM_CLASS(SYCL);
}
END_ENUM_STRINGISE();
}
@@ -388,6 +391,7 @@ rdcstr DoStringise(const rdcspv::ExecutionMode &el)
STRINGISE_ENUM_CLASS(NoGlobalOffsetINTEL);
STRINGISE_ENUM_CLASS(NumSIMDWorkitemsINTEL);
STRINGISE_ENUM_CLASS(SchedulerTargetFmaxMhzINTEL);
+ STRINGISE_ENUM_CLASS(NamedBarrierCountINTEL);
}
END_ENUM_STRINGISE();
}
@@ -779,6 +783,8 @@ rdcstr DoStringise(const rdcspv::Decoration &el)
STRINGISE_ENUM_CLASS(PrefetchINTEL);
STRINGISE_ENUM_CLASS(StallEnableINTEL);
STRINGISE_ENUM_CLASS(FuseLoopsInFunctionINTEL);
+ STRINGISE_ENUM_CLASS(AliasScopeINTEL);
+ STRINGISE_ENUM_CLASS(NoAliasINTEL);
STRINGISE_ENUM_CLASS(BufferLocationINTEL);
STRINGISE_ENUM_CLASS(IOPipeStorageINTEL);
STRINGISE_ENUM_CLASS(FunctionFloatingPointModeINTEL);
@@ -1123,6 +1129,7 @@ rdcstr DoStringise(const rdcspv::Capability &el)
STRINGISE_ENUM_CLASS(FPGAMemoryAccessesINTEL);
STRINGISE_ENUM_CLASS(FPGAClusterAttributesINTEL);
STRINGISE_ENUM_CLASS(LoopFuseINTEL);
+ STRINGISE_ENUM_CLASS(MemoryAccessAliasingINTEL);
STRINGISE_ENUM_CLASS(FPGABufferLocationINTEL);
STRINGISE_ENUM_CLASS(ArbitraryPrecisionFixedPointINTEL);
STRINGISE_ENUM_CLASS(USMStorageClassesINTEL);
@@ -1140,6 +1147,8 @@ rdcstr DoStringise(const rdcspv::Capability &el)
STRINGISE_ENUM_CLASS(OptNoneINTEL);
STRINGISE_ENUM_CLASS(AtomicFloat16AddEXT);
STRINGISE_ENUM_CLASS(DebugInfoModuleINTEL);
+ STRINGISE_ENUM_CLASS(SplitBarrierINTEL);
+ STRINGISE_ENUM_CLASS(GroupUniformArithmeticKHR);
}
END_ENUM_STRINGISE();
}
@@ -1656,6 +1665,16 @@ rdcstr DoStringise(const rdcspv::Op &el)
STRINGISE_ENUM_CLASS(TypeStructContinuedINTEL);
STRINGISE_ENUM_CLASS(ConstantCompositeContinuedINTEL);
STRINGISE_ENUM_CLASS(SpecConstantCompositeContinuedINTEL);
+ STRINGISE_ENUM_CLASS(ControlBarrierArriveINTEL);
+ STRINGISE_ENUM_CLASS(ControlBarrierWaitINTEL);
+ STRINGISE_ENUM_CLASS(GroupIMulKHR);
+ STRINGISE_ENUM_CLASS(GroupFMulKHR);
+ STRINGISE_ENUM_CLASS(GroupBitwiseAndKHR);
+ STRINGISE_ENUM_CLASS(GroupBitwiseOrKHR);
+ STRINGISE_ENUM_CLASS(GroupBitwiseXorKHR);
+ STRINGISE_ENUM_CLASS(GroupLogicalAndKHR);
+ STRINGISE_ENUM_CLASS(GroupLogicalOrKHR);
+ STRINGISE_ENUM_CLASS(GroupLogicalXorKHR);
}
END_ENUM_STRINGISE();
}
@@ -1808,6 +1827,10 @@ rdcstr ParamToStr(const std::function &idName, const rdcspv:
ret += "MakePointerVisible" "(" + idName(el.makePointerVisible) + ")" ", ";
if(el.flags & MemoryAccess::NonPrivatePointer)
ret += "NonPrivatePointer" ", ";
+ if(el.flags & MemoryAccess::AliasScopeINTELMask)
+ ret += "AliasScopeINTELMask" "(" + idName(el.aliasScopeINTELMask) + ")" ", ";
+ if(el.flags & MemoryAccess::NoAliasINTELMask)
+ ret += "NoAliasINTELMask" "(" + idName(el.noAliasINTELMask) + ")" ", ";
// remove trailing ", "
if(ret.size() > 2)
@@ -1873,6 +1896,8 @@ rdcstr ParamToStr(const std::function &idName, const rdcspv:
ret += "(" + ToStr(el.numSIMDWorkitemsINTEL) + ")"; break;
case ExecutionMode::SchedulerTargetFmaxMhzINTEL:
ret += "(" + ToStr(el.schedulerTargetFmaxMhzINTEL) + ")"; break;
+ case ExecutionMode::NamedBarrierCountINTEL:
+ ret += "(" + ToStr(el.namedBarrierCountINTEL) + ")"; break;
default:
break;
}
@@ -1961,6 +1986,10 @@ rdcstr ParamToStr(const std::function &idName, const rdcspv:
ret += "(" + ToStr(el.cacheSizeINTEL) + ")"; break;
case Decoration::PrefetchINTEL:
ret += "(" + ToStr(el.prefetchINTEL) + ")"; break;
+ case Decoration::AliasScopeINTEL:
+ ret += "(" + idName(el.aliasScopeINTEL) + ")"; break;
+ case Decoration::NoAliasINTEL:
+ ret += "(" + idName(el.noAliasINTEL) + ")"; break;
case Decoration::BufferLocationINTEL:
ret += "(" + ToStr(el.bufferLocationINTEL) + ")"; break;
case Decoration::IOPipeStorageINTEL:
@@ -4526,6 +4555,64 @@ void OpDecoder::ForEachID(const ConstIter &it, const std::function &words, const MemoryAccessAndParamDat
{
words.push_back(param.makePointerVisible.value());
}
+ if(param.flags & MemoryAccess::AliasScopeINTELMask)
+ {
+ words.push_back(param.aliasScopeINTELMask.value());
+ }
+ if(param.flags & MemoryAccess::NoAliasINTELMask)
+ {
+ words.push_back(param.noAliasINTELMask.value());
+ }
}
inline uint16_t ExtraWordCount(const MemoryAccess memoryAccess)
@@ -525,6 +543,8 @@ inline uint16_t ExtraWordCount(const MemoryAccess memoryAccess)
case MemoryAccess::Aligned: return 1;
case MemoryAccess::MakePointerAvailable: return 1;
case MemoryAccess::MakePointerVisible: return 1;
+ case MemoryAccess::AliasScopeINTELMask: return 1;
+ case MemoryAccess::NoAliasINTELMask: return 1;
default: break;
}
return 0;
@@ -875,6 +895,19 @@ struct ExecutionModeParam
}
};
+template<>
+struct ExecutionModeParam
+{
+ uint32_t namedBarrierCountINTEL;
+ ExecutionModeParam(uint32_t namedBarrierCountINTELParam) { namedBarrierCountINTEL = namedBarrierCountINTELParam; }
+ operator ExecutionModeAndParamData()
+ {
+ ExecutionModeAndParamData ret(ExecutionMode::NamedBarrierCountINTEL);
+ ret.namedBarrierCountINTEL = namedBarrierCountINTEL;
+ return ret;
+ }
+};
+
template<>
@@ -996,6 +1029,10 @@ inline ExecutionModeAndParamData DecodeParam(const ConstIter &it, uint32_t &word
ret.schedulerTargetFmaxMhzINTEL = (uint32_t)it.word(word);
word += 1;
break;
+ case ExecutionMode::NamedBarrierCountINTEL:
+ ret.namedBarrierCountINTEL = (uint32_t)it.word(word);
+ word += 1;
+ break;
default: break;
}
return ret;
@@ -1091,6 +1128,9 @@ inline void EncodeParam(rdcarray &words, const ExecutionModeAndParamDa
case ExecutionMode::SchedulerTargetFmaxMhzINTEL:
words.push_back((uint32_t)param.schedulerTargetFmaxMhzINTEL);
break;
+ case ExecutionMode::NamedBarrierCountINTEL:
+ words.push_back((uint32_t)param.namedBarrierCountINTEL);
+ break;
default: break;
}
}
@@ -1124,6 +1164,7 @@ inline uint16_t ExtraWordCount(const ExecutionMode executionMode)
case ExecutionMode::MaxWorkDimINTEL: return 1;
case ExecutionMode::NumSIMDWorkitemsINTEL: return 1;
case ExecutionMode::SchedulerTargetFmaxMhzINTEL: return 1;
+ case ExecutionMode::NamedBarrierCountINTEL: return 1;
default: break;
}
return 0;
@@ -1644,6 +1685,32 @@ struct DecorationParam
}
};
+template<>
+struct DecorationParam
+{
+ Id aliasScopeINTEL;
+ DecorationParam(Id aliasScopeINTELParam) { aliasScopeINTEL = aliasScopeINTELParam; }
+ operator DecorationAndParamData()
+ {
+ DecorationAndParamData ret(Decoration::AliasScopeINTEL);
+ ret.aliasScopeINTEL = aliasScopeINTEL;
+ return ret;
+ }
+};
+
+template<>
+struct DecorationParam
+{
+ Id noAliasINTEL;
+ DecorationParam(Id noAliasINTELParam) { noAliasINTEL = noAliasINTELParam; }
+ operator DecorationAndParamData()
+ {
+ DecorationAndParamData ret(Decoration::NoAliasINTEL);
+ ret.noAliasINTEL = noAliasINTEL;
+ return ret;
+ }
+};
+
template<>
struct DecorationParam
{
@@ -1845,6 +1912,14 @@ inline DecorationAndParamData DecodeParam(const ConstIter &it, uint32_t &word)
ret.prefetchINTEL = (uint32_t)it.word(word);
word += 1;
break;
+ case Decoration::AliasScopeINTEL:
+ ret.aliasScopeINTEL = Id::fromWord(it.word(word));
+ word += 1;
+ break;
+ case Decoration::NoAliasINTEL:
+ ret.noAliasINTEL = Id::fromWord(it.word(word));
+ word += 1;
+ break;
case Decoration::BufferLocationINTEL:
ret.bufferLocationINTEL = (uint32_t)it.word(word);
word += 1;
@@ -1981,6 +2056,12 @@ inline void EncodeParam(rdcarray &words, const DecorationAndParamData
case Decoration::PrefetchINTEL:
words.push_back((uint32_t)param.prefetchINTEL);
break;
+ case Decoration::AliasScopeINTEL:
+ words.push_back(param.aliasScopeINTEL.value());
+ break;
+ case Decoration::NoAliasINTEL:
+ words.push_back(param.noAliasINTEL.value());
+ break;
case Decoration::BufferLocationINTEL:
words.push_back((uint32_t)param.bufferLocationINTEL);
break;
@@ -2036,6 +2117,8 @@ inline uint16_t ExtraWordCount(const Decoration decoration)
case Decoration::ForcePow2DepthINTEL: return 1;
case Decoration::CacheSizeINTEL: return 1;
case Decoration::PrefetchINTEL: return 1;
+ case Decoration::AliasScopeINTEL: return 1;
+ case Decoration::NoAliasINTEL: return 1;
case Decoration::BufferLocationINTEL: return 1;
case Decoration::IOPipeStorageINTEL: return 1;
case Decoration::FunctionFloatingPointModeINTEL: return 2;
@@ -15682,6 +15765,278 @@ struct OpSpecConstantCompositeContinuedINTEL
rdcarray constituents;
};
+struct OpControlBarrierArriveINTEL
+{
+ OpControlBarrierArriveINTEL(const ConstIter &it)
+ {
+ memcpy(this, it.words(), sizeof(*this));
+ }
+ OpControlBarrierArriveINTEL(IdScope execution, IdScope memory, IdMemorySemantics semantics)
+ : op(Op::ControlBarrierArriveINTEL)
+ , wordCount(FixedWordSize)
+ {
+ this->execution = execution;
+ this->memory = memory;
+ this->semantics = semantics;
+ }
+
+ static constexpr Op OpCode = Op::ControlBarrierArriveINTEL;
+ static constexpr uint16_t FixedWordSize = 4U;
+ Op op;
+ uint16_t wordCount;
+ IdScope execution;
+ IdScope memory;
+ IdMemorySemantics semantics;
+};
+
+struct OpControlBarrierWaitINTEL
+{
+ OpControlBarrierWaitINTEL(const ConstIter &it)
+ {
+ memcpy(this, it.words(), sizeof(*this));
+ }
+ OpControlBarrierWaitINTEL(IdScope execution, IdScope memory, IdMemorySemantics semantics)
+ : op(Op::ControlBarrierWaitINTEL)
+ , wordCount(FixedWordSize)
+ {
+ this->execution = execution;
+ this->memory = memory;
+ this->semantics = semantics;
+ }
+
+ static constexpr Op OpCode = Op::ControlBarrierWaitINTEL;
+ static constexpr uint16_t FixedWordSize = 4U;
+ Op op;
+ uint16_t wordCount;
+ IdScope execution;
+ IdScope memory;
+ IdMemorySemantics semantics;
+};
+
+struct OpGroupIMulKHR
+{
+ OpGroupIMulKHR(const ConstIter &it)
+ {
+ memcpy(this, it.words(), sizeof(*this));
+ }
+ OpGroupIMulKHR(IdResultType resultType, IdResult result, IdScope execution, GroupOperation operation, Id x)
+ : op(Op::GroupIMulKHR)
+ , wordCount(FixedWordSize)
+ {
+ this->resultType = resultType;
+ this->result = result;
+ this->execution = execution;
+ this->operation = operation;
+ this->x = x;
+ }
+
+ static constexpr Op OpCode = Op::GroupIMulKHR;
+ static constexpr uint16_t FixedWordSize = 6U;
+ Op op;
+ uint16_t wordCount;
+ IdResultType resultType;
+ IdResult result;
+ IdScope execution;
+ GroupOperation operation;
+ Id x;
+};
+
+struct OpGroupFMulKHR
+{
+ OpGroupFMulKHR(const ConstIter &it)
+ {
+ memcpy(this, it.words(), sizeof(*this));
+ }
+ OpGroupFMulKHR(IdResultType resultType, IdResult result, IdScope execution, GroupOperation operation, Id x)
+ : op(Op::GroupFMulKHR)
+ , wordCount(FixedWordSize)
+ {
+ this->resultType = resultType;
+ this->result = result;
+ this->execution = execution;
+ this->operation = operation;
+ this->x = x;
+ }
+
+ static constexpr Op OpCode = Op::GroupFMulKHR;
+ static constexpr uint16_t FixedWordSize = 6U;
+ Op op;
+ uint16_t wordCount;
+ IdResultType resultType;
+ IdResult result;
+ IdScope execution;
+ GroupOperation operation;
+ Id x;
+};
+
+struct OpGroupBitwiseAndKHR
+{
+ OpGroupBitwiseAndKHR(const ConstIter &it)
+ {
+ memcpy(this, it.words(), sizeof(*this));
+ }
+ OpGroupBitwiseAndKHR(IdResultType resultType, IdResult result, IdScope execution, GroupOperation operation, Id x)
+ : op(Op::GroupBitwiseAndKHR)
+ , wordCount(FixedWordSize)
+ {
+ this->resultType = resultType;
+ this->result = result;
+ this->execution = execution;
+ this->operation = operation;
+ this->x = x;
+ }
+
+ static constexpr Op OpCode = Op::GroupBitwiseAndKHR;
+ static constexpr uint16_t FixedWordSize = 6U;
+ Op op;
+ uint16_t wordCount;
+ IdResultType resultType;
+ IdResult result;
+ IdScope execution;
+ GroupOperation operation;
+ Id x;
+};
+
+struct OpGroupBitwiseOrKHR
+{
+ OpGroupBitwiseOrKHR(const ConstIter &it)
+ {
+ memcpy(this, it.words(), sizeof(*this));
+ }
+ OpGroupBitwiseOrKHR(IdResultType resultType, IdResult result, IdScope execution, GroupOperation operation, Id x)
+ : op(Op::GroupBitwiseOrKHR)
+ , wordCount(FixedWordSize)
+ {
+ this->resultType = resultType;
+ this->result = result;
+ this->execution = execution;
+ this->operation = operation;
+ this->x = x;
+ }
+
+ static constexpr Op OpCode = Op::GroupBitwiseOrKHR;
+ static constexpr uint16_t FixedWordSize = 6U;
+ Op op;
+ uint16_t wordCount;
+ IdResultType resultType;
+ IdResult result;
+ IdScope execution;
+ GroupOperation operation;
+ Id x;
+};
+
+struct OpGroupBitwiseXorKHR
+{
+ OpGroupBitwiseXorKHR(const ConstIter &it)
+ {
+ memcpy(this, it.words(), sizeof(*this));
+ }
+ OpGroupBitwiseXorKHR(IdResultType resultType, IdResult result, IdScope execution, GroupOperation operation, Id x)
+ : op(Op::GroupBitwiseXorKHR)
+ , wordCount(FixedWordSize)
+ {
+ this->resultType = resultType;
+ this->result = result;
+ this->execution = execution;
+ this->operation = operation;
+ this->x = x;
+ }
+
+ static constexpr Op OpCode = Op::GroupBitwiseXorKHR;
+ static constexpr uint16_t FixedWordSize = 6U;
+ Op op;
+ uint16_t wordCount;
+ IdResultType resultType;
+ IdResult result;
+ IdScope execution;
+ GroupOperation operation;
+ Id x;
+};
+
+struct OpGroupLogicalAndKHR
+{
+ OpGroupLogicalAndKHR(const ConstIter &it)
+ {
+ memcpy(this, it.words(), sizeof(*this));
+ }
+ OpGroupLogicalAndKHR(IdResultType resultType, IdResult result, IdScope execution, GroupOperation operation, Id x)
+ : op(Op::GroupLogicalAndKHR)
+ , wordCount(FixedWordSize)
+ {
+ this->resultType = resultType;
+ this->result = result;
+ this->execution = execution;
+ this->operation = operation;
+ this->x = x;
+ }
+
+ static constexpr Op OpCode = Op::GroupLogicalAndKHR;
+ static constexpr uint16_t FixedWordSize = 6U;
+ Op op;
+ uint16_t wordCount;
+ IdResultType resultType;
+ IdResult result;
+ IdScope execution;
+ GroupOperation operation;
+ Id x;
+};
+
+struct OpGroupLogicalOrKHR
+{
+ OpGroupLogicalOrKHR(const ConstIter &it)
+ {
+ memcpy(this, it.words(), sizeof(*this));
+ }
+ OpGroupLogicalOrKHR(IdResultType resultType, IdResult result, IdScope execution, GroupOperation operation, Id x)
+ : op(Op::GroupLogicalOrKHR)
+ , wordCount(FixedWordSize)
+ {
+ this->resultType = resultType;
+ this->result = result;
+ this->execution = execution;
+ this->operation = operation;
+ this->x = x;
+ }
+
+ static constexpr Op OpCode = Op::GroupLogicalOrKHR;
+ static constexpr uint16_t FixedWordSize = 6U;
+ Op op;
+ uint16_t wordCount;
+ IdResultType resultType;
+ IdResult result;
+ IdScope execution;
+ GroupOperation operation;
+ Id x;
+};
+
+struct OpGroupLogicalXorKHR
+{
+ OpGroupLogicalXorKHR(const ConstIter &it)
+ {
+ memcpy(this, it.words(), sizeof(*this));
+ }
+ OpGroupLogicalXorKHR(IdResultType resultType, IdResult result, IdScope execution, GroupOperation operation, Id x)
+ : op(Op::GroupLogicalXorKHR)
+ , wordCount(FixedWordSize)
+ {
+ this->resultType = resultType;
+ this->result = result;
+ this->execution = execution;
+ this->operation = operation;
+ this->x = x;
+ }
+
+ static constexpr Op OpCode = Op::GroupLogicalXorKHR;
+ static constexpr uint16_t FixedWordSize = 6U;
+ Op op;
+ uint16_t wordCount;
+ IdResultType resultType;
+ IdResult result;
+ IdScope execution;
+ GroupOperation operation;
+ Id x;
+};
+
template
inline rdcstr ParamToStr(const std::function &idName, const T &el)
{
diff --git a/renderdoc/driver/shaders/spirv/spirv_reflect.cpp b/renderdoc/driver/shaders/spirv/spirv_reflect.cpp
index 8ddc17c8f..3360df22c 100644
--- a/renderdoc/driver/shaders/spirv/spirv_reflect.cpp
+++ b/renderdoc/driver/shaders/spirv/spirv_reflect.cpp
@@ -715,6 +715,7 @@ void Reflector::MakeReflection(const GraphicsAPI sourceAPI, const ShaderStage st
case SourceLanguage::CPP_for_OpenCL:
case SourceLanguage::Unknown:
case SourceLanguage::Invalid:
+ case SourceLanguage::SYCL:
case SourceLanguage::Max: break;
}
diff --git a/renderdoc/driver/vulkan/all_exts.txt b/renderdoc/driver/vulkan/all_exts.txt
index 9ea99ceb7..fd7e09ac8 100644
--- a/renderdoc/driver/vulkan/all_exts.txt
+++ b/renderdoc/driver/vulkan/all_exts.txt
@@ -228,6 +228,7 @@
301 VK_NV_device_diagnostics_config
302 VK_QCOM_render_pass_store_ops
315 VK_KHR_synchronization2
+321 VK_EXT_graphics_pipeline_library
324 VK_KHR_shader_subgroup_uniform_control_flow
326 VK_KHR_zero_initialize_workgroup_memory
327 VK_NV_fragment_shading_rate_enums
@@ -260,13 +261,17 @@
378 VK_EXT_extended_dynamic_state2
379 VK_QNX_screen_surface
382 VK_EXT_color_write_enable
+383 VK_EXT_primitives_generated_query
389 VK_EXT_global_priority_query
392 VK_EXT_image_view_min_lod
393 VK_EXT_multi_draw
+394 VK_EXT_image_2d_view_of_3d
+395 VK_KHR_portability_enumeration
401 VK_EXT_load_store_op_none
412 VK_EXT_border_color_swizzle
413 VK_EXT_pageable_device_local_memory
414 VK_KHR_maintenance4
+421 VK_VALVE_descriptor_set_host_mapping
426 VK_QCOM_fragment_density_map_offset
431 VK_NV_linear_color_attachment
434 VK_GOOGLE_surfaceless_query
diff --git a/renderdoc/driver/vulkan/extension_support.md b/renderdoc/driver/vulkan/extension_support.md
index 0ffd3d544..0235abddb 100644
--- a/renderdoc/driver/vulkan/extension_support.md
+++ b/renderdoc/driver/vulkan/extension_support.md
@@ -212,6 +212,7 @@ KHR extensions will definitely be implemented at some point, though KHR extensio
The portability subset is only relevant on mac, which is not a supported platform.
* `VK_KHR_portability_subset`
+* `VK_KHR_portability_enumeration`
## KHR Ray tracing extensions
@@ -231,12 +232,15 @@ Ray tracing extensions are now standard and will likely be supported at some poi
* `VK_EXT_depth_clip_control`
* `VK_EXT_device_memory_report`
* `VK_EXT_external_memory_host`
+* `VK_EXT_image_2d_view_of_3d`
* `VK_EXT_image_drm_format_modifier`
* `VK_EXT_image_view_min_lod`
* `VK_EXT_multi_draw`
+* `VK_EXT_graphics_pipeline_library`
* `VK_EXT_pageable_device_local_memory`
* `VK_EXT_physical_device_drm`
* `VK_EXT_primitive_topology_list_restart`
+* `VK_EXT_primitives_generated_query`
* `VK_EXT_provoking_vertex`
## Platform/IHV Extensions
@@ -309,6 +313,7 @@ Ray tracing extensions are now standard and will likely be supported at some poi
### Valve
* `VK_VALVE_mutable_descriptor_type`
+* `VK_VALVE_descriptor_set_host_mapping`
## WSI for other platforms
diff --git a/renderdoc/driver/vulkan/official/vulkan_android.h b/renderdoc/driver/vulkan/official/vulkan_android.h
index de79d382f..11f539796 100644
--- a/renderdoc/driver/vulkan/official/vulkan_android.h
+++ b/renderdoc/driver/vulkan/official/vulkan_android.h
@@ -44,7 +44,7 @@ VKAPI_ATTR VkResult VKAPI_CALL vkCreateAndroidSurfaceKHR(
#define VK_ANDROID_external_memory_android_hardware_buffer 1
struct AHardwareBuffer;
-#define VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION 4
+#define VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION 5
#define VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME "VK_ANDROID_external_memory_android_hardware_buffer"
typedef struct VkAndroidHardwareBufferUsageANDROID {
VkStructureType sType;
diff --git a/renderdoc/driver/vulkan/official/vulkan_core.h b/renderdoc/driver/vulkan/official/vulkan_core.h
index 228e4ef6e..5c8b8461f 100644
--- a/renderdoc/driver/vulkan/official/vulkan_core.h
+++ b/renderdoc/driver/vulkan/official/vulkan_core.h
@@ -72,7 +72,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 204
+#define VK_HEADER_VERSION 211
// Complete version of this file
#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION)
@@ -477,6 +477,9 @@ typedef enum VkStructureType {
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR = 1000024000,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+ VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR = 1000024001,
#endif
VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000,
VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001,
@@ -493,94 +496,88 @@ typedef enum VkStructureType {
VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT = 1000038000,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT = 1000038001,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000038001,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000038002,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000038002,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000038003,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT = 1000038003,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT = 1000038004,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT = 1000038004,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT = 1000038005,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_EXT = 1000038005,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_EXT = 1000038006,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT = 1000038006,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT = 1000038007,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT = 1000038007,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT = 1000038008,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT = 1000038008,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT = 1000038009,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT = 1000038009,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT = 1000038010,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_REFERENCE_LISTS_EXT = 1000038010,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT = 1000039000,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_EXT = 1000039001,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000039001,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000039002,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT = 1000039002,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT = 1000039003,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT = 1000039003,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT = 1000039004,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT = 1000039004,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT = 1000039005,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_EXT = 1000039005,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_EXT = 1000039006,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_EXT = 1000039006,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_EXT = 1000039007,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_EXT = 1000039007,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_EXT = 1000039008,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_REFERENCE_LISTS_EXT = 1000039008,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_REFERENCE_LISTS_EXT = 1000039009,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT = 1000039009,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT = 1000039010,
-#endif
-#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT = 1000039011,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT = 1000039010,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT = 1000040000,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_CREATE_INFO_EXT = 1000040001,
+ VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT = 1000040001,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT = 1000040002,
+ VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_EXT = 1000040002,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_EXT = 1000040003,
+ VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_EXT = 1000040003,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_EXT = 1000040004,
+ VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000040004,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000040005,
+ VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000040005,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000040006,
-#endif
-#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT = 1000040007,
+ VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT = 1000040006,
#endif
VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000,
VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000044006,
@@ -745,22 +742,19 @@ typedef enum VkStructureType {
VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT = 1000187000,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_CREATE_INFO_EXT = 1000187001,
+ VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000187001,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000187002,
+ VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT = 1000187002,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT = 1000187003,
+ VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT = 1000187003,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT = 1000187004,
+ VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT = 1000187004,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT = 1000187005,
-#endif
-#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT = 1000187006,
+ VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT = 1000187005,
#endif
VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR = 1000174000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR = 1000388000,
@@ -871,11 +865,17 @@ typedef enum VkStructureType {
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR = 1000299002,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR = 1000299003,
#endif
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000,
VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001,
VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008,
VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV = 1000314009,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT = 1000320000,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT = 1000320001,
+ VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT = 1000320002,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR = 1000323000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV = 1000326000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV = 1000326001,
@@ -926,13 +926,18 @@ typedef enum VkStructureType {
VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX = 1000378000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000,
VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT = 1000382000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT = 1000391000,
VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT = 1000391001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT = 1000392000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT = 1000392001,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT = 1000393000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT = 1000411000,
VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT = 1000411001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT = 1000412000,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE = 1000420000,
+ VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE = 1000420001,
+ VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE = 1000420002,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM = 1000425000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM = 1000425001,
VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM = 1000425002,
@@ -1590,6 +1595,7 @@ typedef enum VkQueryType {
#ifdef VK_ENABLE_BETA_EXTENSIONS
VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR = 1000299000,
#endif
+ VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT = 1000382000,
VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF
} VkQueryType;
@@ -1984,14 +1990,15 @@ typedef enum VkImageAspectFlagBits {
VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010,
VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020,
VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040,
+ VK_IMAGE_ASPECT_NONE = 0,
VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080,
VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100,
VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200,
VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400,
- VK_IMAGE_ASPECT_NONE_KHR = 0,
VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT,
VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT,
VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT,
+ VK_IMAGE_ASPECT_NONE_KHR = VK_IMAGE_ASPECT_NONE,
VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
} VkImageAspectFlagBits;
typedef VkFlags VkImageAspectFlags;
@@ -2067,6 +2074,7 @@ typedef enum VkImageCreateFlagBits {
VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000,
VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000,
VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000,
+ VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT = 0x00020000,
VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM = 0x00008000,
VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,
VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT,
@@ -2124,6 +2132,11 @@ typedef enum VkImageUsageFlagBits {
VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
} VkImageUsageFlagBits;
typedef VkFlags VkImageUsageFlags;
+
+typedef enum VkInstanceCreateFlagBits {
+ VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR = 0x00000001,
+ VK_INSTANCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
+} VkInstanceCreateFlagBits;
typedef VkFlags VkInstanceCreateFlags;
typedef enum VkMemoryHeapFlagBits {
@@ -2360,6 +2373,8 @@ typedef enum VkPipelineCreateFlagBits {
VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080,
VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00040000,
VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 0x00000800,
+ VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT = 0x00800000,
+ VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT = 0x00000400,
VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x00100000,
VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT,
VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
@@ -2436,6 +2451,11 @@ typedef enum VkPipelineColorBlendStateCreateFlagBits {
} VkPipelineColorBlendStateCreateFlagBits;
typedef VkFlags VkPipelineColorBlendStateCreateFlags;
typedef VkFlags VkPipelineDynamicStateCreateFlags;
+
+typedef enum VkPipelineLayoutCreateFlagBits {
+ VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT = 0x00000002,
+ VK_PIPELINE_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
+} VkPipelineLayoutCreateFlagBits;
typedef VkFlags VkPipelineLayoutCreateFlags;
typedef VkFlags VkShaderStageFlags;
@@ -6259,10 +6279,6 @@ typedef enum VkToolPurposeFlagBits {
VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
} VkToolPurposeFlagBits;
typedef VkFlags VkToolPurposeFlags;
-
-typedef enum VkPrivateDataSlotCreateFlagBits {
- VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
-} VkPrivateDataSlotCreateFlagBits;
typedef VkFlags VkPrivateDataSlotCreateFlags;
typedef VkFlags64 VkPipelineStageFlags2;
@@ -9468,6 +9484,11 @@ typedef VkFormatProperties3 VkFormatProperties3KHR;
+#define VK_KHR_portability_enumeration 1
+#define VK_KHR_PORTABILITY_ENUMERATION_SPEC_VERSION 1
+#define VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME "VK_KHR_portability_enumeration"
+
+
#define VK_KHR_maintenance4 1
#define VK_KHR_MAINTENANCE_4_SPEC_VERSION 2
#define VK_KHR_MAINTENANCE_4_EXTENSION_NAME "VK_KHR_maintenance4"
@@ -13127,8 +13148,6 @@ typedef VkPrivateDataSlot VkPrivateDataSlotEXT;
#define VK_EXT_PRIVATE_DATA_EXTENSION_NAME "VK_EXT_private_data"
typedef VkPrivateDataSlotCreateFlags VkPrivateDataSlotCreateFlagsEXT;
-typedef VkPrivateDataSlotCreateFlagBits VkPrivateDataSlotCreateFlagBitsEXT;
-
typedef VkPhysicalDevicePrivateDataFeatures VkPhysicalDevicePrivateDataFeaturesEXT;
typedef VkDevicePrivateDataCreateInfo VkDevicePrivateDataCreateInfoEXT;
@@ -13205,6 +13224,39 @@ typedef struct VkDeviceDiagnosticsConfigCreateInfoNV {
#define VK_QCOM_RENDER_PASS_STORE_OPS_EXTENSION_NAME "VK_QCOM_render_pass_store_ops"
+#define VK_EXT_graphics_pipeline_library 1
+#define VK_EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION 1
+#define VK_EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME "VK_EXT_graphics_pipeline_library"
+
+typedef enum VkGraphicsPipelineLibraryFlagBitsEXT {
+ VK_GRAPHICS_PIPELINE_LIBRARY_VERTEX_INPUT_INTERFACE_BIT_EXT = 0x00000001,
+ VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT = 0x00000002,
+ VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT = 0x00000004,
+ VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT = 0x00000008,
+ VK_GRAPHICS_PIPELINE_LIBRARY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
+} VkGraphicsPipelineLibraryFlagBitsEXT;
+typedef VkFlags VkGraphicsPipelineLibraryFlagsEXT;
+typedef struct VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT {
+ VkStructureType sType;
+ void* pNext;
+ VkBool32 graphicsPipelineLibrary;
+} VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT;
+
+typedef struct VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT {
+ VkStructureType sType;
+ void* pNext;
+ VkBool32 graphicsPipelineLibraryFastLinking;
+ VkBool32 graphicsPipelineLibraryIndependentInterpolationDecoration;
+} VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT;
+
+typedef struct VkGraphicsPipelineLibraryCreateInfoEXT {
+ VkStructureType sType;
+ void* pNext;
+ VkGraphicsPipelineLibraryFlagsEXT flags;
+} VkGraphicsPipelineLibraryCreateInfoEXT;
+
+
+
#define VK_NV_fragment_shading_rate_enums 1
#define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION 1
#define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME "VK_NV_fragment_shading_rate_enums"
@@ -13418,7 +13470,7 @@ typedef struct VkPhysicalDevice4444FormatsFeaturesEXT {
#define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME "VK_ARM_rasterization_order_attachment_access"
typedef struct VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM {
VkStructureType sType;
- const void* pNext;
+ void* pNext;
VkBool32 rasterizationOrderColorAttachmentAccess;
VkBool32 rasterizationOrderDepthAttachmentAccess;
VkBool32 rasterizationOrderStencilAttachmentAccess;
@@ -13710,6 +13762,19 @@ VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWrite
#endif
+#define VK_EXT_primitives_generated_query 1
+#define VK_EXT_PRIMITIVES_GENERATED_QUERY_SPEC_VERSION 1
+#define VK_EXT_PRIMITIVES_GENERATED_QUERY_EXTENSION_NAME "VK_EXT_primitives_generated_query"
+typedef struct VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {
+ VkStructureType sType;
+ void* pNext;
+ VkBool32 primitivesGeneratedQuery;
+ VkBool32 primitivesGeneratedQueryWithRasterizerDiscard;
+ VkBool32 primitivesGeneratedQueryWithNonZeroStreams;
+} VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT;
+
+
+
#define VK_EXT_global_priority_query 1
#define VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION 1
#define VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME "VK_EXT_global_priority_query"
@@ -13786,6 +13851,18 @@ VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiIndexedEXT(
#endif
+#define VK_EXT_image_2d_view_of_3d 1
+#define VK_EXT_IMAGE_2D_VIEW_OF_3D_SPEC_VERSION 1
+#define VK_EXT_IMAGE_2D_VIEW_OF_3D_EXTENSION_NAME "VK_EXT_image_2d_view_of_3d"
+typedef struct VkPhysicalDeviceImage2DViewOf3DFeaturesEXT {
+ VkStructureType sType;
+ void* pNext;
+ VkBool32 image2DViewOf3D;
+ VkBool32 sampler2DViewOf3D;
+} VkPhysicalDeviceImage2DViewOf3DFeaturesEXT;
+
+
+
#define VK_EXT_load_store_op_none 1
#define VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION 1
#define VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME "VK_EXT_load_store_op_none"
@@ -13829,6 +13906,45 @@ VKAPI_ATTR void VKAPI_CALL vkSetDeviceMemoryPriorityEXT(
#endif
+#define VK_VALVE_descriptor_set_host_mapping 1
+#define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION 1
+#define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME "VK_VALVE_descriptor_set_host_mapping"
+typedef struct VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {
+ VkStructureType sType;
+ void* pNext;
+ VkBool32 descriptorSetHostMapping;
+} VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE;
+
+typedef struct VkDescriptorSetBindingReferenceVALVE {
+ VkStructureType sType;
+ const void* pNext;
+ VkDescriptorSetLayout descriptorSetLayout;
+ uint32_t binding;
+} VkDescriptorSetBindingReferenceVALVE;
+
+typedef struct VkDescriptorSetLayoutHostMappingInfoVALVE {
+ VkStructureType sType;
+ void* pNext;
+ size_t descriptorOffset;
+ uint32_t descriptorSize;
+} VkDescriptorSetLayoutHostMappingInfoVALVE;
+
+typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE)(VkDevice device, const VkDescriptorSetBindingReferenceVALVE* pBindingReference, VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping);
+typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetHostMappingVALVE)(VkDevice device, VkDescriptorSet descriptorSet, void** ppData);
+
+#ifndef VK_NO_PROTOTYPES
+VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutHostMappingInfoVALVE(
+ VkDevice device,
+ const VkDescriptorSetBindingReferenceVALVE* pBindingReference,
+ VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping);
+
+VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetHostMappingVALVE(
+ VkDevice device,
+ VkDescriptorSet descriptorSet,
+ void** ppData);
+#endif
+
+
#define VK_QCOM_fragment_density_map_offset 1
#define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION 1
#define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME "VK_QCOM_fragment_density_map_offset"
diff --git a/renderdoc/driver/vulkan/vk.xml b/renderdoc/driver/vulkan/vk.xml
index 9477feae1..97ec3b068 100644
--- a/renderdoc/driver/vulkan/vk.xml
+++ b/renderdoc/driver/vulkan/vk.xml
@@ -56,6 +56,7 @@ branch of the member gitlab server.
+
@@ -72,6 +73,7 @@ branch of the member gitlab server.
+
@@ -157,7 +159,7 @@ branch of the member gitlab server.
// Vulkan 1.3 version number
#define VK_API_VERSION_1_3 VK_MAKE_API_VERSION(0, 1, 3, 0)// Patch version should always be set to 0
// Version of this file
-#define VK_HEADER_VERSION 204
+#define VK_HEADER_VERSION 211
// Complete version of this file
#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION)
@@ -233,7 +235,7 @@ typedef void CAMetalLayer;
typedef VkFlags VkQueryPoolCreateFlags;
typedef VkFlags VkRenderPassCreateFlags;
typedef VkFlags VkSamplerCreateFlags;
- typedef VkFlags VkPipelineLayoutCreateFlags;
+ typedef VkFlags VkPipelineLayoutCreateFlags;
typedef VkFlags VkPipelineCacheCreateFlags;
typedef VkFlags VkPipelineDepthStencilStateCreateFlags;
typedef VkFlags VkPipelineDynamicStateCreateFlags;
@@ -247,7 +249,7 @@ typedef void CAMetalLayer;
typedef VkFlags VkPipelineShaderStageCreateFlags;
typedef VkFlags VkDescriptorSetLayoutCreateFlags;
typedef VkFlags VkBufferViewCreateFlags;
- typedef VkFlags VkInstanceCreateFlags;
+ typedef VkFlags VkInstanceCreateFlags;
typedef VkFlags VkDeviceCreateFlags;
typedef VkFlags VkDeviceQueueCreateFlags;
typedef VkFlags VkQueueFlags;
@@ -296,7 +298,7 @@ typedef void CAMetalLayer;
typedef VkFlags VkBuildAccelerationStructureFlagsKHR;
- typedef VkFlags VkPrivateDataSlotCreateFlags;
+ typedef VkFlags VkPrivateDataSlotCreateFlags;
typedef VkFlags VkAccelerationStructureCreateFlagsKHR;
typedef VkFlags VkDescriptorUpdateTemplateCreateFlags;
@@ -396,6 +398,7 @@ typedef void CAMetalLayer;
typedef VkFlags VkImageFormatConstraintsFlagsFUCHSIA;
typedef VkFlags VkImageConstraintsInfoFlagsFUCHSIA;
+ typedef VkFlags VkGraphicsPipelineLibraryFlagsEXT;
Video Core extension
typedef VkFlags VkVideoCodecOperationFlagsKHR;
@@ -407,17 +410,15 @@ typedef void CAMetalLayer;
typedef VkFlags VkVideoCodingControlFlagsKHR;
Video Decode Core extension
+ typedef VkFlags VkVideoDecodeCapabilityFlagsKHR;
typedef VkFlags VkVideoDecodeFlagsKHR;
Video Decode H.264 extension
typedef VkFlags VkVideoDecodeH264PictureLayoutFlagsEXT;
- typedef VkFlags VkVideoDecodeH264CreateFlagsEXT;
-
- Video Decode H.265 extension
- typedef VkFlags VkVideoDecodeH265CreateFlagsEXT;
Video Encode Core extension
typedef VkFlags VkVideoEncodeFlagsKHR;
+ typedef VkFlags VkVideoEncodeCapabilityFlagsKHR;
typedef VkFlags VkVideoEncodeRateControlFlagsKHR;
typedef VkFlags VkVideoEncodeRateControlModeFlagsKHR;
typedef VkFlags VkVideoChromaSubsamplingFlagsKHR;
@@ -427,16 +428,15 @@ typedef void CAMetalLayer;
typedef VkFlags VkVideoEncodeH264CapabilityFlagsEXT;
typedef VkFlags VkVideoEncodeH264InputModeFlagsEXT;
typedef VkFlags VkVideoEncodeH264OutputModeFlagsEXT;
- typedef VkFlags VkVideoEncodeH264CreateFlagsEXT;
typedef VkFlags VkVideoEncodeH264RateControlStructureFlagsEXT;
Video Encode H.265 extension
- typedef VkFlags VkVideoEncodeH265CapabilityFlagsEXT;
+ typedef VkFlags VkVideoEncodeH265CapabilityFlagsEXT;
typedef VkFlags VkVideoEncodeH265InputModeFlagsEXT;
typedef VkFlags VkVideoEncodeH265OutputModeFlagsEXT;
- typedef VkFlags VkVideoEncodeH265CreateFlagsEXT;
- typedef VkFlags VkVideoEncodeH265CtbSizeFlagsEXT;
typedef VkFlags VkVideoEncodeH265RateControlStructureFlagsEXT;
+ typedef VkFlags VkVideoEncodeH265CtbSizeFlagsEXT;
+ typedef VkFlags VkVideoEncodeH265TransformBlockSizeFlagsEXT;
Types which can be void pointers or class pointers, selected at compile time
VK_DEFINE_HANDLE(VkInstance)
@@ -724,6 +724,7 @@ typedef void CAMetalLayer;
+
Enumerated types in the header, but not used by the API
@@ -744,6 +745,7 @@ typedef void CAMetalLayer;
Video Decode extensions
+
Video H.264 Decode extensions
@@ -753,6 +755,7 @@ typedef void CAMetalLayer;
Video Encode extensions
+
@@ -760,14 +763,15 @@ typedef void CAMetalLayer;
-
Video H.265 Encode extensions
+
-
+
+
The PFN_vk*Function types are used by VkAllocationCallbacks below
typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
@@ -1211,7 +1215,7 @@ typedef void CAMetalLayer;
VkOffset3D dstOffset
VkExtent3D extent
-
+
VkStructureType sType
const void* pNext
VkShaderModuleCreateFlags flags
@@ -1267,7 +1271,7 @@ typedef void CAMetalLayer;
const void* pNext
VkPipelineShaderStageCreateFlags flags
VkShaderStageFlagBits stageShader stage
- VkShaderModule moduleModule containing entry point
+ VkShaderModule moduleModule containing entry point
const char* pNameNull-terminated entry point name
const VkSpecializationInfo* pSpecializationInfo
@@ -1402,20 +1406,20 @@ typedef void CAMetalLayer;
VkStructureType sType
const void* pNext
VkPipelineCreateFlags flagsPipeline creation flags
- uint32_t stageCount
- const VkPipelineShaderStageCreateInfo* pStagesOne entry for each active shader stage
+ uint32_t stageCount
+ const VkPipelineShaderStageCreateInfo* pStagesOne entry for each active shader stage
const VkPipelineVertexInputStateCreateInfo* pVertexInputState
const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState
const VkPipelineTessellationStateCreateInfo* pTessellationState
const VkPipelineViewportStateCreateInfo* pViewportState
- const VkPipelineRasterizationStateCreateInfo* pRasterizationState
+ const VkPipelineRasterizationStateCreateInfo* pRasterizationState
const VkPipelineMultisampleStateCreateInfo* pMultisampleState
const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState
const VkPipelineColorBlendStateCreateInfo* pColorBlendState
const VkPipelineDynamicStateCreateInfo* pDynamicState
- VkPipelineLayout layoutInterface layout of the pipeline
- VkRenderPass renderPass
- uint32_t subpass
+ VkPipelineLayout layoutInterface layout of the pipeline
+ VkRenderPass renderPass
+ uint32_t subpass
VkPipeline basePipelineHandleIf VK_PIPELINE_CREATE_DERIVATIVE_BIT is set and this value is nonzero, it specifies the handle of the base pipeline this is a derivative of
int32_t basePipelineIndexIf VK_PIPELINE_CREATE_DERIVATIVE_BIT is set and this value is not -1, it specifies an index into pCreateInfos of the base pipeline this is a derivative of
@@ -1444,7 +1448,7 @@ typedef void CAMetalLayer;
const void* pNext
VkPipelineLayoutCreateFlags flags
uint32_t setLayoutCountNumber of descriptor sets interfaced by the pipeline
- const VkDescriptorSetLayout* pSetLayoutsArray of setCount number of descriptor set layout objects defining the layout of the
+ const VkDescriptorSetLayout* pSetLayoutsArray of setCount number of descriptor set layout objects defining the layout of the
uint32_t pushConstantRangeCountNumber of push-constant ranges used by the pipeline
const VkPushConstantRange* pPushConstantRangesArray of pushConstantRangeCount number of ranges used by various shader stages
@@ -1739,7 +1743,7 @@ typedef void CAMetalLayer;
VkSampleCountFlags framebufferDepthSampleCountssupported depth sample counts for a framebuffer
VkSampleCountFlags framebufferStencilSampleCountssupported stencil sample counts for a framebuffer
VkSampleCountFlags framebufferNoAttachmentsSampleCountssupported sample counts for a subpass which uses no attachments
- uint32_t maxColorAttachmentsmax number of color attachments per subpass
+ uint32_t maxColorAttachmentsmax number of color attachments per subpass
VkSampleCountFlags sampledImageColorSampleCountssupported color sample counts for a non-integer sampled image
VkSampleCountFlags sampledImageIntegerSampleCountssupported sample counts for an integer image
VkSampleCountFlags sampledImageDepthSampleCountssupported depth sample counts for a sampled image
@@ -2148,8 +2152,8 @@ typedef void CAMetalLayer;
VkStructureType sType
- const void* pNext
- uint32_t groupCount
+ const void* pNext
+ uint32_t groupCount
const VkGraphicsShaderGroupCreateInfoNV* pGroups
uint32_t pipelineCount
const VkPipeline* pPipelines
@@ -3039,7 +3043,7 @@ typedef void CAMetalLayer;
VkStructureType sType
const void* pNext
const VkImageCreateInfo* pCreateInfo
- VkImageAspectFlagBits planeAspect
+ VkImageAspectFlagBits planeAspect
@@ -3181,7 +3185,7 @@ typedef void CAMetalLayer;
float x
float y
-
+
VkStructureType sType
const void* pNext
VkSampleCountFlagBits sampleLocationsPerPixel
@@ -3441,7 +3445,7 @@ typedef void CAMetalLayer;
VkQueueGlobalPriorityKHR priorities[VK_MAX_GLOBAL_PRIORITY_SIZE_KHR]
-
+
VkStructureType sType
const void* pNext
VkObjectType objectType
@@ -3506,7 +3510,7 @@ typedef void CAMetalLayer;
uint64_t memoryObjectId
VkDeviceSize size
VkObjectType objectType
- uint64_t objectHandle
+ uint64_t objectHandle
uint32_t heapIndex
@@ -4282,7 +4286,7 @@ typedef void CAMetalLayer;
VkStructureType sType
void* pNext
uint32_t drmFormatModifierCount
- VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties
+ VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties
uint64_t drmFormatModifier
@@ -4561,7 +4565,7 @@ typedef void CAMetalLayer;
VkStructureType sType
const void* pNext
VkPipelineCreationFeedback* pPipelineCreationFeedbackOutput pipeline creation feedback.
- uint32_t pipelineStageCreationFeedbackCount
+ uint32_t pipelineStageCreationFeedbackCount
VkPipelineCreationFeedback* pPipelineStageCreationFeedbacksOne entry for each shader stage specified in the parent Vk*PipelineCreateInfo struct
@@ -5292,7 +5296,7 @@ typedef void CAMetalLayer;
uint32_t maxPipelineRayPayloadSize
uint32_t maxPipelineRayHitAttributeSize
-
+
VkStructureType sType
const void* pNext
uint32_t libraryCount
@@ -5315,7 +5319,7 @@ typedef void CAMetalLayer;
void* pNextPointer to next structure
VkSurfaceTransformFlagBitsKHR transform
-
+
VkStructureType sType
const void* pNext
VkSurfaceTransformFlagBitsKHR transform
@@ -5536,7 +5540,7 @@ typedef void CAMetalLayer;
VkStructureType sType
const void* pNext
VkExtent2D fragmentSize
- VkFragmentShadingRateCombinerOpKHR combinerOps[2]
+ VkFragmentShadingRateCombinerOpKHR combinerOps[2]
VkStructureType sType
@@ -5588,14 +5592,14 @@ typedef void CAMetalLayer;
VkStructureType sType
void* pNext
- VkSampleCountFlagBits maxFragmentShadingRateInvocationCount
+ VkSampleCountFlagBits maxFragmentShadingRateInvocationCount
VkStructureType sType
const void* pNext
- VkFragmentShadingRateTypeNV shadingRateType
- VkFragmentShadingRateNV shadingRate
- VkFragmentShadingRateCombinerOpKHR combinerOps[2]
+ VkFragmentShadingRateTypeNV shadingRateType
+ VkFragmentShadingRateNV shadingRate
+ VkFragmentShadingRateCombinerOpKHR combinerOps[2]
VkStructureType sType
@@ -5604,6 +5608,12 @@ typedef void CAMetalLayer;
VkDeviceSize updateScratchSize
VkDeviceSize buildScratchSize
+
+ VkStructureType sType
+ void* pNext
+ VkBool32 image2DViewOf3D
+ VkBool32 sampler2DViewOf3D
+
VkStructureType sType
void* pNext
@@ -5761,6 +5771,13 @@ typedef void CAMetalLayer;
VkBool32 synchronization2
+
+ VkStructureType sType
+ void* pNext
+ VkBool32 primitivesGeneratedQuery
+ VkBool32 primitivesGeneratedQueryWithRasterizerDiscard
+ VkBool32 primitivesGeneratedQueryWithNonZeroStreams
+
VkStructureTypesType
void* pNext
@@ -5775,7 +5792,7 @@ typedef void CAMetalLayer;
VkStructureTypesType
void* pNext
uint32_t profileCount
- const VkVideoProfileKHR* pProfiles
+ const VkVideoProfileKHR* pProfiles
VkStructureTypesType
@@ -5798,7 +5815,7 @@ typedef void CAMetalLayer;
VkStructureTypesType
- void* pNext
+ void* pNext
VkVideoCapabilityFlagsKHR capabilityFlags
VkDeviceSize minBitstreamBufferOffsetAlignment
VkDeviceSize minBitstreamBufferSizeAlignment
@@ -5807,6 +5824,7 @@ typedef void CAMetalLayer;
VkExtent2D maxExtent
uint32_t maxReferencePicturesSlotsCount
uint32_t maxReferencePicturesActiveCount
+ VkExtensionProperties stdHeaderVersion
VkStructureTypesType
@@ -5836,12 +5854,15 @@ typedef void CAMetalLayer;
int8_t slotIndexThe reference slot index
const VkVideoPictureResourceKHR* pPictureResourceThe reference picture resource
+
+ VkStructureTypesType
+ void* pNext
+ VkVideoDecodeCapabilityFlagsKHR flags
+
VkStructureTypesType
const void* pNext
VkVideoDecodeFlagsKHR flags
- VkOffset2D codedOffset
- VkExtent2D codedExtent
VkBuffer srcBuffer
VkDeviceSize srcBufferOffset
VkDeviceSize srcBufferRange
@@ -5880,22 +5901,15 @@ typedef void CAMetalLayer;
VkStructureTypesType
- const void* pNext
- StdVideoH264ProfileIdc stdProfileIdc
- VkVideoDecodeH264PictureLayoutFlagsEXT pictureLayout
+ const void* pNext
+ StdVideoH264ProfileIdc stdProfileIdc
+ VkVideoDecodeH264PictureLayoutFlagsEXT pictureLayout
-
+
VkStructureTypesType
- void* pNext
- uint32_t maxLevel
+ void* pNext
+ StdVideoH264Level maxLevel
VkOffset2D fieldOffsetGranularity
- VkExtensionProperties stdExtensionVersion
-
-
- VkStructureTypesType
- const void* pNext
- VkVideoDecodeH264CreateFlagsEXT flags
- const VkExtensionProperties* pStdExtensionVersion
@@ -5960,21 +5974,16 @@ typedef void CAMetalLayer;
const void* pNext
StdVideoH265ProfileIdc stdProfileIdc
-
+
VkStructureTypesType
void* pNext
- uint32_t maxLevel
- VkExtensionProperties stdExtensionVersion
-
-
- VkStructureTypesType
- const void* pNext
- VkVideoDecodeH265CreateFlagsEXT flags
- const VkExtensionProperties* pStdExtensionVersion
+ StdVideoH265Level maxLevel
VkStructureTypesType
- const void* pNext
+ const void* pNext
+ uint32_t vpsStdCount
+ const StdVideoH265VideoParameterSet* pVpsStd
uint32_t spsStdCount
const StdVideoH265SequenceParameterSet* pSpsStd
uint32_t ppsStdCount
@@ -5982,7 +5991,8 @@ typedef void CAMetalLayer;
VkStructureTypesType
- const void* pNext
+ const void* pNext
+ uint32_t maxVpsStdCount
uint32_t maxSpsStdCount
uint32_t maxPpsStdCount
const VkVideoDecodeH265SessionParametersAddInfoEXT* pParametersAddInfo
@@ -6001,7 +6011,7 @@ typedef void CAMetalLayer;
VkStructureTypesType
- const void* pNext
+ const void* pNext
uint32_t queueFamilyIndex
VkVideoSessionCreateFlagsKHR flags
const VkVideoProfileKHR* pVideoProfile
@@ -6010,6 +6020,7 @@ typedef void CAMetalLayer;
VkFormat referencePicturesFormat
uint32_t maxReferencePicturesSlotsCount
uint32_t maxReferencePicturesActiveCount
+ const VkExtensionProperties* pStdHeaderVersion
VkStructureTypesType
@@ -6047,7 +6058,6 @@ typedef void CAMetalLayer;
const void* pNext
VkVideoEncodeFlagsKHR flags
uint32_t qualityLevel
- VkExtent2D codedExtent
VkBuffer dstBitstreamBuffer
VkDeviceSize dstBitstreamBufferOffset
VkDeviceSize dstBitstreamBufferMaxRange
@@ -6075,34 +6085,38 @@ typedef void CAMetalLayer;
uint32_t virtualBufferSizeInMs
uint32_t initialVirtualBufferSizeInMs
-
+
+ VkStructureTypesType
+ void* pNext
+ VkVideoEncodeCapabilityFlagsKHR flags
+ VkVideoEncodeRateControlModeFlagsKHR rateControlModes
+ uint8_t rateControlLayerCount
+ uint8_t qualityLevelCount
+ VkExtent2D inputImageDataFillAlignment
+
+
VkStructureTypesType
- const void* pNext
- VkVideoEncodeH264CapabilityFlagsEXT flags
+ void* pNext
+ VkVideoEncodeH264CapabilityFlagsEXT flags
VkVideoEncodeH264InputModeFlagsEXT inputModeFlags
VkVideoEncodeH264OutputModeFlagsEXT outputModeFlags
- VkExtent2D minPictureSizeInMbs
- VkExtent2D maxPictureSizeInMbs
- VkExtent2D inputImageDataAlignment
- uint8_t maxNumL0ReferenceForP
- uint8_t maxNumL0ReferenceForB
- uint8_t maxNumL1Reference
- uint8_t qualityLevelCount
- VkExtensionProperties stdExtensionVersion
-
-
- VkStructureTypesType
- const void* pNext
- VkVideoEncodeH264CreateFlagsEXT flags
- VkExtent2D maxPictureSizeInMbs
- const VkExtensionProperties* pStdExtensionVersion
+ uint8_t maxPPictureL0ReferenceCount
+ uint8_t maxBPictureL0ReferenceCount
+ uint8_t maxL1ReferenceCount
+ VkBool32 motionVectorsOverPicBoundariesFlag
+ uint32_t maxBytesPerPicDenom
+ uint32_t maxBitsPerMbDenom
+ uint32_t log2MaxMvLengthHorizontal
+ uint32_t log2MaxMvLengthVertical
#include "vk_video/vulkan_video_codec_h264std_encode.h"
+
+
@@ -6125,18 +6139,24 @@ typedef void CAMetalLayer;
VkStructureTypesType
const void* pNext
int8_t slotIndex
- const StdVideoEncodeH264PictureInfo* pStdPictureInfo
+ const StdVideoEncodeH264ReferenceInfo* pStdReferenceInfo
VkStructureTypesType
const void* pNext
- uint8_t refDefaultFinalList0EntryCount
- const VkVideoEncodeH264DpbSlotInfoEXT* pRefDefaultFinalList0Entries
- uint8_t refDefaultFinalList1EntryCount
- const VkVideoEncodeH264DpbSlotInfoEXT* pRefDefaultFinalList1Entries
- uint32_t naluSliceEntryCount
+ const VkVideoEncodeH264ReferenceListsEXT* pReferenceFinalLists
+ uint32_t naluSliceEntryCount
const VkVideoEncodeH264NaluSliceEXT* pNaluSliceEntries
- const VkVideoEncodeH264DpbSlotInfoEXT* pCurrentPictureInfo
+ const StdVideoEncodeH264PictureInfo* pCurrentPictureInfo
+
+
+ VkStructureTypesType
+ const void* pNext
+ uint8_t referenceList0EntryCount
+ const VkVideoEncodeH264DpbSlotInfoEXT* pReferenceList0Entries
+ uint8_t referenceList1EntryCount
+ const VkVideoEncodeH264DpbSlotInfoEXT* pReferenceList1Entries
+ const StdVideoEncodeH264RefMemMgmtCtrlOperations* pMemMgmtCtrlOperations
VkStructureTypesType
@@ -6154,12 +6174,9 @@ typedef void CAMetalLayer;
VkStructureTypesType
const void* pNext
- const StdVideoEncodeH264SliceHeader* pSliceHeaderStd
uint32_t mbCount
- uint8_t refFinalList0EntryCount
- const VkVideoEncodeH264DpbSlotInfoEXT* pRefFinalList0Entries
- uint8_t refFinalList1EntryCount
- const VkVideoEncodeH264DpbSlotInfoEXT* pRefFinalList1Entries
+ const VkVideoEncodeH264ReferenceListsEXT* pReferenceFinalLists
+ const StdVideoEncodeH264SliceHeader* pSliceHeaderStd
VkStructureTypesType
@@ -6193,34 +6210,37 @@ typedef void CAMetalLayer;
VkBool32 useMaxFrameSize
VkVideoEncodeH264FrameSizeEXT maxFrameSize
-
+
VkStructureTypesType
- const void* pNext
- VkVideoEncodeH265CapabilityFlagsEXT flags
+ void* pNext
+ VkVideoEncodeH265CapabilityFlagsEXT flags
VkVideoEncodeH265InputModeFlagsEXT inputModeFlags
VkVideoEncodeH265OutputModeFlagsEXT outputModeFlags
VkVideoEncodeH265CtbSizeFlagsEXT ctbSizes
- VkExtent2D inputImageDataAlignment
- uint8_t maxNumL0ReferenceForP
- uint8_t maxNumL0ReferenceForB
- uint8_t maxNumL1Reference
- uint8_t maxNumSubLayers
- uint8_t qualityLevelCount
- VkExtensionProperties stdExtensionVersion
-
-
- VkStructureTypesType
- const void* pNext
- VkVideoEncodeH265CreateFlagsEXT flags
- const VkExtensionProperties* pStdExtensionVersion
+ VkVideoEncodeH265TransformBlockSizeFlagsEXT transformBlockSizes
+ uint8_t maxPPictureL0ReferenceCount
+ uint8_t maxBPictureL0ReferenceCount
+ uint8_t maxL1ReferenceCount
+ uint8_t maxSubLayersCount
+ uint8_t minLog2MinLumaCodingBlockSizeMinus3
+ uint8_t maxLog2MinLumaCodingBlockSizeMinus3
+ uint8_t minLog2MinLumaTransformBlockSizeMinus2
+ uint8_t maxLog2MinLumaTransformBlockSizeMinus2
+ uint8_t minMaxTransformHierarchyDepthInter
+ uint8_t maxMaxTransformHierarchyDepthInter
+ uint8_t minMaxTransformHierarchyDepthIntra
+ uint8_t maxMaxTransformHierarchyDepthIntra
+ uint8_t maxDiffCuQpDeltaDepth
+ uint8_t minMaxNumMergeCand
+ uint8_t maxMaxNumMergeCand
#include "vk_video/vulkan_video_codec_h265std_encode.h"
-
+
-
+
@@ -6245,8 +6265,8 @@ typedef void CAMetalLayer;
VkStructureTypesType
const void* pNext
const VkVideoEncodeH265ReferenceListsEXT* pReferenceFinalLists
- uint32_t naluSliceEntryCount
- const VkVideoEncodeH265NaluSliceEXT* pNaluSliceEntries
+ uint32_t naluSliceSegmentEntryCount
+ const VkVideoEncodeH265NaluSliceSegmentEXT* pNaluSliceSegmentEntries
const StdVideoEncodeH265PictureInfo* pCurrentPictureInfo
@@ -6259,12 +6279,12 @@ typedef void CAMetalLayer;
uint32_t ppsIdEntryCount
const uint8_t* ppsIdEntries
-
- VkStructureTypesType
+
+ VkStructureTypesType
const void* pNext
uint32_t ctbCount
const VkVideoEncodeH265ReferenceListsEXT* pReferenceFinalLists
- const StdVideoEncodeH265SliceHeader* pSliceHeaderStd
+ const StdVideoEncodeH265SliceSegmentHeader* pSliceSegmentHeaderStd
VkStructureTypesType
@@ -6386,7 +6406,7 @@ typedef void CAMetalLayer;
VkBool32 shaderIntegerDotProduct
-
+
VkStructureType sType
void* pNext
VkBool32 integerDotProduct8BitUnsignedAccelerated
@@ -6562,7 +6582,7 @@ typedef void CAMetalLayer;
VkImageFormatConstraintsFlagsFUCHSIA flags
uint64_t sysmemPixelFormat
uint32_t colorSpaceCount
- const VkSysmemColorSpaceFUCHSIA* pColorSpaces
+ const VkSysmemColorSpaceFUCHSIA* pColorSpaces
VkStructureType sType
@@ -6598,7 +6618,7 @@ typedef void CAMetalLayer;
VkStructureType sType
void* pNext
uint32_t drmFormatModifierCount
- VkDrmFormatModifierProperties2EXT* pDrmFormatModifierProperties
+ VkDrmFormatModifierProperties2EXT* pDrmFormatModifierProperties
uint64_t drmFormatModifier
@@ -6622,9 +6642,9 @@ typedef void CAMetalLayer;
const void* pNext
uint32_t viewMask
uint32_t colorAttachmentCount
- const VkFormat* pColorAttachmentFormats
- VkFormat depthAttachmentFormat
- VkFormat stencilAttachmentFormat
+ const VkFormat* pColorAttachmentFormats
+ VkFormat depthAttachmentFormat
+ VkFormat stencilAttachmentFormat
@@ -6687,9 +6707,9 @@ typedef void CAMetalLayer;
VkStructureType sType
const void* pNext
- uint32_t colorAttachmentCount
- const VkSampleCountFlagBits* pColorAttachmentSamples
- VkSampleCountFlagBits depthStencilAttachmentSamples
+ uint32_t colorAttachmentCount
+ const VkSampleCountFlagBits* pColorAttachmentSamples
+ VkSampleCountFlagBits depthStencilAttachmentSamples
@@ -6710,7 +6730,7 @@ typedef void CAMetalLayer;
VkStructureType sType
- const void* pNext
+ void* pNext
VkBool32 rasterizationOrderColorAttachmentAccess
VkBool32 rasterizationOrderDepthAttachmentAccess
VkBool32 rasterizationOrderStencilAttachmentAccess
@@ -6720,6 +6740,39 @@ typedef void CAMetalLayer;
void* pNext
VkBool32 linearColorAttachment
+
+ VkStructureType sType
+ void* pNext
+ VkBool32 graphicsPipelineLibrary
+
+
+ VkStructureType sType
+ void* pNext
+ VkBool32 graphicsPipelineLibraryFastLinking
+ VkBool32 graphicsPipelineLibraryIndependentInterpolationDecoration
+
+
+ VkStructureType sType
+ void* pNext
+ VkGraphicsPipelineLibraryFlagsEXT flags
+
+
+ VkStructureType sType
+ void* pNext
+ VkBool32 descriptorSetHostMapping
+
+
+ VkStructureType sType
+ const void* pNext
+ VkDescriptorSetLayout descriptorSetLayout
+ uint32_t binding
+
+
+ VkStructureType sType
+ void* pNext
+ size_t descriptorOffset
+ uint32_t descriptorSize
+
Vulkan enumerant (token) definitions
@@ -8233,7 +8286,7 @@ typedef void CAMetalLayer;
-
+
@@ -8279,6 +8332,12 @@ typedef void CAMetalLayer;
+
+
+
+
+
+
@@ -8323,6 +8382,11 @@ typedef void CAMetalLayer;
+
+
+
+
+
@@ -8331,6 +8395,10 @@ typedef void CAMetalLayer;
+
+
+
+
@@ -8341,17 +8409,29 @@ typedef void CAMetalLayer;
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -8363,10 +8443,6 @@ typedef void CAMetalLayer;
-
-
-
-
@@ -8445,27 +8521,62 @@ typedef void CAMetalLayer;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -8696,7 +8807,7 @@ typedef void CAMetalLayer;
VkResult vkQueueBindSparse
VkQueue queue
uint32_t bindInfoCount
- const VkBindSparseInfo* pBindInfo
+ const VkBindSparseInfo* pBindInfo
VkFence fence
@@ -9170,7 +9281,7 @@ typedef void CAMetalLayer;
VkPipelineLayout layout
uint32_t firstSet
uint32_t descriptorSetCount
- const VkDescriptorSet* pDescriptorSets
+ const VkDescriptorSet* pDescriptorSets
uint32_t dynamicOffsetCount
const uint32_t* pDynamicOffsets
@@ -11573,7 +11684,7 @@ typedef void CAMetalLayer;
uint32_t connectorId
VkDisplayKHR* display
-
+
VkResult vkWaitForPresentKHR
VkDevice device
VkSwapchainKHR swapchain
@@ -11622,6 +11733,18 @@ typedef void CAMetalLayer;
VkCommandBuffer commandBuffer
+
+ void vkGetDescriptorSetLayoutHostMappingInfoVALVE
+ VkDevice device
+ const VkDescriptorSetBindingReferenceVALVE* pBindingReference
+ VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping
+
+
+ void vkGetDescriptorSetHostMappingVALVE
+ VkDevice device
+ VkDescriptorSet descriptorSet
+ void** ppData
+
@@ -11706,7 +11829,8 @@ typedef void CAMetalLayer;
-
+
+
@@ -12701,8 +12825,7 @@ typedef void CAMetalLayer;
-
-
+
@@ -12911,6 +13034,7 @@ typedef void CAMetalLayer;
+
@@ -13225,7 +13349,7 @@ typedef void CAMetalLayer;
-
+
@@ -13308,9 +13432,10 @@ typedef void CAMetalLayer;
-
+
+
@@ -13326,6 +13451,10 @@ typedef void CAMetalLayer;
+
+
+
+
@@ -13475,19 +13604,19 @@ typedef void CAMetalLayer;
-
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
@@ -13496,13 +13625,11 @@ typedef void CAMetalLayer;
-
-
-
+
@@ -13517,39 +13644,39 @@ typedef void CAMetalLayer;
-
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
+
+
-
-
+
@@ -13562,23 +13689,20 @@ typedef void CAMetalLayer;
-
+
-
-
-
-
-
-
-
+
+
+
+
+
+
-
-
@@ -14750,7 +14874,7 @@ typedef void CAMetalLayer;
-
+
@@ -15681,21 +15805,18 @@ typedef void CAMetalLayer;
-
+
-
-
-
-
-
-
+
+
+
+
+
-
-
@@ -16635,6 +16756,7 @@ typedef void CAMetalLayer;
+
@@ -16921,8 +17043,7 @@ typedef void CAMetalLayer;
-
-
+
@@ -16959,9 +17080,9 @@ typedef void CAMetalLayer;
-
+
-
+
@@ -16969,6 +17090,7 @@ typedef void CAMetalLayer;
+
@@ -16986,13 +17108,17 @@ typedef void CAMetalLayer;
+
+
+
+
-
+
@@ -17206,7 +17332,8 @@ typedef void CAMetalLayer;
-
+
+
@@ -17229,13 +17356,22 @@ typedef void CAMetalLayer;
-
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -17777,6 +17913,7 @@ typedef void CAMetalLayer;
+
@@ -17832,10 +17969,13 @@ typedef void CAMetalLayer;
-
+
-
-
+
+
+
+
+
@@ -17917,17 +18057,20 @@ typedef void CAMetalLayer;
-
+
-
-
-
+
+
+
+
+
-
+
-
-
+
+
+
@@ -17938,8 +18081,18 @@ typedef void CAMetalLayer;
-
-
+
+
+
+
+
+
+
+
+
+
+
+
@@ -18055,7 +18208,7 @@ typedef void CAMetalLayer;
-
+
@@ -18101,10 +18254,18 @@ typedef void CAMetalLayer;
-
+
-
-
+
+
+
+
+
+
+
+
+
+
@@ -18316,6 +18477,113 @@ typedef void CAMetalLayer;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -19873,6 +20141,13 @@ typedef void CAMetalLayer;
+
+
+
+
+
+
+
diff --git a/renderdoc/driver/vulkan/vk_common.h b/renderdoc/driver/vulkan/vk_common.h
index 2ccc9640c..826dfd51c 100644
--- a/renderdoc/driver/vulkan/vk_common.h
+++ b/renderdoc/driver/vulkan/vk_common.h
@@ -1774,11 +1774,12 @@ DECLARE_REFLECTION_ENUM(VkPerformanceCounterUnitKHR);
DECLARE_REFLECTION_ENUM(VkPhysicalDeviceType);
DECLARE_REFLECTION_ENUM(VkPipelineBindPoint);
DECLARE_REFLECTION_ENUM(VkPipelineCacheCreateFlagBits);
+DECLARE_REFLECTION_ENUM(VkPipelineColorBlendStateCreateFlagBits);
DECLARE_REFLECTION_ENUM(VkPipelineCreateFlagBits);
DECLARE_REFLECTION_ENUM(VkPipelineCreationFeedbackFlagBits);
-DECLARE_REFLECTION_ENUM(VkPipelineExecutableStatisticFormatKHR);
-DECLARE_REFLECTION_ENUM(VkPipelineColorBlendStateCreateFlagBits);
DECLARE_REFLECTION_ENUM(VkPipelineDepthStencilStateCreateFlagBits);
+DECLARE_REFLECTION_ENUM(VkPipelineExecutableStatisticFormatKHR);
+DECLARE_REFLECTION_ENUM(VkPipelineLayoutCreateFlagBits);
DECLARE_REFLECTION_ENUM(VkPipelineShaderStageCreateFlagBits);
DECLARE_REFLECTION_ENUM(VkPipelineStageFlagBits);
DECLARE_REFLECTION_ENUM(VkPipelineStageFlagBits2);
@@ -1786,7 +1787,6 @@ DECLARE_REFLECTION_ENUM(VkPointClippingBehavior);
DECLARE_REFLECTION_ENUM(VkPolygonMode);
DECLARE_REFLECTION_ENUM(VkPresentModeKHR);
DECLARE_REFLECTION_ENUM(VkPrimitiveTopology);
-DECLARE_REFLECTION_ENUM(VkPrivateDataSlotCreateFlagBits);
DECLARE_REFLECTION_ENUM(VkRenderingFlagBits);
DECLARE_REFLECTION_ENUM(VkQueryControlFlagBits);
DECLARE_REFLECTION_ENUM(VkQueryPipelineStatisticFlagBits);
diff --git a/renderdoc/driver/vulkan/vk_dispatch_defs.h b/renderdoc/driver/vulkan/vk_dispatch_defs.h
index 4325602ed..ead27db3a 100644
--- a/renderdoc/driver/vulkan/vk_dispatch_defs.h
+++ b/renderdoc/driver/vulkan/vk_dispatch_defs.h
@@ -917,6 +917,10 @@ struct VkDevDispatchTable
// VK_EXT_pageable_device_local_memory
PFN_vkSetDeviceMemoryPriorityEXT SetDeviceMemoryPriorityEXT;
+ // VK_VALVE_descriptor_set_host_mapping
+ PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE GetDescriptorSetLayoutHostMappingInfoVALVE;
+ PFN_vkGetDescriptorSetHostMappingVALVE GetDescriptorSetHostMappingVALVE;
+
// for consistency with macros, we declare the CreateDevice pointer here
// even though it won't actually ever get used and is on the instance dispatch chain
PFN_vkCreateDevice CreateDevice;
diff --git a/renderdoc/driver/vulkan/vk_next_chains.cpp b/renderdoc/driver/vulkan/vk_next_chains.cpp
index 6d77b5b0b..891676529 100644
--- a/renderdoc/driver/vulkan/vk_next_chains.cpp
+++ b/renderdoc/driver/vulkan/vk_next_chains.cpp
@@ -727,6 +727,8 @@ static void AppendModifiedChainedStruct(byte *&tempMem, VkStruct *outputStruct,
case VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX: \
case VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX: \
case VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX: \
+ case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE: \
+ case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE: \
case VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT: \
case VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV: \
case VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD: \
@@ -740,6 +742,7 @@ static void AppendModifiedChainedStruct(byte *&tempMem, VkStruct *outputStruct,
case VK_STRUCTURE_TYPE_GEOMETRY_NV: \
case VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV: \
case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV: \
+ case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT: \
case VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV: \
case VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT: \
case VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA: \
@@ -777,6 +780,7 @@ static void AppendModifiedChainedStruct(byte *&tempMem, VkStruct *outputStruct,
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV: \
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV: \
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT: \
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE: \
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV: \
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV: \
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT: \
@@ -787,6 +791,9 @@ static void AppendModifiedChainedStruct(byte *&tempMem, VkStruct *outputStruct,
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV: \
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV: \
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV: \
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT: \
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT: \
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT: \
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT: \
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT: \
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV: \
@@ -800,6 +807,7 @@ static void AppendModifiedChainedStruct(byte *&tempMem, VkStruct *outputStruct,
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE: \
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT: \
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT: \
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT: \
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT: \
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT: \
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM: \
diff --git a/renderdoc/driver/vulkan/vk_serialise.cpp b/renderdoc/driver/vulkan/vk_serialise.cpp
index 883fec4a1..58da1c1d9 100644
--- a/renderdoc/driver/vulkan/vk_serialise.cpp
+++ b/renderdoc/driver/vulkan/vk_serialise.cpp
@@ -84,7 +84,7 @@ DECL_VKFLAG(VkImageAspect);
DECL_VKFLAG(VkImageUsage);
DECL_VKFLAG(VkImageCreate);
DECL_VKFLAG(VkImageViewCreate);
-DECL_VKFLAG_EMPTY(VkInstanceCreate);
+DECL_VKFLAG(VkInstanceCreate);
DECL_VKFLAG(VkFenceCreate);
DECL_VKFLAG(VkFenceImport);
DECL_VKFLAG(VkFramebufferCreate);
@@ -99,7 +99,7 @@ DECL_VKFLAG(VkPipelineCreate);
DECL_VKFLAG(VkPipelineDepthStencilStateCreate);
DECL_VKFLAG_EMPTY(VkPipelineDynamicStateCreate);
DECL_VKFLAG_EMPTY(VkPipelineInputAssemblyStateCreate);
-DECL_VKFLAG_EMPTY(VkPipelineLayoutCreate);
+DECL_VKFLAG(VkPipelineLayoutCreate);
DECL_VKFLAG_EMPTY(VkPipelineMultisampleStateCreate);
DECL_VKFLAG_EMPTY(VkPipelineRasterizationStateCreate);
DECL_VKFLAG(VkPipelineShaderStageCreate);
@@ -152,7 +152,7 @@ DECL_VKFLAG_EMPTY_EXT(VkPipelineDiscardRectangleStateCreate, EXT);
DECL_VKFLAG_EMPTY_EXT(VkPipelineRasterizationConservativeStateCreate, EXT);
DECL_VKFLAG_EMPTY_EXT(VkPipelineRasterizationStateStreamCreate, EXT);
DECL_VKFLAG_EMPTY_EXT(VkPipelineViewportSwizzleStateCreate, NV);
-DECL_VKFLAG(VkPrivateDataSlotCreate);
+DECL_VKFLAG_EMPTY(VkPrivateDataSlotCreate);
DECL_VKFLAG_EXT(VkSurfaceCounter, EXT);
DECL_VKFLAG_EXT(VkSurfaceTransform, KHR);
DECL_VKFLAG_EXT(VkSwapchainCreate, KHR);
@@ -1336,6 +1336,9 @@ SERIALISE_VK_HANDLES();
/* VK_EXT_headless_surface */ \
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT) \
\
+ /* VK_EXT_image_2d_view_of_3d */ \
+ PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT) \
+ \
/* VK_EXT_image_drm_format_modifier */ \
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT) \
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT) \
@@ -1348,6 +1351,11 @@ SERIALISE_VK_HANDLES();
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT) \
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT) \
\
+ /* VK_EXT_graphics_pipeline_library */ \
+ PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT) \
+ PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT) \
+ PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT) \
+ \
/* VK_EXT_multi_draw */ \
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT) \
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT) \
@@ -1361,6 +1369,9 @@ SERIALISE_VK_HANDLES();
/* VK_EXT_primitive_topology_list_restart */ \
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT) \
\
+ /* VK_EXT_primitives_generated_query */ \
+ PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT) \
+ \
/* VK_EXT_provoking_vertex */ \
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT) \
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT) \
@@ -1543,6 +1554,11 @@ SERIALISE_VK_HANDLES();
/* VK_QCOM_rotated_copy_commands */ \
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM) \
\
+ /* VK_VALVE_descriptor_set_host_mapping */ \
+ PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE) \
+ PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE) \
+ PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE) \
+ \
/* VK_VALVE_mutable_descriptor_type */ \
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE) \
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE)
diff --git a/renderdoc/driver/vulkan/vk_stringise.cpp b/renderdoc/driver/vulkan/vk_stringise.cpp
index c9a595a85..c8ba0070c 100644
--- a/renderdoc/driver/vulkan/vk_stringise.cpp
+++ b/renderdoc/driver/vulkan/vk_stringise.cpp
@@ -331,11 +331,23 @@ rdcstr DoStringise(const VkPipelineCreateFlagBits &el)
STRINGISE_BITFIELD_BIT(VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV);
STRINGISE_BITFIELD_BIT(VK_PIPELINE_CREATE_LIBRARY_BIT_KHR);
+ STRINGISE_BITFIELD_BIT(VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT);
+ STRINGISE_BITFIELD_BIT(VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT);
STRINGISE_BITFIELD_BIT(VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV);
}
END_BITFIELD_STRINGISE();
}
+template <>
+rdcstr DoStringise(const VkPipelineLayoutCreateFlagBits &el)
+{
+ BEGIN_BITFIELD_STRINGISE(VkPipelineLayoutCreateFlagBits);
+ {
+ STRINGISE_BITFIELD_BIT(VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT);
+ }
+ END_BITFIELD_STRINGISE();
+}
+
template <>
rdcstr DoStringise(const VkPipelineStageFlagBits &el)
{
@@ -462,6 +474,7 @@ rdcstr DoStringise(const VkImageCreateFlagBits &el)
STRINGISE_BITFIELD_BIT(VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV);
STRINGISE_BITFIELD_BIT(VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT);
STRINGISE_BITFIELD_BIT(VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT);
+ STRINGISE_BITFIELD_BIT(VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT);
STRINGISE_BITFIELD_BIT(VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM);
}
END_BITFIELD_STRINGISE();
@@ -632,6 +645,7 @@ rdcstr DoStringise(const VkImageAspectFlagBits &el)
{
BEGIN_BITFIELD_STRINGISE(VkImageAspectFlagBits);
{
+ STRINGISE_BITFIELD_VALUE(VK_IMAGE_ASPECT_NONE);
STRINGISE_BITFIELD_BIT(VK_IMAGE_ASPECT_COLOR_BIT);
STRINGISE_BITFIELD_BIT(VK_IMAGE_ASPECT_DEPTH_BIT);
STRINGISE_BITFIELD_BIT(VK_IMAGE_ASPECT_STENCIL_BIT);
@@ -639,7 +653,6 @@ rdcstr DoStringise(const VkImageAspectFlagBits &el)
STRINGISE_BITFIELD_BIT(VK_IMAGE_ASPECT_PLANE_0_BIT);
STRINGISE_BITFIELD_BIT(VK_IMAGE_ASPECT_PLANE_1_BIT);
STRINGISE_BITFIELD_BIT(VK_IMAGE_ASPECT_PLANE_2_BIT);
- STRINGISE_BITFIELD_BIT(VK_IMAGE_ASPECT_NONE_KHR);
STRINGISE_BITFIELD_BIT(VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT);
STRINGISE_BITFIELD_BIT(VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT);
STRINGISE_BITFIELD_BIT(VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT);
@@ -900,15 +913,6 @@ rdcstr DoStringise(const VkAcquireProfilingLockFlagBitsKHR &el)
END_BITFIELD_STRINGISE();
}
-template <>
-rdcstr DoStringise(const VkPrivateDataSlotCreateFlagBits &el)
-{
- BEGIN_BITFIELD_STRINGISE(VkPrivateDataSlotCreateFlagBits);
- {
- }
- END_BITFIELD_STRINGISE();
-}
-
template <>
rdcstr DoStringise(const VkPerformanceCounterDescriptionFlagBitsKHR &el)
{
@@ -1413,6 +1417,7 @@ rdcstr DoStringise(const VkQueryType &el)
STRINGISE_ENUM(VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR)
STRINGISE_ENUM(VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV)
STRINGISE_ENUM(VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL)
+ STRINGISE_ENUM(VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT)
}
END_ENUM_STRINGISE();
}
diff --git a/util/test/demos/3rdparty/volk/volk.c b/util/test/demos/3rdparty/volk/volk.c
index c3383ee41..c01df88f8 100644
--- a/util/test/demos/3rdparty/volk/volk.c
+++ b/util/test/demos/3rdparty/volk/volk.c
@@ -949,6 +949,10 @@ static void volkGenLoadDevice(void* context, PFN_vkVoidFunction (*load)(void*, c
vkCmdSetCoarseSampleOrderNV = (PFN_vkCmdSetCoarseSampleOrderNV)load(context, "vkCmdSetCoarseSampleOrderNV");
vkCmdSetViewportShadingRatePaletteNV = (PFN_vkCmdSetViewportShadingRatePaletteNV)load(context, "vkCmdSetViewportShadingRatePaletteNV");
#endif /* defined(VK_NV_shading_rate_image) */
+#if defined(VK_VALVE_descriptor_set_host_mapping)
+ vkGetDescriptorSetHostMappingVALVE = (PFN_vkGetDescriptorSetHostMappingVALVE)load(context, "vkGetDescriptorSetHostMappingVALVE");
+ vkGetDescriptorSetLayoutHostMappingInfoVALVE = (PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE)load(context, "vkGetDescriptorSetLayoutHostMappingInfoVALVE");
+#endif /* defined(VK_VALVE_descriptor_set_host_mapping) */
#if (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1))
vkGetDeviceGroupSurfacePresentModes2EXT = (PFN_vkGetDeviceGroupSurfacePresentModes2EXT)load(context, "vkGetDeviceGroupSurfacePresentModes2EXT");
#endif /* (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1)) */
@@ -1566,6 +1570,10 @@ static void volkGenLoadDeviceTable(struct VolkDeviceTable* table, void* context,
table->vkCmdSetCoarseSampleOrderNV = (PFN_vkCmdSetCoarseSampleOrderNV)load(context, "vkCmdSetCoarseSampleOrderNV");
table->vkCmdSetViewportShadingRatePaletteNV = (PFN_vkCmdSetViewportShadingRatePaletteNV)load(context, "vkCmdSetViewportShadingRatePaletteNV");
#endif /* defined(VK_NV_shading_rate_image) */
+#if defined(VK_VALVE_descriptor_set_host_mapping)
+ table->vkGetDescriptorSetHostMappingVALVE = (PFN_vkGetDescriptorSetHostMappingVALVE)load(context, "vkGetDescriptorSetHostMappingVALVE");
+ table->vkGetDescriptorSetLayoutHostMappingInfoVALVE = (PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE)load(context, "vkGetDescriptorSetLayoutHostMappingInfoVALVE");
+#endif /* defined(VK_VALVE_descriptor_set_host_mapping) */
#if (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1))
table->vkGetDeviceGroupSurfacePresentModes2EXT = (PFN_vkGetDeviceGroupSurfacePresentModes2EXT)load(context, "vkGetDeviceGroupSurfacePresentModes2EXT");
#endif /* (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1)) */
@@ -2370,6 +2378,10 @@ PFN_vkCmdSetViewportShadingRatePaletteNV vkCmdSetViewportShadingRatePaletteNV;
PFN_vkCreateScreenSurfaceQNX vkCreateScreenSurfaceQNX;
PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX vkGetPhysicalDeviceScreenPresentationSupportQNX;
#endif /* defined(VK_QNX_screen_surface) */
+#if defined(VK_VALVE_descriptor_set_host_mapping)
+PFN_vkGetDescriptorSetHostMappingVALVE vkGetDescriptorSetHostMappingVALVE;
+PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE vkGetDescriptorSetLayoutHostMappingInfoVALVE;
+#endif /* defined(VK_VALVE_descriptor_set_host_mapping) */
#if (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1))
PFN_vkGetDeviceGroupSurfacePresentModes2EXT vkGetDeviceGroupSurfacePresentModes2EXT;
#endif /* (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1)) */
diff --git a/util/test/demos/3rdparty/volk/volk.h b/util/test/demos/3rdparty/volk/volk.h
index 61a0fb5df..9678e8321 100644
--- a/util/test/demos/3rdparty/volk/volk.h
+++ b/util/test/demos/3rdparty/volk/volk.h
@@ -15,7 +15,7 @@
#endif
/* VOLK_GENERATE_VERSION_DEFINE */
-#define VOLK_HEADER_VERSION 205
+#define VOLK_HEADER_VERSION 211
/* VOLK_GENERATE_VERSION_DEFINE */
#ifndef VK_NO_PROTOTYPES
@@ -728,6 +728,10 @@ struct VolkDeviceTable
PFN_vkCmdSetCoarseSampleOrderNV vkCmdSetCoarseSampleOrderNV;
PFN_vkCmdSetViewportShadingRatePaletteNV vkCmdSetViewportShadingRatePaletteNV;
#endif /* defined(VK_NV_shading_rate_image) */
+#if defined(VK_VALVE_descriptor_set_host_mapping)
+ PFN_vkGetDescriptorSetHostMappingVALVE vkGetDescriptorSetHostMappingVALVE;
+ PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE vkGetDescriptorSetLayoutHostMappingInfoVALVE;
+#endif /* defined(VK_VALVE_descriptor_set_host_mapping) */
#if (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1))
PFN_vkGetDeviceGroupSurfacePresentModes2EXT vkGetDeviceGroupSurfacePresentModes2EXT;
#endif /* (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1)) */
@@ -1524,6 +1528,10 @@ extern PFN_vkCmdSetViewportShadingRatePaletteNV vkCmdSetViewportShadingRatePalet
extern PFN_vkCreateScreenSurfaceQNX vkCreateScreenSurfaceQNX;
extern PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX vkGetPhysicalDeviceScreenPresentationSupportQNX;
#endif /* defined(VK_QNX_screen_surface) */
+#if defined(VK_VALVE_descriptor_set_host_mapping)
+extern PFN_vkGetDescriptorSetHostMappingVALVE vkGetDescriptorSetHostMappingVALVE;
+extern PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE vkGetDescriptorSetLayoutHostMappingInfoVALVE;
+#endif /* defined(VK_VALVE_descriptor_set_host_mapping) */
#if (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1))
extern PFN_vkGetDeviceGroupSurfacePresentModes2EXT vkGetDeviceGroupSurfacePresentModes2EXT;
#endif /* (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1)) */
diff --git a/util/test/demos/vk/official/vulkan/vulkan_android.h b/util/test/demos/vk/official/vulkan/vulkan_android.h
index de79d382f..11f539796 100644
--- a/util/test/demos/vk/official/vulkan/vulkan_android.h
+++ b/util/test/demos/vk/official/vulkan/vulkan_android.h
@@ -44,7 +44,7 @@ VKAPI_ATTR VkResult VKAPI_CALL vkCreateAndroidSurfaceKHR(
#define VK_ANDROID_external_memory_android_hardware_buffer 1
struct AHardwareBuffer;
-#define VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION 4
+#define VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION 5
#define VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME "VK_ANDROID_external_memory_android_hardware_buffer"
typedef struct VkAndroidHardwareBufferUsageANDROID {
VkStructureType sType;
diff --git a/util/test/demos/vk/official/vulkan/vulkan_core.h b/util/test/demos/vk/official/vulkan/vulkan_core.h
index 228e4ef6e..5c8b8461f 100644
--- a/util/test/demos/vk/official/vulkan/vulkan_core.h
+++ b/util/test/demos/vk/official/vulkan/vulkan_core.h
@@ -72,7 +72,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 204
+#define VK_HEADER_VERSION 211
// Complete version of this file
#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION)
@@ -477,6 +477,9 @@ typedef enum VkStructureType {
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR = 1000024000,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+ VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR = 1000024001,
#endif
VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000,
VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001,
@@ -493,94 +496,88 @@ typedef enum VkStructureType {
VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT = 1000038000,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT = 1000038001,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000038001,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000038002,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000038002,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000038003,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT = 1000038003,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT = 1000038004,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT = 1000038004,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT = 1000038005,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_EXT = 1000038005,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_EXT = 1000038006,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT = 1000038006,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT = 1000038007,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT = 1000038007,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT = 1000038008,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT = 1000038008,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT = 1000038009,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT = 1000038009,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT = 1000038010,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_REFERENCE_LISTS_EXT = 1000038010,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT = 1000039000,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_EXT = 1000039001,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000039001,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000039002,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT = 1000039002,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT = 1000039003,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT = 1000039003,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT = 1000039004,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT = 1000039004,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT = 1000039005,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_EXT = 1000039005,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_EXT = 1000039006,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_EXT = 1000039006,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_EXT = 1000039007,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_EXT = 1000039007,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_EXT = 1000039008,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_REFERENCE_LISTS_EXT = 1000039008,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_REFERENCE_LISTS_EXT = 1000039009,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT = 1000039009,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT = 1000039010,
-#endif
-#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT = 1000039011,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT = 1000039010,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT = 1000040000,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_CREATE_INFO_EXT = 1000040001,
+ VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT = 1000040001,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT = 1000040002,
+ VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_EXT = 1000040002,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_EXT = 1000040003,
+ VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_EXT = 1000040003,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_EXT = 1000040004,
+ VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000040004,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000040005,
+ VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000040005,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000040006,
-#endif
-#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT = 1000040007,
+ VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT = 1000040006,
#endif
VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000,
VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000044006,
@@ -745,22 +742,19 @@ typedef enum VkStructureType {
VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT = 1000187000,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_CREATE_INFO_EXT = 1000187001,
+ VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000187001,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000187002,
+ VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT = 1000187002,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT = 1000187003,
+ VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT = 1000187003,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT = 1000187004,
+ VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT = 1000187004,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT = 1000187005,
-#endif
-#ifdef VK_ENABLE_BETA_EXTENSIONS
- VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT = 1000187006,
+ VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT = 1000187005,
#endif
VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR = 1000174000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR = 1000388000,
@@ -871,11 +865,17 @@ typedef enum VkStructureType {
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR = 1000299002,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR = 1000299003,
#endif
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000,
VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001,
VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008,
VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV = 1000314009,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT = 1000320000,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT = 1000320001,
+ VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT = 1000320002,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR = 1000323000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV = 1000326000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV = 1000326001,
@@ -926,13 +926,18 @@ typedef enum VkStructureType {
VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX = 1000378000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000,
VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT = 1000382000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT = 1000391000,
VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT = 1000391001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT = 1000392000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT = 1000392001,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT = 1000393000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT = 1000411000,
VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT = 1000411001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT = 1000412000,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE = 1000420000,
+ VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE = 1000420001,
+ VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE = 1000420002,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM = 1000425000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM = 1000425001,
VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM = 1000425002,
@@ -1590,6 +1595,7 @@ typedef enum VkQueryType {
#ifdef VK_ENABLE_BETA_EXTENSIONS
VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR = 1000299000,
#endif
+ VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT = 1000382000,
VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF
} VkQueryType;
@@ -1984,14 +1990,15 @@ typedef enum VkImageAspectFlagBits {
VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010,
VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020,
VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040,
+ VK_IMAGE_ASPECT_NONE = 0,
VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080,
VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100,
VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200,
VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400,
- VK_IMAGE_ASPECT_NONE_KHR = 0,
VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT,
VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT,
VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT,
+ VK_IMAGE_ASPECT_NONE_KHR = VK_IMAGE_ASPECT_NONE,
VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
} VkImageAspectFlagBits;
typedef VkFlags VkImageAspectFlags;
@@ -2067,6 +2074,7 @@ typedef enum VkImageCreateFlagBits {
VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000,
VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000,
VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000,
+ VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT = 0x00020000,
VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM = 0x00008000,
VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,
VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT,
@@ -2124,6 +2132,11 @@ typedef enum VkImageUsageFlagBits {
VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
} VkImageUsageFlagBits;
typedef VkFlags VkImageUsageFlags;
+
+typedef enum VkInstanceCreateFlagBits {
+ VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR = 0x00000001,
+ VK_INSTANCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
+} VkInstanceCreateFlagBits;
typedef VkFlags VkInstanceCreateFlags;
typedef enum VkMemoryHeapFlagBits {
@@ -2360,6 +2373,8 @@ typedef enum VkPipelineCreateFlagBits {
VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080,
VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00040000,
VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 0x00000800,
+ VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT = 0x00800000,
+ VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT = 0x00000400,
VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x00100000,
VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT,
VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
@@ -2436,6 +2451,11 @@ typedef enum VkPipelineColorBlendStateCreateFlagBits {
} VkPipelineColorBlendStateCreateFlagBits;
typedef VkFlags VkPipelineColorBlendStateCreateFlags;
typedef VkFlags VkPipelineDynamicStateCreateFlags;
+
+typedef enum VkPipelineLayoutCreateFlagBits {
+ VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT = 0x00000002,
+ VK_PIPELINE_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
+} VkPipelineLayoutCreateFlagBits;
typedef VkFlags VkPipelineLayoutCreateFlags;
typedef VkFlags VkShaderStageFlags;
@@ -6259,10 +6279,6 @@ typedef enum VkToolPurposeFlagBits {
VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
} VkToolPurposeFlagBits;
typedef VkFlags VkToolPurposeFlags;
-
-typedef enum VkPrivateDataSlotCreateFlagBits {
- VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
-} VkPrivateDataSlotCreateFlagBits;
typedef VkFlags VkPrivateDataSlotCreateFlags;
typedef VkFlags64 VkPipelineStageFlags2;
@@ -9468,6 +9484,11 @@ typedef VkFormatProperties3 VkFormatProperties3KHR;
+#define VK_KHR_portability_enumeration 1
+#define VK_KHR_PORTABILITY_ENUMERATION_SPEC_VERSION 1
+#define VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME "VK_KHR_portability_enumeration"
+
+
#define VK_KHR_maintenance4 1
#define VK_KHR_MAINTENANCE_4_SPEC_VERSION 2
#define VK_KHR_MAINTENANCE_4_EXTENSION_NAME "VK_KHR_maintenance4"
@@ -13127,8 +13148,6 @@ typedef VkPrivateDataSlot VkPrivateDataSlotEXT;
#define VK_EXT_PRIVATE_DATA_EXTENSION_NAME "VK_EXT_private_data"
typedef VkPrivateDataSlotCreateFlags VkPrivateDataSlotCreateFlagsEXT;
-typedef VkPrivateDataSlotCreateFlagBits VkPrivateDataSlotCreateFlagBitsEXT;
-
typedef VkPhysicalDevicePrivateDataFeatures VkPhysicalDevicePrivateDataFeaturesEXT;
typedef VkDevicePrivateDataCreateInfo VkDevicePrivateDataCreateInfoEXT;
@@ -13205,6 +13224,39 @@ typedef struct VkDeviceDiagnosticsConfigCreateInfoNV {
#define VK_QCOM_RENDER_PASS_STORE_OPS_EXTENSION_NAME "VK_QCOM_render_pass_store_ops"
+#define VK_EXT_graphics_pipeline_library 1
+#define VK_EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION 1
+#define VK_EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME "VK_EXT_graphics_pipeline_library"
+
+typedef enum VkGraphicsPipelineLibraryFlagBitsEXT {
+ VK_GRAPHICS_PIPELINE_LIBRARY_VERTEX_INPUT_INTERFACE_BIT_EXT = 0x00000001,
+ VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT = 0x00000002,
+ VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT = 0x00000004,
+ VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT = 0x00000008,
+ VK_GRAPHICS_PIPELINE_LIBRARY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
+} VkGraphicsPipelineLibraryFlagBitsEXT;
+typedef VkFlags VkGraphicsPipelineLibraryFlagsEXT;
+typedef struct VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT {
+ VkStructureType sType;
+ void* pNext;
+ VkBool32 graphicsPipelineLibrary;
+} VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT;
+
+typedef struct VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT {
+ VkStructureType sType;
+ void* pNext;
+ VkBool32 graphicsPipelineLibraryFastLinking;
+ VkBool32 graphicsPipelineLibraryIndependentInterpolationDecoration;
+} VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT;
+
+typedef struct VkGraphicsPipelineLibraryCreateInfoEXT {
+ VkStructureType sType;
+ void* pNext;
+ VkGraphicsPipelineLibraryFlagsEXT flags;
+} VkGraphicsPipelineLibraryCreateInfoEXT;
+
+
+
#define VK_NV_fragment_shading_rate_enums 1
#define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION 1
#define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME "VK_NV_fragment_shading_rate_enums"
@@ -13418,7 +13470,7 @@ typedef struct VkPhysicalDevice4444FormatsFeaturesEXT {
#define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME "VK_ARM_rasterization_order_attachment_access"
typedef struct VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM {
VkStructureType sType;
- const void* pNext;
+ void* pNext;
VkBool32 rasterizationOrderColorAttachmentAccess;
VkBool32 rasterizationOrderDepthAttachmentAccess;
VkBool32 rasterizationOrderStencilAttachmentAccess;
@@ -13710,6 +13762,19 @@ VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWrite
#endif
+#define VK_EXT_primitives_generated_query 1
+#define VK_EXT_PRIMITIVES_GENERATED_QUERY_SPEC_VERSION 1
+#define VK_EXT_PRIMITIVES_GENERATED_QUERY_EXTENSION_NAME "VK_EXT_primitives_generated_query"
+typedef struct VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {
+ VkStructureType sType;
+ void* pNext;
+ VkBool32 primitivesGeneratedQuery;
+ VkBool32 primitivesGeneratedQueryWithRasterizerDiscard;
+ VkBool32 primitivesGeneratedQueryWithNonZeroStreams;
+} VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT;
+
+
+
#define VK_EXT_global_priority_query 1
#define VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION 1
#define VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME "VK_EXT_global_priority_query"
@@ -13786,6 +13851,18 @@ VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiIndexedEXT(
#endif
+#define VK_EXT_image_2d_view_of_3d 1
+#define VK_EXT_IMAGE_2D_VIEW_OF_3D_SPEC_VERSION 1
+#define VK_EXT_IMAGE_2D_VIEW_OF_3D_EXTENSION_NAME "VK_EXT_image_2d_view_of_3d"
+typedef struct VkPhysicalDeviceImage2DViewOf3DFeaturesEXT {
+ VkStructureType sType;
+ void* pNext;
+ VkBool32 image2DViewOf3D;
+ VkBool32 sampler2DViewOf3D;
+} VkPhysicalDeviceImage2DViewOf3DFeaturesEXT;
+
+
+
#define VK_EXT_load_store_op_none 1
#define VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION 1
#define VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME "VK_EXT_load_store_op_none"
@@ -13829,6 +13906,45 @@ VKAPI_ATTR void VKAPI_CALL vkSetDeviceMemoryPriorityEXT(
#endif
+#define VK_VALVE_descriptor_set_host_mapping 1
+#define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION 1
+#define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME "VK_VALVE_descriptor_set_host_mapping"
+typedef struct VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {
+ VkStructureType sType;
+ void* pNext;
+ VkBool32 descriptorSetHostMapping;
+} VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE;
+
+typedef struct VkDescriptorSetBindingReferenceVALVE {
+ VkStructureType sType;
+ const void* pNext;
+ VkDescriptorSetLayout descriptorSetLayout;
+ uint32_t binding;
+} VkDescriptorSetBindingReferenceVALVE;
+
+typedef struct VkDescriptorSetLayoutHostMappingInfoVALVE {
+ VkStructureType sType;
+ void* pNext;
+ size_t descriptorOffset;
+ uint32_t descriptorSize;
+} VkDescriptorSetLayoutHostMappingInfoVALVE;
+
+typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE)(VkDevice device, const VkDescriptorSetBindingReferenceVALVE* pBindingReference, VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping);
+typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetHostMappingVALVE)(VkDevice device, VkDescriptorSet descriptorSet, void** ppData);
+
+#ifndef VK_NO_PROTOTYPES
+VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutHostMappingInfoVALVE(
+ VkDevice device,
+ const VkDescriptorSetBindingReferenceVALVE* pBindingReference,
+ VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping);
+
+VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetHostMappingVALVE(
+ VkDevice device,
+ VkDescriptorSet descriptorSet,
+ void** ppData);
+#endif
+
+
#define VK_QCOM_fragment_density_map_offset 1
#define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION 1
#define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME "VK_QCOM_fragment_density_map_offset"