Update vulkan & SPIR-V headers to latest

This commit is contained in:
baldurk
2022-04-13 12:19:15 +01:00
parent f8c792d84e
commit da08c10c41
22 changed files with 1738 additions and 362 deletions
+4 -3
View File
@@ -166,13 +166,14 @@
<ids type="enumerant" start="6144" end="6271" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
<ids type="enumerant" start="6272" end="6399" vendor="Huawei" comment="Contact wanghuilong2@xunweitech.com"/>
<ids type="enumerant" start="6400" end="6463" vendor="Intel" comment="Contact ben.ashbaugh@intel.com"/>
<ids type="enumerant" start="6464" end="6527" vendor="Mikkosoft Productions" comment="Contact Mikko Rasa, tdb@tdb.fi"/>
<!-- Enumerants to reserve for future use. To get a block, allocate
multiples of 64 starting at the lowest available point in this
block and add a corresponding <ids> tag immediately above. Make
sure to fill in the vendor attribute, and preferably add a contact
person/address in a comment attribute. -->
<!-- Example new block: <ids type="enumerant" start="XXXX" end="XXXX+64n-1" vendor="Add vendor" comment="Contact TBD"/> -->
<ids type="enumerant" start="6464" end="4294967295" comment="Enumerant range reservable for future use by vendors"/>
<ids type="enumerant" start="6528" end="4294967295" comment="Enumerant range reservable for future use by vendors"/>
<!-- End reservations of enumerants -->
@@ -192,8 +193,8 @@
<!-- Reserved loop control bits -->
<ids type="LoopControl" start="0" end="15" vendor="Khronos" comment="Reserved LoopControl bits, not available to vendors - see the SPIR-V Specification"/>
<ids type="LoopControl" start="16" end="24" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
<ids type="LoopControl" start="25" end="30" comment="Unreserved bits reservable for use by vendors"/>
<ids type="LoopControl" start="16" end="25" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
<ids type="LoopControl" start="26" end="30" comment="Unreserved bits reservable for use by vendors"/>
<ids type="LoopControl" start="31" end="31" vendor="Khronos" comment="Reserved LoopControl bit, not available to vendors"/>
@@ -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"
}
]
},
@@ -3489,6 +3489,15 @@ void ThreadState::StepNext(ShaderDebugState *state, const rdcarray<ThreadState>
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<ThreadState>
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());
@@ -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:
{
@@ -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<rdcstr(rdcspv::Id)> &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<rdcstr(rdcspv::Id)> &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<rdcstr(rdcspv::Id)> &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<void(Id,bool)
case rdcspv::Op::SpecConstantCompositeContinuedINTEL:
for(size_t i=0; i < size-1; i++) callback(Id::fromWord(it.word(1+i)), false);
break;
case rdcspv::Op::ControlBarrierArriveINTEL:
callback(Id::fromWord(it.word(1)), false);
callback(Id::fromWord(it.word(2)), false);
callback(Id::fromWord(it.word(3)), false);
break;
case rdcspv::Op::ControlBarrierWaitINTEL:
callback(Id::fromWord(it.word(1)), false);
callback(Id::fromWord(it.word(2)), false);
callback(Id::fromWord(it.word(3)), false);
break;
case rdcspv::Op::GroupIMulKHR:
callback(Id::fromWord(it.word(1)), false);
callback(Id::fromWord(it.word(2)), true);
callback(Id::fromWord(it.word(3)), false);
callback(Id::fromWord(it.word(5)), false);
break;
case rdcspv::Op::GroupFMulKHR:
callback(Id::fromWord(it.word(1)), false);
callback(Id::fromWord(it.word(2)), true);
callback(Id::fromWord(it.word(3)), false);
callback(Id::fromWord(it.word(5)), false);
break;
case rdcspv::Op::GroupBitwiseAndKHR:
callback(Id::fromWord(it.word(1)), false);
callback(Id::fromWord(it.word(2)), true);
callback(Id::fromWord(it.word(3)), false);
callback(Id::fromWord(it.word(5)), false);
break;
case rdcspv::Op::GroupBitwiseOrKHR:
callback(Id::fromWord(it.word(1)), false);
callback(Id::fromWord(it.word(2)), true);
callback(Id::fromWord(it.word(3)), false);
callback(Id::fromWord(it.word(5)), false);
break;
case rdcspv::Op::GroupBitwiseXorKHR:
callback(Id::fromWord(it.word(1)), false);
callback(Id::fromWord(it.word(2)), true);
callback(Id::fromWord(it.word(3)), false);
callback(Id::fromWord(it.word(5)), false);
break;
case rdcspv::Op::GroupLogicalAndKHR:
callback(Id::fromWord(it.word(1)), false);
callback(Id::fromWord(it.word(2)), true);
callback(Id::fromWord(it.word(3)), false);
callback(Id::fromWord(it.word(5)), false);
break;
case rdcspv::Op::GroupLogicalOrKHR:
callback(Id::fromWord(it.word(1)), false);
callback(Id::fromWord(it.word(2)), true);
callback(Id::fromWord(it.word(3)), false);
callback(Id::fromWord(it.word(5)), false);
break;
case rdcspv::Op::GroupLogicalXorKHR:
callback(Id::fromWord(it.word(1)), false);
callback(Id::fromWord(it.word(2)), true);
callback(Id::fromWord(it.word(3)), false);
callback(Id::fromWord(it.word(5)), false);
break;
case Op::Max: break;
}
}
@@ -7690,6 +7777,74 @@ rdcstr OpDecoder::Disassemble(const ConstIter &it, const std::function<rdcstr(Id
ret += "SpecConstantCompositeContinuedINTEL(" + ParamsToStr(idName, decoded.constituents) + ")";
break;
}
case rdcspv::Op::ControlBarrierArriveINTEL:
{
OpControlBarrierArriveINTEL decoded(it);
ret += "ControlBarrierArriveINTEL(" + ToStr(Scope(constIntVal(decoded.execution))) + ", " + ToStr(Scope(constIntVal(decoded.memory))) + ", " + ToStr(MemorySemantics(constIntVal(decoded.semantics))) + ")";
break;
}
case rdcspv::Op::ControlBarrierWaitINTEL:
{
OpControlBarrierWaitINTEL decoded(it);
ret += "ControlBarrierWaitINTEL(" + ToStr(Scope(constIntVal(decoded.execution))) + ", " + ToStr(Scope(constIntVal(decoded.memory))) + ", " + ToStr(MemorySemantics(constIntVal(decoded.semantics))) + ")";
break;
}
case rdcspv::Op::GroupIMulKHR:
{
OpGroupIMulKHR decoded(it);
ret += declName(decoded.resultType, decoded.result) + " = ";
ret += "GroupIMulKHR(" + ToStr(Scope(constIntVal(decoded.execution))) + ", " + ParamToStr(idName, decoded.operation) + ", " + ParamToStr(idName, decoded.x) + ")";
break;
}
case rdcspv::Op::GroupFMulKHR:
{
OpGroupFMulKHR decoded(it);
ret += declName(decoded.resultType, decoded.result) + " = ";
ret += "GroupFMulKHR(" + ToStr(Scope(constIntVal(decoded.execution))) + ", " + ParamToStr(idName, decoded.operation) + ", " + ParamToStr(idName, decoded.x) + ")";
break;
}
case rdcspv::Op::GroupBitwiseAndKHR:
{
OpGroupBitwiseAndKHR decoded(it);
ret += declName(decoded.resultType, decoded.result) + " = ";
ret += "GroupBitwiseAndKHR(" + ToStr(Scope(constIntVal(decoded.execution))) + ", " + ParamToStr(idName, decoded.operation) + ", " + ParamToStr(idName, decoded.x) + ")";
break;
}
case rdcspv::Op::GroupBitwiseOrKHR:
{
OpGroupBitwiseOrKHR decoded(it);
ret += declName(decoded.resultType, decoded.result) + " = ";
ret += "GroupBitwiseOrKHR(" + ToStr(Scope(constIntVal(decoded.execution))) + ", " + ParamToStr(idName, decoded.operation) + ", " + ParamToStr(idName, decoded.x) + ")";
break;
}
case rdcspv::Op::GroupBitwiseXorKHR:
{
OpGroupBitwiseXorKHR decoded(it);
ret += declName(decoded.resultType, decoded.result) + " = ";
ret += "GroupBitwiseXorKHR(" + ToStr(Scope(constIntVal(decoded.execution))) + ", " + ParamToStr(idName, decoded.operation) + ", " + ParamToStr(idName, decoded.x) + ")";
break;
}
case rdcspv::Op::GroupLogicalAndKHR:
{
OpGroupLogicalAndKHR decoded(it);
ret += declName(decoded.resultType, decoded.result) + " = ";
ret += "GroupLogicalAndKHR(" + ToStr(Scope(constIntVal(decoded.execution))) + ", " + ParamToStr(idName, decoded.operation) + ", " + ParamToStr(idName, decoded.x) + ")";
break;
}
case rdcspv::Op::GroupLogicalOrKHR:
{
OpGroupLogicalOrKHR decoded(it);
ret += declName(decoded.resultType, decoded.result) + " = ";
ret += "GroupLogicalOrKHR(" + ToStr(Scope(constIntVal(decoded.execution))) + ", " + ParamToStr(idName, decoded.operation) + ", " + ParamToStr(idName, decoded.x) + ")";
break;
}
case rdcspv::Op::GroupLogicalXorKHR:
{
OpGroupLogicalXorKHR decoded(it);
ret += declName(decoded.resultType, decoded.result) + " = ";
ret += "GroupLogicalXorKHR(" + ToStr(Scope(constIntVal(decoded.execution))) + ", " + ParamToStr(idName, decoded.operation) + ", " + ParamToStr(idName, decoded.x) + ")";
break;
}
case Op::Max: break;
}
return ret;
@@ -8164,6 +8319,16 @@ OpDecoder::OpDecoder(const ConstIter &it)
case rdcspv::Op::TypeStructContinuedINTEL: result = Id(); resultType = Id(); break;
case rdcspv::Op::ConstantCompositeContinuedINTEL: result = Id(); resultType = Id(); break;
case rdcspv::Op::SpecConstantCompositeContinuedINTEL: result = Id(); resultType = Id(); break;
case rdcspv::Op::ControlBarrierArriveINTEL: result = Id(); resultType = Id(); break;
case rdcspv::Op::ControlBarrierWaitINTEL: result = Id(); resultType = Id(); break;
case rdcspv::Op::GroupIMulKHR: result = Id::fromWord(it.word(2)); resultType = Id::fromWord(it.word(1)); break;
case rdcspv::Op::GroupFMulKHR: result = Id::fromWord(it.word(2)); resultType = Id::fromWord(it.word(1)); break;
case rdcspv::Op::GroupBitwiseAndKHR: result = Id::fromWord(it.word(2)); resultType = Id::fromWord(it.word(1)); break;
case rdcspv::Op::GroupBitwiseOrKHR: result = Id::fromWord(it.word(2)); resultType = Id::fromWord(it.word(1)); break;
case rdcspv::Op::GroupBitwiseXorKHR: result = Id::fromWord(it.word(2)); resultType = Id::fromWord(it.word(1)); break;
case rdcspv::Op::GroupLogicalAndKHR: result = Id::fromWord(it.word(2)); resultType = Id::fromWord(it.word(1)); break;
case rdcspv::Op::GroupLogicalOrKHR: result = Id::fromWord(it.word(2)); resultType = Id::fromWord(it.word(1)); break;
case rdcspv::Op::GroupLogicalXorKHR: result = Id::fromWord(it.word(2)); resultType = Id::fromWord(it.word(1)); break;
case Op::Max: break;
}
}
@@ -259,6 +259,8 @@ enum class MemoryAccess : uint32_t
MakePointerVisibleKHR = 0x0010,
NonPrivatePointer = 0x0020,
NonPrivatePointerKHR = 0x0020,
AliasScopeINTELMask = 0x10000,
NoAliasINTELMask = 0x20000,
Max,
Invalid = ~0U,
};
@@ -315,6 +317,7 @@ enum class SourceLanguage : uint32_t
OpenCL_CPP = 4,
HLSL = 5,
CPP_for_OpenCL = 6,
SYCL = 7,
Max,
Invalid = ~0U,
};
@@ -437,6 +440,7 @@ enum class ExecutionMode : uint32_t
NoGlobalOffsetINTEL = 5895,
NumSIMDWorkitemsINTEL = 5896,
SchedulerTargetFmaxMhzINTEL = 5903,
NamedBarrierCountINTEL = 6417,
Max,
Invalid = ~0U,
};
@@ -793,6 +797,8 @@ enum class Decoration : uint32_t
PrefetchINTEL = 5902,
StallEnableINTEL = 5905,
FuseLoopsInFunctionINTEL = 5907,
AliasScopeINTEL = 5914,
NoAliasINTEL = 5915,
BufferLocationINTEL = 5921,
IOPipeStorageINTEL = 5944,
FunctionFloatingPointModeINTEL = 6080,
@@ -1166,6 +1172,7 @@ enum class Capability : uint32_t
FPGAMemoryAccessesINTEL = 5898,
FPGAClusterAttributesINTEL = 5904,
LoopFuseINTEL = 5906,
MemoryAccessAliasingINTEL = 5910,
FPGABufferLocationINTEL = 5920,
ArbitraryPrecisionFixedPointINTEL = 5922,
USMStorageClassesINTEL = 5935,
@@ -1187,6 +1194,8 @@ enum class Capability : uint32_t
OptNoneINTEL = 6094,
AtomicFloat16AddEXT = 6095,
DebugInfoModuleINTEL = 6114,
SplitBarrierINTEL = 6141,
GroupUniformArithmeticKHR = 6400,
Max,
Invalid = ~0U,
};
@@ -1370,6 +1379,8 @@ struct MemoryAccessAndParamDatas
IdScope makePointerAvailableKHR;
IdScope makePointerVisible;
IdScope makePointerVisibleKHR;
Id aliasScopeINTELMask;
Id noAliasINTELMask;
operator MemoryAccess() const { return flags; }
bool operator &(const MemoryAccess v) const { return bool(flags & v); }
@@ -1393,6 +1404,10 @@ struct MemoryAccessAndParamDatas
void unsetNonPrivatePointer() { flags &= ~MemoryAccess::NonPrivatePointer; }
void setNonPrivatePointerKHR() { flags |= MemoryAccess::NonPrivatePointerKHR; }
void unsetNonPrivatePointerKHR() { flags &= ~MemoryAccess::NonPrivatePointerKHR; }
void setAliasScopeINTELMask(Id aliasScopeINTELMaskParam) { flags |= MemoryAccess::AliasScopeINTELMask; aliasScopeINTELMask = aliasScopeINTELMaskParam; }
void unsetAliasScopeINTELMask() { flags &= ~MemoryAccess::AliasScopeINTELMask; }
void setNoAliasINTELMask(Id noAliasINTELMaskParam) { flags |= MemoryAccess::NoAliasINTELMask; noAliasINTELMask = noAliasINTELMaskParam; }
void unsetNoAliasINTELMask() { flags &= ~MemoryAccess::NoAliasINTELMask; }
};
struct LocalSizeParams
@@ -1461,6 +1476,7 @@ struct ExecutionModeAndParamData
uint32_t maxWorkDimINTEL;
uint32_t numSIMDWorkitemsINTEL;
uint32_t schedulerTargetFmaxMhzINTEL;
uint32_t namedBarrierCountINTEL;
};
operator ExecutionMode() const { return value; }
@@ -1529,6 +1545,8 @@ struct DecorationAndParamData
uint32_t forcePow2DepthINTEL;
uint32_t cacheSizeINTEL;
uint32_t prefetchINTEL;
Id aliasScopeINTEL;
Id noAliasINTEL;
uint32_t bufferLocationINTEL;
uint32_t iOPipeStorageINTEL;
FunctionFloatingPointModeINTELParams functionFloatingPointModeINTEL;
@@ -2014,6 +2032,16 @@ enum class Op : uint16_t
TypeStructContinuedINTEL = 6090,
ConstantCompositeContinuedINTEL = 6091,
SpecConstantCompositeContinuedINTEL = 6092,
ControlBarrierArriveINTEL = 6142,
ControlBarrierWaitINTEL = 6143,
GroupIMulKHR = 6401,
GroupFMulKHR = 6402,
GroupBitwiseAndKHR = 6403,
GroupBitwiseOrKHR = 6404,
GroupBitwiseXorKHR = 6405,
GroupLogicalAndKHR = 6406,
GroupLogicalOrKHR = 6407,
GroupLogicalXorKHR = 6408,
Max,
};
@@ -498,6 +498,16 @@ inline MemoryAccessAndParamDatas DecodeParam(const ConstIter &it, uint32_t &word
ret.makePointerVisible = Id::fromWord(it.word(word));
word += 1;
}
if(ret.flags & MemoryAccess::AliasScopeINTELMask)
{
ret.aliasScopeINTELMask = Id::fromWord(it.word(word));
word += 1;
}
if(ret.flags & MemoryAccess::NoAliasINTELMask)
{
ret.noAliasINTELMask = Id::fromWord(it.word(word));
word += 1;
}
return ret;
}
@@ -516,6 +526,14 @@ inline void EncodeParam(rdcarray<uint32_t> &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<ExecutionMode::SchedulerTargetFmaxMhzINTEL>
}
};
template<>
struct ExecutionModeParam<ExecutionMode::NamedBarrierCountINTEL>
{
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<uint32_t> &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<Decoration::PrefetchINTEL>
}
};
template<>
struct DecorationParam<Decoration::AliasScopeINTEL>
{
Id aliasScopeINTEL;
DecorationParam(Id aliasScopeINTELParam) { aliasScopeINTEL = aliasScopeINTELParam; }
operator DecorationAndParamData()
{
DecorationAndParamData ret(Decoration::AliasScopeINTEL);
ret.aliasScopeINTEL = aliasScopeINTEL;
return ret;
}
};
template<>
struct DecorationParam<Decoration::NoAliasINTEL>
{
Id noAliasINTEL;
DecorationParam(Id noAliasINTELParam) { noAliasINTEL = noAliasINTELParam; }
operator DecorationAndParamData()
{
DecorationAndParamData ret(Decoration::NoAliasINTEL);
ret.noAliasINTEL = noAliasINTEL;
return ret;
}
};
template<>
struct DecorationParam<Decoration::BufferLocationINTEL>
{
@@ -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<uint32_t> &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<Id> 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<typename T>
inline rdcstr ParamToStr(const std::function<rdcstr(rdcspv::Id)> &idName, const T &el)
{
@@ -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;
}
+5
View File
@@ -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
@@ -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
@@ -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;
+165 -49
View File
@@ -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"
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -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);
@@ -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;
@@ -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: \
+19 -3
View File
@@ -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)
+15 -10
View File
@@ -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();
}
+12
View File
@@ -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)) */
+9 -1
View File
@@ -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)) */
@@ -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;
+165 -49
View File
@@ -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"