Add enum for parameter usages.
Currently the ParameterUsages is built entirely from core.def. There are
usages we'd like to use which appear in alternate def files. This Cl
adds a `usages` enum into core.def which allows adding extra usages
above what already appears in core.def
Change-Id: Ibfbdead7a4e875fedce31546f8c1b519efa005f9
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/197216
Reviewed-by: James Price <jrprice@google.com>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
diff --git a/src/tint/lang/core/core.def b/src/tint/lang/core/core.def
index 26907a3..dce777d 100644
--- a/src/tint/lang/core/core.def
+++ b/src/tint/lang/core/core.def
@@ -224,6 +224,16 @@
input_attachment_index
}
+// These are paramter usages which show up in other def files but not in core.def.
+enum usages {
+ width
+ height
+ depth
+ elements
+ samples
+ num_levels
+}
+
////////////////////////////////////////////////////////////////////////////////
// Primitive types //
////////////////////////////////////////////////////////////////////////////////
diff --git a/src/tint/lang/core/parameter_usage.cc b/src/tint/lang/core/parameter_usage.cc
index 431dec2..4b39093 100644
--- a/src/tint/lang/core/parameter_usage.cc
+++ b/src/tint/lang/core/parameter_usage.cc
@@ -54,18 +54,28 @@
return "ddx";
case ParameterUsage::kDdy:
return "ddy";
+ case ParameterUsage::kDepth:
+ return "depth";
case ParameterUsage::kDepthRef:
return "depth_ref";
+ case ParameterUsage::kElements:
+ return "elements";
+ case ParameterUsage::kHeight:
+ return "height";
case ParameterUsage::kInputAttachment:
return "input_attachment";
case ParameterUsage::kLevel:
return "level";
+ case ParameterUsage::kNumLevels:
+ return "num_levels";
case ParameterUsage::kOffset:
return "offset";
case ParameterUsage::kSampleIndex:
return "sample_index";
case ParameterUsage::kSampler:
return "sampler";
+ case ParameterUsage::kSamples:
+ return "samples";
case ParameterUsage::kSourceLaneIndex:
return "sourceLaneIndex";
case ParameterUsage::kTexture:
@@ -74,6 +84,8 @@
return "value";
case ParameterUsage::kW:
return "w";
+ case ParameterUsage::kWidth:
+ return "width";
case ParameterUsage::kX:
return "x";
case ParameterUsage::kXy:
diff --git a/src/tint/lang/core/parameter_usage.h b/src/tint/lang/core/parameter_usage.h
index 10eecf6..5d16272 100644
--- a/src/tint/lang/core/parameter_usage.h
+++ b/src/tint/lang/core/parameter_usage.h
@@ -53,16 +53,22 @@
kCoords,
kDdx,
kDdy,
+ kDepth,
kDepthRef,
+ kElements,
+ kHeight,
kInputAttachment,
kLevel,
+ kNumLevels,
kOffset,
kSampleIndex,
kSampler,
+ kSamples,
kSourceLaneIndex,
kTexture,
kValue,
kW,
+ kWidth,
kX,
kXy,
kXyz,