[tint][ir] Remove BuiltinCall::IntrinsicName()
And move the 'spirv.' prefix to the spirv::ir::BuiltinCall()
implementation of FriendlyName().
Change-Id: I684f13b03247f9dab9856f377b23a23881e6017e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/152548
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
diff --git a/src/tint/lang/core/ir/builtin_call.h b/src/tint/lang/core/ir/builtin_call.h
index fe35766..6874f7e 100644
--- a/src/tint/lang/core/ir/builtin_call.h
+++ b/src/tint/lang/core/ir/builtin_call.h
@@ -36,9 +36,6 @@
/// @returns the identifier for the function
virtual size_t FuncId() = 0;
- /// @returns the intrinsic name
- virtual const char* IntrinsicName() = 0;
-
/// @returns the table data to validate this builtin
virtual const core::intrinsic::TableData& TableData() = 0;
};
diff --git a/src/tint/lang/core/ir/core_builtin_call.h b/src/tint/lang/core/ir/core_builtin_call.h
index 24c998d..9228678 100644
--- a/src/tint/lang/core/ir/core_builtin_call.h
+++ b/src/tint/lang/core/ir/core_builtin_call.h
@@ -49,9 +49,6 @@
/// @returns the friendly name for the instruction
std::string FriendlyName() override { return core::str(func_); }
- /// @returns the intrinsic name
- const char* IntrinsicName() override { return core::str(func_); }
-
/// @returns the table data to validate this builtin
const core::intrinsic::TableData& TableData() override { return core::intrinsic::data::kData; }
diff --git a/src/tint/lang/core/ir/validator.cc b/src/tint/lang/core/ir/validator.cc
index 3a2a461..2fc78c8 100644
--- a/src/tint/lang/core/ir/validator.cc
+++ b/src/tint/lang/core/ir/validator.cc
@@ -531,8 +531,8 @@
auto args = Transform<8>(call->Args(), [&](ir::Value* v) { return v->Type(); });
intrinsic::Context context{call->TableData(), mod_.Types(), mod_.symbols, diagnostics_};
- auto result = core::intrinsic::Lookup(context, call->IntrinsicName(), call->FuncId(), args,
- core::EvaluationStage::kRuntime, Source{});
+ auto result = core::intrinsic::Lookup(context, call->FriendlyName().c_str(), call->FuncId(),
+ args, core::EvaluationStage::kRuntime, Source{});
if (result) {
if (result->return_type != call->Result()->Type()) {
AddError(call, InstError(call, "call result type does not match builtin return type"));
diff --git a/src/tint/lang/spirv/builtin_fn.cc b/src/tint/lang/spirv/builtin_fn.cc
index dbf99a9..602d0aa 100644
--- a/src/tint/lang/spirv/builtin_fn.cc
+++ b/src/tint/lang/spirv/builtin_fn.cc
@@ -30,71 +30,71 @@
case BuiltinFn::kNone:
return "<none>";
case BuiltinFn::kArrayLength:
- return "spirv.array_length";
+ return "array_length";
case BuiltinFn::kAtomicAnd:
- return "spirv.atomic_and";
+ return "atomic_and";
case BuiltinFn::kAtomicCompareExchange:
- return "spirv.atomic_compare_exchange";
+ return "atomic_compare_exchange";
case BuiltinFn::kAtomicExchange:
- return "spirv.atomic_exchange";
+ return "atomic_exchange";
case BuiltinFn::kAtomicIadd:
- return "spirv.atomic_iadd";
+ return "atomic_iadd";
case BuiltinFn::kAtomicIsub:
- return "spirv.atomic_isub";
+ return "atomic_isub";
case BuiltinFn::kAtomicLoad:
- return "spirv.atomic_load";
+ return "atomic_load";
case BuiltinFn::kAtomicOr:
- return "spirv.atomic_or";
+ return "atomic_or";
case BuiltinFn::kAtomicSmax:
- return "spirv.atomic_smax";
+ return "atomic_smax";
case BuiltinFn::kAtomicSmin:
- return "spirv.atomic_smin";
+ return "atomic_smin";
case BuiltinFn::kAtomicStore:
- return "spirv.atomic_store";
+ return "atomic_store";
case BuiltinFn::kAtomicUmax:
- return "spirv.atomic_umax";
+ return "atomic_umax";
case BuiltinFn::kAtomicUmin:
- return "spirv.atomic_umin";
+ return "atomic_umin";
case BuiltinFn::kAtomicXor:
- return "spirv.atomic_xor";
+ return "atomic_xor";
case BuiltinFn::kDot:
- return "spirv.dot";
+ return "dot";
case BuiltinFn::kImageDrefGather:
- return "spirv.image_dref_gather";
+ return "image_dref_gather";
case BuiltinFn::kImageFetch:
- return "spirv.image_fetch";
+ return "image_fetch";
case BuiltinFn::kImageGather:
- return "spirv.image_gather";
+ return "image_gather";
case BuiltinFn::kImageQuerySize:
- return "spirv.image_query_size";
+ return "image_query_size";
case BuiltinFn::kImageQuerySizeLod:
- return "spirv.image_query_size_lod";
+ return "image_query_size_lod";
case BuiltinFn::kImageRead:
- return "spirv.image_read";
+ return "image_read";
case BuiltinFn::kImageSampleImplicitLod:
- return "spirv.image_sample_implicit_lod";
+ return "image_sample_implicit_lod";
case BuiltinFn::kImageSampleExplicitLod:
- return "spirv.image_sample_explicit_lod";
+ return "image_sample_explicit_lod";
case BuiltinFn::kImageSampleDrefImplicitLod:
- return "spirv.image_sample_dref_implicit_lod";
+ return "image_sample_dref_implicit_lod";
case BuiltinFn::kImageSampleDrefExplicitLod:
- return "spirv.image_sample_dref_explicit_lod";
+ return "image_sample_dref_explicit_lod";
case BuiltinFn::kImageWrite:
- return "spirv.image_write";
+ return "image_write";
case BuiltinFn::kMatrixTimesMatrix:
- return "spirv.matrix_times_matrix";
+ return "matrix_times_matrix";
case BuiltinFn::kMatrixTimesScalar:
- return "spirv.matrix_times_scalar";
+ return "matrix_times_scalar";
case BuiltinFn::kMatrixTimesVector:
- return "spirv.matrix_times_vector";
+ return "matrix_times_vector";
case BuiltinFn::kSampledImage:
- return "spirv.sampled_image";
+ return "sampled_image";
case BuiltinFn::kSelect:
- return "spirv.select";
+ return "select";
case BuiltinFn::kVectorTimesMatrix:
- return "spirv.vector_times_matrix";
+ return "vector_times_matrix";
case BuiltinFn::kVectorTimesScalar:
- return "spirv.vector_times_scalar";
+ return "vector_times_scalar";
}
return "<unknown>";
}
diff --git a/src/tint/lang/spirv/builtin_fn.cc.tmpl b/src/tint/lang/spirv/builtin_fn.cc.tmpl
index 220d19e..9e20878 100644
--- a/src/tint/lang/spirv/builtin_fn.cc.tmpl
+++ b/src/tint/lang/spirv/builtin_fn.cc.tmpl
@@ -22,7 +22,7 @@
return "<none>";
{{- range $I.Sem.Builtins }}
case BuiltinFn::k{{PascalCase .Name}}:
- return "spirv.{{.Name}}";
+ return "{{.Name}}";
{{- end }}
}
return "<unknown>";
diff --git a/src/tint/lang/spirv/ir/builtin_call.h b/src/tint/lang/spirv/ir/builtin_call.h
index 4ae0ee6..5eeefb9 100644
--- a/src/tint/lang/spirv/ir/builtin_call.h
+++ b/src/tint/lang/spirv/ir/builtin_call.h
@@ -47,10 +47,7 @@
size_t FuncId() override { return static_cast<size_t>(func_); }
/// @returns the friendly name for the instruction
- std::string FriendlyName() override { return str(func_); }
-
- /// @returns the intrinsic name
- const char* IntrinsicName() override { return str(func_); }
+ std::string FriendlyName() override { return std::string("spirv.") + str(func_); }
/// @returns the table data to validate this builtin
const core::intrinsic::TableData& TableData() override { return spirv::intrinsic::data::kData; }