dawn-cmake/src/sem/parameter_usage.cc
Ben Clayton 142143109a intrinsic-gen: Additional functionality
* Add new template utilty functions, including the ability to split out multiple files.
* Add basic printing of the semantic overloads.
* Add a pointer from the overload to the function
* Change TemplateArguments from a list of FQN to a list of interface{} (any).  This is required as once the overload is permutated, some arguments will need to hold integers.

This will be used by the test generator.

Bug: tint:832
Change-Id: Idbfbe85e52489b31850cbb0ee7430bb4b021530e
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/53046
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
2021-06-03 09:16:14 +00:00

64 lines
1.9 KiB
C++

// Copyright 2021 The Tint Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
////////////////////////////////////////////////////////////////////////////////
// File generated by tools/intrinsic-gen
// using the template:
// src/sem/parameter_usage.cc.tmpl
// and the intrinsic defintion file:
// src/intrinsics.def
//
// Do not modify this file directly
////////////////////////////////////////////////////////////////////////////////
#include "src/sem/parameter_usage.h"
namespace tint {
namespace sem {
const char* str(ParameterUsage usage) {
switch (usage) {
case ParameterUsage::kNone:
return "none";
case ParameterUsage::kArrayIndex:
return "array_index";
case ParameterUsage::kBias:
return "bias";
case ParameterUsage::kCoords:
return "coords";
case ParameterUsage::kDdx:
return "ddx";
case ParameterUsage::kDdy:
return "ddy";
case ParameterUsage::kDepthRef:
return "depth_ref";
case ParameterUsage::kLevel:
return "level";
case ParameterUsage::kOffset:
return "offset";
case ParameterUsage::kSampleIndex:
return "sample_index";
case ParameterUsage::kSampler:
return "sampler";
case ParameterUsage::kTexture:
return "texture";
case ParameterUsage::kValue:
return "value";
}
return "<unknown>";
}
} // namespace sem
} // namespace tint