mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-08-03 18:55:39 +00:00
msl: Promote local private vars to function scope
If a module-scope private variable is only referenced within a single function, promote it to a function scope declaration instead of passing it as a parameter. This reduces the number of a function parameters that are needed in some cases. Bug: tint:1509 Change-Id: I8951f6216bc7e4cf5abfda314bea1e9ed3ded560 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/94002 Reviewed-by: Antonio Maiorano <amaiorano@google.com> Commit-Queue: Dan Sinclair <dsinclair@chromium.org> Kokoro: Kokoro <noreply+kokoro@google.com>
This commit is contained in:
parent
1a758d8ceb
commit
6c167a0dc7
@ -352,6 +352,9 @@ struct ModuleScopeVarToEntryPointParam::State {
|
||||
if (var->StorageClass() == ast::StorageClass::kNone) {
|
||||
continue;
|
||||
}
|
||||
if (local_private_vars_.count(var)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// This is the symbol for the variable that replaces the module-scope var.
|
||||
auto new_var_symbol = ctx.dst->Sym();
|
||||
@ -362,20 +365,46 @@ struct ModuleScopeVarToEntryPointParam::State {
|
||||
// Track whether the new variable was wrapped in a struct or not.
|
||||
bool is_wrapped = false;
|
||||
|
||||
// Process the variable to redeclare it as a function parameter or local variable.
|
||||
if (is_entry_point) {
|
||||
ProcessVariableInEntryPoint(func_ast, var, new_var_symbol, workgroup_param,
|
||||
workgroup_parameter_members, is_pointer,
|
||||
is_wrapped);
|
||||
// Check if this is a private variable that is only referenced by this function.
|
||||
bool local_private = false;
|
||||
if (var->StorageClass() == ast::StorageClass::kPrivate) {
|
||||
local_private = true;
|
||||
for (auto* user : var->Users()) {
|
||||
auto* stmt = user->Stmt();
|
||||
if (!stmt || stmt->Function() != func_sem) {
|
||||
local_private = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (local_private) {
|
||||
// Redeclare the variable at function scope.
|
||||
auto* disable_validation =
|
||||
ctx.dst->Disable(ast::DisabledValidation::kIgnoreStorageClass);
|
||||
auto* constructor = ctx.Clone(var->Declaration()->constructor);
|
||||
auto* local_var = ctx.dst->Var(new_var_symbol,
|
||||
CreateASTTypeFor(ctx, var->Type()->UnwrapRef()),
|
||||
ast::StorageClass::kPrivate, constructor,
|
||||
ast::AttributeList{disable_validation});
|
||||
ctx.InsertFront(func_ast->body->statements, ctx.dst->Decl(local_var));
|
||||
local_private_vars_.insert(var);
|
||||
} else {
|
||||
ProcessVariableInUserFunction(func_ast, var, new_var_symbol, is_pointer);
|
||||
// Process the variable to redeclare it as a parameter or local variable.
|
||||
if (is_entry_point) {
|
||||
ProcessVariableInEntryPoint(func_ast, var, new_var_symbol, workgroup_param,
|
||||
workgroup_parameter_members, is_pointer,
|
||||
is_wrapped);
|
||||
} else {
|
||||
ProcessVariableInUserFunction(func_ast, var, new_var_symbol, is_pointer);
|
||||
}
|
||||
|
||||
// Record the replacement symbol.
|
||||
var_to_newvar[var] = {new_var_symbol, is_pointer, is_wrapped};
|
||||
}
|
||||
|
||||
// Replace all uses of the module-scope variable.
|
||||
ReplaceUsesInFunction(func_ast, var, new_var_symbol, is_pointer, is_wrapped);
|
||||
|
||||
// Record the replacement symbol.
|
||||
var_to_newvar[var] = {new_var_symbol, is_pointer, is_wrapped};
|
||||
}
|
||||
|
||||
if (!workgroup_parameter_members.empty()) {
|
||||
@ -404,7 +433,13 @@ struct ModuleScopeVarToEntryPointParam::State {
|
||||
continue;
|
||||
}
|
||||
|
||||
auto new_var = var_to_newvar[target_var];
|
||||
auto it = var_to_newvar.find(target_var);
|
||||
if (it == var_to_newvar.end()) {
|
||||
// No replacement was created for this function.
|
||||
continue;
|
||||
}
|
||||
|
||||
auto new_var = it->second;
|
||||
bool is_handle = target_var->Type()->UnwrapRef()->is_handle();
|
||||
const ast::Expression* arg = ctx.dst->Expr(new_var.symbol);
|
||||
if (new_var.is_wrapped) {
|
||||
@ -435,6 +470,9 @@ struct ModuleScopeVarToEntryPointParam::State {
|
||||
// The structures that have already been cloned by this transform.
|
||||
std::unordered_set<const sem::Struct*> cloned_structs_;
|
||||
|
||||
// Set of a private variables that are local to a single function.
|
||||
std::unordered_set<const sem::Variable*> local_private_vars_;
|
||||
|
||||
// Map from identifier expression to the address-of expression that uses it.
|
||||
std::unordered_map<const ast::IdentifierExpression*, const ast::UnaryOpExpression*>
|
||||
ident_to_address_of_;
|
||||
|
@ -95,9 +95,14 @@ var<workgroup> w : f32;
|
||||
fn no_uses() {
|
||||
}
|
||||
|
||||
fn zoo() {
|
||||
p = p * 2.0;
|
||||
}
|
||||
|
||||
fn bar(a : f32, b : f32) {
|
||||
p = a;
|
||||
w = b;
|
||||
zoo();
|
||||
}
|
||||
|
||||
fn foo(a : f32) {
|
||||
@ -116,22 +121,27 @@ fn main() {
|
||||
fn no_uses() {
|
||||
}
|
||||
|
||||
fn bar(a : f32, b : f32, @internal(disable_validation__ignore_storage_class) @internal(disable_validation__ignore_invalid_pointer_argument) tint_symbol : ptr<private, f32>, @internal(disable_validation__ignore_storage_class) @internal(disable_validation__ignore_invalid_pointer_argument) tint_symbol_1 : ptr<workgroup, f32>) {
|
||||
*(tint_symbol) = a;
|
||||
*(tint_symbol_1) = b;
|
||||
fn zoo(@internal(disable_validation__ignore_storage_class) @internal(disable_validation__ignore_invalid_pointer_argument) tint_symbol : ptr<private, f32>) {
|
||||
*(tint_symbol) = (*(tint_symbol) * 2.0);
|
||||
}
|
||||
|
||||
fn foo(a : f32, @internal(disable_validation__ignore_storage_class) @internal(disable_validation__ignore_invalid_pointer_argument) tint_symbol_2 : ptr<private, f32>, @internal(disable_validation__ignore_storage_class) @internal(disable_validation__ignore_invalid_pointer_argument) tint_symbol_3 : ptr<workgroup, f32>) {
|
||||
fn bar(a : f32, b : f32, @internal(disable_validation__ignore_storage_class) @internal(disable_validation__ignore_invalid_pointer_argument) tint_symbol_1 : ptr<private, f32>, @internal(disable_validation__ignore_storage_class) @internal(disable_validation__ignore_invalid_pointer_argument) tint_symbol_2 : ptr<workgroup, f32>) {
|
||||
*(tint_symbol_1) = a;
|
||||
*(tint_symbol_2) = b;
|
||||
zoo(tint_symbol_1);
|
||||
}
|
||||
|
||||
fn foo(a : f32, @internal(disable_validation__ignore_storage_class) @internal(disable_validation__ignore_invalid_pointer_argument) tint_symbol_3 : ptr<private, f32>, @internal(disable_validation__ignore_storage_class) @internal(disable_validation__ignore_invalid_pointer_argument) tint_symbol_4 : ptr<workgroup, f32>) {
|
||||
let b : f32 = 2.0;
|
||||
bar(a, b, tint_symbol_2, tint_symbol_3);
|
||||
bar(a, b, tint_symbol_3, tint_symbol_4);
|
||||
no_uses();
|
||||
}
|
||||
|
||||
@compute @workgroup_size(1)
|
||||
fn main() {
|
||||
@internal(disable_validation__ignore_storage_class) var<private> tint_symbol_4 : f32;
|
||||
@internal(disable_validation__ignore_storage_class) var<workgroup> tint_symbol_5 : f32;
|
||||
foo(1.0, &(tint_symbol_4), &(tint_symbol_5));
|
||||
@internal(disable_validation__ignore_storage_class) var<private> tint_symbol_5 : f32;
|
||||
@internal(disable_validation__ignore_storage_class) var<workgroup> tint_symbol_6 : f32;
|
||||
foo(1.0, &(tint_symbol_5), &(tint_symbol_6));
|
||||
}
|
||||
)";
|
||||
|
||||
@ -159,6 +169,11 @@ fn no_uses() {
|
||||
fn bar(a : f32, b : f32) {
|
||||
p = a;
|
||||
w = b;
|
||||
zoo();
|
||||
}
|
||||
|
||||
fn zoo() {
|
||||
p = p * 2.0;
|
||||
}
|
||||
|
||||
var<private> p : f32;
|
||||
@ -168,23 +183,28 @@ var<workgroup> w : f32;
|
||||
auto* expect = R"(
|
||||
@compute @workgroup_size(1)
|
||||
fn main() {
|
||||
@internal(disable_validation__ignore_storage_class) var<private> tint_symbol_4 : f32;
|
||||
@internal(disable_validation__ignore_storage_class) var<workgroup> tint_symbol_5 : f32;
|
||||
foo(1.0, &(tint_symbol_4), &(tint_symbol_5));
|
||||
@internal(disable_validation__ignore_storage_class) var<private> tint_symbol_5 : f32;
|
||||
@internal(disable_validation__ignore_storage_class) var<workgroup> tint_symbol_6 : f32;
|
||||
foo(1.0, &(tint_symbol_5), &(tint_symbol_6));
|
||||
}
|
||||
|
||||
fn foo(a : f32, @internal(disable_validation__ignore_storage_class) @internal(disable_validation__ignore_invalid_pointer_argument) tint_symbol_2 : ptr<private, f32>, @internal(disable_validation__ignore_storage_class) @internal(disable_validation__ignore_invalid_pointer_argument) tint_symbol_3 : ptr<workgroup, f32>) {
|
||||
fn foo(a : f32, @internal(disable_validation__ignore_storage_class) @internal(disable_validation__ignore_invalid_pointer_argument) tint_symbol_3 : ptr<private, f32>, @internal(disable_validation__ignore_storage_class) @internal(disable_validation__ignore_invalid_pointer_argument) tint_symbol_4 : ptr<workgroup, f32>) {
|
||||
let b : f32 = 2.0;
|
||||
bar(a, b, tint_symbol_2, tint_symbol_3);
|
||||
bar(a, b, tint_symbol_3, tint_symbol_4);
|
||||
no_uses();
|
||||
}
|
||||
|
||||
fn no_uses() {
|
||||
}
|
||||
|
||||
fn bar(a : f32, b : f32, @internal(disable_validation__ignore_storage_class) @internal(disable_validation__ignore_invalid_pointer_argument) tint_symbol : ptr<private, f32>, @internal(disable_validation__ignore_storage_class) @internal(disable_validation__ignore_invalid_pointer_argument) tint_symbol_1 : ptr<workgroup, f32>) {
|
||||
*(tint_symbol) = a;
|
||||
*(tint_symbol_1) = b;
|
||||
fn bar(a : f32, b : f32, @internal(disable_validation__ignore_storage_class) @internal(disable_validation__ignore_invalid_pointer_argument) tint_symbol_1 : ptr<private, f32>, @internal(disable_validation__ignore_storage_class) @internal(disable_validation__ignore_invalid_pointer_argument) tint_symbol_2 : ptr<workgroup, f32>) {
|
||||
*(tint_symbol_1) = a;
|
||||
*(tint_symbol_2) = b;
|
||||
zoo(tint_symbol_1);
|
||||
}
|
||||
|
||||
fn zoo(@internal(disable_validation__ignore_storage_class) @internal(disable_validation__ignore_invalid_pointer_argument) tint_symbol : ptr<private, f32>) {
|
||||
*(tint_symbol) = (*(tint_symbol) * 2.0);
|
||||
}
|
||||
)";
|
||||
|
||||
@ -307,9 +327,9 @@ fn main() {
|
||||
|
||||
TEST_F(ModuleScopeVarToEntryPointParamTest, FoldAddressOfDeref) {
|
||||
auto* src = R"(
|
||||
var<private> v : f32;
|
||||
var<workgroup> v : f32;
|
||||
|
||||
fn bar(p : ptr<private, f32>) {
|
||||
fn bar(p : ptr<workgroup, f32>) {
|
||||
(*p) = 0.0;
|
||||
}
|
||||
|
||||
@ -324,17 +344,17 @@ fn main() {
|
||||
)";
|
||||
|
||||
auto* expect = R"(
|
||||
fn bar(p : ptr<private, f32>) {
|
||||
fn bar(p : ptr<workgroup, f32>) {
|
||||
*(p) = 0.0;
|
||||
}
|
||||
|
||||
fn foo(@internal(disable_validation__ignore_storage_class) @internal(disable_validation__ignore_invalid_pointer_argument) tint_symbol : ptr<private, f32>) {
|
||||
fn foo(@internal(disable_validation__ignore_storage_class) @internal(disable_validation__ignore_invalid_pointer_argument) tint_symbol : ptr<workgroup, f32>) {
|
||||
bar(tint_symbol);
|
||||
}
|
||||
|
||||
@compute @workgroup_size(1)
|
||||
fn main() {
|
||||
@internal(disable_validation__ignore_storage_class) var<private> tint_symbol_1 : f32;
|
||||
@internal(disable_validation__ignore_storage_class) var<workgroup> tint_symbol_1 : f32;
|
||||
foo(&(tint_symbol_1));
|
||||
}
|
||||
)";
|
||||
@ -355,25 +375,25 @@ fn foo() {
|
||||
bar(&v);
|
||||
}
|
||||
|
||||
fn bar(p : ptr<private, f32>) {
|
||||
fn bar(p : ptr<workgroup, f32>) {
|
||||
(*p) = 0.0;
|
||||
}
|
||||
|
||||
var<private> v : f32;
|
||||
var<workgroup> v : f32;
|
||||
)";
|
||||
|
||||
auto* expect = R"(
|
||||
@compute @workgroup_size(1)
|
||||
fn main() {
|
||||
@internal(disable_validation__ignore_storage_class) var<private> tint_symbol_1 : f32;
|
||||
@internal(disable_validation__ignore_storage_class) var<workgroup> tint_symbol_1 : f32;
|
||||
foo(&(tint_symbol_1));
|
||||
}
|
||||
|
||||
fn foo(@internal(disable_validation__ignore_storage_class) @internal(disable_validation__ignore_invalid_pointer_argument) tint_symbol : ptr<private, f32>) {
|
||||
fn foo(@internal(disable_validation__ignore_storage_class) @internal(disable_validation__ignore_invalid_pointer_argument) tint_symbol : ptr<workgroup, f32>) {
|
||||
bar(tint_symbol);
|
||||
}
|
||||
|
||||
fn bar(p : ptr<private, f32>) {
|
||||
fn bar(p : ptr<workgroup, f32>) {
|
||||
*(p) = 0.0;
|
||||
}
|
||||
)";
|
||||
@ -1152,6 +1172,81 @@ fn main() {
|
||||
EXPECT_EQ(expect, str(got));
|
||||
}
|
||||
|
||||
// Test that a private variable that is only referenced by a single user-defined function is
|
||||
// promoted to a function scope variable, rather than passed as a parameter.
|
||||
TEST_F(ModuleScopeVarToEntryPointParamTest, PromotePrivateToFunctionScope) {
|
||||
auto* src = R"(
|
||||
var<private> p : f32;
|
||||
|
||||
fn foo(a : f32) -> f32 {
|
||||
let x = p;
|
||||
p = x * a;
|
||||
return p;
|
||||
}
|
||||
|
||||
@compute @workgroup_size(1)
|
||||
fn main() {
|
||||
_ = foo(1.0);
|
||||
}
|
||||
)";
|
||||
|
||||
auto* expect = R"(
|
||||
fn foo(a : f32) -> f32 {
|
||||
@internal(disable_validation__ignore_storage_class) var<private> tint_symbol : f32;
|
||||
let x = tint_symbol;
|
||||
tint_symbol = (x * a);
|
||||
return tint_symbol;
|
||||
}
|
||||
|
||||
@compute @workgroup_size(1)
|
||||
fn main() {
|
||||
_ = foo(1.0);
|
||||
}
|
||||
)";
|
||||
|
||||
auto got = Run<ModuleScopeVarToEntryPointParam>(src);
|
||||
|
||||
EXPECT_EQ(expect, str(got));
|
||||
}
|
||||
|
||||
// Test that a private variable that is only referenced by a single user-defined function is
|
||||
// promoted to a function scope variable, rather than passed as a parameter.
|
||||
TEST_F(ModuleScopeVarToEntryPointParamTest, PromotePrivateToFunctionScope_OutOfOrder) {
|
||||
auto* src = R"(
|
||||
var<private> p : f32;
|
||||
|
||||
@compute @workgroup_size(1)
|
||||
fn main() {
|
||||
_ = foo(1.0);
|
||||
}
|
||||
|
||||
fn foo(a : f32) -> f32 {
|
||||
let x = p;
|
||||
p = x * a;
|
||||
return p;
|
||||
}
|
||||
|
||||
)";
|
||||
|
||||
auto* expect = R"(
|
||||
@compute @workgroup_size(1)
|
||||
fn main() {
|
||||
_ = foo(1.0);
|
||||
}
|
||||
|
||||
fn foo(a : f32) -> f32 {
|
||||
@internal(disable_validation__ignore_storage_class) var<private> tint_symbol : f32;
|
||||
let x = tint_symbol;
|
||||
tint_symbol = (x * a);
|
||||
return tint_symbol;
|
||||
}
|
||||
)";
|
||||
|
||||
auto got = Run<ModuleScopeVarToEntryPointParam>(src);
|
||||
|
||||
EXPECT_EQ(expect, str(got));
|
||||
}
|
||||
|
||||
TEST_F(ModuleScopeVarToEntryPointParamTest, EmtpyModule) {
|
||||
auto* src = "";
|
||||
|
||||
|
@ -28,7 +28,8 @@ S ret_struct_arr() {
|
||||
return tint_symbol_2;
|
||||
}
|
||||
|
||||
void foo(tint_array<int4, 4> src_param, thread tint_array<int4, 4>* const tint_symbol_4, threadgroup tint_array<int4, 4>* const tint_symbol_5, const constant S* const tint_symbol_6, device S* const tint_symbol_7) {
|
||||
void foo(tint_array<int4, 4> src_param, threadgroup tint_array<int4, 4>* const tint_symbol_5, const constant S* const tint_symbol_6, device S* const tint_symbol_7) {
|
||||
thread tint_array<int4, 4> tint_symbol_4 = {};
|
||||
tint_array<int4, 4> src_function = {};
|
||||
tint_array<int4, 4> dst = {};
|
||||
tint_array<int4, 4> const tint_symbol_3 = tint_array<int4, 4>{int4(1), int4(2), int4(3), int4(3)};
|
||||
@ -38,7 +39,7 @@ void foo(tint_array<int4, 4> src_param, thread tint_array<int4, 4>* const tint_s
|
||||
tint_array<int4, 4> const src_let = tint_array<int4, 4>{};
|
||||
dst = src_let;
|
||||
dst = src_function;
|
||||
dst = *(tint_symbol_4);
|
||||
dst = tint_symbol_4;
|
||||
dst = *(tint_symbol_5);
|
||||
S const tint_symbol = ret_struct_arr();
|
||||
dst = tint_symbol.arr;
|
||||
|
@ -28,22 +28,25 @@ S ret_struct_arr() {
|
||||
return tint_symbol_2;
|
||||
}
|
||||
|
||||
void foo(tint_array<int4, 4> src_param, thread tint_array<int4, 4>* const tint_symbol_4, thread tint_array<int4, 4>* const tint_symbol_5, threadgroup tint_array<int4, 4>* const tint_symbol_6, const constant S* const tint_symbol_7, device S* const tint_symbol_8, thread tint_array<tint_array<tint_array<int, 2>, 3>, 4>* const tint_symbol_9) {
|
||||
void foo(tint_array<int4, 4> src_param, threadgroup tint_array<int4, 4>* const tint_symbol_6, const constant S* const tint_symbol_7, device S* const tint_symbol_8) {
|
||||
thread tint_array<int4, 4> tint_symbol_4 = {};
|
||||
thread tint_array<int4, 4> tint_symbol_5 = {};
|
||||
thread tint_array<tint_array<tint_array<int, 2>, 3>, 4> tint_symbol_9 = {};
|
||||
tint_array<int4, 4> src_function = {};
|
||||
tint_array<int4, 4> const tint_symbol_3 = tint_array<int4, 4>{int4(1), int4(2), int4(3), int4(3)};
|
||||
*(tint_symbol_4) = tint_symbol_3;
|
||||
*(tint_symbol_4) = src_param;
|
||||
*(tint_symbol_4) = ret_arr();
|
||||
tint_symbol_4 = tint_symbol_3;
|
||||
tint_symbol_4 = src_param;
|
||||
tint_symbol_4 = ret_arr();
|
||||
tint_array<int4, 4> const src_let = tint_array<int4, 4>{};
|
||||
*(tint_symbol_4) = src_let;
|
||||
*(tint_symbol_4) = src_function;
|
||||
*(tint_symbol_4) = *(tint_symbol_5);
|
||||
*(tint_symbol_4) = *(tint_symbol_6);
|
||||
tint_symbol_4 = src_let;
|
||||
tint_symbol_4 = src_function;
|
||||
tint_symbol_4 = tint_symbol_5;
|
||||
tint_symbol_4 = *(tint_symbol_6);
|
||||
S const tint_symbol = ret_struct_arr();
|
||||
*(tint_symbol_4) = tint_symbol.arr;
|
||||
*(tint_symbol_4) = (*(tint_symbol_7)).arr;
|
||||
*(tint_symbol_4) = (*(tint_symbol_8)).arr;
|
||||
tint_symbol_4 = tint_symbol.arr;
|
||||
tint_symbol_4 = (*(tint_symbol_7)).arr;
|
||||
tint_symbol_4 = (*(tint_symbol_8)).arr;
|
||||
tint_array<tint_array<tint_array<int, 2>, 3>, 4> src_nested = {};
|
||||
*(tint_symbol_9) = src_nested;
|
||||
tint_symbol_9 = src_nested;
|
||||
}
|
||||
|
||||
|
@ -32,7 +32,8 @@ S ret_struct_arr() {
|
||||
return tint_symbol_3;
|
||||
}
|
||||
|
||||
void foo(tint_array<int4, 4> src_param, device S* const tint_symbol_5, thread tint_array<int4, 4>* const tint_symbol_6, threadgroup tint_array<int4, 4>* const tint_symbol_7, const constant S* const tint_symbol_8, device S* const tint_symbol_9, device S_nested* const tint_symbol_10) {
|
||||
void foo(tint_array<int4, 4> src_param, device S* const tint_symbol_5, threadgroup tint_array<int4, 4>* const tint_symbol_7, const constant S* const tint_symbol_8, device S* const tint_symbol_9, device S_nested* const tint_symbol_10) {
|
||||
thread tint_array<int4, 4> tint_symbol_6 = {};
|
||||
tint_array<int4, 4> src_function = {};
|
||||
tint_array<int4, 4> const tint_symbol_4 = tint_array<int4, 4>{int4(1), int4(2), int4(3), int4(3)};
|
||||
(*(tint_symbol_5)).arr = tint_symbol_4;
|
||||
@ -42,7 +43,7 @@ void foo(tint_array<int4, 4> src_param, device S* const tint_symbol_5, thread ti
|
||||
tint_array<int4, 4> const src_let = tint_array<int4, 4>{};
|
||||
(*(tint_symbol_5)).arr = src_let;
|
||||
(*(tint_symbol_5)).arr = src_function;
|
||||
(*(tint_symbol_5)).arr = *(tint_symbol_6);
|
||||
(*(tint_symbol_5)).arr = tint_symbol_6;
|
||||
(*(tint_symbol_5)).arr = *(tint_symbol_7);
|
||||
S const tint_symbol_1 = ret_struct_arr();
|
||||
(*(tint_symbol_5)).arr = tint_symbol_1.arr;
|
||||
|
@ -28,7 +28,8 @@ S ret_struct_arr() {
|
||||
return tint_symbol_2;
|
||||
}
|
||||
|
||||
void foo(tint_array<int4, 4> src_param, threadgroup tint_array<int4, 4>* const tint_symbol_4, thread tint_array<int4, 4>* const tint_symbol_5, threadgroup tint_array<int4, 4>* const tint_symbol_6, const constant S* const tint_symbol_7, device S* const tint_symbol_8, threadgroup tint_array<tint_array<tint_array<int, 2>, 3>, 4>* const tint_symbol_9) {
|
||||
void foo(tint_array<int4, 4> src_param, threadgroup tint_array<int4, 4>* const tint_symbol_4, threadgroup tint_array<int4, 4>* const tint_symbol_6, const constant S* const tint_symbol_7, device S* const tint_symbol_8, threadgroup tint_array<tint_array<tint_array<int, 2>, 3>, 4>* const tint_symbol_9) {
|
||||
thread tint_array<int4, 4> tint_symbol_5 = {};
|
||||
tint_array<int4, 4> src_function = {};
|
||||
tint_array<int4, 4> const tint_symbol_3 = tint_array<int4, 4>{int4(1), int4(2), int4(3), int4(3)};
|
||||
*(tint_symbol_4) = tint_symbol_3;
|
||||
@ -37,7 +38,7 @@ void foo(tint_array<int4, 4> src_param, threadgroup tint_array<int4, 4>* const t
|
||||
tint_array<int4, 4> const src_let = tint_array<int4, 4>{};
|
||||
*(tint_symbol_4) = src_let;
|
||||
*(tint_symbol_4) = src_function;
|
||||
*(tint_symbol_4) = *(tint_symbol_5);
|
||||
*(tint_symbol_4) = tint_symbol_5;
|
||||
*(tint_symbol_4) = *(tint_symbol_6);
|
||||
S const tint_symbol = ret_struct_arr();
|
||||
*(tint_symbol_4) = tint_symbol.arr;
|
||||
|
@ -1,22 +1,22 @@
|
||||
#include <metal_stdlib>
|
||||
|
||||
using namespace metal;
|
||||
void foo(thread float2* const tint_symbol_1, thread int3* const tint_symbol_2, thread uint4* const tint_symbol_3, thread bool2* const tint_symbol_4) {
|
||||
void foo() {
|
||||
thread float2 tint_symbol_1 = 0.0f;
|
||||
thread int3 tint_symbol_2 = 0;
|
||||
thread uint4 tint_symbol_3 = 0u;
|
||||
thread bool2 tint_symbol_4 = false;
|
||||
for(int i = 0; (i < 2); i = as_type<int>((as_type<uint>(i) + as_type<uint>(1)))) {
|
||||
(*(tint_symbol_1))[i] = 1.0f;
|
||||
(*(tint_symbol_2))[i] = 1;
|
||||
(*(tint_symbol_3))[i] = 1u;
|
||||
(*(tint_symbol_4))[i] = true;
|
||||
tint_symbol_1[i] = 1.0f;
|
||||
tint_symbol_2[i] = 1;
|
||||
tint_symbol_3[i] = 1u;
|
||||
tint_symbol_4[i] = true;
|
||||
}
|
||||
}
|
||||
|
||||
kernel void tint_symbol() {
|
||||
thread float2 tint_symbol_5 = 0.0f;
|
||||
thread int3 tint_symbol_6 = 0;
|
||||
thread uint4 tint_symbol_7 = 0u;
|
||||
thread bool2 tint_symbol_8 = false;
|
||||
for(int i = 0; (i < 2); i = as_type<int>((as_type<uint>(i) + as_type<uint>(1)))) {
|
||||
foo(&(tint_symbol_5), &(tint_symbol_6), &(tint_symbol_7), &(tint_symbol_8));
|
||||
foo();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
@ -1,21 +1,21 @@
|
||||
#include <metal_stdlib>
|
||||
|
||||
using namespace metal;
|
||||
void foo(thread float2* const tint_symbol_1, thread int3* const tint_symbol_2, thread uint4* const tint_symbol_3, thread bool2* const tint_symbol_4) {
|
||||
void foo() {
|
||||
thread float2 tint_symbol_1 = 0.0f;
|
||||
thread int3 tint_symbol_2 = 0;
|
||||
thread uint4 tint_symbol_3 = 0u;
|
||||
thread bool2 tint_symbol_4 = false;
|
||||
int i = 0;
|
||||
(*(tint_symbol_1))[i] = 1.0f;
|
||||
(*(tint_symbol_2))[i] = 1;
|
||||
(*(tint_symbol_3))[i] = 1u;
|
||||
(*(tint_symbol_4))[i] = true;
|
||||
tint_symbol_1[i] = 1.0f;
|
||||
tint_symbol_2[i] = 1;
|
||||
tint_symbol_3[i] = 1u;
|
||||
tint_symbol_4[i] = true;
|
||||
}
|
||||
|
||||
kernel void tint_symbol() {
|
||||
thread float2 tint_symbol_5 = 0.0f;
|
||||
thread int3 tint_symbol_6 = 0;
|
||||
thread uint4 tint_symbol_7 = 0u;
|
||||
thread bool2 tint_symbol_8 = false;
|
||||
for(int i = 0; (i < 2); i = as_type<int>((as_type<uint>(i) + as_type<uint>(1)))) {
|
||||
foo(&(tint_symbol_5), &(tint_symbol_6), &(tint_symbol_7), &(tint_symbol_8));
|
||||
foo();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
@ -5,13 +5,13 @@ void x(thread float* const p) {
|
||||
*(p) = 0.0f;
|
||||
}
|
||||
|
||||
void g(thread float* const tint_symbol) {
|
||||
x(tint_symbol);
|
||||
void g() {
|
||||
thread float tint_symbol = 0.0f;
|
||||
x(&(tint_symbol));
|
||||
}
|
||||
|
||||
fragment void f() {
|
||||
thread float tint_symbol_1 = 0.0f;
|
||||
g(&(tint_symbol_1));
|
||||
g();
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -68,22 +68,22 @@ struct tint_symbol_3 {
|
||||
float4 gl_Position [[position]];
|
||||
};
|
||||
|
||||
main_out tint_symbol_inner(float3 position_param, float2 uv_param, float3 normal_param, thread float3* const tint_symbol_10, thread float2* const tint_symbol_11, thread float3* const tint_symbol_12, const constant LeftOver* const tint_symbol_13, thread float4* const tint_symbol_14, thread float2* const tint_symbol_15) {
|
||||
main_out tint_symbol_inner(float3 position_param, float2 uv_param, float3 normal_param, thread float3* const tint_symbol_10, thread float2* const tint_symbol_11, const constant LeftOver* const tint_symbol_13, thread float4* const tint_symbol_14, thread float2* const tint_symbol_15) {
|
||||
thread float3 tint_symbol_12 = 0.0f;
|
||||
*(tint_symbol_10) = position_param;
|
||||
*(tint_symbol_11) = uv_param;
|
||||
*(tint_symbol_12) = normal_param;
|
||||
tint_symbol_12 = normal_param;
|
||||
main_1(tint_symbol_10, tint_symbol_13, tint_symbol_14, tint_symbol_11, tint_symbol_15);
|
||||
main_out const tint_symbol_4 = {.gl_Position=*(tint_symbol_14), .vUV_1=*(tint_symbol_15)};
|
||||
return tint_symbol_4;
|
||||
}
|
||||
|
||||
vertex tint_symbol_3 tint_symbol(const constant LeftOver* tint_symbol_19 [[buffer(0)]], tint_symbol_2 tint_symbol_1 [[stage_in]]) {
|
||||
vertex tint_symbol_3 tint_symbol(const constant LeftOver* tint_symbol_18 [[buffer(0)]], tint_symbol_2 tint_symbol_1 [[stage_in]]) {
|
||||
thread float3 tint_symbol_16 = 0.0f;
|
||||
thread float2 tint_symbol_17 = 0.0f;
|
||||
thread float3 tint_symbol_18 = 0.0f;
|
||||
thread float4 tint_symbol_20 = 0.0f;
|
||||
thread float2 tint_symbol_21 = 0.0f;
|
||||
main_out const inner_result = tint_symbol_inner(tint_symbol_1.position_param, tint_symbol_1.uv_param, tint_symbol_1.normal_param, &(tint_symbol_16), &(tint_symbol_17), &(tint_symbol_18), tint_symbol_19, &(tint_symbol_20), &(tint_symbol_21));
|
||||
thread float4 tint_symbol_19 = 0.0f;
|
||||
thread float2 tint_symbol_20 = 0.0f;
|
||||
main_out const inner_result = tint_symbol_inner(tint_symbol_1.position_param, tint_symbol_1.uv_param, tint_symbol_1.normal_param, &(tint_symbol_16), &(tint_symbol_17), tint_symbol_18, &(tint_symbol_19), &(tint_symbol_20));
|
||||
tint_symbol_3 wrapper_result = {};
|
||||
wrapper_result.gl_Position = inner_result.gl_Position;
|
||||
wrapper_result.vUV_1 = inner_result.vUV_1;
|
||||
|
3009
test/tint/bug/tint/1509.wgsl
Normal file
3009
test/tint/bug/tint/1509.wgsl
Normal file
File diff suppressed because it is too large
Load Diff
2018
test/tint/bug/tint/1509.wgsl.expected.glsl
Normal file
2018
test/tint/bug/tint/1509.wgsl.expected.glsl
Normal file
File diff suppressed because it is too large
Load Diff
2020
test/tint/bug/tint/1509.wgsl.expected.hlsl
Normal file
2020
test/tint/bug/tint/1509.wgsl.expected.hlsl
Normal file
File diff suppressed because it is too large
Load Diff
2023
test/tint/bug/tint/1509.wgsl.expected.msl
Normal file
2023
test/tint/bug/tint/1509.wgsl.expected.msl
Normal file
File diff suppressed because it is too large
Load Diff
6042
test/tint/bug/tint/1509.wgsl.expected.spvasm
Normal file
6042
test/tint/bug/tint/1509.wgsl.expected.spvasm
Normal file
File diff suppressed because it is too large
Load Diff
3009
test/tint/bug/tint/1509.wgsl.expected.wgsl
Normal file
3009
test/tint/bug/tint/1509.wgsl.expected.wgsl
Normal file
File diff suppressed because it is too large
Load Diff
@ -169,19 +169,19 @@ struct tint_symbol_3 {
|
||||
float4 sk_FragColor_1 [[color(0)]];
|
||||
};
|
||||
|
||||
main_out tint_symbol_inner(bool sk_Clockwise_param, float4 vcolor_S0_param, thread bool* const tint_symbol_9, thread float4* const tint_symbol_10, const constant UniformBuffer* const tint_symbol_11, thread float4* const tint_symbol_12) {
|
||||
*(tint_symbol_9) = sk_Clockwise_param;
|
||||
main_out tint_symbol_inner(bool sk_Clockwise_param, float4 vcolor_S0_param, thread float4* const tint_symbol_10, const constant UniformBuffer* const tint_symbol_11, thread float4* const tint_symbol_12) {
|
||||
thread bool tint_symbol_9 = false;
|
||||
tint_symbol_9 = sk_Clockwise_param;
|
||||
*(tint_symbol_10) = vcolor_S0_param;
|
||||
main_1(tint_symbol_10, tint_symbol_11, tint_symbol_12);
|
||||
main_out const tint_symbol_4 = {.sk_FragColor_1=*(tint_symbol_12)};
|
||||
return tint_symbol_4;
|
||||
}
|
||||
|
||||
fragment tint_symbol_3 tint_symbol(const constant UniformBuffer* tint_symbol_15 [[buffer(0)]], bool sk_Clockwise_param [[front_facing]], tint_symbol_2 tint_symbol_1 [[stage_in]]) {
|
||||
thread bool tint_symbol_13 = false;
|
||||
thread float4 tint_symbol_14 = 0.0f;
|
||||
thread float4 tint_symbol_16 = 0.0f;
|
||||
main_out const inner_result = tint_symbol_inner(sk_Clockwise_param, tint_symbol_1.vcolor_S0_param, &(tint_symbol_13), &(tint_symbol_14), tint_symbol_15, &(tint_symbol_16));
|
||||
fragment tint_symbol_3 tint_symbol(const constant UniformBuffer* tint_symbol_14 [[buffer(0)]], bool sk_Clockwise_param [[front_facing]], tint_symbol_2 tint_symbol_1 [[stage_in]]) {
|
||||
thread float4 tint_symbol_13 = 0.0f;
|
||||
thread float4 tint_symbol_15 = 0.0f;
|
||||
main_out const inner_result = tint_symbol_inner(sk_Clockwise_param, tint_symbol_1.vcolor_S0_param, &(tint_symbol_13), tint_symbol_14, &(tint_symbol_15));
|
||||
tint_symbol_3 wrapper_result = {};
|
||||
wrapper_result.sk_FragColor_1 = inner_result.sk_FragColor_1;
|
||||
return wrapper_result;
|
||||
|
@ -5,13 +5,13 @@ struct DrawIndirectArgs {
|
||||
/* 0x0000 */ atomic_uint vertexCount;
|
||||
};
|
||||
|
||||
void computeMain_inner(uint3 global_id, device DrawIndirectArgs* const tint_symbol, thread uint* const tint_symbol_1) {
|
||||
uint const firstVertex = atomic_fetch_add_explicit(&((*(tint_symbol)).vertexCount), *(tint_symbol_1), memory_order_relaxed);
|
||||
void computeMain_inner(uint3 global_id, device DrawIndirectArgs* const tint_symbol) {
|
||||
thread uint tint_symbol_1 = 0u;
|
||||
uint const firstVertex = atomic_fetch_add_explicit(&((*(tint_symbol)).vertexCount), tint_symbol_1, memory_order_relaxed);
|
||||
}
|
||||
|
||||
kernel void computeMain(device DrawIndirectArgs* tint_symbol_2 [[buffer(0)]], uint3 global_id [[thread_position_in_grid]]) {
|
||||
thread uint tint_symbol_3 = 0u;
|
||||
computeMain_inner(global_id, tint_symbol_2, &(tint_symbol_3));
|
||||
computeMain_inner(global_id, tint_symbol_2);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -64,7 +64,8 @@ float4x4 getFrameData_f1_(thread float* const frameID, const constant LeftOver*
|
||||
return float4x4(float4(x_40[0], x_40[1], x_40[2], x_40[3]), float4(x_47[0], x_47[1], x_47[2], x_47[3]), float4(x_54[0], x_54[1], x_54[2], x_54[3]), float4(float4(0.0f)[0], float4(0.0f)[1], float4(0.0f)[2], float4(0.0f)[3]));
|
||||
}
|
||||
|
||||
void main_1(thread float2* const tint_symbol_8, const constant LeftOver* const tint_symbol_9, texture2d<float, access::sample> tint_symbol_10, sampler tint_symbol_11, texture2d<float, access::sample> tint_symbol_12, texture2d<float, access::sample> tint_symbol_13, sampler tint_symbol_14, thread float* const tint_symbol_15, texture2d<float, access::sample> tint_symbol_16, sampler tint_symbol_17, texture2d<float, access::sample> tint_symbol_18, sampler tint_symbol_19, thread float4* const tint_symbol_20) {
|
||||
void main_1(thread float2* const tint_symbol_8, const constant LeftOver* const tint_symbol_9, texture2d<float, access::sample> tint_symbol_10, sampler tint_symbol_11, texture2d<float, access::sample> tint_symbol_12, texture2d<float, access::sample> tint_symbol_13, sampler tint_symbol_14, texture2d<float, access::sample> tint_symbol_16, sampler tint_symbol_17, texture2d<float, access::sample> tint_symbol_18, sampler tint_symbol_19, thread float4* const tint_symbol_20) {
|
||||
thread float tint_symbol_15 = 0.0f;
|
||||
float4 color = 0.0f;
|
||||
float2 tileUV = 0.0f;
|
||||
float2 tileID = 0.0f;
|
||||
@ -131,7 +132,7 @@ void main_1(thread float2* const tint_symbol_8, const constant LeftOver* const t
|
||||
if ((x_174 > 0.0f)) {
|
||||
float const x_181 = (*(tint_symbol_9)).time;
|
||||
float const x_184 = animationData[2];
|
||||
*(tint_symbol_15) = fmod((x_181 * x_184), 1.0f);
|
||||
tint_symbol_15 = fmod((x_181 * x_184), 1.0f);
|
||||
f = 0.0f;
|
||||
while (true) {
|
||||
float const x_193 = f;
|
||||
@ -140,7 +141,7 @@ void main_1(thread float2* const tint_symbol_8, const constant LeftOver* const t
|
||||
break;
|
||||
}
|
||||
float const x_197 = animationData[1];
|
||||
float const x_198 = *(tint_symbol_15);
|
||||
float const x_198 = tint_symbol_15;
|
||||
if ((x_197 > x_198)) {
|
||||
float const x_203 = animationData[0];
|
||||
frameID_1 = x_203;
|
||||
@ -231,28 +232,27 @@ struct tint_symbol_3 {
|
||||
float4 glFragColor_1 [[color(0)]];
|
||||
};
|
||||
|
||||
main_out tint_symbol_inner(float2 tUV_param, float2 tileID_1_param, float2 levelUnits_param, float2 stageUnits_1_param, float3 vPosition_param, float2 vUV_param, thread float2* const tint_symbol_21, thread float2* const tint_symbol_22, thread float2* const tint_symbol_23, thread float2* const tint_symbol_24, thread float3* const tint_symbol_25, thread float2* const tint_symbol_26, const constant LeftOver* const tint_symbol_27, texture2d<float, access::sample> tint_symbol_28, sampler tint_symbol_29, texture2d<float, access::sample> tint_symbol_30, texture2d<float, access::sample> tint_symbol_31, sampler tint_symbol_32, thread float* const tint_symbol_33, texture2d<float, access::sample> tint_symbol_34, sampler tint_symbol_35, texture2d<float, access::sample> tint_symbol_36, sampler tint_symbol_37, thread float4* const tint_symbol_38) {
|
||||
main_out tint_symbol_inner(float2 tUV_param, float2 tileID_1_param, float2 levelUnits_param, float2 stageUnits_1_param, float3 vPosition_param, float2 vUV_param, thread float2* const tint_symbol_21, const constant LeftOver* const tint_symbol_27, texture2d<float, access::sample> tint_symbol_28, sampler tint_symbol_29, texture2d<float, access::sample> tint_symbol_30, texture2d<float, access::sample> tint_symbol_31, sampler tint_symbol_32, texture2d<float, access::sample> tint_symbol_33, sampler tint_symbol_34, texture2d<float, access::sample> tint_symbol_35, sampler tint_symbol_36, thread float4* const tint_symbol_37) {
|
||||
thread float2 tint_symbol_22 = 0.0f;
|
||||
thread float2 tint_symbol_23 = 0.0f;
|
||||
thread float2 tint_symbol_24 = 0.0f;
|
||||
thread float3 tint_symbol_25 = 0.0f;
|
||||
thread float2 tint_symbol_26 = 0.0f;
|
||||
*(tint_symbol_21) = tUV_param;
|
||||
*(tint_symbol_22) = tileID_1_param;
|
||||
*(tint_symbol_23) = levelUnits_param;
|
||||
*(tint_symbol_24) = stageUnits_1_param;
|
||||
*(tint_symbol_25) = vPosition_param;
|
||||
*(tint_symbol_26) = vUV_param;
|
||||
main_1(tint_symbol_21, tint_symbol_27, tint_symbol_28, tint_symbol_29, tint_symbol_30, tint_symbol_31, tint_symbol_32, tint_symbol_33, tint_symbol_34, tint_symbol_35, tint_symbol_36, tint_symbol_37, tint_symbol_38);
|
||||
main_out const tint_symbol_4 = {.glFragColor_1=*(tint_symbol_38)};
|
||||
tint_symbol_22 = tileID_1_param;
|
||||
tint_symbol_23 = levelUnits_param;
|
||||
tint_symbol_24 = stageUnits_1_param;
|
||||
tint_symbol_25 = vPosition_param;
|
||||
tint_symbol_26 = vUV_param;
|
||||
main_1(tint_symbol_21, tint_symbol_27, tint_symbol_28, tint_symbol_29, tint_symbol_30, tint_symbol_31, tint_symbol_32, tint_symbol_33, tint_symbol_34, tint_symbol_35, tint_symbol_36, tint_symbol_37);
|
||||
main_out const tint_symbol_4 = {.glFragColor_1=*(tint_symbol_37)};
|
||||
return tint_symbol_4;
|
||||
}
|
||||
|
||||
fragment tint_symbol_3 tint_symbol(const constant LeftOver* tint_symbol_45 [[buffer(0)]], texture2d<float, access::sample> tint_symbol_46 [[texture(0)]], sampler tint_symbol_47 [[sampler(0)]], texture2d<float, access::sample> tint_symbol_48 [[texture(1)]], texture2d<float, access::sample> tint_symbol_49 [[texture(2)]], sampler tint_symbol_50 [[sampler(1)]], texture2d<float, access::sample> tint_symbol_52 [[texture(3)]], sampler tint_symbol_53 [[sampler(2)]], texture2d<float, access::sample> tint_symbol_54 [[texture(4)]], sampler tint_symbol_55 [[sampler(3)]], tint_symbol_2 tint_symbol_1 [[stage_in]]) {
|
||||
thread float2 tint_symbol_39 = 0.0f;
|
||||
thread float2 tint_symbol_40 = 0.0f;
|
||||
thread float2 tint_symbol_41 = 0.0f;
|
||||
thread float2 tint_symbol_42 = 0.0f;
|
||||
thread float3 tint_symbol_43 = 0.0f;
|
||||
thread float2 tint_symbol_44 = 0.0f;
|
||||
thread float tint_symbol_51 = 0.0f;
|
||||
thread float4 tint_symbol_56 = 0.0f;
|
||||
main_out const inner_result = tint_symbol_inner(tint_symbol_1.tUV_param, tint_symbol_1.tileID_1_param, tint_symbol_1.levelUnits_param, tint_symbol_1.stageUnits_1_param, tint_symbol_1.vPosition_param, tint_symbol_1.vUV_param, &(tint_symbol_39), &(tint_symbol_40), &(tint_symbol_41), &(tint_symbol_42), &(tint_symbol_43), &(tint_symbol_44), tint_symbol_45, tint_symbol_46, tint_symbol_47, tint_symbol_48, tint_symbol_49, tint_symbol_50, &(tint_symbol_51), tint_symbol_52, tint_symbol_53, tint_symbol_54, tint_symbol_55, &(tint_symbol_56));
|
||||
fragment tint_symbol_3 tint_symbol(const constant LeftOver* tint_symbol_39 [[buffer(0)]], texture2d<float, access::sample> tint_symbol_40 [[texture(0)]], sampler tint_symbol_41 [[sampler(0)]], texture2d<float, access::sample> tint_symbol_42 [[texture(1)]], texture2d<float, access::sample> tint_symbol_43 [[texture(2)]], sampler tint_symbol_44 [[sampler(1)]], texture2d<float, access::sample> tint_symbol_45 [[texture(3)]], sampler tint_symbol_46 [[sampler(2)]], texture2d<float, access::sample> tint_symbol_47 [[texture(4)]], sampler tint_symbol_48 [[sampler(3)]], tint_symbol_2 tint_symbol_1 [[stage_in]]) {
|
||||
thread float2 tint_symbol_38 = 0.0f;
|
||||
thread float4 tint_symbol_49 = 0.0f;
|
||||
main_out const inner_result = tint_symbol_inner(tint_symbol_1.tUV_param, tint_symbol_1.tileID_1_param, tint_symbol_1.levelUnits_param, tint_symbol_1.stageUnits_1_param, tint_symbol_1.vPosition_param, tint_symbol_1.vUV_param, &(tint_symbol_38), tint_symbol_39, tint_symbol_40, tint_symbol_41, tint_symbol_42, tint_symbol_43, tint_symbol_44, tint_symbol_45, tint_symbol_46, tint_symbol_47, tint_symbol_48, &(tint_symbol_49));
|
||||
tint_symbol_3 wrapper_result = {};
|
||||
wrapper_result.glFragColor_1 = inner_result.glFragColor_1;
|
||||
return wrapper_result;
|
||||
|
@ -196,7 +196,9 @@ lightingInfo computeHemisphericLighting_vf3_vf3_vf4_vf3_vf3_vf3_f1_(thread float
|
||||
return x_245;
|
||||
}
|
||||
|
||||
void main_1(thread float* const tint_symbol_5, thread float3* const tint_symbol_6, thread float2* const tint_symbol_7, texture2d<float, access::sample> tint_symbol_8, sampler tint_symbol_9, const constant LeftOver* const tint_symbol_10, thread float4* const tint_symbol_11, thread bool* const tint_symbol_12, thread float2* const tint_symbol_13, thread float4* const tint_symbol_14, texture2d<float, access::sample> tint_symbol_15, sampler tint_symbol_16, const constant Light0* const tint_symbol_17, thread float4* const tint_symbol_18) {
|
||||
void main_1(thread float2* const tint_symbol_7, texture2d<float, access::sample> tint_symbol_8, sampler tint_symbol_9, const constant LeftOver* const tint_symbol_10, thread float4* const tint_symbol_11, thread bool* const tint_symbol_12, thread float2* const tint_symbol_13, thread float4* const tint_symbol_14, texture2d<float, access::sample> tint_symbol_15, sampler tint_symbol_16, const constant Light0* const tint_symbol_17, thread float4* const tint_symbol_18) {
|
||||
thread float tint_symbol_5 = 0.0f;
|
||||
thread float3 tint_symbol_6 = 0.0f;
|
||||
float4 tempTextureRead = 0.0f;
|
||||
float3 rgb = 0.0f;
|
||||
float3 output5 = 0.0f;
|
||||
@ -250,8 +252,8 @@ void main_1(thread float* const tint_symbol_5, thread float3* const tint_symbol_
|
||||
float3 diffuseOutput = 0.0f;
|
||||
float3 specularOutput = 0.0f;
|
||||
float3 output3 = 0.0f;
|
||||
*(tint_symbol_5) = 100.0f;
|
||||
*(tint_symbol_6) = float3(0.5f);
|
||||
tint_symbol_5 = 100.0f;
|
||||
tint_symbol_6 = float3(0.5f);
|
||||
float2 const x_261 = *(tint_symbol_7);
|
||||
float4 const x_262 = tint_symbol_8.sample(tint_symbol_9, x_261);
|
||||
tempTextureRead = x_262;
|
||||
@ -394,7 +396,7 @@ void main_1(thread float* const tint_symbol_5, thread float3* const tint_symbol_
|
||||
float4 const x_482 = *(tint_symbol_11);
|
||||
viewDirectionW_1 = normalize((x_481 - float3(x_482[0], x_482[1], x_482[2])));
|
||||
shadow = 1.0f;
|
||||
float const x_488 = *(tint_symbol_5);
|
||||
float const x_488 = tint_symbol_5;
|
||||
glossiness_1 = (1.0f * x_488);
|
||||
diffuseBase = float3(0.0f);
|
||||
specularBase = float3(0.0f);
|
||||
@ -429,7 +431,7 @@ void main_1(thread float* const tint_symbol_5, thread float3* const tint_symbol_
|
||||
float3 const x_536 = rgb1;
|
||||
diffuseOutput = (x_535 * x_536);
|
||||
float3 const x_539 = specularBase;
|
||||
float3 const x_540 = *(tint_symbol_6);
|
||||
float3 const x_540 = tint_symbol_6;
|
||||
specularOutput = (x_539 * x_540);
|
||||
float3 const x_543 = diffuseOutput;
|
||||
float3 const x_544 = specularOutput;
|
||||
@ -454,27 +456,25 @@ struct tint_symbol_3 {
|
||||
float4 glFragColor_1 [[color(0)]];
|
||||
};
|
||||
|
||||
main_out tint_symbol_inner(float2 vMainuv_param, float4 v_output1_param, bool gl_FrontFacing_param, float2 v_uv_param, float4 v_output2_param, thread float2* const tint_symbol_19, thread float4* const tint_symbol_20, thread bool* const tint_symbol_21, thread float2* const tint_symbol_22, thread float4* const tint_symbol_23, thread float* const tint_symbol_24, thread float3* const tint_symbol_25, texture2d<float, access::sample> tint_symbol_26, sampler tint_symbol_27, const constant LeftOver* const tint_symbol_28, texture2d<float, access::sample> tint_symbol_29, sampler tint_symbol_30, const constant Light0* const tint_symbol_31, thread float4* const tint_symbol_32) {
|
||||
main_out tint_symbol_inner(float2 vMainuv_param, float4 v_output1_param, bool gl_FrontFacing_param, float2 v_uv_param, float4 v_output2_param, thread float2* const tint_symbol_19, thread float4* const tint_symbol_20, thread bool* const tint_symbol_21, thread float2* const tint_symbol_22, thread float4* const tint_symbol_23, texture2d<float, access::sample> tint_symbol_24, sampler tint_symbol_25, const constant LeftOver* const tint_symbol_26, texture2d<float, access::sample> tint_symbol_27, sampler tint_symbol_28, const constant Light0* const tint_symbol_29, thread float4* const tint_symbol_30) {
|
||||
*(tint_symbol_19) = vMainuv_param;
|
||||
*(tint_symbol_20) = v_output1_param;
|
||||
*(tint_symbol_21) = gl_FrontFacing_param;
|
||||
*(tint_symbol_22) = v_uv_param;
|
||||
*(tint_symbol_23) = v_output2_param;
|
||||
main_1(tint_symbol_24, tint_symbol_25, tint_symbol_19, tint_symbol_26, tint_symbol_27, tint_symbol_28, tint_symbol_20, tint_symbol_21, tint_symbol_22, tint_symbol_23, tint_symbol_29, tint_symbol_30, tint_symbol_31, tint_symbol_32);
|
||||
main_out const tint_symbol_4 = {.glFragColor_1=*(tint_symbol_32)};
|
||||
main_1(tint_symbol_19, tint_symbol_24, tint_symbol_25, tint_symbol_26, tint_symbol_20, tint_symbol_21, tint_symbol_22, tint_symbol_23, tint_symbol_27, tint_symbol_28, tint_symbol_29, tint_symbol_30);
|
||||
main_out const tint_symbol_4 = {.glFragColor_1=*(tint_symbol_30)};
|
||||
return tint_symbol_4;
|
||||
}
|
||||
|
||||
fragment tint_symbol_3 tint_symbol(texture2d<float, access::sample> tint_symbol_40 [[texture(0)]], sampler tint_symbol_41 [[sampler(0)]], const constant LeftOver* tint_symbol_42 [[buffer(0)]], texture2d<float, access::sample> tint_symbol_43 [[texture(1)]], sampler tint_symbol_44 [[sampler(1)]], const constant Light0* tint_symbol_45 [[buffer(1)]], bool gl_FrontFacing_param [[front_facing]], tint_symbol_2 tint_symbol_1 [[stage_in]]) {
|
||||
thread float2 tint_symbol_33 = 0.0f;
|
||||
thread float4 tint_symbol_34 = 0.0f;
|
||||
thread bool tint_symbol_35 = false;
|
||||
thread float2 tint_symbol_36 = 0.0f;
|
||||
thread float4 tint_symbol_37 = 0.0f;
|
||||
thread float tint_symbol_38 = 0.0f;
|
||||
thread float3 tint_symbol_39 = 0.0f;
|
||||
thread float4 tint_symbol_46 = 0.0f;
|
||||
main_out const inner_result = tint_symbol_inner(tint_symbol_1.vMainuv_param, tint_symbol_1.v_output1_param, gl_FrontFacing_param, tint_symbol_1.v_uv_param, tint_symbol_1.v_output2_param, &(tint_symbol_33), &(tint_symbol_34), &(tint_symbol_35), &(tint_symbol_36), &(tint_symbol_37), &(tint_symbol_38), &(tint_symbol_39), tint_symbol_40, tint_symbol_41, tint_symbol_42, tint_symbol_43, tint_symbol_44, tint_symbol_45, &(tint_symbol_46));
|
||||
fragment tint_symbol_3 tint_symbol(texture2d<float, access::sample> tint_symbol_36 [[texture(0)]], sampler tint_symbol_37 [[sampler(0)]], const constant LeftOver* tint_symbol_38 [[buffer(0)]], texture2d<float, access::sample> tint_symbol_39 [[texture(1)]], sampler tint_symbol_40 [[sampler(1)]], const constant Light0* tint_symbol_41 [[buffer(1)]], bool gl_FrontFacing_param [[front_facing]], tint_symbol_2 tint_symbol_1 [[stage_in]]) {
|
||||
thread float2 tint_symbol_31 = 0.0f;
|
||||
thread float4 tint_symbol_32 = 0.0f;
|
||||
thread bool tint_symbol_33 = false;
|
||||
thread float2 tint_symbol_34 = 0.0f;
|
||||
thread float4 tint_symbol_35 = 0.0f;
|
||||
thread float4 tint_symbol_42 = 0.0f;
|
||||
main_out const inner_result = tint_symbol_inner(tint_symbol_1.vMainuv_param, tint_symbol_1.v_output1_param, gl_FrontFacing_param, tint_symbol_1.v_uv_param, tint_symbol_1.v_output2_param, &(tint_symbol_31), &(tint_symbol_32), &(tint_symbol_33), &(tint_symbol_34), &(tint_symbol_35), tint_symbol_36, tint_symbol_37, tint_symbol_38, tint_symbol_39, tint_symbol_40, tint_symbol_41, &(tint_symbol_42));
|
||||
tint_symbol_3 wrapper_result = {};
|
||||
wrapper_result.glFragColor_1 = inner_result.glFragColor_1;
|
||||
return wrapper_result;
|
||||
|
@ -5,127 +5,128 @@ struct S {
|
||||
float3 v;
|
||||
};
|
||||
|
||||
void f(thread S* const tint_symbol) {
|
||||
float3 v = (*(tint_symbol)).v;
|
||||
float x = (*(tint_symbol)).v[0];
|
||||
float y = (*(tint_symbol)).v[1];
|
||||
float z = (*(tint_symbol)).v[2];
|
||||
float2 xx = float3((*(tint_symbol)).v).xx;
|
||||
float2 xy = float3((*(tint_symbol)).v).xy;
|
||||
float2 xz = float3((*(tint_symbol)).v).xz;
|
||||
float2 yx = float3((*(tint_symbol)).v).yx;
|
||||
float2 yy = float3((*(tint_symbol)).v).yy;
|
||||
float2 yz = float3((*(tint_symbol)).v).yz;
|
||||
float2 zx = float3((*(tint_symbol)).v).zx;
|
||||
float2 zy = float3((*(tint_symbol)).v).zy;
|
||||
float2 zz = float3((*(tint_symbol)).v).zz;
|
||||
float3 xxx = float3((*(tint_symbol)).v).xxx;
|
||||
float3 xxy = float3((*(tint_symbol)).v).xxy;
|
||||
float3 xxz = float3((*(tint_symbol)).v).xxz;
|
||||
float3 xyx = float3((*(tint_symbol)).v).xyx;
|
||||
float3 xyy = float3((*(tint_symbol)).v).xyy;
|
||||
float3 xyz = float3((*(tint_symbol)).v).xyz;
|
||||
float3 xzx = float3((*(tint_symbol)).v).xzx;
|
||||
float3 xzy = float3((*(tint_symbol)).v).xzy;
|
||||
float3 xzz = float3((*(tint_symbol)).v).xzz;
|
||||
float3 yxx = float3((*(tint_symbol)).v).yxx;
|
||||
float3 yxy = float3((*(tint_symbol)).v).yxy;
|
||||
float3 yxz = float3((*(tint_symbol)).v).yxz;
|
||||
float3 yyx = float3((*(tint_symbol)).v).yyx;
|
||||
float3 yyy = float3((*(tint_symbol)).v).yyy;
|
||||
float3 yyz = float3((*(tint_symbol)).v).yyz;
|
||||
float3 yzx = float3((*(tint_symbol)).v).yzx;
|
||||
float3 yzy = float3((*(tint_symbol)).v).yzy;
|
||||
float3 yzz = float3((*(tint_symbol)).v).yzz;
|
||||
float3 zxx = float3((*(tint_symbol)).v).zxx;
|
||||
float3 zxy = float3((*(tint_symbol)).v).zxy;
|
||||
float3 zxz = float3((*(tint_symbol)).v).zxz;
|
||||
float3 zyx = float3((*(tint_symbol)).v).zyx;
|
||||
float3 zyy = float3((*(tint_symbol)).v).zyy;
|
||||
float3 zyz = float3((*(tint_symbol)).v).zyz;
|
||||
float3 zzx = float3((*(tint_symbol)).v).zzx;
|
||||
float3 zzy = float3((*(tint_symbol)).v).zzy;
|
||||
float3 zzz = float3((*(tint_symbol)).v).zzz;
|
||||
float4 xxxx = float3((*(tint_symbol)).v).xxxx;
|
||||
float4 xxxy = float3((*(tint_symbol)).v).xxxy;
|
||||
float4 xxxz = float3((*(tint_symbol)).v).xxxz;
|
||||
float4 xxyx = float3((*(tint_symbol)).v).xxyx;
|
||||
float4 xxyy = float3((*(tint_symbol)).v).xxyy;
|
||||
float4 xxyz = float3((*(tint_symbol)).v).xxyz;
|
||||
float4 xxzx = float3((*(tint_symbol)).v).xxzx;
|
||||
float4 xxzy = float3((*(tint_symbol)).v).xxzy;
|
||||
float4 xxzz = float3((*(tint_symbol)).v).xxzz;
|
||||
float4 xyxx = float3((*(tint_symbol)).v).xyxx;
|
||||
float4 xyxy = float3((*(tint_symbol)).v).xyxy;
|
||||
float4 xyxz = float3((*(tint_symbol)).v).xyxz;
|
||||
float4 xyyx = float3((*(tint_symbol)).v).xyyx;
|
||||
float4 xyyy = float3((*(tint_symbol)).v).xyyy;
|
||||
float4 xyyz = float3((*(tint_symbol)).v).xyyz;
|
||||
float4 xyzx = float3((*(tint_symbol)).v).xyzx;
|
||||
float4 xyzy = float3((*(tint_symbol)).v).xyzy;
|
||||
float4 xyzz = float3((*(tint_symbol)).v).xyzz;
|
||||
float4 xzxx = float3((*(tint_symbol)).v).xzxx;
|
||||
float4 xzxy = float3((*(tint_symbol)).v).xzxy;
|
||||
float4 xzxz = float3((*(tint_symbol)).v).xzxz;
|
||||
float4 xzyx = float3((*(tint_symbol)).v).xzyx;
|
||||
float4 xzyy = float3((*(tint_symbol)).v).xzyy;
|
||||
float4 xzyz = float3((*(tint_symbol)).v).xzyz;
|
||||
float4 xzzx = float3((*(tint_symbol)).v).xzzx;
|
||||
float4 xzzy = float3((*(tint_symbol)).v).xzzy;
|
||||
float4 xzzz = float3((*(tint_symbol)).v).xzzz;
|
||||
float4 yxxx = float3((*(tint_symbol)).v).yxxx;
|
||||
float4 yxxy = float3((*(tint_symbol)).v).yxxy;
|
||||
float4 yxxz = float3((*(tint_symbol)).v).yxxz;
|
||||
float4 yxyx = float3((*(tint_symbol)).v).yxyx;
|
||||
float4 yxyy = float3((*(tint_symbol)).v).yxyy;
|
||||
float4 yxyz = float3((*(tint_symbol)).v).yxyz;
|
||||
float4 yxzx = float3((*(tint_symbol)).v).yxzx;
|
||||
float4 yxzy = float3((*(tint_symbol)).v).yxzy;
|
||||
float4 yxzz = float3((*(tint_symbol)).v).yxzz;
|
||||
float4 yyxx = float3((*(tint_symbol)).v).yyxx;
|
||||
float4 yyxy = float3((*(tint_symbol)).v).yyxy;
|
||||
float4 yyxz = float3((*(tint_symbol)).v).yyxz;
|
||||
float4 yyyx = float3((*(tint_symbol)).v).yyyx;
|
||||
float4 yyyy = float3((*(tint_symbol)).v).yyyy;
|
||||
float4 yyyz = float3((*(tint_symbol)).v).yyyz;
|
||||
float4 yyzx = float3((*(tint_symbol)).v).yyzx;
|
||||
float4 yyzy = float3((*(tint_symbol)).v).yyzy;
|
||||
float4 yyzz = float3((*(tint_symbol)).v).yyzz;
|
||||
float4 yzxx = float3((*(tint_symbol)).v).yzxx;
|
||||
float4 yzxy = float3((*(tint_symbol)).v).yzxy;
|
||||
float4 yzxz = float3((*(tint_symbol)).v).yzxz;
|
||||
float4 yzyx = float3((*(tint_symbol)).v).yzyx;
|
||||
float4 yzyy = float3((*(tint_symbol)).v).yzyy;
|
||||
float4 yzyz = float3((*(tint_symbol)).v).yzyz;
|
||||
float4 yzzx = float3((*(tint_symbol)).v).yzzx;
|
||||
float4 yzzy = float3((*(tint_symbol)).v).yzzy;
|
||||
float4 yzzz = float3((*(tint_symbol)).v).yzzz;
|
||||
float4 zxxx = float3((*(tint_symbol)).v).zxxx;
|
||||
float4 zxxy = float3((*(tint_symbol)).v).zxxy;
|
||||
float4 zxxz = float3((*(tint_symbol)).v).zxxz;
|
||||
float4 zxyx = float3((*(tint_symbol)).v).zxyx;
|
||||
float4 zxyy = float3((*(tint_symbol)).v).zxyy;
|
||||
float4 zxyz = float3((*(tint_symbol)).v).zxyz;
|
||||
float4 zxzx = float3((*(tint_symbol)).v).zxzx;
|
||||
float4 zxzy = float3((*(tint_symbol)).v).zxzy;
|
||||
float4 zxzz = float3((*(tint_symbol)).v).zxzz;
|
||||
float4 zyxx = float3((*(tint_symbol)).v).zyxx;
|
||||
float4 zyxy = float3((*(tint_symbol)).v).zyxy;
|
||||
float4 zyxz = float3((*(tint_symbol)).v).zyxz;
|
||||
float4 zyyx = float3((*(tint_symbol)).v).zyyx;
|
||||
float4 zyyy = float3((*(tint_symbol)).v).zyyy;
|
||||
float4 zyyz = float3((*(tint_symbol)).v).zyyz;
|
||||
float4 zyzx = float3((*(tint_symbol)).v).zyzx;
|
||||
float4 zyzy = float3((*(tint_symbol)).v).zyzy;
|
||||
float4 zyzz = float3((*(tint_symbol)).v).zyzz;
|
||||
float4 zzxx = float3((*(tint_symbol)).v).zzxx;
|
||||
float4 zzxy = float3((*(tint_symbol)).v).zzxy;
|
||||
float4 zzxz = float3((*(tint_symbol)).v).zzxz;
|
||||
float4 zzyx = float3((*(tint_symbol)).v).zzyx;
|
||||
float4 zzyy = float3((*(tint_symbol)).v).zzyy;
|
||||
float4 zzyz = float3((*(tint_symbol)).v).zzyz;
|
||||
float4 zzzx = float3((*(tint_symbol)).v).zzzx;
|
||||
float4 zzzy = float3((*(tint_symbol)).v).zzzy;
|
||||
float4 zzzz = float3((*(tint_symbol)).v).zzzz;
|
||||
void f() {
|
||||
thread S tint_symbol = {};
|
||||
float3 v = tint_symbol.v;
|
||||
float x = tint_symbol.v[0];
|
||||
float y = tint_symbol.v[1];
|
||||
float z = tint_symbol.v[2];
|
||||
float2 xx = float3(tint_symbol.v).xx;
|
||||
float2 xy = float3(tint_symbol.v).xy;
|
||||
float2 xz = float3(tint_symbol.v).xz;
|
||||
float2 yx = float3(tint_symbol.v).yx;
|
||||
float2 yy = float3(tint_symbol.v).yy;
|
||||
float2 yz = float3(tint_symbol.v).yz;
|
||||
float2 zx = float3(tint_symbol.v).zx;
|
||||
float2 zy = float3(tint_symbol.v).zy;
|
||||
float2 zz = float3(tint_symbol.v).zz;
|
||||
float3 xxx = float3(tint_symbol.v).xxx;
|
||||
float3 xxy = float3(tint_symbol.v).xxy;
|
||||
float3 xxz = float3(tint_symbol.v).xxz;
|
||||
float3 xyx = float3(tint_symbol.v).xyx;
|
||||
float3 xyy = float3(tint_symbol.v).xyy;
|
||||
float3 xyz = float3(tint_symbol.v).xyz;
|
||||
float3 xzx = float3(tint_symbol.v).xzx;
|
||||
float3 xzy = float3(tint_symbol.v).xzy;
|
||||
float3 xzz = float3(tint_symbol.v).xzz;
|
||||
float3 yxx = float3(tint_symbol.v).yxx;
|
||||
float3 yxy = float3(tint_symbol.v).yxy;
|
||||
float3 yxz = float3(tint_symbol.v).yxz;
|
||||
float3 yyx = float3(tint_symbol.v).yyx;
|
||||
float3 yyy = float3(tint_symbol.v).yyy;
|
||||
float3 yyz = float3(tint_symbol.v).yyz;
|
||||
float3 yzx = float3(tint_symbol.v).yzx;
|
||||
float3 yzy = float3(tint_symbol.v).yzy;
|
||||
float3 yzz = float3(tint_symbol.v).yzz;
|
||||
float3 zxx = float3(tint_symbol.v).zxx;
|
||||
float3 zxy = float3(tint_symbol.v).zxy;
|
||||
float3 zxz = float3(tint_symbol.v).zxz;
|
||||
float3 zyx = float3(tint_symbol.v).zyx;
|
||||
float3 zyy = float3(tint_symbol.v).zyy;
|
||||
float3 zyz = float3(tint_symbol.v).zyz;
|
||||
float3 zzx = float3(tint_symbol.v).zzx;
|
||||
float3 zzy = float3(tint_symbol.v).zzy;
|
||||
float3 zzz = float3(tint_symbol.v).zzz;
|
||||
float4 xxxx = float3(tint_symbol.v).xxxx;
|
||||
float4 xxxy = float3(tint_symbol.v).xxxy;
|
||||
float4 xxxz = float3(tint_symbol.v).xxxz;
|
||||
float4 xxyx = float3(tint_symbol.v).xxyx;
|
||||
float4 xxyy = float3(tint_symbol.v).xxyy;
|
||||
float4 xxyz = float3(tint_symbol.v).xxyz;
|
||||
float4 xxzx = float3(tint_symbol.v).xxzx;
|
||||
float4 xxzy = float3(tint_symbol.v).xxzy;
|
||||
float4 xxzz = float3(tint_symbol.v).xxzz;
|
||||
float4 xyxx = float3(tint_symbol.v).xyxx;
|
||||
float4 xyxy = float3(tint_symbol.v).xyxy;
|
||||
float4 xyxz = float3(tint_symbol.v).xyxz;
|
||||
float4 xyyx = float3(tint_symbol.v).xyyx;
|
||||
float4 xyyy = float3(tint_symbol.v).xyyy;
|
||||
float4 xyyz = float3(tint_symbol.v).xyyz;
|
||||
float4 xyzx = float3(tint_symbol.v).xyzx;
|
||||
float4 xyzy = float3(tint_symbol.v).xyzy;
|
||||
float4 xyzz = float3(tint_symbol.v).xyzz;
|
||||
float4 xzxx = float3(tint_symbol.v).xzxx;
|
||||
float4 xzxy = float3(tint_symbol.v).xzxy;
|
||||
float4 xzxz = float3(tint_symbol.v).xzxz;
|
||||
float4 xzyx = float3(tint_symbol.v).xzyx;
|
||||
float4 xzyy = float3(tint_symbol.v).xzyy;
|
||||
float4 xzyz = float3(tint_symbol.v).xzyz;
|
||||
float4 xzzx = float3(tint_symbol.v).xzzx;
|
||||
float4 xzzy = float3(tint_symbol.v).xzzy;
|
||||
float4 xzzz = float3(tint_symbol.v).xzzz;
|
||||
float4 yxxx = float3(tint_symbol.v).yxxx;
|
||||
float4 yxxy = float3(tint_symbol.v).yxxy;
|
||||
float4 yxxz = float3(tint_symbol.v).yxxz;
|
||||
float4 yxyx = float3(tint_symbol.v).yxyx;
|
||||
float4 yxyy = float3(tint_symbol.v).yxyy;
|
||||
float4 yxyz = float3(tint_symbol.v).yxyz;
|
||||
float4 yxzx = float3(tint_symbol.v).yxzx;
|
||||
float4 yxzy = float3(tint_symbol.v).yxzy;
|
||||
float4 yxzz = float3(tint_symbol.v).yxzz;
|
||||
float4 yyxx = float3(tint_symbol.v).yyxx;
|
||||
float4 yyxy = float3(tint_symbol.v).yyxy;
|
||||
float4 yyxz = float3(tint_symbol.v).yyxz;
|
||||
float4 yyyx = float3(tint_symbol.v).yyyx;
|
||||
float4 yyyy = float3(tint_symbol.v).yyyy;
|
||||
float4 yyyz = float3(tint_symbol.v).yyyz;
|
||||
float4 yyzx = float3(tint_symbol.v).yyzx;
|
||||
float4 yyzy = float3(tint_symbol.v).yyzy;
|
||||
float4 yyzz = float3(tint_symbol.v).yyzz;
|
||||
float4 yzxx = float3(tint_symbol.v).yzxx;
|
||||
float4 yzxy = float3(tint_symbol.v).yzxy;
|
||||
float4 yzxz = float3(tint_symbol.v).yzxz;
|
||||
float4 yzyx = float3(tint_symbol.v).yzyx;
|
||||
float4 yzyy = float3(tint_symbol.v).yzyy;
|
||||
float4 yzyz = float3(tint_symbol.v).yzyz;
|
||||
float4 yzzx = float3(tint_symbol.v).yzzx;
|
||||
float4 yzzy = float3(tint_symbol.v).yzzy;
|
||||
float4 yzzz = float3(tint_symbol.v).yzzz;
|
||||
float4 zxxx = float3(tint_symbol.v).zxxx;
|
||||
float4 zxxy = float3(tint_symbol.v).zxxy;
|
||||
float4 zxxz = float3(tint_symbol.v).zxxz;
|
||||
float4 zxyx = float3(tint_symbol.v).zxyx;
|
||||
float4 zxyy = float3(tint_symbol.v).zxyy;
|
||||
float4 zxyz = float3(tint_symbol.v).zxyz;
|
||||
float4 zxzx = float3(tint_symbol.v).zxzx;
|
||||
float4 zxzy = float3(tint_symbol.v).zxzy;
|
||||
float4 zxzz = float3(tint_symbol.v).zxzz;
|
||||
float4 zyxx = float3(tint_symbol.v).zyxx;
|
||||
float4 zyxy = float3(tint_symbol.v).zyxy;
|
||||
float4 zyxz = float3(tint_symbol.v).zyxz;
|
||||
float4 zyyx = float3(tint_symbol.v).zyyx;
|
||||
float4 zyyy = float3(tint_symbol.v).zyyy;
|
||||
float4 zyyz = float3(tint_symbol.v).zyyz;
|
||||
float4 zyzx = float3(tint_symbol.v).zyzx;
|
||||
float4 zyzy = float3(tint_symbol.v).zyzy;
|
||||
float4 zyzz = float3(tint_symbol.v).zyzz;
|
||||
float4 zzxx = float3(tint_symbol.v).zzxx;
|
||||
float4 zzxy = float3(tint_symbol.v).zzxy;
|
||||
float4 zzxz = float3(tint_symbol.v).zzxz;
|
||||
float4 zzyx = float3(tint_symbol.v).zzyx;
|
||||
float4 zzyy = float3(tint_symbol.v).zzyy;
|
||||
float4 zzyz = float3(tint_symbol.v).zzyz;
|
||||
float4 zzzx = float3(tint_symbol.v).zzzx;
|
||||
float4 zzzy = float3(tint_symbol.v).zzzy;
|
||||
float4 zzzz = float3(tint_symbol.v).zzzz;
|
||||
}
|
||||
|
||||
|
@ -5,127 +5,128 @@ struct S {
|
||||
int3 v;
|
||||
};
|
||||
|
||||
void f(thread S* const tint_symbol) {
|
||||
int3 v = (*(tint_symbol)).v;
|
||||
int x = (*(tint_symbol)).v[0];
|
||||
int y = (*(tint_symbol)).v[1];
|
||||
int z = (*(tint_symbol)).v[2];
|
||||
int2 xx = int3((*(tint_symbol)).v).xx;
|
||||
int2 xy = int3((*(tint_symbol)).v).xy;
|
||||
int2 xz = int3((*(tint_symbol)).v).xz;
|
||||
int2 yx = int3((*(tint_symbol)).v).yx;
|
||||
int2 yy = int3((*(tint_symbol)).v).yy;
|
||||
int2 yz = int3((*(tint_symbol)).v).yz;
|
||||
int2 zx = int3((*(tint_symbol)).v).zx;
|
||||
int2 zy = int3((*(tint_symbol)).v).zy;
|
||||
int2 zz = int3((*(tint_symbol)).v).zz;
|
||||
int3 xxx = int3((*(tint_symbol)).v).xxx;
|
||||
int3 xxy = int3((*(tint_symbol)).v).xxy;
|
||||
int3 xxz = int3((*(tint_symbol)).v).xxz;
|
||||
int3 xyx = int3((*(tint_symbol)).v).xyx;
|
||||
int3 xyy = int3((*(tint_symbol)).v).xyy;
|
||||
int3 xyz = int3((*(tint_symbol)).v).xyz;
|
||||
int3 xzx = int3((*(tint_symbol)).v).xzx;
|
||||
int3 xzy = int3((*(tint_symbol)).v).xzy;
|
||||
int3 xzz = int3((*(tint_symbol)).v).xzz;
|
||||
int3 yxx = int3((*(tint_symbol)).v).yxx;
|
||||
int3 yxy = int3((*(tint_symbol)).v).yxy;
|
||||
int3 yxz = int3((*(tint_symbol)).v).yxz;
|
||||
int3 yyx = int3((*(tint_symbol)).v).yyx;
|
||||
int3 yyy = int3((*(tint_symbol)).v).yyy;
|
||||
int3 yyz = int3((*(tint_symbol)).v).yyz;
|
||||
int3 yzx = int3((*(tint_symbol)).v).yzx;
|
||||
int3 yzy = int3((*(tint_symbol)).v).yzy;
|
||||
int3 yzz = int3((*(tint_symbol)).v).yzz;
|
||||
int3 zxx = int3((*(tint_symbol)).v).zxx;
|
||||
int3 zxy = int3((*(tint_symbol)).v).zxy;
|
||||
int3 zxz = int3((*(tint_symbol)).v).zxz;
|
||||
int3 zyx = int3((*(tint_symbol)).v).zyx;
|
||||
int3 zyy = int3((*(tint_symbol)).v).zyy;
|
||||
int3 zyz = int3((*(tint_symbol)).v).zyz;
|
||||
int3 zzx = int3((*(tint_symbol)).v).zzx;
|
||||
int3 zzy = int3((*(tint_symbol)).v).zzy;
|
||||
int3 zzz = int3((*(tint_symbol)).v).zzz;
|
||||
int4 xxxx = int3((*(tint_symbol)).v).xxxx;
|
||||
int4 xxxy = int3((*(tint_symbol)).v).xxxy;
|
||||
int4 xxxz = int3((*(tint_symbol)).v).xxxz;
|
||||
int4 xxyx = int3((*(tint_symbol)).v).xxyx;
|
||||
int4 xxyy = int3((*(tint_symbol)).v).xxyy;
|
||||
int4 xxyz = int3((*(tint_symbol)).v).xxyz;
|
||||
int4 xxzx = int3((*(tint_symbol)).v).xxzx;
|
||||
int4 xxzy = int3((*(tint_symbol)).v).xxzy;
|
||||
int4 xxzz = int3((*(tint_symbol)).v).xxzz;
|
||||
int4 xyxx = int3((*(tint_symbol)).v).xyxx;
|
||||
int4 xyxy = int3((*(tint_symbol)).v).xyxy;
|
||||
int4 xyxz = int3((*(tint_symbol)).v).xyxz;
|
||||
int4 xyyx = int3((*(tint_symbol)).v).xyyx;
|
||||
int4 xyyy = int3((*(tint_symbol)).v).xyyy;
|
||||
int4 xyyz = int3((*(tint_symbol)).v).xyyz;
|
||||
int4 xyzx = int3((*(tint_symbol)).v).xyzx;
|
||||
int4 xyzy = int3((*(tint_symbol)).v).xyzy;
|
||||
int4 xyzz = int3((*(tint_symbol)).v).xyzz;
|
||||
int4 xzxx = int3((*(tint_symbol)).v).xzxx;
|
||||
int4 xzxy = int3((*(tint_symbol)).v).xzxy;
|
||||
int4 xzxz = int3((*(tint_symbol)).v).xzxz;
|
||||
int4 xzyx = int3((*(tint_symbol)).v).xzyx;
|
||||
int4 xzyy = int3((*(tint_symbol)).v).xzyy;
|
||||
int4 xzyz = int3((*(tint_symbol)).v).xzyz;
|
||||
int4 xzzx = int3((*(tint_symbol)).v).xzzx;
|
||||
int4 xzzy = int3((*(tint_symbol)).v).xzzy;
|
||||
int4 xzzz = int3((*(tint_symbol)).v).xzzz;
|
||||
int4 yxxx = int3((*(tint_symbol)).v).yxxx;
|
||||
int4 yxxy = int3((*(tint_symbol)).v).yxxy;
|
||||
int4 yxxz = int3((*(tint_symbol)).v).yxxz;
|
||||
int4 yxyx = int3((*(tint_symbol)).v).yxyx;
|
||||
int4 yxyy = int3((*(tint_symbol)).v).yxyy;
|
||||
int4 yxyz = int3((*(tint_symbol)).v).yxyz;
|
||||
int4 yxzx = int3((*(tint_symbol)).v).yxzx;
|
||||
int4 yxzy = int3((*(tint_symbol)).v).yxzy;
|
||||
int4 yxzz = int3((*(tint_symbol)).v).yxzz;
|
||||
int4 yyxx = int3((*(tint_symbol)).v).yyxx;
|
||||
int4 yyxy = int3((*(tint_symbol)).v).yyxy;
|
||||
int4 yyxz = int3((*(tint_symbol)).v).yyxz;
|
||||
int4 yyyx = int3((*(tint_symbol)).v).yyyx;
|
||||
int4 yyyy = int3((*(tint_symbol)).v).yyyy;
|
||||
int4 yyyz = int3((*(tint_symbol)).v).yyyz;
|
||||
int4 yyzx = int3((*(tint_symbol)).v).yyzx;
|
||||
int4 yyzy = int3((*(tint_symbol)).v).yyzy;
|
||||
int4 yyzz = int3((*(tint_symbol)).v).yyzz;
|
||||
int4 yzxx = int3((*(tint_symbol)).v).yzxx;
|
||||
int4 yzxy = int3((*(tint_symbol)).v).yzxy;
|
||||
int4 yzxz = int3((*(tint_symbol)).v).yzxz;
|
||||
int4 yzyx = int3((*(tint_symbol)).v).yzyx;
|
||||
int4 yzyy = int3((*(tint_symbol)).v).yzyy;
|
||||
int4 yzyz = int3((*(tint_symbol)).v).yzyz;
|
||||
int4 yzzx = int3((*(tint_symbol)).v).yzzx;
|
||||
int4 yzzy = int3((*(tint_symbol)).v).yzzy;
|
||||
int4 yzzz = int3((*(tint_symbol)).v).yzzz;
|
||||
int4 zxxx = int3((*(tint_symbol)).v).zxxx;
|
||||
int4 zxxy = int3((*(tint_symbol)).v).zxxy;
|
||||
int4 zxxz = int3((*(tint_symbol)).v).zxxz;
|
||||
int4 zxyx = int3((*(tint_symbol)).v).zxyx;
|
||||
int4 zxyy = int3((*(tint_symbol)).v).zxyy;
|
||||
int4 zxyz = int3((*(tint_symbol)).v).zxyz;
|
||||
int4 zxzx = int3((*(tint_symbol)).v).zxzx;
|
||||
int4 zxzy = int3((*(tint_symbol)).v).zxzy;
|
||||
int4 zxzz = int3((*(tint_symbol)).v).zxzz;
|
||||
int4 zyxx = int3((*(tint_symbol)).v).zyxx;
|
||||
int4 zyxy = int3((*(tint_symbol)).v).zyxy;
|
||||
int4 zyxz = int3((*(tint_symbol)).v).zyxz;
|
||||
int4 zyyx = int3((*(tint_symbol)).v).zyyx;
|
||||
int4 zyyy = int3((*(tint_symbol)).v).zyyy;
|
||||
int4 zyyz = int3((*(tint_symbol)).v).zyyz;
|
||||
int4 zyzx = int3((*(tint_symbol)).v).zyzx;
|
||||
int4 zyzy = int3((*(tint_symbol)).v).zyzy;
|
||||
int4 zyzz = int3((*(tint_symbol)).v).zyzz;
|
||||
int4 zzxx = int3((*(tint_symbol)).v).zzxx;
|
||||
int4 zzxy = int3((*(tint_symbol)).v).zzxy;
|
||||
int4 zzxz = int3((*(tint_symbol)).v).zzxz;
|
||||
int4 zzyx = int3((*(tint_symbol)).v).zzyx;
|
||||
int4 zzyy = int3((*(tint_symbol)).v).zzyy;
|
||||
int4 zzyz = int3((*(tint_symbol)).v).zzyz;
|
||||
int4 zzzx = int3((*(tint_symbol)).v).zzzx;
|
||||
int4 zzzy = int3((*(tint_symbol)).v).zzzy;
|
||||
int4 zzzz = int3((*(tint_symbol)).v).zzzz;
|
||||
void f() {
|
||||
thread S tint_symbol = {};
|
||||
int3 v = tint_symbol.v;
|
||||
int x = tint_symbol.v[0];
|
||||
int y = tint_symbol.v[1];
|
||||
int z = tint_symbol.v[2];
|
||||
int2 xx = int3(tint_symbol.v).xx;
|
||||
int2 xy = int3(tint_symbol.v).xy;
|
||||
int2 xz = int3(tint_symbol.v).xz;
|
||||
int2 yx = int3(tint_symbol.v).yx;
|
||||
int2 yy = int3(tint_symbol.v).yy;
|
||||
int2 yz = int3(tint_symbol.v).yz;
|
||||
int2 zx = int3(tint_symbol.v).zx;
|
||||
int2 zy = int3(tint_symbol.v).zy;
|
||||
int2 zz = int3(tint_symbol.v).zz;
|
||||
int3 xxx = int3(tint_symbol.v).xxx;
|
||||
int3 xxy = int3(tint_symbol.v).xxy;
|
||||
int3 xxz = int3(tint_symbol.v).xxz;
|
||||
int3 xyx = int3(tint_symbol.v).xyx;
|
||||
int3 xyy = int3(tint_symbol.v).xyy;
|
||||
int3 xyz = int3(tint_symbol.v).xyz;
|
||||
int3 xzx = int3(tint_symbol.v).xzx;
|
||||
int3 xzy = int3(tint_symbol.v).xzy;
|
||||
int3 xzz = int3(tint_symbol.v).xzz;
|
||||
int3 yxx = int3(tint_symbol.v).yxx;
|
||||
int3 yxy = int3(tint_symbol.v).yxy;
|
||||
int3 yxz = int3(tint_symbol.v).yxz;
|
||||
int3 yyx = int3(tint_symbol.v).yyx;
|
||||
int3 yyy = int3(tint_symbol.v).yyy;
|
||||
int3 yyz = int3(tint_symbol.v).yyz;
|
||||
int3 yzx = int3(tint_symbol.v).yzx;
|
||||
int3 yzy = int3(tint_symbol.v).yzy;
|
||||
int3 yzz = int3(tint_symbol.v).yzz;
|
||||
int3 zxx = int3(tint_symbol.v).zxx;
|
||||
int3 zxy = int3(tint_symbol.v).zxy;
|
||||
int3 zxz = int3(tint_symbol.v).zxz;
|
||||
int3 zyx = int3(tint_symbol.v).zyx;
|
||||
int3 zyy = int3(tint_symbol.v).zyy;
|
||||
int3 zyz = int3(tint_symbol.v).zyz;
|
||||
int3 zzx = int3(tint_symbol.v).zzx;
|
||||
int3 zzy = int3(tint_symbol.v).zzy;
|
||||
int3 zzz = int3(tint_symbol.v).zzz;
|
||||
int4 xxxx = int3(tint_symbol.v).xxxx;
|
||||
int4 xxxy = int3(tint_symbol.v).xxxy;
|
||||
int4 xxxz = int3(tint_symbol.v).xxxz;
|
||||
int4 xxyx = int3(tint_symbol.v).xxyx;
|
||||
int4 xxyy = int3(tint_symbol.v).xxyy;
|
||||
int4 xxyz = int3(tint_symbol.v).xxyz;
|
||||
int4 xxzx = int3(tint_symbol.v).xxzx;
|
||||
int4 xxzy = int3(tint_symbol.v).xxzy;
|
||||
int4 xxzz = int3(tint_symbol.v).xxzz;
|
||||
int4 xyxx = int3(tint_symbol.v).xyxx;
|
||||
int4 xyxy = int3(tint_symbol.v).xyxy;
|
||||
int4 xyxz = int3(tint_symbol.v).xyxz;
|
||||
int4 xyyx = int3(tint_symbol.v).xyyx;
|
||||
int4 xyyy = int3(tint_symbol.v).xyyy;
|
||||
int4 xyyz = int3(tint_symbol.v).xyyz;
|
||||
int4 xyzx = int3(tint_symbol.v).xyzx;
|
||||
int4 xyzy = int3(tint_symbol.v).xyzy;
|
||||
int4 xyzz = int3(tint_symbol.v).xyzz;
|
||||
int4 xzxx = int3(tint_symbol.v).xzxx;
|
||||
int4 xzxy = int3(tint_symbol.v).xzxy;
|
||||
int4 xzxz = int3(tint_symbol.v).xzxz;
|
||||
int4 xzyx = int3(tint_symbol.v).xzyx;
|
||||
int4 xzyy = int3(tint_symbol.v).xzyy;
|
||||
int4 xzyz = int3(tint_symbol.v).xzyz;
|
||||
int4 xzzx = int3(tint_symbol.v).xzzx;
|
||||
int4 xzzy = int3(tint_symbol.v).xzzy;
|
||||
int4 xzzz = int3(tint_symbol.v).xzzz;
|
||||
int4 yxxx = int3(tint_symbol.v).yxxx;
|
||||
int4 yxxy = int3(tint_symbol.v).yxxy;
|
||||
int4 yxxz = int3(tint_symbol.v).yxxz;
|
||||
int4 yxyx = int3(tint_symbol.v).yxyx;
|
||||
int4 yxyy = int3(tint_symbol.v).yxyy;
|
||||
int4 yxyz = int3(tint_symbol.v).yxyz;
|
||||
int4 yxzx = int3(tint_symbol.v).yxzx;
|
||||
int4 yxzy = int3(tint_symbol.v).yxzy;
|
||||
int4 yxzz = int3(tint_symbol.v).yxzz;
|
||||
int4 yyxx = int3(tint_symbol.v).yyxx;
|
||||
int4 yyxy = int3(tint_symbol.v).yyxy;
|
||||
int4 yyxz = int3(tint_symbol.v).yyxz;
|
||||
int4 yyyx = int3(tint_symbol.v).yyyx;
|
||||
int4 yyyy = int3(tint_symbol.v).yyyy;
|
||||
int4 yyyz = int3(tint_symbol.v).yyyz;
|
||||
int4 yyzx = int3(tint_symbol.v).yyzx;
|
||||
int4 yyzy = int3(tint_symbol.v).yyzy;
|
||||
int4 yyzz = int3(tint_symbol.v).yyzz;
|
||||
int4 yzxx = int3(tint_symbol.v).yzxx;
|
||||
int4 yzxy = int3(tint_symbol.v).yzxy;
|
||||
int4 yzxz = int3(tint_symbol.v).yzxz;
|
||||
int4 yzyx = int3(tint_symbol.v).yzyx;
|
||||
int4 yzyy = int3(tint_symbol.v).yzyy;
|
||||
int4 yzyz = int3(tint_symbol.v).yzyz;
|
||||
int4 yzzx = int3(tint_symbol.v).yzzx;
|
||||
int4 yzzy = int3(tint_symbol.v).yzzy;
|
||||
int4 yzzz = int3(tint_symbol.v).yzzz;
|
||||
int4 zxxx = int3(tint_symbol.v).zxxx;
|
||||
int4 zxxy = int3(tint_symbol.v).zxxy;
|
||||
int4 zxxz = int3(tint_symbol.v).zxxz;
|
||||
int4 zxyx = int3(tint_symbol.v).zxyx;
|
||||
int4 zxyy = int3(tint_symbol.v).zxyy;
|
||||
int4 zxyz = int3(tint_symbol.v).zxyz;
|
||||
int4 zxzx = int3(tint_symbol.v).zxzx;
|
||||
int4 zxzy = int3(tint_symbol.v).zxzy;
|
||||
int4 zxzz = int3(tint_symbol.v).zxzz;
|
||||
int4 zyxx = int3(tint_symbol.v).zyxx;
|
||||
int4 zyxy = int3(tint_symbol.v).zyxy;
|
||||
int4 zyxz = int3(tint_symbol.v).zyxz;
|
||||
int4 zyyx = int3(tint_symbol.v).zyyx;
|
||||
int4 zyyy = int3(tint_symbol.v).zyyy;
|
||||
int4 zyyz = int3(tint_symbol.v).zyyz;
|
||||
int4 zyzx = int3(tint_symbol.v).zyzx;
|
||||
int4 zyzy = int3(tint_symbol.v).zyzy;
|
||||
int4 zyzz = int3(tint_symbol.v).zyzz;
|
||||
int4 zzxx = int3(tint_symbol.v).zzxx;
|
||||
int4 zzxy = int3(tint_symbol.v).zzxy;
|
||||
int4 zzxz = int3(tint_symbol.v).zzxz;
|
||||
int4 zzyx = int3(tint_symbol.v).zzyx;
|
||||
int4 zzyy = int3(tint_symbol.v).zzyy;
|
||||
int4 zzyz = int3(tint_symbol.v).zzyz;
|
||||
int4 zzzx = int3(tint_symbol.v).zzzx;
|
||||
int4 zzzy = int3(tint_symbol.v).zzzy;
|
||||
int4 zzzz = int3(tint_symbol.v).zzzz;
|
||||
}
|
||||
|
||||
|
@ -5,127 +5,128 @@ struct S {
|
||||
uint3 v;
|
||||
};
|
||||
|
||||
void f(thread S* const tint_symbol) {
|
||||
uint3 v = (*(tint_symbol)).v;
|
||||
uint x = (*(tint_symbol)).v[0];
|
||||
uint y = (*(tint_symbol)).v[1];
|
||||
uint z = (*(tint_symbol)).v[2];
|
||||
uint2 xx = uint3((*(tint_symbol)).v).xx;
|
||||
uint2 xy = uint3((*(tint_symbol)).v).xy;
|
||||
uint2 xz = uint3((*(tint_symbol)).v).xz;
|
||||
uint2 yx = uint3((*(tint_symbol)).v).yx;
|
||||
uint2 yy = uint3((*(tint_symbol)).v).yy;
|
||||
uint2 yz = uint3((*(tint_symbol)).v).yz;
|
||||
uint2 zx = uint3((*(tint_symbol)).v).zx;
|
||||
uint2 zy = uint3((*(tint_symbol)).v).zy;
|
||||
uint2 zz = uint3((*(tint_symbol)).v).zz;
|
||||
uint3 xxx = uint3((*(tint_symbol)).v).xxx;
|
||||
uint3 xxy = uint3((*(tint_symbol)).v).xxy;
|
||||
uint3 xxz = uint3((*(tint_symbol)).v).xxz;
|
||||
uint3 xyx = uint3((*(tint_symbol)).v).xyx;
|
||||
uint3 xyy = uint3((*(tint_symbol)).v).xyy;
|
||||
uint3 xyz = uint3((*(tint_symbol)).v).xyz;
|
||||
uint3 xzx = uint3((*(tint_symbol)).v).xzx;
|
||||
uint3 xzy = uint3((*(tint_symbol)).v).xzy;
|
||||
uint3 xzz = uint3((*(tint_symbol)).v).xzz;
|
||||
uint3 yxx = uint3((*(tint_symbol)).v).yxx;
|
||||
uint3 yxy = uint3((*(tint_symbol)).v).yxy;
|
||||
uint3 yxz = uint3((*(tint_symbol)).v).yxz;
|
||||
uint3 yyx = uint3((*(tint_symbol)).v).yyx;
|
||||
uint3 yyy = uint3((*(tint_symbol)).v).yyy;
|
||||
uint3 yyz = uint3((*(tint_symbol)).v).yyz;
|
||||
uint3 yzx = uint3((*(tint_symbol)).v).yzx;
|
||||
uint3 yzy = uint3((*(tint_symbol)).v).yzy;
|
||||
uint3 yzz = uint3((*(tint_symbol)).v).yzz;
|
||||
uint3 zxx = uint3((*(tint_symbol)).v).zxx;
|
||||
uint3 zxy = uint3((*(tint_symbol)).v).zxy;
|
||||
uint3 zxz = uint3((*(tint_symbol)).v).zxz;
|
||||
uint3 zyx = uint3((*(tint_symbol)).v).zyx;
|
||||
uint3 zyy = uint3((*(tint_symbol)).v).zyy;
|
||||
uint3 zyz = uint3((*(tint_symbol)).v).zyz;
|
||||
uint3 zzx = uint3((*(tint_symbol)).v).zzx;
|
||||
uint3 zzy = uint3((*(tint_symbol)).v).zzy;
|
||||
uint3 zzz = uint3((*(tint_symbol)).v).zzz;
|
||||
uint4 xxxx = uint3((*(tint_symbol)).v).xxxx;
|
||||
uint4 xxxy = uint3((*(tint_symbol)).v).xxxy;
|
||||
uint4 xxxz = uint3((*(tint_symbol)).v).xxxz;
|
||||
uint4 xxyx = uint3((*(tint_symbol)).v).xxyx;
|
||||
uint4 xxyy = uint3((*(tint_symbol)).v).xxyy;
|
||||
uint4 xxyz = uint3((*(tint_symbol)).v).xxyz;
|
||||
uint4 xxzx = uint3((*(tint_symbol)).v).xxzx;
|
||||
uint4 xxzy = uint3((*(tint_symbol)).v).xxzy;
|
||||
uint4 xxzz = uint3((*(tint_symbol)).v).xxzz;
|
||||
uint4 xyxx = uint3((*(tint_symbol)).v).xyxx;
|
||||
uint4 xyxy = uint3((*(tint_symbol)).v).xyxy;
|
||||
uint4 xyxz = uint3((*(tint_symbol)).v).xyxz;
|
||||
uint4 xyyx = uint3((*(tint_symbol)).v).xyyx;
|
||||
uint4 xyyy = uint3((*(tint_symbol)).v).xyyy;
|
||||
uint4 xyyz = uint3((*(tint_symbol)).v).xyyz;
|
||||
uint4 xyzx = uint3((*(tint_symbol)).v).xyzx;
|
||||
uint4 xyzy = uint3((*(tint_symbol)).v).xyzy;
|
||||
uint4 xyzz = uint3((*(tint_symbol)).v).xyzz;
|
||||
uint4 xzxx = uint3((*(tint_symbol)).v).xzxx;
|
||||
uint4 xzxy = uint3((*(tint_symbol)).v).xzxy;
|
||||
uint4 xzxz = uint3((*(tint_symbol)).v).xzxz;
|
||||
uint4 xzyx = uint3((*(tint_symbol)).v).xzyx;
|
||||
uint4 xzyy = uint3((*(tint_symbol)).v).xzyy;
|
||||
uint4 xzyz = uint3((*(tint_symbol)).v).xzyz;
|
||||
uint4 xzzx = uint3((*(tint_symbol)).v).xzzx;
|
||||
uint4 xzzy = uint3((*(tint_symbol)).v).xzzy;
|
||||
uint4 xzzz = uint3((*(tint_symbol)).v).xzzz;
|
||||
uint4 yxxx = uint3((*(tint_symbol)).v).yxxx;
|
||||
uint4 yxxy = uint3((*(tint_symbol)).v).yxxy;
|
||||
uint4 yxxz = uint3((*(tint_symbol)).v).yxxz;
|
||||
uint4 yxyx = uint3((*(tint_symbol)).v).yxyx;
|
||||
uint4 yxyy = uint3((*(tint_symbol)).v).yxyy;
|
||||
uint4 yxyz = uint3((*(tint_symbol)).v).yxyz;
|
||||
uint4 yxzx = uint3((*(tint_symbol)).v).yxzx;
|
||||
uint4 yxzy = uint3((*(tint_symbol)).v).yxzy;
|
||||
uint4 yxzz = uint3((*(tint_symbol)).v).yxzz;
|
||||
uint4 yyxx = uint3((*(tint_symbol)).v).yyxx;
|
||||
uint4 yyxy = uint3((*(tint_symbol)).v).yyxy;
|
||||
uint4 yyxz = uint3((*(tint_symbol)).v).yyxz;
|
||||
uint4 yyyx = uint3((*(tint_symbol)).v).yyyx;
|
||||
uint4 yyyy = uint3((*(tint_symbol)).v).yyyy;
|
||||
uint4 yyyz = uint3((*(tint_symbol)).v).yyyz;
|
||||
uint4 yyzx = uint3((*(tint_symbol)).v).yyzx;
|
||||
uint4 yyzy = uint3((*(tint_symbol)).v).yyzy;
|
||||
uint4 yyzz = uint3((*(tint_symbol)).v).yyzz;
|
||||
uint4 yzxx = uint3((*(tint_symbol)).v).yzxx;
|
||||
uint4 yzxy = uint3((*(tint_symbol)).v).yzxy;
|
||||
uint4 yzxz = uint3((*(tint_symbol)).v).yzxz;
|
||||
uint4 yzyx = uint3((*(tint_symbol)).v).yzyx;
|
||||
uint4 yzyy = uint3((*(tint_symbol)).v).yzyy;
|
||||
uint4 yzyz = uint3((*(tint_symbol)).v).yzyz;
|
||||
uint4 yzzx = uint3((*(tint_symbol)).v).yzzx;
|
||||
uint4 yzzy = uint3((*(tint_symbol)).v).yzzy;
|
||||
uint4 yzzz = uint3((*(tint_symbol)).v).yzzz;
|
||||
uint4 zxxx = uint3((*(tint_symbol)).v).zxxx;
|
||||
uint4 zxxy = uint3((*(tint_symbol)).v).zxxy;
|
||||
uint4 zxxz = uint3((*(tint_symbol)).v).zxxz;
|
||||
uint4 zxyx = uint3((*(tint_symbol)).v).zxyx;
|
||||
uint4 zxyy = uint3((*(tint_symbol)).v).zxyy;
|
||||
uint4 zxyz = uint3((*(tint_symbol)).v).zxyz;
|
||||
uint4 zxzx = uint3((*(tint_symbol)).v).zxzx;
|
||||
uint4 zxzy = uint3((*(tint_symbol)).v).zxzy;
|
||||
uint4 zxzz = uint3((*(tint_symbol)).v).zxzz;
|
||||
uint4 zyxx = uint3((*(tint_symbol)).v).zyxx;
|
||||
uint4 zyxy = uint3((*(tint_symbol)).v).zyxy;
|
||||
uint4 zyxz = uint3((*(tint_symbol)).v).zyxz;
|
||||
uint4 zyyx = uint3((*(tint_symbol)).v).zyyx;
|
||||
uint4 zyyy = uint3((*(tint_symbol)).v).zyyy;
|
||||
uint4 zyyz = uint3((*(tint_symbol)).v).zyyz;
|
||||
uint4 zyzx = uint3((*(tint_symbol)).v).zyzx;
|
||||
uint4 zyzy = uint3((*(tint_symbol)).v).zyzy;
|
||||
uint4 zyzz = uint3((*(tint_symbol)).v).zyzz;
|
||||
uint4 zzxx = uint3((*(tint_symbol)).v).zzxx;
|
||||
uint4 zzxy = uint3((*(tint_symbol)).v).zzxy;
|
||||
uint4 zzxz = uint3((*(tint_symbol)).v).zzxz;
|
||||
uint4 zzyx = uint3((*(tint_symbol)).v).zzyx;
|
||||
uint4 zzyy = uint3((*(tint_symbol)).v).zzyy;
|
||||
uint4 zzyz = uint3((*(tint_symbol)).v).zzyz;
|
||||
uint4 zzzx = uint3((*(tint_symbol)).v).zzzx;
|
||||
uint4 zzzy = uint3((*(tint_symbol)).v).zzzy;
|
||||
uint4 zzzz = uint3((*(tint_symbol)).v).zzzz;
|
||||
void f() {
|
||||
thread S tint_symbol = {};
|
||||
uint3 v = tint_symbol.v;
|
||||
uint x = tint_symbol.v[0];
|
||||
uint y = tint_symbol.v[1];
|
||||
uint z = tint_symbol.v[2];
|
||||
uint2 xx = uint3(tint_symbol.v).xx;
|
||||
uint2 xy = uint3(tint_symbol.v).xy;
|
||||
uint2 xz = uint3(tint_symbol.v).xz;
|
||||
uint2 yx = uint3(tint_symbol.v).yx;
|
||||
uint2 yy = uint3(tint_symbol.v).yy;
|
||||
uint2 yz = uint3(tint_symbol.v).yz;
|
||||
uint2 zx = uint3(tint_symbol.v).zx;
|
||||
uint2 zy = uint3(tint_symbol.v).zy;
|
||||
uint2 zz = uint3(tint_symbol.v).zz;
|
||||
uint3 xxx = uint3(tint_symbol.v).xxx;
|
||||
uint3 xxy = uint3(tint_symbol.v).xxy;
|
||||
uint3 xxz = uint3(tint_symbol.v).xxz;
|
||||
uint3 xyx = uint3(tint_symbol.v).xyx;
|
||||
uint3 xyy = uint3(tint_symbol.v).xyy;
|
||||
uint3 xyz = uint3(tint_symbol.v).xyz;
|
||||
uint3 xzx = uint3(tint_symbol.v).xzx;
|
||||
uint3 xzy = uint3(tint_symbol.v).xzy;
|
||||
uint3 xzz = uint3(tint_symbol.v).xzz;
|
||||
uint3 yxx = uint3(tint_symbol.v).yxx;
|
||||
uint3 yxy = uint3(tint_symbol.v).yxy;
|
||||
uint3 yxz = uint3(tint_symbol.v).yxz;
|
||||
uint3 yyx = uint3(tint_symbol.v).yyx;
|
||||
uint3 yyy = uint3(tint_symbol.v).yyy;
|
||||
uint3 yyz = uint3(tint_symbol.v).yyz;
|
||||
uint3 yzx = uint3(tint_symbol.v).yzx;
|
||||
uint3 yzy = uint3(tint_symbol.v).yzy;
|
||||
uint3 yzz = uint3(tint_symbol.v).yzz;
|
||||
uint3 zxx = uint3(tint_symbol.v).zxx;
|
||||
uint3 zxy = uint3(tint_symbol.v).zxy;
|
||||
uint3 zxz = uint3(tint_symbol.v).zxz;
|
||||
uint3 zyx = uint3(tint_symbol.v).zyx;
|
||||
uint3 zyy = uint3(tint_symbol.v).zyy;
|
||||
uint3 zyz = uint3(tint_symbol.v).zyz;
|
||||
uint3 zzx = uint3(tint_symbol.v).zzx;
|
||||
uint3 zzy = uint3(tint_symbol.v).zzy;
|
||||
uint3 zzz = uint3(tint_symbol.v).zzz;
|
||||
uint4 xxxx = uint3(tint_symbol.v).xxxx;
|
||||
uint4 xxxy = uint3(tint_symbol.v).xxxy;
|
||||
uint4 xxxz = uint3(tint_symbol.v).xxxz;
|
||||
uint4 xxyx = uint3(tint_symbol.v).xxyx;
|
||||
uint4 xxyy = uint3(tint_symbol.v).xxyy;
|
||||
uint4 xxyz = uint3(tint_symbol.v).xxyz;
|
||||
uint4 xxzx = uint3(tint_symbol.v).xxzx;
|
||||
uint4 xxzy = uint3(tint_symbol.v).xxzy;
|
||||
uint4 xxzz = uint3(tint_symbol.v).xxzz;
|
||||
uint4 xyxx = uint3(tint_symbol.v).xyxx;
|
||||
uint4 xyxy = uint3(tint_symbol.v).xyxy;
|
||||
uint4 xyxz = uint3(tint_symbol.v).xyxz;
|
||||
uint4 xyyx = uint3(tint_symbol.v).xyyx;
|
||||
uint4 xyyy = uint3(tint_symbol.v).xyyy;
|
||||
uint4 xyyz = uint3(tint_symbol.v).xyyz;
|
||||
uint4 xyzx = uint3(tint_symbol.v).xyzx;
|
||||
uint4 xyzy = uint3(tint_symbol.v).xyzy;
|
||||
uint4 xyzz = uint3(tint_symbol.v).xyzz;
|
||||
uint4 xzxx = uint3(tint_symbol.v).xzxx;
|
||||
uint4 xzxy = uint3(tint_symbol.v).xzxy;
|
||||
uint4 xzxz = uint3(tint_symbol.v).xzxz;
|
||||
uint4 xzyx = uint3(tint_symbol.v).xzyx;
|
||||
uint4 xzyy = uint3(tint_symbol.v).xzyy;
|
||||
uint4 xzyz = uint3(tint_symbol.v).xzyz;
|
||||
uint4 xzzx = uint3(tint_symbol.v).xzzx;
|
||||
uint4 xzzy = uint3(tint_symbol.v).xzzy;
|
||||
uint4 xzzz = uint3(tint_symbol.v).xzzz;
|
||||
uint4 yxxx = uint3(tint_symbol.v).yxxx;
|
||||
uint4 yxxy = uint3(tint_symbol.v).yxxy;
|
||||
uint4 yxxz = uint3(tint_symbol.v).yxxz;
|
||||
uint4 yxyx = uint3(tint_symbol.v).yxyx;
|
||||
uint4 yxyy = uint3(tint_symbol.v).yxyy;
|
||||
uint4 yxyz = uint3(tint_symbol.v).yxyz;
|
||||
uint4 yxzx = uint3(tint_symbol.v).yxzx;
|
||||
uint4 yxzy = uint3(tint_symbol.v).yxzy;
|
||||
uint4 yxzz = uint3(tint_symbol.v).yxzz;
|
||||
uint4 yyxx = uint3(tint_symbol.v).yyxx;
|
||||
uint4 yyxy = uint3(tint_symbol.v).yyxy;
|
||||
uint4 yyxz = uint3(tint_symbol.v).yyxz;
|
||||
uint4 yyyx = uint3(tint_symbol.v).yyyx;
|
||||
uint4 yyyy = uint3(tint_symbol.v).yyyy;
|
||||
uint4 yyyz = uint3(tint_symbol.v).yyyz;
|
||||
uint4 yyzx = uint3(tint_symbol.v).yyzx;
|
||||
uint4 yyzy = uint3(tint_symbol.v).yyzy;
|
||||
uint4 yyzz = uint3(tint_symbol.v).yyzz;
|
||||
uint4 yzxx = uint3(tint_symbol.v).yzxx;
|
||||
uint4 yzxy = uint3(tint_symbol.v).yzxy;
|
||||
uint4 yzxz = uint3(tint_symbol.v).yzxz;
|
||||
uint4 yzyx = uint3(tint_symbol.v).yzyx;
|
||||
uint4 yzyy = uint3(tint_symbol.v).yzyy;
|
||||
uint4 yzyz = uint3(tint_symbol.v).yzyz;
|
||||
uint4 yzzx = uint3(tint_symbol.v).yzzx;
|
||||
uint4 yzzy = uint3(tint_symbol.v).yzzy;
|
||||
uint4 yzzz = uint3(tint_symbol.v).yzzz;
|
||||
uint4 zxxx = uint3(tint_symbol.v).zxxx;
|
||||
uint4 zxxy = uint3(tint_symbol.v).zxxy;
|
||||
uint4 zxxz = uint3(tint_symbol.v).zxxz;
|
||||
uint4 zxyx = uint3(tint_symbol.v).zxyx;
|
||||
uint4 zxyy = uint3(tint_symbol.v).zxyy;
|
||||
uint4 zxyz = uint3(tint_symbol.v).zxyz;
|
||||
uint4 zxzx = uint3(tint_symbol.v).zxzx;
|
||||
uint4 zxzy = uint3(tint_symbol.v).zxzy;
|
||||
uint4 zxzz = uint3(tint_symbol.v).zxzz;
|
||||
uint4 zyxx = uint3(tint_symbol.v).zyxx;
|
||||
uint4 zyxy = uint3(tint_symbol.v).zyxy;
|
||||
uint4 zyxz = uint3(tint_symbol.v).zyxz;
|
||||
uint4 zyyx = uint3(tint_symbol.v).zyyx;
|
||||
uint4 zyyy = uint3(tint_symbol.v).zyyy;
|
||||
uint4 zyyz = uint3(tint_symbol.v).zyyz;
|
||||
uint4 zyzx = uint3(tint_symbol.v).zyzx;
|
||||
uint4 zyzy = uint3(tint_symbol.v).zyzy;
|
||||
uint4 zyzz = uint3(tint_symbol.v).zyzz;
|
||||
uint4 zzxx = uint3(tint_symbol.v).zzxx;
|
||||
uint4 zzxy = uint3(tint_symbol.v).zzxy;
|
||||
uint4 zzxz = uint3(tint_symbol.v).zzxz;
|
||||
uint4 zzyx = uint3(tint_symbol.v).zzyx;
|
||||
uint4 zzyy = uint3(tint_symbol.v).zzyy;
|
||||
uint4 zzyz = uint3(tint_symbol.v).zzyz;
|
||||
uint4 zzzx = uint3(tint_symbol.v).zzzx;
|
||||
uint4 zzzy = uint3(tint_symbol.v).zzzy;
|
||||
uint4 zzzz = uint3(tint_symbol.v).zzzz;
|
||||
}
|
||||
|
||||
|
@ -5,10 +5,11 @@ struct S {
|
||||
float3 v;
|
||||
};
|
||||
|
||||
void f(thread S* const tint_symbol) {
|
||||
(*(tint_symbol)).v = float3(1.0f, 2.0f, 3.0f);
|
||||
(*(tint_symbol)).v[0] = 1.0f;
|
||||
(*(tint_symbol)).v[1] = 2.0f;
|
||||
(*(tint_symbol)).v[2] = 3.0f;
|
||||
void f() {
|
||||
thread S tint_symbol = {};
|
||||
tint_symbol.v = float3(1.0f, 2.0f, 3.0f);
|
||||
tint_symbol.v[0] = 1.0f;
|
||||
tint_symbol.v[1] = 2.0f;
|
||||
tint_symbol.v[2] = 3.0f;
|
||||
}
|
||||
|
||||
|
@ -5,10 +5,11 @@ struct S {
|
||||
int3 v;
|
||||
};
|
||||
|
||||
void f(thread S* const tint_symbol) {
|
||||
(*(tint_symbol)).v = int3(1, 2, 3);
|
||||
(*(tint_symbol)).v[0] = 1;
|
||||
(*(tint_symbol)).v[1] = 2;
|
||||
(*(tint_symbol)).v[2] = 3;
|
||||
void f() {
|
||||
thread S tint_symbol = {};
|
||||
tint_symbol.v = int3(1, 2, 3);
|
||||
tint_symbol.v[0] = 1;
|
||||
tint_symbol.v[1] = 2;
|
||||
tint_symbol.v[2] = 3;
|
||||
}
|
||||
|
||||
|
@ -5,10 +5,11 @@ struct S {
|
||||
uint3 v;
|
||||
};
|
||||
|
||||
void f(thread S* const tint_symbol) {
|
||||
(*(tint_symbol)).v = uint3(1u, 2u, 3u);
|
||||
(*(tint_symbol)).v[0] = 1u;
|
||||
(*(tint_symbol)).v[1] = 2u;
|
||||
(*(tint_symbol)).v[2] = 3u;
|
||||
void f() {
|
||||
thread S tint_symbol = {};
|
||||
tint_symbol.v = uint3(1u, 2u, 3u);
|
||||
tint_symbol.v[0] = 1u;
|
||||
tint_symbol.v[1] = 2u;
|
||||
tint_symbol.v[2] = 3u;
|
||||
}
|
||||
|
||||
|
@ -1,8 +1,10 @@
|
||||
#include <metal_stdlib>
|
||||
|
||||
using namespace metal;
|
||||
void f(thread int* const tint_symbol, thread int* const tint_symbol_1) {
|
||||
int b = *(tint_symbol);
|
||||
int b__ = *(tint_symbol_1);
|
||||
void f() {
|
||||
thread int tint_symbol = 1;
|
||||
thread int tint_symbol_1 = 2;
|
||||
int b = tint_symbol;
|
||||
int b__ = tint_symbol_1;
|
||||
}
|
||||
|
||||
|
@ -1,8 +1,10 @@
|
||||
#include <metal_stdlib>
|
||||
|
||||
using namespace metal;
|
||||
void f(thread int* const tint_symbol, thread int* const tint_symbol_1) {
|
||||
int b = *(tint_symbol);
|
||||
int _b = *(tint_symbol_1);
|
||||
void f() {
|
||||
thread int tint_symbol = 1;
|
||||
thread int tint_symbol_1 = 2;
|
||||
int b = tint_symbol;
|
||||
int _b = tint_symbol_1;
|
||||
}
|
||||
|
||||
|
@ -1,8 +1,10 @@
|
||||
#include <metal_stdlib>
|
||||
|
||||
using namespace metal;
|
||||
void f(thread int* const tint_symbol, thread int* const tint_symbol_1) {
|
||||
int B = *(tint_symbol);
|
||||
int _B = *(tint_symbol_1);
|
||||
void f() {
|
||||
thread int tint_symbol = 1;
|
||||
thread int tint_symbol_1 = 2;
|
||||
int B = tint_symbol;
|
||||
int _B = tint_symbol_1;
|
||||
}
|
||||
|
||||
|
@ -1,15 +1,15 @@
|
||||
#include <metal_stdlib>
|
||||
|
||||
using namespace metal;
|
||||
void main_1(thread int* const tint_symbol_1) {
|
||||
int const x_9 = *(tint_symbol_1);
|
||||
void main_1() {
|
||||
thread int tint_symbol_1 = 0;
|
||||
int const x_9 = tint_symbol_1;
|
||||
int const x_11 = as_type<int>((as_type<uint>(x_9) + as_type<uint>(1)));
|
||||
return;
|
||||
}
|
||||
|
||||
kernel void tint_symbol() {
|
||||
thread int tint_symbol_2 = 0;
|
||||
main_1(&(tint_symbol_2));
|
||||
main_1();
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -5,16 +5,16 @@ struct S {
|
||||
int i;
|
||||
};
|
||||
|
||||
void main_1(thread S* const tint_symbol_1) {
|
||||
void main_1() {
|
||||
thread S tint_symbol_1 = {};
|
||||
int i = 0;
|
||||
int const x_15 = (*(tint_symbol_1)).i;
|
||||
int const x_15 = tint_symbol_1.i;
|
||||
i = x_15;
|
||||
return;
|
||||
}
|
||||
|
||||
kernel void tint_symbol() {
|
||||
thread S tint_symbol_2 = {};
|
||||
main_1(&(tint_symbol_2));
|
||||
main_1();
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1,15 +1,15 @@
|
||||
#include <metal_stdlib>
|
||||
|
||||
using namespace metal;
|
||||
void main_1(thread int* const tint_symbol_1) {
|
||||
*(tint_symbol_1) = 123;
|
||||
*(tint_symbol_1) = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(100) + as_type<uint>(20)))) + as_type<uint>(3)));
|
||||
void main_1() {
|
||||
thread int tint_symbol_1 = 0;
|
||||
tint_symbol_1 = 123;
|
||||
tint_symbol_1 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(100) + as_type<uint>(20)))) + as_type<uint>(3)));
|
||||
return;
|
||||
}
|
||||
|
||||
kernel void tint_symbol() {
|
||||
thread int tint_symbol_2 = 0;
|
||||
main_1(&(tint_symbol_2));
|
||||
main_1();
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -5,14 +5,14 @@ struct S {
|
||||
int i;
|
||||
};
|
||||
|
||||
void main_1(thread S* const tint_symbol_1) {
|
||||
(*(tint_symbol_1)).i = 5;
|
||||
void main_1() {
|
||||
thread S tint_symbol_1 = {};
|
||||
tint_symbol_1.i = 5;
|
||||
return;
|
||||
}
|
||||
|
||||
kernel void tint_symbol() {
|
||||
thread S tint_symbol_2 = {};
|
||||
main_1(&(tint_symbol_2));
|
||||
main_1();
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -31,18 +31,18 @@ struct OuterS {
|
||||
tint_array<S1, 8> a1;
|
||||
};
|
||||
|
||||
uint getNextIndex(thread uint* const tint_symbol_3) {
|
||||
*(tint_symbol_3) = (*(tint_symbol_3) + 1u);
|
||||
return *(tint_symbol_3);
|
||||
uint getNextIndex() {
|
||||
thread uint tint_symbol_3 = 0u;
|
||||
tint_symbol_3 = (tint_symbol_3 + 1u);
|
||||
return tint_symbol_3;
|
||||
}
|
||||
|
||||
kernel void tint_symbol(const constant Uniforms* tint_symbol_5 [[buffer(0)]]) {
|
||||
thread uint tint_symbol_4 = 0u;
|
||||
kernel void tint_symbol(const constant Uniforms* tint_symbol_4 [[buffer(0)]]) {
|
||||
InnerS v = {};
|
||||
OuterS s = {};
|
||||
InnerS const tint_symbol_1 = v;
|
||||
uint const tint_symbol_2 = getNextIndex(&(tint_symbol_4));
|
||||
s.a1[tint_symbol_2].a2[(*(tint_symbol_5)).j] = tint_symbol_1;
|
||||
uint const tint_symbol_2 = getNextIndex();
|
||||
s.a1[tint_symbol_2].a2[(*(tint_symbol_4)).j] = tint_symbol_1;
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1,14 +1,16 @@
|
||||
#include <metal_stdlib>
|
||||
|
||||
using namespace metal;
|
||||
void foo(int maybe_zero, thread int* const tint_symbol, thread float* const tint_symbol_1) {
|
||||
*(tint_symbol) = (*(tint_symbol) / 0);
|
||||
*(tint_symbol) = (*(tint_symbol) % 0);
|
||||
*(tint_symbol) = (*(tint_symbol) / maybe_zero);
|
||||
*(tint_symbol) = (*(tint_symbol) % maybe_zero);
|
||||
*(tint_symbol_1) = (*(tint_symbol_1) / 0.0f);
|
||||
*(tint_symbol_1) = fmod(*(tint_symbol_1), 0.0f);
|
||||
*(tint_symbol_1) = (*(tint_symbol_1) / float(maybe_zero));
|
||||
*(tint_symbol_1) = fmod(*(tint_symbol_1), float(maybe_zero));
|
||||
void foo(int maybe_zero) {
|
||||
thread int tint_symbol = 0;
|
||||
thread float tint_symbol_1 = 0.0f;
|
||||
tint_symbol = (tint_symbol / 0);
|
||||
tint_symbol = (tint_symbol % 0);
|
||||
tint_symbol = (tint_symbol / maybe_zero);
|
||||
tint_symbol = (tint_symbol % maybe_zero);
|
||||
tint_symbol_1 = (tint_symbol_1 / 0.0f);
|
||||
tint_symbol_1 = fmod(tint_symbol_1, 0.0f);
|
||||
tint_symbol_1 = (tint_symbol_1 / float(maybe_zero));
|
||||
tint_symbol_1 = fmod(tint_symbol_1, float(maybe_zero));
|
||||
}
|
||||
|
||||
|
@ -1,9 +1,12 @@
|
||||
#include <metal_stdlib>
|
||||
|
||||
using namespace metal;
|
||||
void foo(thread int* const tint_symbol, thread float4* const tint_symbol_1, thread float2x2* const tint_symbol_2) {
|
||||
*(tint_symbol) = (*(tint_symbol) / 2);
|
||||
*(tint_symbol_1) = (*(tint_symbol_1) * float4x4(float4(0.0f), float4(0.0f), float4(0.0f), float4(0.0f)));
|
||||
*(tint_symbol_2) = (*(tint_symbol_2) * 2.0f);
|
||||
void foo() {
|
||||
thread int tint_symbol = 0;
|
||||
thread float4 tint_symbol_1 = 0.0f;
|
||||
thread float2x2 tint_symbol_2 = float2x2(0.0f);
|
||||
tint_symbol = (tint_symbol / 2);
|
||||
tint_symbol_1 = (tint_symbol_1 * float4x4(float4(0.0f), float4(0.0f), float4(0.0f), float4(0.0f)));
|
||||
tint_symbol_2 = (tint_symbol_2 * 2.0f);
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,8 @@
|
||||
#include <metal_stdlib>
|
||||
|
||||
using namespace metal;
|
||||
void tint_symbol(thread int* const tint_symbol_1) {
|
||||
*(tint_symbol_1) = as_type<int>((as_type<uint>(*(tint_symbol_1)) - as_type<uint>(1)));
|
||||
void tint_symbol() {
|
||||
thread int tint_symbol_1 = 0;
|
||||
tint_symbol_1 = as_type<int>((as_type<uint>(tint_symbol_1) - as_type<uint>(1)));
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,8 @@
|
||||
#include <metal_stdlib>
|
||||
|
||||
using namespace metal;
|
||||
void tint_symbol(thread int* const tint_symbol_1) {
|
||||
*(tint_symbol_1) = as_type<int>((as_type<uint>(*(tint_symbol_1)) + as_type<uint>(1)));
|
||||
void tint_symbol() {
|
||||
thread int tint_symbol_1 = 0;
|
||||
tint_symbol_1 = as_type<int>((as_type<uint>(tint_symbol_1) + as_type<uint>(1)));
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user