reader/wgsl: Allow identifiers to start with an underscore

Try to lex identifiers before punctuation, and backtrack if we only
see a single underscore or something that starts with two underscores.

Rename the modf and frexp return types to start with two underscores.

Spec PR:
https://github.com/gpuweb/gpuweb/pull/2326

Change-Id: Id283af100babfe84faa183345cb8a60848140caa
Fixed: tint:1292
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/70160
Reviewed-by: David Neto <dneto@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: James Price <jrprice@google.com>
This commit is contained in:
James Price 2021-11-19 21:52:13 +00:00 committed by Tint LUCI CQ
parent 0e2185efca
commit 1bf5af25ad
60 changed files with 414 additions and 395 deletions

View File

@ -657,20 +657,20 @@ const sem::ExternalTexture* build_texture_external(MatchState& state) {
// Builtin types starting with a _ prefix cannot be declared in WGSL, so they // Builtin types starting with a _ prefix cannot be declared in WGSL, so they
// can only be used as return types. Because of this, they must only match Any, // can only be used as return types. Because of this, they must only match Any,
// which is used as the return type matcher. // which is used as the return type matcher.
bool match_modf_result(const sem::Type* ty) { bool match__modf_result(const sem::Type* ty) {
return ty->Is<Any>(); return ty->Is<Any>();
} }
bool match_modf_result_vec(const sem::Type* ty, Number& N) { bool match__modf_result_vec(const sem::Type* ty, Number& N) {
if (!ty->Is<Any>()) { if (!ty->Is<Any>()) {
return false; return false;
} }
N = Number::any; N = Number::any;
return true; return true;
} }
bool match_frexp_result(const sem::Type* ty) { bool match__frexp_result(const sem::Type* ty) {
return ty->Is<Any>(); return ty->Is<Any>();
} }
bool match_frexp_result_vec(const sem::Type* ty, Number& N) { bool match__frexp_result_vec(const sem::Type* ty, Number& N) {
if (!ty->Is<Any>()) { if (!ty->Is<Any>()) {
return false; return false;
} }
@ -715,27 +715,27 @@ const sem::Struct* build_struct(
/* size_no_padding */ size_without_padding); /* size_no_padding */ size_without_padding);
} }
const sem::Struct* build_modf_result(MatchState& state) { const sem::Struct* build__modf_result(MatchState& state) {
auto* f32 = state.builder.create<sem::F32>(); auto* f32 = state.builder.create<sem::F32>();
return build_struct(state, "_modf_result", {{"fract", f32}, {"whole", f32}}); return build_struct(state, "__modf_result", {{"fract", f32}, {"whole", f32}});
} }
const sem::Struct* build_modf_result_vec(MatchState& state, Number& n) { const sem::Struct* build__modf_result_vec(MatchState& state, Number& n) {
auto* vec_f32 = state.builder.create<sem::Vector>( auto* vec_f32 = state.builder.create<sem::Vector>(
state.builder.create<sem::F32>(), n.Value()); state.builder.create<sem::F32>(), n.Value());
return build_struct(state, "_modf_result_vec" + std::to_string(n.Value()), return build_struct(state, "__modf_result_vec" + std::to_string(n.Value()),
{{"fract", vec_f32}, {"whole", vec_f32}}); {{"fract", vec_f32}, {"whole", vec_f32}});
} }
const sem::Struct* build_frexp_result(MatchState& state) { const sem::Struct* build__frexp_result(MatchState& state) {
auto* f32 = state.builder.create<sem::F32>(); auto* f32 = state.builder.create<sem::F32>();
auto* i32 = state.builder.create<sem::I32>(); auto* i32 = state.builder.create<sem::I32>();
return build_struct(state, "_frexp_result", {{"sig", f32}, {"exp", i32}}); return build_struct(state, "__frexp_result", {{"sig", f32}, {"exp", i32}});
} }
const sem::Struct* build_frexp_result_vec(MatchState& state, Number& n) { const sem::Struct* build__frexp_result_vec(MatchState& state, Number& n) {
auto* vec_f32 = state.builder.create<sem::Vector>( auto* vec_f32 = state.builder.create<sem::Vector>(
state.builder.create<sem::F32>(), n.Value()); state.builder.create<sem::F32>(), n.Value());
auto* vec_i32 = state.builder.create<sem::Vector>( auto* vec_i32 = state.builder.create<sem::Vector>(
state.builder.create<sem::I32>(), n.Value()); state.builder.create<sem::I32>(), n.Value());
return build_struct(state, "_frexp_result_vec" + std::to_string(n.Value()), return build_struct(state, "__frexp_result_vec" + std::to_string(n.Value()),
{{"sig", vec_f32}, {"exp", vec_i32}}); {{"sig", vec_f32}, {"exp", vec_i32}});
} }

View File

@ -1033,7 +1033,7 @@ std::string TextureExternal::String(MatchState&) const {
return "texture_external"; return "texture_external";
} }
/// TypeMatcher for 'type _modf_result' /// TypeMatcher for 'type __modf_result'
/// @see src/intrinsics.def:100:6 /// @see src/intrinsics.def:100:6
class ModfResult : public TypeMatcher { class ModfResult : public TypeMatcher {
public: public:
@ -1050,18 +1050,18 @@ class ModfResult : public TypeMatcher {
}; };
const sem::Type* ModfResult::Match(MatchState& state, const sem::Type* ty) const { const sem::Type* ModfResult::Match(MatchState& state, const sem::Type* ty) const {
if (!match_modf_result(ty)) { if (!match__modf_result(ty)) {
return nullptr; return nullptr;
} }
return build_modf_result(state); return build__modf_result(state);
} }
std::string ModfResult::String(MatchState&) const { std::string ModfResult::String(MatchState&) const {
return "_modf_result"; return "__modf_result";
} }
/// TypeMatcher for 'type _modf_result_vec' /// TypeMatcher for 'type __modf_result_vec'
/// @see src/intrinsics.def:101:41 /// @see src/intrinsics.def:101:42
class ModfResultVec : public TypeMatcher { class ModfResultVec : public TypeMatcher {
public: public:
/// Checks whether the given type matches the matcher rules. /// Checks whether the given type matches the matcher rules.
@ -1078,24 +1078,24 @@ class ModfResultVec : public TypeMatcher {
const sem::Type* ModfResultVec::Match(MatchState& state, const sem::Type* ty) const { const sem::Type* ModfResultVec::Match(MatchState& state, const sem::Type* ty) const {
Number N = Number::invalid; Number N = Number::invalid;
if (!match_modf_result_vec(ty, N)) { if (!match__modf_result_vec(ty, N)) {
return nullptr; return nullptr;
} }
N = state.Num(N); N = state.Num(N);
if (!N.IsValid()) { if (!N.IsValid()) {
return nullptr; return nullptr;
} }
return build_modf_result_vec(state, N); return build__modf_result_vec(state, N);
} }
std::string ModfResultVec::String(MatchState& state) const { std::string ModfResultVec::String(MatchState& state) const {
const std::string N = state.NumName(); const std::string N = state.NumName();
std::stringstream ss; std::stringstream ss;
ss << "_modf_result_vec" << N; ss << "__modf_result_vec" << N;
return ss.str(); return ss.str();
} }
/// TypeMatcher for 'type _frexp_result' /// TypeMatcher for 'type __frexp_result'
/// @see src/intrinsics.def:102:6 /// @see src/intrinsics.def:102:6
class FrexpResult : public TypeMatcher { class FrexpResult : public TypeMatcher {
public: public:
@ -1112,18 +1112,18 @@ class FrexpResult : public TypeMatcher {
}; };
const sem::Type* FrexpResult::Match(MatchState& state, const sem::Type* ty) const { const sem::Type* FrexpResult::Match(MatchState& state, const sem::Type* ty) const {
if (!match_frexp_result(ty)) { if (!match__frexp_result(ty)) {
return nullptr; return nullptr;
} }
return build_frexp_result(state); return build__frexp_result(state);
} }
std::string FrexpResult::String(MatchState&) const { std::string FrexpResult::String(MatchState&) const {
return "_frexp_result"; return "__frexp_result";
} }
/// TypeMatcher for 'type _frexp_result_vec' /// TypeMatcher for 'type __frexp_result_vec'
/// @see src/intrinsics.def:103:42 /// @see src/intrinsics.def:103:43
class FrexpResultVec : public TypeMatcher { class FrexpResultVec : public TypeMatcher {
public: public:
/// Checks whether the given type matches the matcher rules. /// Checks whether the given type matches the matcher rules.
@ -1140,20 +1140,20 @@ class FrexpResultVec : public TypeMatcher {
const sem::Type* FrexpResultVec::Match(MatchState& state, const sem::Type* ty) const { const sem::Type* FrexpResultVec::Match(MatchState& state, const sem::Type* ty) const {
Number N = Number::invalid; Number N = Number::invalid;
if (!match_frexp_result_vec(ty, N)) { if (!match__frexp_result_vec(ty, N)) {
return nullptr; return nullptr;
} }
N = state.Num(N); N = state.Num(N);
if (!N.IsValid()) { if (!N.IsValid()) {
return nullptr; return nullptr;
} }
return build_frexp_result_vec(state, N); return build__frexp_result_vec(state, N);
} }
std::string FrexpResultVec::String(MatchState& state) const { std::string FrexpResultVec::String(MatchState& state) const {
const std::string N = state.NumName(); const std::string N = state.NumName();
std::stringstream ss; std::stringstream ss;
ss << "_frexp_result_vec" << N; ss << "__frexp_result_vec" << N;
return ss.str(); return ss.str();
} }
@ -8171,8 +8171,8 @@ constexpr IntrinsicInfo kIntrinsics[] = {
}, },
{ {
/* [29] */ /* [29] */
/* fn frexp(f32) -> _frexp_result */ /* fn frexp(f32) -> __frexp_result */
/* fn frexp<N : num>(vec<N, f32>) -> _frexp_result_vec<N> */ /* fn frexp<N : num>(vec<N, f32>) -> __frexp_result_vec<N> */
/* num overloads */ 2, /* num overloads */ 2,
/* overloads */ &kOverloads[159], /* overloads */ &kOverloads[159],
}, },
@ -8290,8 +8290,8 @@ constexpr IntrinsicInfo kIntrinsics[] = {
}, },
{ {
/* [46] */ /* [46] */
/* fn modf(f32) -> _modf_result */ /* fn modf(f32) -> __modf_result */
/* fn modf<N : num>(vec<N, f32>) -> _modf_result_vec<N> */ /* fn modf<N : num>(vec<N, f32>) -> __modf_result_vec<N> */
/* num overloads */ 2, /* num overloads */ 2,
/* overloads */ &kOverloads[193], /* overloads */ &kOverloads[193],
}, },

View File

@ -97,10 +97,10 @@ type texture_storage_2d_array<F: texel_format, A: access>
type texture_storage_3d<F: texel_format, A: access> type texture_storage_3d<F: texel_format, A: access>
type texture_external type texture_external
type _modf_result type __modf_result
[[display("_modf_result_vec{N}")]] type _modf_result_vec<N: num> [[display("__modf_result_vec{N}")]] type __modf_result_vec<N: num>
type _frexp_result type __frexp_result
[[display("_frexp_result_vec{N}")]] type _frexp_result_vec<N: num> [[display("__frexp_result_vec{N}")]] type __frexp_result_vec<N: num>
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// Type matchers // // Type matchers //
@ -316,8 +316,8 @@ fn fma(f32, f32, f32) -> f32
fn fma<N: num>(vec<N, f32>, vec<N, f32>, vec<N, f32>) -> vec<N, f32> fn fma<N: num>(vec<N, f32>, vec<N, f32>, vec<N, f32>) -> vec<N, f32>
fn fract(f32) -> f32 fn fract(f32) -> f32
fn fract<N: num>(vec<N, f32>) -> vec<N, f32> fn fract<N: num>(vec<N, f32>) -> vec<N, f32>
fn frexp(f32) -> _frexp_result fn frexp(f32) -> __frexp_result
fn frexp<N: num>(vec<N, f32>) -> _frexp_result_vec<N> fn frexp<N: num>(vec<N, f32>) -> __frexp_result_vec<N>
[[stage("fragment")]] fn fwidth(f32) -> f32 [[stage("fragment")]] fn fwidth(f32) -> f32
[[stage("fragment")]] fn fwidth<N: num>(vec<N, f32>) -> vec<N, f32> [[stage("fragment")]] fn fwidth<N: num>(vec<N, f32>) -> vec<N, f32>
[[stage("fragment")]] fn fwidthCoarse(f32) -> f32 [[stage("fragment")]] fn fwidthCoarse(f32) -> f32
@ -350,8 +350,8 @@ fn min<N: num, T: fiu32>(vec<N, T>, vec<N, T>) -> vec<N, T>
fn mix(f32, f32, f32) -> f32 fn mix(f32, f32, f32) -> f32
fn mix<N: num>(vec<N, f32>, vec<N, f32>, vec<N, f32>) -> vec<N, f32> fn mix<N: num>(vec<N, f32>, vec<N, f32>, vec<N, f32>) -> vec<N, f32>
fn mix<N: num>(vec<N, f32>, vec<N, f32>, f32) -> vec<N, f32> fn mix<N: num>(vec<N, f32>, vec<N, f32>, f32) -> vec<N, f32>
fn modf(f32) -> _modf_result fn modf(f32) -> __modf_result
fn modf<N: num>(vec<N, f32>) -> _modf_result_vec<N> fn modf<N: num>(vec<N, f32>) -> __modf_result_vec<N>
fn normalize<N: num>(vec<N, f32>) -> vec<N, f32> fn normalize<N: num>(vec<N, f32>) -> vec<N, f32>
fn pack2x16float(vec2<f32>) -> u32 fn pack2x16float(vec2<f32>) -> u32
fn pack2x16snorm(vec2<f32>) -> u32 fn pack2x16snorm(vec2<f32>) -> u32

View File

@ -86,12 +86,12 @@ Token Lexer::next() {
return t; return t;
} }
t = try_punctuation(); t = try_ident();
if (!t.IsUninitialized()) { if (!t.IsUninitialized()) {
return t; return t;
} }
t = try_ident(); t = try_punctuation();
if (!t.IsUninitialized()) { if (!t.IsUninitialized()) {
return t; return t;
} }
@ -724,8 +724,8 @@ Token Lexer::try_integer() {
} }
Token Lexer::try_ident() { Token Lexer::try_ident() {
// Must begin with an a-zA-Z // Must begin with an a-zA-Z_
if (!is_alpha(content_->data[pos_])) { if (!(is_alpha(content_->data[pos_]) || content_->data[pos_] == '_')) {
return {}; return {};
} }
@ -737,6 +737,16 @@ Token Lexer::try_ident() {
location_.column++; location_.column++;
} }
if (content_->data[s] == '_') {
// Check for an underscore on its own (special token), or a
// double-underscore (not allowed).
if ((pos_ == s + 1) || (content_->data[s + 1] == '_')) {
location_.column -= (pos_ - s);
pos_ = s;
return {};
}
}
auto str = content_->data.substr(s, pos_ - s); auto str = content_->data.substr(s, pos_ - s);
end_source(source); end_source(source);

View File

@ -276,6 +276,7 @@ INSTANTIATE_TEST_SUITE_P(LexerTest,
"test", "test",
"test01", "test01",
"test_", "test_",
"_test",
"test_01", "test_01",
"ALLCAPS", "ALLCAPS",
"MiXeD_CaSe", "MiXeD_CaSe",
@ -283,8 +284,16 @@ INSTANTIATE_TEST_SUITE_P(LexerTest,
"ABCDEFGHIJKLMNOPQRSTUVWXYZ", "ABCDEFGHIJKLMNOPQRSTUVWXYZ",
"alldigits_0123456789")); "alldigits_0123456789"));
TEST_F(LexerTest, IdentifierTest_DoesNotStartWithUnderscore) { TEST_F(LexerTest, IdentifierTest_SingleUnderscoreDoesNotMatch) {
Source::FileContent content("_test"); Source::FileContent content("_");
Lexer l("test.wgsl", &content);
auto t = l.next();
EXPECT_FALSE(t.IsIdentifier());
}
TEST_F(LexerTest, IdentifierTest_DoesNotStartWithDoubleUnderscore) {
Source::FileContent content("__test");
Lexer l("test.wgsl", &content); Lexer l("test.wgsl", &content);
auto t = l.next(); auto t = l.next();

View File

@ -835,8 +835,8 @@ TEST_F(ResolverIntrinsicDataTest, Frexp_Error_FirstParamInt) {
R"(error: no matching call to frexp(i32, ptr<workgroup, i32, read_write>) R"(error: no matching call to frexp(i32, ptr<workgroup, i32, read_write>)
2 candidate functions: 2 candidate functions:
frexp(f32) -> _frexp_result frexp(f32) -> __frexp_result
frexp(vecN<f32>) -> _frexp_result_vecN frexp(vecN<f32>) -> __frexp_result_vecN
)"); )");
} }
@ -852,8 +852,8 @@ TEST_F(ResolverIntrinsicDataTest, Frexp_Error_SecondParamFloatPtr) {
R"(error: no matching call to frexp(f32, ptr<workgroup, f32, read_write>) R"(error: no matching call to frexp(f32, ptr<workgroup, f32, read_write>)
2 candidate functions: 2 candidate functions:
frexp(f32) -> _frexp_result frexp(f32) -> __frexp_result
frexp(vecN<f32>) -> _frexp_result_vecN frexp(vecN<f32>) -> __frexp_result_vecN
)"); )");
} }
@ -866,8 +866,8 @@ TEST_F(ResolverIntrinsicDataTest, Frexp_Error_SecondParamNotAPointer) {
EXPECT_EQ(r()->error(), R"(error: no matching call to frexp(f32, i32) EXPECT_EQ(r()->error(), R"(error: no matching call to frexp(f32, i32)
2 candidate functions: 2 candidate functions:
frexp(f32) -> _frexp_result frexp(f32) -> __frexp_result
frexp(vecN<f32>) -> _frexp_result_vecN frexp(vecN<f32>) -> __frexp_result_vecN
)"); )");
} }
@ -883,8 +883,8 @@ TEST_F(ResolverIntrinsicDataTest, Frexp_Error_VectorSizesDontMatch) {
R"(error: no matching call to frexp(vec2<f32>, ptr<workgroup, vec4<i32>, read_write>) R"(error: no matching call to frexp(vec2<f32>, ptr<workgroup, vec4<i32>, read_write>)
2 candidate functions: 2 candidate functions:
frexp(vecN<f32>) -> _frexp_result_vecN frexp(vecN<f32>) -> __frexp_result_vecN
frexp(f32) -> _frexp_result frexp(f32) -> __frexp_result
)"); )");
} }
@ -962,8 +962,8 @@ TEST_F(ResolverIntrinsicDataTest, Modf_Error_FirstParamInt) {
R"(error: no matching call to modf(i32, ptr<workgroup, f32, read_write>) R"(error: no matching call to modf(i32, ptr<workgroup, f32, read_write>)
2 candidate functions: 2 candidate functions:
modf(f32) -> _modf_result modf(f32) -> __modf_result
modf(vecN<f32>) -> _modf_result_vecN modf(vecN<f32>) -> __modf_result_vecN
)"); )");
} }
@ -979,8 +979,8 @@ TEST_F(ResolverIntrinsicDataTest, Modf_Error_SecondParamIntPtr) {
R"(error: no matching call to modf(f32, ptr<workgroup, i32, read_write>) R"(error: no matching call to modf(f32, ptr<workgroup, i32, read_write>)
2 candidate functions: 2 candidate functions:
modf(f32) -> _modf_result modf(f32) -> __modf_result
modf(vecN<f32>) -> _modf_result_vecN modf(vecN<f32>) -> __modf_result_vecN
)"); )");
} }
@ -993,8 +993,8 @@ TEST_F(ResolverIntrinsicDataTest, Modf_Error_SecondParamNotAPointer) {
EXPECT_EQ(r()->error(), R"(error: no matching call to modf(f32, f32) EXPECT_EQ(r()->error(), R"(error: no matching call to modf(f32, f32)
2 candidate functions: 2 candidate functions:
modf(f32) -> _modf_result modf(f32) -> __modf_result
modf(vecN<f32>) -> _modf_result_vecN modf(vecN<f32>) -> __modf_result_vecN
)"); )");
} }
@ -1010,8 +1010,8 @@ TEST_F(ResolverIntrinsicDataTest, Modf_Error_VectorSizesDontMatch) {
R"(error: no matching call to modf(vec2<f32>, ptr<workgroup, vec4<f32>, read_write>) R"(error: no matching call to modf(vec2<f32>, ptr<workgroup, vec4<f32>, read_write>)
2 candidate functions: 2 candidate functions:
modf(vecN<f32>) -> _modf_result_vecN modf(vecN<f32>) -> __modf_result_vecN
modf(f32) -> _modf_result modf(f32) -> __modf_result
)"); )");
} }

View File

@ -1561,7 +1561,7 @@ OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %3 "a_func" OpEntryPoint Fragment %3 "a_func"
OpExecutionMode %3 OriginUpperLeft OpExecutionMode %3 OriginUpperLeft
OpName %3 "a_func" OpName %3 "a_func"
OpName %6 "_modf_result_vec2" OpName %6 "__modf_result_vec2"
OpMemberName %6 0 "fract" OpMemberName %6 0 "fract"
OpMemberName %6 1 "whole" OpMemberName %6 1 "whole"
OpMemberDecorate %6 0 Offset 0 OpMemberDecorate %6 0 Offset 0
@ -1600,7 +1600,7 @@ OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %3 "a_func" OpEntryPoint Fragment %3 "a_func"
OpExecutionMode %3 OriginUpperLeft OpExecutionMode %3 OriginUpperLeft
OpName %3 "a_func" OpName %3 "a_func"
OpName %6 "_frexp_result_vec2" OpName %6 "__frexp_result_vec2"
OpMemberName %6 0 "sig" OpMemberName %6 0 "sig"
OpMemberName %6 1 "exp" OpMemberName %6 1 "exp"
OpMemberDecorate %6 0 Offset 0 OpMemberDecorate %6 0 Offset 0

View File

@ -33,9 +33,9 @@ std::string TextGenerator::UniqueIdentifier(const std::string& prefix) {
std::string TextGenerator::StructName(const sem::Struct* s) { std::string TextGenerator::StructName(const sem::Struct* s) {
auto name = builder_.Symbols().NameFor(s->Name()); auto name = builder_.Symbols().NameFor(s->Name());
if (name.size() > 0 && name[0] == '_') { if (name.size() > 1 && name[0] == '_' && name[1] == '_') {
name = utils::GetOrCreate(builtin_struct_names_, s, name = utils::GetOrCreate(builtin_struct_names_, s,
[&] { return UniqueIdentifier(name.substr(1)); }); [&] { return UniqueIdentifier(name.substr(2)); });
} }
return name; return name;
} }

View File

@ -113,9 +113,9 @@ class TextGenerator {
/// @param s the semantic structure /// @param s the semantic structure
/// @returns the name of the structure, taking special care of builtin /// @returns the name of the structure, taking special care of builtin
/// structures that start with a leading underscore. If the structure is a /// structures that start with double underscores. If the structure is a
/// builtin, then the returned name will be a unique name without the leading /// builtin, then the returned name will be a unique name without the leading
/// underscore. /// underscores.
std::string StructName(const sem::Struct* s); std::string StructName(const sem::Struct* s);
/// @param str the string /// @param str the string

View File

@ -10,15 +10,15 @@
OpExecutionMode %unused_entry_point LocalSize 1 1 1 OpExecutionMode %unused_entry_point LocalSize 1 1 1
OpName %unused_entry_point "unused_entry_point" OpName %unused_entry_point "unused_entry_point"
OpName %tint_symbol "tint_symbol" OpName %tint_symbol "tint_symbol"
OpName %_modf_result "_modf_result" OpName %__modf_result "__modf_result"
OpMemberName %_modf_result 0 "fract" OpMemberName %__modf_result 0 "fract"
OpMemberName %_modf_result 1 "whole" OpMemberName %__modf_result 1 "whole"
OpMemberDecorate %_modf_result 0 Offset 0 OpMemberDecorate %__modf_result 0 Offset 0
OpMemberDecorate %_modf_result 1 Offset 4 OpMemberDecorate %__modf_result 1 Offset 4
%void = OpTypeVoid %void = OpTypeVoid
%1 = OpTypeFunction %void %1 = OpTypeFunction %void
%float = OpTypeFloat 32 %float = OpTypeFloat 32
%_modf_result = OpTypeStruct %float %float %__modf_result = OpTypeStruct %float %float
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%unused_entry_point = OpFunction %void None %1 %unused_entry_point = OpFunction %void None %1
%4 = OpLabel %4 = OpLabel
@ -26,7 +26,7 @@
OpFunctionEnd OpFunctionEnd
%tint_symbol = OpFunction %void None %1 %tint_symbol = OpFunction %void None %1
%6 = OpLabel %6 = OpLabel
%7 = OpExtInst %_modf_result %10 ModfStruct %float_1 %7 = OpExtInst %__modf_result %10 ModfStruct %float_1
%12 = OpCompositeExtract %float %7 1 %12 = OpCompositeExtract %float %7 1
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd

View File

@ -9,20 +9,20 @@
OpEntryPoint GLCompute %main "main" OpEntryPoint GLCompute %main "main"
OpExecutionMode %main LocalSize 1 1 1 OpExecutionMode %main LocalSize 1 1 1
OpName %main "main" OpName %main "main"
OpName %_frexp_result "_frexp_result" OpName %__frexp_result "__frexp_result"
OpMemberName %_frexp_result 0 "sig" OpMemberName %__frexp_result 0 "sig"
OpMemberName %_frexp_result 1 "exp" OpMemberName %__frexp_result 1 "exp"
OpMemberDecorate %_frexp_result 0 Offset 0 OpMemberDecorate %__frexp_result 0 Offset 0
OpMemberDecorate %_frexp_result 1 Offset 4 OpMemberDecorate %__frexp_result 1 Offset 4
%void = OpTypeVoid %void = OpTypeVoid
%1 = OpTypeFunction %void %1 = OpTypeFunction %void
%float = OpTypeFloat 32 %float = OpTypeFloat 32
%int = OpTypeInt 32 1 %int = OpTypeInt 32 1
%_frexp_result = OpTypeStruct %float %int %__frexp_result = OpTypeStruct %float %int
%float_1_23000002 = OpConstant %float 1.23000002 %float_1_23000002 = OpConstant %float 1.23000002
%main = OpFunction %void None %1 %main = OpFunction %void None %1
%4 = OpLabel %4 = OpLabel
%5 = OpExtInst %_frexp_result %9 FrexpStruct %float_1_23000002 %5 = OpExtInst %__frexp_result %9 FrexpStruct %float_1_23000002
%11 = OpCompositeExtract %int %5 1 %11 = OpCompositeExtract %int %5 1
%12 = OpCompositeExtract %float %5 0 %12 = OpCompositeExtract %float %5 0
OpReturn OpReturn

View File

@ -23,23 +23,23 @@
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// fn frexp(vec<3, f32>) -> _frexp_result_vec<3> // fn frexp(vec<3, f32>) -> __frexp_result_vec<3>
fn frexp_a0eb3b() { fn frexp_368997() {
var res = frexp(vec3<f32>()); var res = frexp(vec3<f32>());
} }
[[stage(vertex)]] [[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> { fn vertex_main() -> [[builtin(position)]] vec4<f32> {
frexp_a0eb3b(); frexp_368997();
return vec4<f32>(); return vec4<f32>();
} }
[[stage(fragment)]] [[stage(fragment)]]
fn fragment_main() { fn fragment_main() {
frexp_a0eb3b(); frexp_368997();
} }
[[stage(compute), workgroup_size(1)]] [[stage(compute), workgroup_size(1)]]
fn compute_main() { fn compute_main() {
frexp_a0eb3b(); frexp_368997();
} }

View File

@ -15,7 +15,7 @@ frexp_result_vec3 tint_frexp(vec3 param_0) {
} }
void frexp_a0eb3b() { void frexp_368997() {
frexp_result_vec3 res = tint_frexp(vec3(0.0f, 0.0f, 0.0f)); frexp_result_vec3 res = tint_frexp(vec3(0.0f, 0.0f, 0.0f));
} }
@ -24,7 +24,7 @@ struct tint_symbol {
}; };
vec4 vertex_main_inner() { vec4 vertex_main_inner() {
frexp_a0eb3b(); frexp_368997();
return vec4(0.0f, 0.0f, 0.0f, 0.0f); return vec4(0.0f, 0.0f, 0.0f, 0.0f);
} }
@ -64,7 +64,7 @@ frexp_result_vec3 tint_frexp(vec3 param_0) {
} }
void frexp_a0eb3b() { void frexp_368997() {
frexp_result_vec3 res = tint_frexp(vec3(0.0f, 0.0f, 0.0f)); frexp_result_vec3 res = tint_frexp(vec3(0.0f, 0.0f, 0.0f));
} }
@ -73,7 +73,7 @@ struct tint_symbol {
}; };
void fragment_main() { void fragment_main() {
frexp_a0eb3b(); frexp_368997();
return; return;
} }
void main() { void main() {
@ -103,7 +103,7 @@ frexp_result_vec3 tint_frexp(vec3 param_0) {
} }
void frexp_a0eb3b() { void frexp_368997() {
frexp_result_vec3 res = tint_frexp(vec3(0.0f, 0.0f, 0.0f)); frexp_result_vec3 res = tint_frexp(vec3(0.0f, 0.0f, 0.0f));
} }
@ -113,7 +113,7 @@ struct tint_symbol {
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
void compute_main() { void compute_main() {
frexp_a0eb3b(); frexp_368997();
return; return;
} }
void main() { void main() {

View File

@ -9,7 +9,7 @@ frexp_result_vec3 tint_frexp(float3 param_0) {
return result; return result;
} }
void frexp_a0eb3b() { void frexp_368997() {
frexp_result_vec3 res = tint_frexp(float3(0.0f, 0.0f, 0.0f)); frexp_result_vec3 res = tint_frexp(float3(0.0f, 0.0f, 0.0f));
} }
@ -18,7 +18,7 @@ struct tint_symbol {
}; };
float4 vertex_main_inner() { float4 vertex_main_inner() {
frexp_a0eb3b(); frexp_368997();
return float4(0.0f, 0.0f, 0.0f, 0.0f); return float4(0.0f, 0.0f, 0.0f, 0.0f);
} }
@ -30,12 +30,12 @@ tint_symbol vertex_main() {
} }
void fragment_main() { void fragment_main() {
frexp_a0eb3b(); frexp_368997();
return; return;
} }
[numthreads(1, 1, 1)] [numthreads(1, 1, 1)]
void compute_main() { void compute_main() {
frexp_a0eb3b(); frexp_368997();
return; return;
} }

View File

@ -16,12 +16,12 @@ struct tint_symbol {
float4 value [[position]]; float4 value [[position]];
}; };
void frexp_a0eb3b() { void frexp_368997() {
frexp_result_vec3 res = tint_frexp(float3()); frexp_result_vec3 res = tint_frexp(float3());
} }
float4 vertex_main_inner() { float4 vertex_main_inner() {
frexp_a0eb3b(); frexp_368997();
return float4(); return float4();
} }
@ -33,12 +33,12 @@ vertex tint_symbol vertex_main() {
} }
fragment void fragment_main() { fragment void fragment_main() {
frexp_a0eb3b(); frexp_368997();
return; return;
} }
kernel void compute_main() { kernel void compute_main() {
frexp_a0eb3b(); frexp_368997();
return; return;
} }

View File

@ -13,10 +13,10 @@
OpExecutionMode %compute_main LocalSize 1 1 1 OpExecutionMode %compute_main LocalSize 1 1 1
OpName %value "value" OpName %value "value"
OpName %vertex_point_size "vertex_point_size" OpName %vertex_point_size "vertex_point_size"
OpName %frexp_a0eb3b "frexp_a0eb3b" OpName %frexp_368997 "frexp_368997"
OpName %_frexp_result_vec3 "_frexp_result_vec3" OpName %__frexp_result_vec3 "__frexp_result_vec3"
OpMemberName %_frexp_result_vec3 0 "sig" OpMemberName %__frexp_result_vec3 0 "sig"
OpMemberName %_frexp_result_vec3 1 "exp" OpMemberName %__frexp_result_vec3 1 "exp"
OpName %res "res" OpName %res "res"
OpName %vertex_main_inner "vertex_main_inner" OpName %vertex_main_inner "vertex_main_inner"
OpName %vertex_main "vertex_main" OpName %vertex_main "vertex_main"
@ -24,8 +24,8 @@
OpName %compute_main "compute_main" OpName %compute_main "compute_main"
OpDecorate %value BuiltIn Position OpDecorate %value BuiltIn Position
OpDecorate %vertex_point_size BuiltIn PointSize OpDecorate %vertex_point_size BuiltIn PointSize
OpMemberDecorate %_frexp_result_vec3 0 Offset 0 OpMemberDecorate %__frexp_result_vec3 0 Offset 0
OpMemberDecorate %_frexp_result_vec3 1 Offset 16 OpMemberDecorate %__frexp_result_vec3 1 Offset 16
%float = OpTypeFloat 32 %float = OpTypeFloat 32
%v4float = OpTypeVector %float 4 %v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float %_ptr_Output_v4float = OpTypePointer Output %v4float
@ -39,22 +39,22 @@
%v3float = OpTypeVector %float 3 %v3float = OpTypeVector %float 3
%int = OpTypeInt 32 1 %int = OpTypeInt 32 1
%v3int = OpTypeVector %int 3 %v3int = OpTypeVector %int 3
%_frexp_result_vec3 = OpTypeStruct %v3float %v3int %__frexp_result_vec3 = OpTypeStruct %v3float %v3int
%19 = OpConstantNull %v3float %19 = OpConstantNull %v3float
%_ptr_Function__frexp_result_vec3 = OpTypePointer Function %_frexp_result_vec3 %_ptr_Function___frexp_result_vec3 = OpTypePointer Function %__frexp_result_vec3
%22 = OpConstantNull %_frexp_result_vec3 %22 = OpConstantNull %__frexp_result_vec3
%23 = OpTypeFunction %v4float %23 = OpTypeFunction %v4float
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%frexp_a0eb3b = OpFunction %void None %9 %frexp_368997 = OpFunction %void None %9
%12 = OpLabel %12 = OpLabel
%res = OpVariable %_ptr_Function__frexp_result_vec3 Function %22 %res = OpVariable %_ptr_Function___frexp_result_vec3 Function %22
%13 = OpExtInst %_frexp_result_vec3 %18 FrexpStruct %19 %13 = OpExtInst %__frexp_result_vec3 %18 FrexpStruct %19
OpStore %res %13 OpStore %res %13
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%vertex_main_inner = OpFunction %v4float None %23 %vertex_main_inner = OpFunction %v4float None %23
%25 = OpLabel %25 = OpLabel
%26 = OpFunctionCall %void %frexp_a0eb3b %26 = OpFunctionCall %void %frexp_368997
OpReturnValue %5 OpReturnValue %5
OpFunctionEnd OpFunctionEnd
%vertex_main = OpFunction %void None %9 %vertex_main = OpFunction %void None %9
@ -66,11 +66,11 @@
OpFunctionEnd OpFunctionEnd
%fragment_main = OpFunction %void None %9 %fragment_main = OpFunction %void None %9
%32 = OpLabel %32 = OpLabel
%33 = OpFunctionCall %void %frexp_a0eb3b %33 = OpFunctionCall %void %frexp_368997
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%compute_main = OpFunction %void None %9 %compute_main = OpFunction %void None %9
%35 = OpLabel %35 = OpLabel
%36 = OpFunctionCall %void %frexp_a0eb3b %36 = OpFunctionCall %void %frexp_368997
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd

View File

@ -1,19 +1,19 @@
fn frexp_a0eb3b() { fn frexp_368997() {
var res = frexp(vec3<f32>()); var res = frexp(vec3<f32>());
} }
[[stage(vertex)]] [[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> { fn vertex_main() -> [[builtin(position)]] vec4<f32> {
frexp_a0eb3b(); frexp_368997();
return vec4<f32>(); return vec4<f32>();
} }
[[stage(fragment)]] [[stage(fragment)]]
fn fragment_main() { fn fragment_main() {
frexp_a0eb3b(); frexp_368997();
} }
[[stage(compute), workgroup_size(1)]] [[stage(compute), workgroup_size(1)]]
fn compute_main() { fn compute_main() {
frexp_a0eb3b(); frexp_368997();
} }

View File

@ -23,23 +23,23 @@
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// fn frexp(vec<4, f32>) -> _frexp_result_vec<4> // fn frexp(vec<4, f32>) -> __frexp_result_vec<4>
fn frexp_d80367() { fn frexp_3c4f48() {
var res = frexp(vec4<f32>()); var res = frexp(vec4<f32>());
} }
[[stage(vertex)]] [[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> { fn vertex_main() -> [[builtin(position)]] vec4<f32> {
frexp_d80367(); frexp_3c4f48();
return vec4<f32>(); return vec4<f32>();
} }
[[stage(fragment)]] [[stage(fragment)]]
fn fragment_main() { fn fragment_main() {
frexp_d80367(); frexp_3c4f48();
} }
[[stage(compute), workgroup_size(1)]] [[stage(compute), workgroup_size(1)]]
fn compute_main() { fn compute_main() {
frexp_d80367(); frexp_3c4f48();
} }

View File

@ -15,7 +15,7 @@ frexp_result_vec4 tint_frexp(vec4 param_0) {
} }
void frexp_d80367() { void frexp_3c4f48() {
frexp_result_vec4 res = tint_frexp(vec4(0.0f, 0.0f, 0.0f, 0.0f)); frexp_result_vec4 res = tint_frexp(vec4(0.0f, 0.0f, 0.0f, 0.0f));
} }
@ -24,7 +24,7 @@ struct tint_symbol {
}; };
vec4 vertex_main_inner() { vec4 vertex_main_inner() {
frexp_d80367(); frexp_3c4f48();
return vec4(0.0f, 0.0f, 0.0f, 0.0f); return vec4(0.0f, 0.0f, 0.0f, 0.0f);
} }
@ -64,7 +64,7 @@ frexp_result_vec4 tint_frexp(vec4 param_0) {
} }
void frexp_d80367() { void frexp_3c4f48() {
frexp_result_vec4 res = tint_frexp(vec4(0.0f, 0.0f, 0.0f, 0.0f)); frexp_result_vec4 res = tint_frexp(vec4(0.0f, 0.0f, 0.0f, 0.0f));
} }
@ -73,7 +73,7 @@ struct tint_symbol {
}; };
void fragment_main() { void fragment_main() {
frexp_d80367(); frexp_3c4f48();
return; return;
} }
void main() { void main() {
@ -103,7 +103,7 @@ frexp_result_vec4 tint_frexp(vec4 param_0) {
} }
void frexp_d80367() { void frexp_3c4f48() {
frexp_result_vec4 res = tint_frexp(vec4(0.0f, 0.0f, 0.0f, 0.0f)); frexp_result_vec4 res = tint_frexp(vec4(0.0f, 0.0f, 0.0f, 0.0f));
} }
@ -113,7 +113,7 @@ struct tint_symbol {
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
void compute_main() { void compute_main() {
frexp_d80367(); frexp_3c4f48();
return; return;
} }
void main() { void main() {

View File

@ -9,7 +9,7 @@ frexp_result_vec4 tint_frexp(float4 param_0) {
return result; return result;
} }
void frexp_d80367() { void frexp_3c4f48() {
frexp_result_vec4 res = tint_frexp(float4(0.0f, 0.0f, 0.0f, 0.0f)); frexp_result_vec4 res = tint_frexp(float4(0.0f, 0.0f, 0.0f, 0.0f));
} }
@ -18,7 +18,7 @@ struct tint_symbol {
}; };
float4 vertex_main_inner() { float4 vertex_main_inner() {
frexp_d80367(); frexp_3c4f48();
return float4(0.0f, 0.0f, 0.0f, 0.0f); return float4(0.0f, 0.0f, 0.0f, 0.0f);
} }
@ -30,12 +30,12 @@ tint_symbol vertex_main() {
} }
void fragment_main() { void fragment_main() {
frexp_d80367(); frexp_3c4f48();
return; return;
} }
[numthreads(1, 1, 1)] [numthreads(1, 1, 1)]
void compute_main() { void compute_main() {
frexp_d80367(); frexp_3c4f48();
return; return;
} }

View File

@ -16,12 +16,12 @@ struct tint_symbol {
float4 value [[position]]; float4 value [[position]];
}; };
void frexp_d80367() { void frexp_3c4f48() {
frexp_result_vec4 res = tint_frexp(float4()); frexp_result_vec4 res = tint_frexp(float4());
} }
float4 vertex_main_inner() { float4 vertex_main_inner() {
frexp_d80367(); frexp_3c4f48();
return float4(); return float4();
} }
@ -33,12 +33,12 @@ vertex tint_symbol vertex_main() {
} }
fragment void fragment_main() { fragment void fragment_main() {
frexp_d80367(); frexp_3c4f48();
return; return;
} }
kernel void compute_main() { kernel void compute_main() {
frexp_d80367(); frexp_3c4f48();
return; return;
} }

View File

@ -13,10 +13,10 @@
OpExecutionMode %compute_main LocalSize 1 1 1 OpExecutionMode %compute_main LocalSize 1 1 1
OpName %value "value" OpName %value "value"
OpName %vertex_point_size "vertex_point_size" OpName %vertex_point_size "vertex_point_size"
OpName %frexp_d80367 "frexp_d80367" OpName %frexp_3c4f48 "frexp_3c4f48"
OpName %_frexp_result_vec4 "_frexp_result_vec4" OpName %__frexp_result_vec4 "__frexp_result_vec4"
OpMemberName %_frexp_result_vec4 0 "sig" OpMemberName %__frexp_result_vec4 0 "sig"
OpMemberName %_frexp_result_vec4 1 "exp" OpMemberName %__frexp_result_vec4 1 "exp"
OpName %res "res" OpName %res "res"
OpName %vertex_main_inner "vertex_main_inner" OpName %vertex_main_inner "vertex_main_inner"
OpName %vertex_main "vertex_main" OpName %vertex_main "vertex_main"
@ -24,8 +24,8 @@
OpName %compute_main "compute_main" OpName %compute_main "compute_main"
OpDecorate %value BuiltIn Position OpDecorate %value BuiltIn Position
OpDecorate %vertex_point_size BuiltIn PointSize OpDecorate %vertex_point_size BuiltIn PointSize
OpMemberDecorate %_frexp_result_vec4 0 Offset 0 OpMemberDecorate %__frexp_result_vec4 0 Offset 0
OpMemberDecorate %_frexp_result_vec4 1 Offset 16 OpMemberDecorate %__frexp_result_vec4 1 Offset 16
%float = OpTypeFloat 32 %float = OpTypeFloat 32
%v4float = OpTypeVector %float 4 %v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float %_ptr_Output_v4float = OpTypePointer Output %v4float
@ -38,21 +38,21 @@
%9 = OpTypeFunction %void %9 = OpTypeFunction %void
%int = OpTypeInt 32 1 %int = OpTypeInt 32 1
%v4int = OpTypeVector %int 4 %v4int = OpTypeVector %int 4
%_frexp_result_vec4 = OpTypeStruct %v4float %v4int %__frexp_result_vec4 = OpTypeStruct %v4float %v4int
%_ptr_Function__frexp_result_vec4 = OpTypePointer Function %_frexp_result_vec4 %_ptr_Function___frexp_result_vec4 = OpTypePointer Function %__frexp_result_vec4
%20 = OpConstantNull %_frexp_result_vec4 %20 = OpConstantNull %__frexp_result_vec4
%21 = OpTypeFunction %v4float %21 = OpTypeFunction %v4float
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%frexp_d80367 = OpFunction %void None %9 %frexp_3c4f48 = OpFunction %void None %9
%12 = OpLabel %12 = OpLabel
%res = OpVariable %_ptr_Function__frexp_result_vec4 Function %20 %res = OpVariable %_ptr_Function___frexp_result_vec4 Function %20
%13 = OpExtInst %_frexp_result_vec4 %17 FrexpStruct %5 %13 = OpExtInst %__frexp_result_vec4 %17 FrexpStruct %5
OpStore %res %13 OpStore %res %13
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%vertex_main_inner = OpFunction %v4float None %21 %vertex_main_inner = OpFunction %v4float None %21
%23 = OpLabel %23 = OpLabel
%24 = OpFunctionCall %void %frexp_d80367 %24 = OpFunctionCall %void %frexp_3c4f48
OpReturnValue %5 OpReturnValue %5
OpFunctionEnd OpFunctionEnd
%vertex_main = OpFunction %void None %9 %vertex_main = OpFunction %void None %9
@ -64,11 +64,11 @@
OpFunctionEnd OpFunctionEnd
%fragment_main = OpFunction %void None %9 %fragment_main = OpFunction %void None %9
%30 = OpLabel %30 = OpLabel
%31 = OpFunctionCall %void %frexp_d80367 %31 = OpFunctionCall %void %frexp_3c4f48
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%compute_main = OpFunction %void None %9 %compute_main = OpFunction %void None %9
%33 = OpLabel %33 = OpLabel
%34 = OpFunctionCall %void %frexp_d80367 %34 = OpFunctionCall %void %frexp_3c4f48
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd

View File

@ -1,19 +1,19 @@
fn frexp_d80367() { fn frexp_3c4f48() {
var res = frexp(vec4<f32>()); var res = frexp(vec4<f32>());
} }
[[stage(vertex)]] [[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> { fn vertex_main() -> [[builtin(position)]] vec4<f32> {
frexp_d80367(); frexp_3c4f48();
return vec4<f32>(); return vec4<f32>();
} }
[[stage(fragment)]] [[stage(fragment)]]
fn fragment_main() { fn fragment_main() {
frexp_d80367(); frexp_3c4f48();
} }
[[stage(compute), workgroup_size(1)]] [[stage(compute), workgroup_size(1)]]
fn compute_main() { fn compute_main() {
frexp_d80367(); frexp_3c4f48();
} }

View File

@ -23,23 +23,23 @@
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// fn frexp(vec<2, f32>) -> _frexp_result_vec<2> // fn frexp(vec<2, f32>) -> __frexp_result_vec<2>
fn frexp_db0637() { fn frexp_4bdfc7() {
var res = frexp(vec2<f32>()); var res = frexp(vec2<f32>());
} }
[[stage(vertex)]] [[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> { fn vertex_main() -> [[builtin(position)]] vec4<f32> {
frexp_db0637(); frexp_4bdfc7();
return vec4<f32>(); return vec4<f32>();
} }
[[stage(fragment)]] [[stage(fragment)]]
fn fragment_main() { fn fragment_main() {
frexp_db0637(); frexp_4bdfc7();
} }
[[stage(compute), workgroup_size(1)]] [[stage(compute), workgroup_size(1)]]
fn compute_main() { fn compute_main() {
frexp_db0637(); frexp_4bdfc7();
} }

View File

@ -15,7 +15,7 @@ frexp_result_vec2 tint_frexp(vec2 param_0) {
} }
void frexp_db0637() { void frexp_4bdfc7() {
frexp_result_vec2 res = tint_frexp(vec2(0.0f, 0.0f)); frexp_result_vec2 res = tint_frexp(vec2(0.0f, 0.0f));
} }
@ -24,7 +24,7 @@ struct tint_symbol {
}; };
vec4 vertex_main_inner() { vec4 vertex_main_inner() {
frexp_db0637(); frexp_4bdfc7();
return vec4(0.0f, 0.0f, 0.0f, 0.0f); return vec4(0.0f, 0.0f, 0.0f, 0.0f);
} }
@ -64,7 +64,7 @@ frexp_result_vec2 tint_frexp(vec2 param_0) {
} }
void frexp_db0637() { void frexp_4bdfc7() {
frexp_result_vec2 res = tint_frexp(vec2(0.0f, 0.0f)); frexp_result_vec2 res = tint_frexp(vec2(0.0f, 0.0f));
} }
@ -73,7 +73,7 @@ struct tint_symbol {
}; };
void fragment_main() { void fragment_main() {
frexp_db0637(); frexp_4bdfc7();
return; return;
} }
void main() { void main() {
@ -103,7 +103,7 @@ frexp_result_vec2 tint_frexp(vec2 param_0) {
} }
void frexp_db0637() { void frexp_4bdfc7() {
frexp_result_vec2 res = tint_frexp(vec2(0.0f, 0.0f)); frexp_result_vec2 res = tint_frexp(vec2(0.0f, 0.0f));
} }
@ -113,7 +113,7 @@ struct tint_symbol {
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
void compute_main() { void compute_main() {
frexp_db0637(); frexp_4bdfc7();
return; return;
} }
void main() { void main() {

View File

@ -9,7 +9,7 @@ frexp_result_vec2 tint_frexp(float2 param_0) {
return result; return result;
} }
void frexp_db0637() { void frexp_4bdfc7() {
frexp_result_vec2 res = tint_frexp(float2(0.0f, 0.0f)); frexp_result_vec2 res = tint_frexp(float2(0.0f, 0.0f));
} }
@ -18,7 +18,7 @@ struct tint_symbol {
}; };
float4 vertex_main_inner() { float4 vertex_main_inner() {
frexp_db0637(); frexp_4bdfc7();
return float4(0.0f, 0.0f, 0.0f, 0.0f); return float4(0.0f, 0.0f, 0.0f, 0.0f);
} }
@ -30,12 +30,12 @@ tint_symbol vertex_main() {
} }
void fragment_main() { void fragment_main() {
frexp_db0637(); frexp_4bdfc7();
return; return;
} }
[numthreads(1, 1, 1)] [numthreads(1, 1, 1)]
void compute_main() { void compute_main() {
frexp_db0637(); frexp_4bdfc7();
return; return;
} }

View File

@ -16,12 +16,12 @@ struct tint_symbol {
float4 value [[position]]; float4 value [[position]];
}; };
void frexp_db0637() { void frexp_4bdfc7() {
frexp_result_vec2 res = tint_frexp(float2()); frexp_result_vec2 res = tint_frexp(float2());
} }
float4 vertex_main_inner() { float4 vertex_main_inner() {
frexp_db0637(); frexp_4bdfc7();
return float4(); return float4();
} }
@ -33,12 +33,12 @@ vertex tint_symbol vertex_main() {
} }
fragment void fragment_main() { fragment void fragment_main() {
frexp_db0637(); frexp_4bdfc7();
return; return;
} }
kernel void compute_main() { kernel void compute_main() {
frexp_db0637(); frexp_4bdfc7();
return; return;
} }

View File

@ -13,10 +13,10 @@
OpExecutionMode %compute_main LocalSize 1 1 1 OpExecutionMode %compute_main LocalSize 1 1 1
OpName %value "value" OpName %value "value"
OpName %vertex_point_size "vertex_point_size" OpName %vertex_point_size "vertex_point_size"
OpName %frexp_db0637 "frexp_db0637" OpName %frexp_4bdfc7 "frexp_4bdfc7"
OpName %_frexp_result_vec2 "_frexp_result_vec2" OpName %__frexp_result_vec2 "__frexp_result_vec2"
OpMemberName %_frexp_result_vec2 0 "sig" OpMemberName %__frexp_result_vec2 0 "sig"
OpMemberName %_frexp_result_vec2 1 "exp" OpMemberName %__frexp_result_vec2 1 "exp"
OpName %res "res" OpName %res "res"
OpName %vertex_main_inner "vertex_main_inner" OpName %vertex_main_inner "vertex_main_inner"
OpName %vertex_main "vertex_main" OpName %vertex_main "vertex_main"
@ -24,8 +24,8 @@
OpName %compute_main "compute_main" OpName %compute_main "compute_main"
OpDecorate %value BuiltIn Position OpDecorate %value BuiltIn Position
OpDecorate %vertex_point_size BuiltIn PointSize OpDecorate %vertex_point_size BuiltIn PointSize
OpMemberDecorate %_frexp_result_vec2 0 Offset 0 OpMemberDecorate %__frexp_result_vec2 0 Offset 0
OpMemberDecorate %_frexp_result_vec2 1 Offset 8 OpMemberDecorate %__frexp_result_vec2 1 Offset 8
%float = OpTypeFloat 32 %float = OpTypeFloat 32
%v4float = OpTypeVector %float 4 %v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float %_ptr_Output_v4float = OpTypePointer Output %v4float
@ -39,22 +39,22 @@
%v2float = OpTypeVector %float 2 %v2float = OpTypeVector %float 2
%int = OpTypeInt 32 1 %int = OpTypeInt 32 1
%v2int = OpTypeVector %int 2 %v2int = OpTypeVector %int 2
%_frexp_result_vec2 = OpTypeStruct %v2float %v2int %__frexp_result_vec2 = OpTypeStruct %v2float %v2int
%19 = OpConstantNull %v2float %19 = OpConstantNull %v2float
%_ptr_Function__frexp_result_vec2 = OpTypePointer Function %_frexp_result_vec2 %_ptr_Function___frexp_result_vec2 = OpTypePointer Function %__frexp_result_vec2
%22 = OpConstantNull %_frexp_result_vec2 %22 = OpConstantNull %__frexp_result_vec2
%23 = OpTypeFunction %v4float %23 = OpTypeFunction %v4float
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%frexp_db0637 = OpFunction %void None %9 %frexp_4bdfc7 = OpFunction %void None %9
%12 = OpLabel %12 = OpLabel
%res = OpVariable %_ptr_Function__frexp_result_vec2 Function %22 %res = OpVariable %_ptr_Function___frexp_result_vec2 Function %22
%13 = OpExtInst %_frexp_result_vec2 %18 FrexpStruct %19 %13 = OpExtInst %__frexp_result_vec2 %18 FrexpStruct %19
OpStore %res %13 OpStore %res %13
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%vertex_main_inner = OpFunction %v4float None %23 %vertex_main_inner = OpFunction %v4float None %23
%25 = OpLabel %25 = OpLabel
%26 = OpFunctionCall %void %frexp_db0637 %26 = OpFunctionCall %void %frexp_4bdfc7
OpReturnValue %5 OpReturnValue %5
OpFunctionEnd OpFunctionEnd
%vertex_main = OpFunction %void None %9 %vertex_main = OpFunction %void None %9
@ -66,11 +66,11 @@
OpFunctionEnd OpFunctionEnd
%fragment_main = OpFunction %void None %9 %fragment_main = OpFunction %void None %9
%32 = OpLabel %32 = OpLabel
%33 = OpFunctionCall %void %frexp_db0637 %33 = OpFunctionCall %void %frexp_4bdfc7
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%compute_main = OpFunction %void None %9 %compute_main = OpFunction %void None %9
%35 = OpLabel %35 = OpLabel
%36 = OpFunctionCall %void %frexp_db0637 %36 = OpFunctionCall %void %frexp_4bdfc7
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd

View File

@ -1,19 +1,19 @@
fn frexp_db0637() { fn frexp_4bdfc7() {
var res = frexp(vec2<f32>()); var res = frexp(vec2<f32>());
} }
[[stage(vertex)]] [[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> { fn vertex_main() -> [[builtin(position)]] vec4<f32> {
frexp_db0637(); frexp_4bdfc7();
return vec4<f32>(); return vec4<f32>();
} }
[[stage(fragment)]] [[stage(fragment)]]
fn fragment_main() { fn fragment_main() {
frexp_db0637(); frexp_4bdfc7();
} }
[[stage(compute), workgroup_size(1)]] [[stage(compute), workgroup_size(1)]]
fn compute_main() { fn compute_main() {
frexp_db0637(); frexp_4bdfc7();
} }

View File

@ -23,23 +23,23 @@
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// fn frexp(f32) -> _frexp_result // fn frexp(f32) -> __frexp_result
fn frexp_12f1da() { fn frexp_eabd40() {
var res = frexp(1.0); var res = frexp(1.0);
} }
[[stage(vertex)]] [[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> { fn vertex_main() -> [[builtin(position)]] vec4<f32> {
frexp_12f1da(); frexp_eabd40();
return vec4<f32>(); return vec4<f32>();
} }
[[stage(fragment)]] [[stage(fragment)]]
fn fragment_main() { fn fragment_main() {
frexp_12f1da(); frexp_eabd40();
} }
[[stage(compute), workgroup_size(1)]] [[stage(compute), workgroup_size(1)]]
fn compute_main() { fn compute_main() {
frexp_12f1da(); frexp_eabd40();
} }

View File

@ -15,7 +15,7 @@ frexp_result tint_frexp(float param_0) {
} }
void frexp_12f1da() { void frexp_eabd40() {
frexp_result res = tint_frexp(1.0f); frexp_result res = tint_frexp(1.0f);
} }
@ -24,7 +24,7 @@ struct tint_symbol {
}; };
vec4 vertex_main_inner() { vec4 vertex_main_inner() {
frexp_12f1da(); frexp_eabd40();
return vec4(0.0f, 0.0f, 0.0f, 0.0f); return vec4(0.0f, 0.0f, 0.0f, 0.0f);
} }
@ -64,7 +64,7 @@ frexp_result tint_frexp(float param_0) {
} }
void frexp_12f1da() { void frexp_eabd40() {
frexp_result res = tint_frexp(1.0f); frexp_result res = tint_frexp(1.0f);
} }
@ -73,7 +73,7 @@ struct tint_symbol {
}; };
void fragment_main() { void fragment_main() {
frexp_12f1da(); frexp_eabd40();
return; return;
} }
void main() { void main() {
@ -103,7 +103,7 @@ frexp_result tint_frexp(float param_0) {
} }
void frexp_12f1da() { void frexp_eabd40() {
frexp_result res = tint_frexp(1.0f); frexp_result res = tint_frexp(1.0f);
} }
@ -113,7 +113,7 @@ struct tint_symbol {
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
void compute_main() { void compute_main() {
frexp_12f1da(); frexp_eabd40();
return; return;
} }
void main() { void main() {

View File

@ -9,7 +9,7 @@ frexp_result tint_frexp(float param_0) {
return result; return result;
} }
void frexp_12f1da() { void frexp_eabd40() {
frexp_result res = tint_frexp(1.0f); frexp_result res = tint_frexp(1.0f);
} }
@ -18,7 +18,7 @@ struct tint_symbol {
}; };
float4 vertex_main_inner() { float4 vertex_main_inner() {
frexp_12f1da(); frexp_eabd40();
return float4(0.0f, 0.0f, 0.0f, 0.0f); return float4(0.0f, 0.0f, 0.0f, 0.0f);
} }
@ -30,12 +30,12 @@ tint_symbol vertex_main() {
} }
void fragment_main() { void fragment_main() {
frexp_12f1da(); frexp_eabd40();
return; return;
} }
[numthreads(1, 1, 1)] [numthreads(1, 1, 1)]
void compute_main() { void compute_main() {
frexp_12f1da(); frexp_eabd40();
return; return;
} }

View File

@ -16,12 +16,12 @@ struct tint_symbol {
float4 value [[position]]; float4 value [[position]];
}; };
void frexp_12f1da() { void frexp_eabd40() {
frexp_result res = tint_frexp(1.0f); frexp_result res = tint_frexp(1.0f);
} }
float4 vertex_main_inner() { float4 vertex_main_inner() {
frexp_12f1da(); frexp_eabd40();
return float4(); return float4();
} }
@ -33,12 +33,12 @@ vertex tint_symbol vertex_main() {
} }
fragment void fragment_main() { fragment void fragment_main() {
frexp_12f1da(); frexp_eabd40();
return; return;
} }
kernel void compute_main() { kernel void compute_main() {
frexp_12f1da(); frexp_eabd40();
return; return;
} }

View File

@ -13,10 +13,10 @@
OpExecutionMode %compute_main LocalSize 1 1 1 OpExecutionMode %compute_main LocalSize 1 1 1
OpName %value "value" OpName %value "value"
OpName %vertex_point_size "vertex_point_size" OpName %vertex_point_size "vertex_point_size"
OpName %frexp_12f1da "frexp_12f1da" OpName %frexp_eabd40 "frexp_eabd40"
OpName %_frexp_result "_frexp_result" OpName %__frexp_result "__frexp_result"
OpMemberName %_frexp_result 0 "sig" OpMemberName %__frexp_result 0 "sig"
OpMemberName %_frexp_result 1 "exp" OpMemberName %__frexp_result 1 "exp"
OpName %res "res" OpName %res "res"
OpName %vertex_main_inner "vertex_main_inner" OpName %vertex_main_inner "vertex_main_inner"
OpName %vertex_main "vertex_main" OpName %vertex_main "vertex_main"
@ -24,8 +24,8 @@
OpName %compute_main "compute_main" OpName %compute_main "compute_main"
OpDecorate %value BuiltIn Position OpDecorate %value BuiltIn Position
OpDecorate %vertex_point_size BuiltIn PointSize OpDecorate %vertex_point_size BuiltIn PointSize
OpMemberDecorate %_frexp_result 0 Offset 0 OpMemberDecorate %__frexp_result 0 Offset 0
OpMemberDecorate %_frexp_result 1 Offset 4 OpMemberDecorate %__frexp_result 1 Offset 4
%float = OpTypeFloat 32 %float = OpTypeFloat 32
%v4float = OpTypeVector %float 4 %v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float %_ptr_Output_v4float = OpTypePointer Output %v4float
@ -37,21 +37,21 @@
%void = OpTypeVoid %void = OpTypeVoid
%9 = OpTypeFunction %void %9 = OpTypeFunction %void
%int = OpTypeInt 32 1 %int = OpTypeInt 32 1
%_frexp_result = OpTypeStruct %float %int %__frexp_result = OpTypeStruct %float %int
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%_ptr_Function__frexp_result = OpTypePointer Function %_frexp_result %_ptr_Function___frexp_result = OpTypePointer Function %__frexp_result
%20 = OpConstantNull %_frexp_result %20 = OpConstantNull %__frexp_result
%21 = OpTypeFunction %v4float %21 = OpTypeFunction %v4float
%frexp_12f1da = OpFunction %void None %9 %frexp_eabd40 = OpFunction %void None %9
%12 = OpLabel %12 = OpLabel
%res = OpVariable %_ptr_Function__frexp_result Function %20 %res = OpVariable %_ptr_Function___frexp_result Function %20
%13 = OpExtInst %_frexp_result %16 FrexpStruct %float_1 %13 = OpExtInst %__frexp_result %16 FrexpStruct %float_1
OpStore %res %13 OpStore %res %13
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%vertex_main_inner = OpFunction %v4float None %21 %vertex_main_inner = OpFunction %v4float None %21
%23 = OpLabel %23 = OpLabel
%24 = OpFunctionCall %void %frexp_12f1da %24 = OpFunctionCall %void %frexp_eabd40
OpReturnValue %5 OpReturnValue %5
OpFunctionEnd OpFunctionEnd
%vertex_main = OpFunction %void None %9 %vertex_main = OpFunction %void None %9
@ -63,11 +63,11 @@
OpFunctionEnd OpFunctionEnd
%fragment_main = OpFunction %void None %9 %fragment_main = OpFunction %void None %9
%29 = OpLabel %29 = OpLabel
%30 = OpFunctionCall %void %frexp_12f1da %30 = OpFunctionCall %void %frexp_eabd40
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%compute_main = OpFunction %void None %9 %compute_main = OpFunction %void None %9
%32 = OpLabel %32 = OpLabel
%33 = OpFunctionCall %void %frexp_12f1da %33 = OpFunctionCall %void %frexp_eabd40
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd

View File

@ -1,19 +1,19 @@
fn frexp_12f1da() { fn frexp_eabd40() {
var res = frexp(1.0); var res = frexp(1.0);
} }
[[stage(vertex)]] [[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> { fn vertex_main() -> [[builtin(position)]] vec4<f32> {
frexp_12f1da(); frexp_eabd40();
return vec4<f32>(); return vec4<f32>();
} }
[[stage(fragment)]] [[stage(fragment)]]
fn fragment_main() { fn fragment_main() {
frexp_12f1da(); frexp_eabd40();
} }
[[stage(compute), workgroup_size(1)]] [[stage(compute), workgroup_size(1)]]
fn compute_main() { fn compute_main() {
frexp_12f1da(); frexp_eabd40();
} }

View File

@ -23,23 +23,23 @@
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// fn modf(f32) -> _modf_result // fn modf(f32) -> __modf_result
fn modf_684d46() { fn modf_180fed() {
var res = modf(1.0); var res = modf(1.0);
} }
[[stage(vertex)]] [[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> { fn vertex_main() -> [[builtin(position)]] vec4<f32> {
modf_684d46(); modf_180fed();
return vec4<f32>(); return vec4<f32>();
} }
[[stage(fragment)]] [[stage(fragment)]]
fn fragment_main() { fn fragment_main() {
modf_684d46(); modf_180fed();
} }
[[stage(compute), workgroup_size(1)]] [[stage(compute), workgroup_size(1)]]
fn compute_main() { fn compute_main() {
modf_684d46(); modf_180fed();
} }

View File

@ -15,7 +15,7 @@ modf_result tint_modf(float param_0) {
} }
void modf_684d46() { void modf_180fed() {
modf_result res = tint_modf(1.0f); modf_result res = tint_modf(1.0f);
} }
@ -24,7 +24,7 @@ struct tint_symbol {
}; };
vec4 vertex_main_inner() { vec4 vertex_main_inner() {
modf_684d46(); modf_180fed();
return vec4(0.0f, 0.0f, 0.0f, 0.0f); return vec4(0.0f, 0.0f, 0.0f, 0.0f);
} }
@ -64,7 +64,7 @@ modf_result tint_modf(float param_0) {
} }
void modf_684d46() { void modf_180fed() {
modf_result res = tint_modf(1.0f); modf_result res = tint_modf(1.0f);
} }
@ -73,7 +73,7 @@ struct tint_symbol {
}; };
void fragment_main() { void fragment_main() {
modf_684d46(); modf_180fed();
return; return;
} }
void main() { void main() {
@ -103,7 +103,7 @@ modf_result tint_modf(float param_0) {
} }
void modf_684d46() { void modf_180fed() {
modf_result res = tint_modf(1.0f); modf_result res = tint_modf(1.0f);
} }
@ -113,7 +113,7 @@ struct tint_symbol {
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
void compute_main() { void compute_main() {
modf_684d46(); modf_180fed();
return; return;
} }
void main() { void main() {

View File

@ -9,7 +9,7 @@ modf_result tint_modf(float param_0) {
return result; return result;
} }
void modf_684d46() { void modf_180fed() {
modf_result res = tint_modf(1.0f); modf_result res = tint_modf(1.0f);
} }
@ -18,7 +18,7 @@ struct tint_symbol {
}; };
float4 vertex_main_inner() { float4 vertex_main_inner() {
modf_684d46(); modf_180fed();
return float4(0.0f, 0.0f, 0.0f, 0.0f); return float4(0.0f, 0.0f, 0.0f, 0.0f);
} }
@ -30,12 +30,12 @@ tint_symbol vertex_main() {
} }
void fragment_main() { void fragment_main() {
modf_684d46(); modf_180fed();
return; return;
} }
[numthreads(1, 1, 1)] [numthreads(1, 1, 1)]
void compute_main() { void compute_main() {
modf_684d46(); modf_180fed();
return; return;
} }

View File

@ -16,12 +16,12 @@ struct tint_symbol {
float4 value [[position]]; float4 value [[position]];
}; };
void modf_684d46() { void modf_180fed() {
modf_result res = tint_modf(1.0f); modf_result res = tint_modf(1.0f);
} }
float4 vertex_main_inner() { float4 vertex_main_inner() {
modf_684d46(); modf_180fed();
return float4(); return float4();
} }
@ -33,12 +33,12 @@ vertex tint_symbol vertex_main() {
} }
fragment void fragment_main() { fragment void fragment_main() {
modf_684d46(); modf_180fed();
return; return;
} }
kernel void compute_main() { kernel void compute_main() {
modf_684d46(); modf_180fed();
return; return;
} }

View File

@ -13,10 +13,10 @@
OpExecutionMode %compute_main LocalSize 1 1 1 OpExecutionMode %compute_main LocalSize 1 1 1
OpName %value "value" OpName %value "value"
OpName %vertex_point_size "vertex_point_size" OpName %vertex_point_size "vertex_point_size"
OpName %modf_684d46 "modf_684d46" OpName %modf_180fed "modf_180fed"
OpName %_modf_result "_modf_result" OpName %__modf_result "__modf_result"
OpMemberName %_modf_result 0 "fract" OpMemberName %__modf_result 0 "fract"
OpMemberName %_modf_result 1 "whole" OpMemberName %__modf_result 1 "whole"
OpName %res "res" OpName %res "res"
OpName %vertex_main_inner "vertex_main_inner" OpName %vertex_main_inner "vertex_main_inner"
OpName %vertex_main "vertex_main" OpName %vertex_main "vertex_main"
@ -24,8 +24,8 @@
OpName %compute_main "compute_main" OpName %compute_main "compute_main"
OpDecorate %value BuiltIn Position OpDecorate %value BuiltIn Position
OpDecorate %vertex_point_size BuiltIn PointSize OpDecorate %vertex_point_size BuiltIn PointSize
OpMemberDecorate %_modf_result 0 Offset 0 OpMemberDecorate %__modf_result 0 Offset 0
OpMemberDecorate %_modf_result 1 Offset 4 OpMemberDecorate %__modf_result 1 Offset 4
%float = OpTypeFloat 32 %float = OpTypeFloat 32
%v4float = OpTypeVector %float 4 %v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float %_ptr_Output_v4float = OpTypePointer Output %v4float
@ -36,21 +36,21 @@
%vertex_point_size = OpVariable %_ptr_Output_float Output %8 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
%void = OpTypeVoid %void = OpTypeVoid
%9 = OpTypeFunction %void %9 = OpTypeFunction %void
%_modf_result = OpTypeStruct %float %float %__modf_result = OpTypeStruct %float %float
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%_ptr_Function__modf_result = OpTypePointer Function %_modf_result %_ptr_Function___modf_result = OpTypePointer Function %__modf_result
%19 = OpConstantNull %_modf_result %19 = OpConstantNull %__modf_result
%20 = OpTypeFunction %v4float %20 = OpTypeFunction %v4float
%modf_684d46 = OpFunction %void None %9 %modf_180fed = OpFunction %void None %9
%12 = OpLabel %12 = OpLabel
%res = OpVariable %_ptr_Function__modf_result Function %19 %res = OpVariable %_ptr_Function___modf_result Function %19
%13 = OpExtInst %_modf_result %15 ModfStruct %float_1 %13 = OpExtInst %__modf_result %15 ModfStruct %float_1
OpStore %res %13 OpStore %res %13
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%vertex_main_inner = OpFunction %v4float None %20 %vertex_main_inner = OpFunction %v4float None %20
%22 = OpLabel %22 = OpLabel
%23 = OpFunctionCall %void %modf_684d46 %23 = OpFunctionCall %void %modf_180fed
OpReturnValue %5 OpReturnValue %5
OpFunctionEnd OpFunctionEnd
%vertex_main = OpFunction %void None %9 %vertex_main = OpFunction %void None %9
@ -62,11 +62,11 @@
OpFunctionEnd OpFunctionEnd
%fragment_main = OpFunction %void None %9 %fragment_main = OpFunction %void None %9
%28 = OpLabel %28 = OpLabel
%29 = OpFunctionCall %void %modf_684d46 %29 = OpFunctionCall %void %modf_180fed
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%compute_main = OpFunction %void None %9 %compute_main = OpFunction %void None %9
%31 = OpLabel %31 = OpLabel
%32 = OpFunctionCall %void %modf_684d46 %32 = OpFunctionCall %void %modf_180fed
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd

View File

@ -1,19 +1,19 @@
fn modf_684d46() { fn modf_180fed() {
var res = modf(1.0); var res = modf(1.0);
} }
[[stage(vertex)]] [[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> { fn vertex_main() -> [[builtin(position)]] vec4<f32> {
modf_684d46(); modf_180fed();
return vec4<f32>(); return vec4<f32>();
} }
[[stage(fragment)]] [[stage(fragment)]]
fn fragment_main() { fn fragment_main() {
modf_684d46(); modf_180fed();
} }
[[stage(compute), workgroup_size(1)]] [[stage(compute), workgroup_size(1)]]
fn compute_main() { fn compute_main() {
modf_684d46(); modf_180fed();
} }

View File

@ -23,23 +23,23 @@
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// fn modf(vec<3, f32>) -> _modf_result_vec<3> // fn modf(vec<3, f32>) -> __modf_result_vec<3>
fn modf_2199f1() { fn modf_9b75f7() {
var res = modf(vec3<f32>()); var res = modf(vec3<f32>());
} }
[[stage(vertex)]] [[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> { fn vertex_main() -> [[builtin(position)]] vec4<f32> {
modf_2199f1(); modf_9b75f7();
return vec4<f32>(); return vec4<f32>();
} }
[[stage(fragment)]] [[stage(fragment)]]
fn fragment_main() { fn fragment_main() {
modf_2199f1(); modf_9b75f7();
} }
[[stage(compute), workgroup_size(1)]] [[stage(compute), workgroup_size(1)]]
fn compute_main() { fn compute_main() {
modf_2199f1(); modf_9b75f7();
} }

View File

@ -15,7 +15,7 @@ modf_result_vec3 tint_modf(vec3 param_0) {
} }
void modf_2199f1() { void modf_9b75f7() {
modf_result_vec3 res = tint_modf(vec3(0.0f, 0.0f, 0.0f)); modf_result_vec3 res = tint_modf(vec3(0.0f, 0.0f, 0.0f));
} }
@ -24,7 +24,7 @@ struct tint_symbol {
}; };
vec4 vertex_main_inner() { vec4 vertex_main_inner() {
modf_2199f1(); modf_9b75f7();
return vec4(0.0f, 0.0f, 0.0f, 0.0f); return vec4(0.0f, 0.0f, 0.0f, 0.0f);
} }
@ -64,7 +64,7 @@ modf_result_vec3 tint_modf(vec3 param_0) {
} }
void modf_2199f1() { void modf_9b75f7() {
modf_result_vec3 res = tint_modf(vec3(0.0f, 0.0f, 0.0f)); modf_result_vec3 res = tint_modf(vec3(0.0f, 0.0f, 0.0f));
} }
@ -73,7 +73,7 @@ struct tint_symbol {
}; };
void fragment_main() { void fragment_main() {
modf_2199f1(); modf_9b75f7();
return; return;
} }
void main() { void main() {
@ -103,7 +103,7 @@ modf_result_vec3 tint_modf(vec3 param_0) {
} }
void modf_2199f1() { void modf_9b75f7() {
modf_result_vec3 res = tint_modf(vec3(0.0f, 0.0f, 0.0f)); modf_result_vec3 res = tint_modf(vec3(0.0f, 0.0f, 0.0f));
} }
@ -113,7 +113,7 @@ struct tint_symbol {
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
void compute_main() { void compute_main() {
modf_2199f1(); modf_9b75f7();
return; return;
} }
void main() { void main() {

View File

@ -9,7 +9,7 @@ modf_result_vec3 tint_modf(float3 param_0) {
return result; return result;
} }
void modf_2199f1() { void modf_9b75f7() {
modf_result_vec3 res = tint_modf(float3(0.0f, 0.0f, 0.0f)); modf_result_vec3 res = tint_modf(float3(0.0f, 0.0f, 0.0f));
} }
@ -18,7 +18,7 @@ struct tint_symbol {
}; };
float4 vertex_main_inner() { float4 vertex_main_inner() {
modf_2199f1(); modf_9b75f7();
return float4(0.0f, 0.0f, 0.0f, 0.0f); return float4(0.0f, 0.0f, 0.0f, 0.0f);
} }
@ -30,12 +30,12 @@ tint_symbol vertex_main() {
} }
void fragment_main() { void fragment_main() {
modf_2199f1(); modf_9b75f7();
return; return;
} }
[numthreads(1, 1, 1)] [numthreads(1, 1, 1)]
void compute_main() { void compute_main() {
modf_2199f1(); modf_9b75f7();
return; return;
} }

View File

@ -16,12 +16,12 @@ struct tint_symbol {
float4 value [[position]]; float4 value [[position]];
}; };
void modf_2199f1() { void modf_9b75f7() {
modf_result_vec3 res = tint_modf(float3()); modf_result_vec3 res = tint_modf(float3());
} }
float4 vertex_main_inner() { float4 vertex_main_inner() {
modf_2199f1(); modf_9b75f7();
return float4(); return float4();
} }
@ -33,12 +33,12 @@ vertex tint_symbol vertex_main() {
} }
fragment void fragment_main() { fragment void fragment_main() {
modf_2199f1(); modf_9b75f7();
return; return;
} }
kernel void compute_main() { kernel void compute_main() {
modf_2199f1(); modf_9b75f7();
return; return;
} }

View File

@ -13,10 +13,10 @@
OpExecutionMode %compute_main LocalSize 1 1 1 OpExecutionMode %compute_main LocalSize 1 1 1
OpName %value "value" OpName %value "value"
OpName %vertex_point_size "vertex_point_size" OpName %vertex_point_size "vertex_point_size"
OpName %modf_2199f1 "modf_2199f1" OpName %modf_9b75f7 "modf_9b75f7"
OpName %_modf_result_vec3 "_modf_result_vec3" OpName %__modf_result_vec3 "__modf_result_vec3"
OpMemberName %_modf_result_vec3 0 "fract" OpMemberName %__modf_result_vec3 0 "fract"
OpMemberName %_modf_result_vec3 1 "whole" OpMemberName %__modf_result_vec3 1 "whole"
OpName %res "res" OpName %res "res"
OpName %vertex_main_inner "vertex_main_inner" OpName %vertex_main_inner "vertex_main_inner"
OpName %vertex_main "vertex_main" OpName %vertex_main "vertex_main"
@ -24,8 +24,8 @@
OpName %compute_main "compute_main" OpName %compute_main "compute_main"
OpDecorate %value BuiltIn Position OpDecorate %value BuiltIn Position
OpDecorate %vertex_point_size BuiltIn PointSize OpDecorate %vertex_point_size BuiltIn PointSize
OpMemberDecorate %_modf_result_vec3 0 Offset 0 OpMemberDecorate %__modf_result_vec3 0 Offset 0
OpMemberDecorate %_modf_result_vec3 1 Offset 16 OpMemberDecorate %__modf_result_vec3 1 Offset 16
%float = OpTypeFloat 32 %float = OpTypeFloat 32
%v4float = OpTypeVector %float 4 %v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float %_ptr_Output_v4float = OpTypePointer Output %v4float
@ -37,22 +37,22 @@
%void = OpTypeVoid %void = OpTypeVoid
%9 = OpTypeFunction %void %9 = OpTypeFunction %void
%v3float = OpTypeVector %float 3 %v3float = OpTypeVector %float 3
%_modf_result_vec3 = OpTypeStruct %v3float %v3float %__modf_result_vec3 = OpTypeStruct %v3float %v3float
%17 = OpConstantNull %v3float %17 = OpConstantNull %v3float
%_ptr_Function__modf_result_vec3 = OpTypePointer Function %_modf_result_vec3 %_ptr_Function___modf_result_vec3 = OpTypePointer Function %__modf_result_vec3
%20 = OpConstantNull %_modf_result_vec3 %20 = OpConstantNull %__modf_result_vec3
%21 = OpTypeFunction %v4float %21 = OpTypeFunction %v4float
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%modf_2199f1 = OpFunction %void None %9 %modf_9b75f7 = OpFunction %void None %9
%12 = OpLabel %12 = OpLabel
%res = OpVariable %_ptr_Function__modf_result_vec3 Function %20 %res = OpVariable %_ptr_Function___modf_result_vec3 Function %20
%13 = OpExtInst %_modf_result_vec3 %16 ModfStruct %17 %13 = OpExtInst %__modf_result_vec3 %16 ModfStruct %17
OpStore %res %13 OpStore %res %13
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%vertex_main_inner = OpFunction %v4float None %21 %vertex_main_inner = OpFunction %v4float None %21
%23 = OpLabel %23 = OpLabel
%24 = OpFunctionCall %void %modf_2199f1 %24 = OpFunctionCall %void %modf_9b75f7
OpReturnValue %5 OpReturnValue %5
OpFunctionEnd OpFunctionEnd
%vertex_main = OpFunction %void None %9 %vertex_main = OpFunction %void None %9
@ -64,11 +64,11 @@
OpFunctionEnd OpFunctionEnd
%fragment_main = OpFunction %void None %9 %fragment_main = OpFunction %void None %9
%30 = OpLabel %30 = OpLabel
%31 = OpFunctionCall %void %modf_2199f1 %31 = OpFunctionCall %void %modf_9b75f7
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%compute_main = OpFunction %void None %9 %compute_main = OpFunction %void None %9
%33 = OpLabel %33 = OpLabel
%34 = OpFunctionCall %void %modf_2199f1 %34 = OpFunctionCall %void %modf_9b75f7
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd

View File

@ -1,19 +1,19 @@
fn modf_2199f1() { fn modf_9b75f7() {
var res = modf(vec3<f32>()); var res = modf(vec3<f32>());
} }
[[stage(vertex)]] [[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> { fn vertex_main() -> [[builtin(position)]] vec4<f32> {
modf_2199f1(); modf_9b75f7();
return vec4<f32>(); return vec4<f32>();
} }
[[stage(fragment)]] [[stage(fragment)]]
fn fragment_main() { fn fragment_main() {
modf_2199f1(); modf_9b75f7();
} }
[[stage(compute), workgroup_size(1)]] [[stage(compute), workgroup_size(1)]]
fn compute_main() { fn compute_main() {
modf_2199f1(); modf_9b75f7();
} }

View File

@ -23,23 +23,23 @@
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// fn modf(vec<4, f32>) -> _modf_result_vec<4> // fn modf(vec<4, f32>) -> __modf_result_vec<4>
fn modf_9b44a9() { fn modf_ec2dbc() {
var res = modf(vec4<f32>()); var res = modf(vec4<f32>());
} }
[[stage(vertex)]] [[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> { fn vertex_main() -> [[builtin(position)]] vec4<f32> {
modf_9b44a9(); modf_ec2dbc();
return vec4<f32>(); return vec4<f32>();
} }
[[stage(fragment)]] [[stage(fragment)]]
fn fragment_main() { fn fragment_main() {
modf_9b44a9(); modf_ec2dbc();
} }
[[stage(compute), workgroup_size(1)]] [[stage(compute), workgroup_size(1)]]
fn compute_main() { fn compute_main() {
modf_9b44a9(); modf_ec2dbc();
} }

View File

@ -15,7 +15,7 @@ modf_result_vec4 tint_modf(vec4 param_0) {
} }
void modf_9b44a9() { void modf_ec2dbc() {
modf_result_vec4 res = tint_modf(vec4(0.0f, 0.0f, 0.0f, 0.0f)); modf_result_vec4 res = tint_modf(vec4(0.0f, 0.0f, 0.0f, 0.0f));
} }
@ -24,7 +24,7 @@ struct tint_symbol {
}; };
vec4 vertex_main_inner() { vec4 vertex_main_inner() {
modf_9b44a9(); modf_ec2dbc();
return vec4(0.0f, 0.0f, 0.0f, 0.0f); return vec4(0.0f, 0.0f, 0.0f, 0.0f);
} }
@ -64,7 +64,7 @@ modf_result_vec4 tint_modf(vec4 param_0) {
} }
void modf_9b44a9() { void modf_ec2dbc() {
modf_result_vec4 res = tint_modf(vec4(0.0f, 0.0f, 0.0f, 0.0f)); modf_result_vec4 res = tint_modf(vec4(0.0f, 0.0f, 0.0f, 0.0f));
} }
@ -73,7 +73,7 @@ struct tint_symbol {
}; };
void fragment_main() { void fragment_main() {
modf_9b44a9(); modf_ec2dbc();
return; return;
} }
void main() { void main() {
@ -103,7 +103,7 @@ modf_result_vec4 tint_modf(vec4 param_0) {
} }
void modf_9b44a9() { void modf_ec2dbc() {
modf_result_vec4 res = tint_modf(vec4(0.0f, 0.0f, 0.0f, 0.0f)); modf_result_vec4 res = tint_modf(vec4(0.0f, 0.0f, 0.0f, 0.0f));
} }
@ -113,7 +113,7 @@ struct tint_symbol {
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
void compute_main() { void compute_main() {
modf_9b44a9(); modf_ec2dbc();
return; return;
} }
void main() { void main() {

View File

@ -9,7 +9,7 @@ modf_result_vec4 tint_modf(float4 param_0) {
return result; return result;
} }
void modf_9b44a9() { void modf_ec2dbc() {
modf_result_vec4 res = tint_modf(float4(0.0f, 0.0f, 0.0f, 0.0f)); modf_result_vec4 res = tint_modf(float4(0.0f, 0.0f, 0.0f, 0.0f));
} }
@ -18,7 +18,7 @@ struct tint_symbol {
}; };
float4 vertex_main_inner() { float4 vertex_main_inner() {
modf_9b44a9(); modf_ec2dbc();
return float4(0.0f, 0.0f, 0.0f, 0.0f); return float4(0.0f, 0.0f, 0.0f, 0.0f);
} }
@ -30,12 +30,12 @@ tint_symbol vertex_main() {
} }
void fragment_main() { void fragment_main() {
modf_9b44a9(); modf_ec2dbc();
return; return;
} }
[numthreads(1, 1, 1)] [numthreads(1, 1, 1)]
void compute_main() { void compute_main() {
modf_9b44a9(); modf_ec2dbc();
return; return;
} }

View File

@ -16,12 +16,12 @@ struct tint_symbol {
float4 value [[position]]; float4 value [[position]];
}; };
void modf_9b44a9() { void modf_ec2dbc() {
modf_result_vec4 res = tint_modf(float4()); modf_result_vec4 res = tint_modf(float4());
} }
float4 vertex_main_inner() { float4 vertex_main_inner() {
modf_9b44a9(); modf_ec2dbc();
return float4(); return float4();
} }
@ -33,12 +33,12 @@ vertex tint_symbol vertex_main() {
} }
fragment void fragment_main() { fragment void fragment_main() {
modf_9b44a9(); modf_ec2dbc();
return; return;
} }
kernel void compute_main() { kernel void compute_main() {
modf_9b44a9(); modf_ec2dbc();
return; return;
} }

View File

@ -13,10 +13,10 @@
OpExecutionMode %compute_main LocalSize 1 1 1 OpExecutionMode %compute_main LocalSize 1 1 1
OpName %value "value" OpName %value "value"
OpName %vertex_point_size "vertex_point_size" OpName %vertex_point_size "vertex_point_size"
OpName %modf_9b44a9 "modf_9b44a9" OpName %modf_ec2dbc "modf_ec2dbc"
OpName %_modf_result_vec4 "_modf_result_vec4" OpName %__modf_result_vec4 "__modf_result_vec4"
OpMemberName %_modf_result_vec4 0 "fract" OpMemberName %__modf_result_vec4 0 "fract"
OpMemberName %_modf_result_vec4 1 "whole" OpMemberName %__modf_result_vec4 1 "whole"
OpName %res "res" OpName %res "res"
OpName %vertex_main_inner "vertex_main_inner" OpName %vertex_main_inner "vertex_main_inner"
OpName %vertex_main "vertex_main" OpName %vertex_main "vertex_main"
@ -24,8 +24,8 @@
OpName %compute_main "compute_main" OpName %compute_main "compute_main"
OpDecorate %value BuiltIn Position OpDecorate %value BuiltIn Position
OpDecorate %vertex_point_size BuiltIn PointSize OpDecorate %vertex_point_size BuiltIn PointSize
OpMemberDecorate %_modf_result_vec4 0 Offset 0 OpMemberDecorate %__modf_result_vec4 0 Offset 0
OpMemberDecorate %_modf_result_vec4 1 Offset 16 OpMemberDecorate %__modf_result_vec4 1 Offset 16
%float = OpTypeFloat 32 %float = OpTypeFloat 32
%v4float = OpTypeVector %float 4 %v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float %_ptr_Output_v4float = OpTypePointer Output %v4float
@ -36,21 +36,21 @@
%vertex_point_size = OpVariable %_ptr_Output_float Output %8 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
%void = OpTypeVoid %void = OpTypeVoid
%9 = OpTypeFunction %void %9 = OpTypeFunction %void
%_modf_result_vec4 = OpTypeStruct %v4float %v4float %__modf_result_vec4 = OpTypeStruct %v4float %v4float
%_ptr_Function__modf_result_vec4 = OpTypePointer Function %_modf_result_vec4 %_ptr_Function___modf_result_vec4 = OpTypePointer Function %__modf_result_vec4
%18 = OpConstantNull %_modf_result_vec4 %18 = OpConstantNull %__modf_result_vec4
%19 = OpTypeFunction %v4float %19 = OpTypeFunction %v4float
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%modf_9b44a9 = OpFunction %void None %9 %modf_ec2dbc = OpFunction %void None %9
%12 = OpLabel %12 = OpLabel
%res = OpVariable %_ptr_Function__modf_result_vec4 Function %18 %res = OpVariable %_ptr_Function___modf_result_vec4 Function %18
%13 = OpExtInst %_modf_result_vec4 %15 ModfStruct %5 %13 = OpExtInst %__modf_result_vec4 %15 ModfStruct %5
OpStore %res %13 OpStore %res %13
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%vertex_main_inner = OpFunction %v4float None %19 %vertex_main_inner = OpFunction %v4float None %19
%21 = OpLabel %21 = OpLabel
%22 = OpFunctionCall %void %modf_9b44a9 %22 = OpFunctionCall %void %modf_ec2dbc
OpReturnValue %5 OpReturnValue %5
OpFunctionEnd OpFunctionEnd
%vertex_main = OpFunction %void None %9 %vertex_main = OpFunction %void None %9
@ -62,11 +62,11 @@
OpFunctionEnd OpFunctionEnd
%fragment_main = OpFunction %void None %9 %fragment_main = OpFunction %void None %9
%28 = OpLabel %28 = OpLabel
%29 = OpFunctionCall %void %modf_9b44a9 %29 = OpFunctionCall %void %modf_ec2dbc
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%compute_main = OpFunction %void None %9 %compute_main = OpFunction %void None %9
%31 = OpLabel %31 = OpLabel
%32 = OpFunctionCall %void %modf_9b44a9 %32 = OpFunctionCall %void %modf_ec2dbc
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd

View File

@ -1,19 +1,19 @@
fn modf_9b44a9() { fn modf_ec2dbc() {
var res = modf(vec4<f32>()); var res = modf(vec4<f32>());
} }
[[stage(vertex)]] [[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> { fn vertex_main() -> [[builtin(position)]] vec4<f32> {
modf_9b44a9(); modf_ec2dbc();
return vec4<f32>(); return vec4<f32>();
} }
[[stage(fragment)]] [[stage(fragment)]]
fn fragment_main() { fn fragment_main() {
modf_9b44a9(); modf_ec2dbc();
} }
[[stage(compute), workgroup_size(1)]] [[stage(compute), workgroup_size(1)]]
fn compute_main() { fn compute_main() {
modf_9b44a9(); modf_ec2dbc();
} }

View File

@ -23,23 +23,23 @@
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// fn modf(vec<2, f32>) -> _modf_result_vec<2> // fn modf(vec<2, f32>) -> __modf_result_vec<2>
fn modf_c87851() { fn modf_f5f20d() {
var res = modf(vec2<f32>()); var res = modf(vec2<f32>());
} }
[[stage(vertex)]] [[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> { fn vertex_main() -> [[builtin(position)]] vec4<f32> {
modf_c87851(); modf_f5f20d();
return vec4<f32>(); return vec4<f32>();
} }
[[stage(fragment)]] [[stage(fragment)]]
fn fragment_main() { fn fragment_main() {
modf_c87851(); modf_f5f20d();
} }
[[stage(compute), workgroup_size(1)]] [[stage(compute), workgroup_size(1)]]
fn compute_main() { fn compute_main() {
modf_c87851(); modf_f5f20d();
} }

View File

@ -15,7 +15,7 @@ modf_result_vec2 tint_modf(vec2 param_0) {
} }
void modf_c87851() { void modf_f5f20d() {
modf_result_vec2 res = tint_modf(vec2(0.0f, 0.0f)); modf_result_vec2 res = tint_modf(vec2(0.0f, 0.0f));
} }
@ -24,7 +24,7 @@ struct tint_symbol {
}; };
vec4 vertex_main_inner() { vec4 vertex_main_inner() {
modf_c87851(); modf_f5f20d();
return vec4(0.0f, 0.0f, 0.0f, 0.0f); return vec4(0.0f, 0.0f, 0.0f, 0.0f);
} }
@ -64,7 +64,7 @@ modf_result_vec2 tint_modf(vec2 param_0) {
} }
void modf_c87851() { void modf_f5f20d() {
modf_result_vec2 res = tint_modf(vec2(0.0f, 0.0f)); modf_result_vec2 res = tint_modf(vec2(0.0f, 0.0f));
} }
@ -73,7 +73,7 @@ struct tint_symbol {
}; };
void fragment_main() { void fragment_main() {
modf_c87851(); modf_f5f20d();
return; return;
} }
void main() { void main() {
@ -103,7 +103,7 @@ modf_result_vec2 tint_modf(vec2 param_0) {
} }
void modf_c87851() { void modf_f5f20d() {
modf_result_vec2 res = tint_modf(vec2(0.0f, 0.0f)); modf_result_vec2 res = tint_modf(vec2(0.0f, 0.0f));
} }
@ -113,7 +113,7 @@ struct tint_symbol {
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
void compute_main() { void compute_main() {
modf_c87851(); modf_f5f20d();
return; return;
} }
void main() { void main() {

View File

@ -9,7 +9,7 @@ modf_result_vec2 tint_modf(float2 param_0) {
return result; return result;
} }
void modf_c87851() { void modf_f5f20d() {
modf_result_vec2 res = tint_modf(float2(0.0f, 0.0f)); modf_result_vec2 res = tint_modf(float2(0.0f, 0.0f));
} }
@ -18,7 +18,7 @@ struct tint_symbol {
}; };
float4 vertex_main_inner() { float4 vertex_main_inner() {
modf_c87851(); modf_f5f20d();
return float4(0.0f, 0.0f, 0.0f, 0.0f); return float4(0.0f, 0.0f, 0.0f, 0.0f);
} }
@ -30,12 +30,12 @@ tint_symbol vertex_main() {
} }
void fragment_main() { void fragment_main() {
modf_c87851(); modf_f5f20d();
return; return;
} }
[numthreads(1, 1, 1)] [numthreads(1, 1, 1)]
void compute_main() { void compute_main() {
modf_c87851(); modf_f5f20d();
return; return;
} }

View File

@ -16,12 +16,12 @@ struct tint_symbol {
float4 value [[position]]; float4 value [[position]];
}; };
void modf_c87851() { void modf_f5f20d() {
modf_result_vec2 res = tint_modf(float2()); modf_result_vec2 res = tint_modf(float2());
} }
float4 vertex_main_inner() { float4 vertex_main_inner() {
modf_c87851(); modf_f5f20d();
return float4(); return float4();
} }
@ -33,12 +33,12 @@ vertex tint_symbol vertex_main() {
} }
fragment void fragment_main() { fragment void fragment_main() {
modf_c87851(); modf_f5f20d();
return; return;
} }
kernel void compute_main() { kernel void compute_main() {
modf_c87851(); modf_f5f20d();
return; return;
} }

View File

@ -13,10 +13,10 @@
OpExecutionMode %compute_main LocalSize 1 1 1 OpExecutionMode %compute_main LocalSize 1 1 1
OpName %value "value" OpName %value "value"
OpName %vertex_point_size "vertex_point_size" OpName %vertex_point_size "vertex_point_size"
OpName %modf_c87851 "modf_c87851" OpName %modf_f5f20d "modf_f5f20d"
OpName %_modf_result_vec2 "_modf_result_vec2" OpName %__modf_result_vec2 "__modf_result_vec2"
OpMemberName %_modf_result_vec2 0 "fract" OpMemberName %__modf_result_vec2 0 "fract"
OpMemberName %_modf_result_vec2 1 "whole" OpMemberName %__modf_result_vec2 1 "whole"
OpName %res "res" OpName %res "res"
OpName %vertex_main_inner "vertex_main_inner" OpName %vertex_main_inner "vertex_main_inner"
OpName %vertex_main "vertex_main" OpName %vertex_main "vertex_main"
@ -24,8 +24,8 @@
OpName %compute_main "compute_main" OpName %compute_main "compute_main"
OpDecorate %value BuiltIn Position OpDecorate %value BuiltIn Position
OpDecorate %vertex_point_size BuiltIn PointSize OpDecorate %vertex_point_size BuiltIn PointSize
OpMemberDecorate %_modf_result_vec2 0 Offset 0 OpMemberDecorate %__modf_result_vec2 0 Offset 0
OpMemberDecorate %_modf_result_vec2 1 Offset 8 OpMemberDecorate %__modf_result_vec2 1 Offset 8
%float = OpTypeFloat 32 %float = OpTypeFloat 32
%v4float = OpTypeVector %float 4 %v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float %_ptr_Output_v4float = OpTypePointer Output %v4float
@ -37,22 +37,22 @@
%void = OpTypeVoid %void = OpTypeVoid
%9 = OpTypeFunction %void %9 = OpTypeFunction %void
%v2float = OpTypeVector %float 2 %v2float = OpTypeVector %float 2
%_modf_result_vec2 = OpTypeStruct %v2float %v2float %__modf_result_vec2 = OpTypeStruct %v2float %v2float
%17 = OpConstantNull %v2float %17 = OpConstantNull %v2float
%_ptr_Function__modf_result_vec2 = OpTypePointer Function %_modf_result_vec2 %_ptr_Function___modf_result_vec2 = OpTypePointer Function %__modf_result_vec2
%20 = OpConstantNull %_modf_result_vec2 %20 = OpConstantNull %__modf_result_vec2
%21 = OpTypeFunction %v4float %21 = OpTypeFunction %v4float
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%modf_c87851 = OpFunction %void None %9 %modf_f5f20d = OpFunction %void None %9
%12 = OpLabel %12 = OpLabel
%res = OpVariable %_ptr_Function__modf_result_vec2 Function %20 %res = OpVariable %_ptr_Function___modf_result_vec2 Function %20
%13 = OpExtInst %_modf_result_vec2 %16 ModfStruct %17 %13 = OpExtInst %__modf_result_vec2 %16 ModfStruct %17
OpStore %res %13 OpStore %res %13
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%vertex_main_inner = OpFunction %v4float None %21 %vertex_main_inner = OpFunction %v4float None %21
%23 = OpLabel %23 = OpLabel
%24 = OpFunctionCall %void %modf_c87851 %24 = OpFunctionCall %void %modf_f5f20d
OpReturnValue %5 OpReturnValue %5
OpFunctionEnd OpFunctionEnd
%vertex_main = OpFunction %void None %9 %vertex_main = OpFunction %void None %9
@ -64,11 +64,11 @@
OpFunctionEnd OpFunctionEnd
%fragment_main = OpFunction %void None %9 %fragment_main = OpFunction %void None %9
%30 = OpLabel %30 = OpLabel
%31 = OpFunctionCall %void %modf_c87851 %31 = OpFunctionCall %void %modf_f5f20d
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%compute_main = OpFunction %void None %9 %compute_main = OpFunction %void None %9
%33 = OpLabel %33 = OpLabel
%34 = OpFunctionCall %void %modf_c87851 %34 = OpFunctionCall %void %modf_f5f20d
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd

View File

@ -1,19 +1,19 @@
fn modf_c87851() { fn modf_f5f20d() {
var res = modf(vec2<f32>()); var res = modf(vec2<f32>());
} }
[[stage(vertex)]] [[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> { fn vertex_main() -> [[builtin(position)]] vec4<f32> {
modf_c87851(); modf_f5f20d();
return vec4<f32>(); return vec4<f32>();
} }
[[stage(fragment)]] [[stage(fragment)]]
fn fragment_main() { fn fragment_main() {
modf_c87851(); modf_f5f20d();
} }
[[stage(compute), workgroup_size(1)]] [[stage(compute), workgroup_size(1)]]
fn compute_main() { fn compute_main() {
modf_c87851(); modf_f5f20d();
} }

View File

@ -9,19 +9,19 @@
OpEntryPoint GLCompute %main "main" OpEntryPoint GLCompute %main "main"
OpExecutionMode %main LocalSize 1 1 1 OpExecutionMode %main LocalSize 1 1 1
OpName %main "main" OpName %main "main"
OpName %_modf_result "_modf_result" OpName %__modf_result "__modf_result"
OpMemberName %_modf_result 0 "fract" OpMemberName %__modf_result 0 "fract"
OpMemberName %_modf_result 1 "whole" OpMemberName %__modf_result 1 "whole"
OpMemberDecorate %_modf_result 0 Offset 0 OpMemberDecorate %__modf_result 0 Offset 0
OpMemberDecorate %_modf_result 1 Offset 4 OpMemberDecorate %__modf_result 1 Offset 4
%void = OpTypeVoid %void = OpTypeVoid
%1 = OpTypeFunction %void %1 = OpTypeFunction %void
%float = OpTypeFloat 32 %float = OpTypeFloat 32
%_modf_result = OpTypeStruct %float %float %__modf_result = OpTypeStruct %float %float
%float_1_23000002 = OpConstant %float 1.23000002 %float_1_23000002 = OpConstant %float 1.23000002
%main = OpFunction %void None %1 %main = OpFunction %void None %1
%4 = OpLabel %4 = OpLabel
%5 = OpExtInst %_modf_result %8 ModfStruct %float_1_23000002 %5 = OpExtInst %__modf_result %8 ModfStruct %float_1_23000002
%10 = OpCompositeExtract %float %5 0 %10 = OpCompositeExtract %float %5 0
%11 = OpCompositeExtract %float %5 1 %11 = OpCompositeExtract %float %5 1
OpReturn OpReturn