mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-08-22 19:52:00 +00:00
Emits all the enum info from the single-source-of-truth `intrinsics.def` file Change-Id: Ie9deba9e64927945133027cf243777944119ea41 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/105327 Kokoro: Kokoro <noreply+kokoro@google.com> Reviewed-by: Dan Sinclair <dsinclair@chromium.org> Commit-Queue: Ben Clayton <bclayton@google.com>
51 lines
1.6 KiB
Cheetah
51 lines
1.6 KiB
Cheetah
{{- /*
|
|
--------------------------------------------------------------------------------
|
|
Template file for use with tools/src/cmd/gen to generate builtin_value.cc
|
|
|
|
See:
|
|
* tools/src/cmd/gen for structures used by this template
|
|
* https://golang.org/pkg/text/template/ for documentation on the template syntax
|
|
--------------------------------------------------------------------------------
|
|
*/ -}}
|
|
|
|
{{- Import "src/tint/templates/enums.tmpl.inc" -}}
|
|
|
|
#include "src/tint/ast/interpolate_attribute.h"
|
|
|
|
#include <string>
|
|
|
|
#include "src/tint/program_builder.h"
|
|
|
|
TINT_INSTANTIATE_TYPEINFO(tint::ast::InterpolateAttribute);
|
|
|
|
namespace tint::ast {
|
|
|
|
InterpolateAttribute::InterpolateAttribute(ProgramID pid,
|
|
NodeID nid,
|
|
const Source& src,
|
|
InterpolationType ty,
|
|
InterpolationSampling smpl)
|
|
: Base(pid, nid, src), type(ty), sampling(smpl) {}
|
|
|
|
InterpolateAttribute::~InterpolateAttribute() = default;
|
|
|
|
std::string InterpolateAttribute::Name() const {
|
|
return "interpolate";
|
|
}
|
|
|
|
const InterpolateAttribute* InterpolateAttribute::Clone(CloneContext* ctx) const {
|
|
// Clone arguments outside of create() call to have deterministic ordering
|
|
auto src = ctx->Clone(source);
|
|
return ctx->dst->create<InterpolateAttribute>(src, type, sampling);
|
|
}
|
|
|
|
{{ Eval "ParseEnum" (Sem.Enum "interpolation_type")}}
|
|
|
|
{{ Eval "EnumOStream" (Sem.Enum "interpolation_type")}}
|
|
|
|
{{ Eval "ParseEnum" (Sem.Enum "interpolation_sampling")}}
|
|
|
|
{{ Eval "EnumOStream" (Sem.Enum "interpolation_sampling")}}
|
|
|
|
} // namespace tint::ast
|