Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/KhronosGroup/SPIRV-Headers.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorTorosdagli <ntorosda@amd.com>2020-03-04 02:01:57 +0300
committerDaniel Koch <dkoch@nvidia.com>2020-03-17 14:41:09 +0300
commit9a186c772c75014e5cff241586cd8a98b4b1430e (patch)
tree89a46d574b9efda562b4b701cc1f4521229018ce /tools
parent95b48cedd07d4134ef0005898f8354615ca64282 (diff)
Added ray flags, primitive culling flags, queries
Diffstat (limited to 'tools')
-rw-r--r--tools/buildHeaders/jsonToSpirv.cpp20
-rw-r--r--tools/buildHeaders/jsonToSpirv.h4
2 files changed, 24 insertions, 0 deletions
diff --git a/tools/buildHeaders/jsonToSpirv.cpp b/tools/buildHeaders/jsonToSpirv.cpp
index 2190bd3..4649e21 100644
--- a/tools/buildHeaders/jsonToSpirv.cpp
+++ b/tools/buildHeaders/jsonToSpirv.cpp
@@ -77,6 +77,10 @@ EnumValues ScopeParams;
EnumValues KernelEnqueueFlagsParams;
EnumValues KernelProfilingInfoParams;
EnumValues CapabilityParams;
+EnumValues RayFlagsParams;
+EnumValues RayQueryIntersectionParams;
+EnumValues RayQueryCommittedIntersectionTypeParams;
+EnumValues RayQueryCandidateIntersectionTypeParams;
std::pair<bool, std::string> ReadFile(const std::string& path)
{
@@ -203,6 +207,14 @@ ClassOptionality ToOperandClassAndOptionality(const std::string& operandKind, co
type = OperandFunction;
} else if (operandKind == "MemoryAccess") {
type = OperandMemoryOperands;
+ } else if (operandKind == "RayFlags") {
+ type = OperandRayFlags;
+ } else if (operandKind == "RayQueryIntersection") {
+ type = OperandRayQueryIntersection;
+ } else if (operandKind == "RayQueryCommittedIntersectionType") {
+ type = OperandRayQueryCommittedIntersectionType;
+ } else if (operandKind == "RayQueryCandidateIntersectionType") {
+ type = OperandRayQueryCandidateIntersectionType;
}
if (type == OperandNone) {
@@ -463,6 +475,14 @@ void jsonToSpirv(const std::string& jsonPath, bool buildingHeaders)
establishOperandClass(enumName, OperandKernelEnqueueFlags, &KernelEnqueueFlagsParams, operandEnum, category);
} else if (enumName == "KernelProfilingInfo") {
establishOperandClass(enumName, OperandKernelProfilingInfo, &KernelProfilingInfoParams, operandEnum, category);
+ } else if (enumName == "RayFlags") {
+ establishOperandClass(enumName, OperandRayFlags, &RayFlagsParams, operandEnum, category);
+ } else if (enumName == "RayQueryIntersection") {
+ establishOperandClass(enumName, OperandRayQueryIntersection, &RayQueryIntersectionParams, operandEnum, category);
+ } else if (enumName == "RayQueryCommittedIntersectionType") {
+ establishOperandClass(enumName, OperandRayQueryCommittedIntersectionType, &RayQueryCommittedIntersectionTypeParams, operandEnum, category);
+ } else if (enumName == "RayQueryCandidateIntersectionType") {
+ establishOperandClass(enumName, OperandRayQueryCandidateIntersectionType, &RayQueryCandidateIntersectionTypeParams, operandEnum, category);
}
}
}
diff --git a/tools/buildHeaders/jsonToSpirv.h b/tools/buildHeaders/jsonToSpirv.h
index 0764de3..81e38c2 100644
--- a/tools/buildHeaders/jsonToSpirv.h
+++ b/tools/buildHeaders/jsonToSpirv.h
@@ -83,6 +83,10 @@ enum OperandClass {
OperandKernelEnqueueFlags,
OperandKernelProfilingInfo,
OperandCapability,
+ OperandRayFlags,
+ OperandRayQueryIntersection,
+ OperandRayQueryCommittedIntersectionType,
+ OperandRayQueryCandidateIntersectionType,
OperandOpcode,