tint/resolver: Evaluate const-expr swizzles
Bug: chromium:1341475 Change-Id: I2ac44824b08c460df759a96d0ba96f6045b60f74 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/95765 Reviewed-by: Dan Sinclair <dsinclair@chromium.org> Commit-Queue: Ben Clayton <bclayton@google.com>
This commit is contained in:
parent
d5f53ab580
commit
63e6f820d8
|
@ -1976,7 +1976,8 @@ sem::Expression* Resolver::MemberAccessor(const ast::MemberAccessorExpression* e
|
|||
ret = builder_->create<sem::Reference>(ret, ref->StorageClass(), ref->Access());
|
||||
}
|
||||
|
||||
return builder_->create<sem::StructMemberAccess>(expr, ret, current_statement_, object,
|
||||
sem::Constant* val = nullptr; // TODO(crbug.com/tint/1611): Add structure support.
|
||||
return builder_->create<sem::StructMemberAccess>(expr, ret, current_statement_, val, object,
|
||||
member, has_side_effects, source_var);
|
||||
}
|
||||
|
||||
|
@ -2043,7 +2044,8 @@ sem::Expression* Resolver::MemberAccessor(const ast::MemberAccessorExpression* e
|
|||
// the swizzle.
|
||||
ret = builder_->create<sem::Vector>(vec->type(), static_cast<uint32_t>(size));
|
||||
}
|
||||
return builder_->create<sem::Swizzle>(expr, ret, current_statement_, object,
|
||||
auto* val = EvaluateSwizzleValue(object, ret, swizzle);
|
||||
return builder_->create<sem::Swizzle>(expr, ret, current_statement_, val, object,
|
||||
std::move(swizzle), has_side_effects, source_var);
|
||||
}
|
||||
|
||||
|
|
|
@ -218,6 +218,9 @@ class Resolver {
|
|||
const sem::Type* ty); // Note: ty is not an array or structure
|
||||
const sem::Constant* EvaluateIndexValue(const sem::Expression* obj, const sem::Expression* idx);
|
||||
const sem::Constant* EvaluateLiteralValue(const ast::LiteralExpression*, const sem::Type*);
|
||||
const sem::Constant* EvaluateSwizzleValue(const sem::Expression* vector,
|
||||
const sem::Type* type,
|
||||
const std::vector<uint32_t>& indices);
|
||||
const sem::Constant* EvaluateUnaryValue(const sem::Expression*,
|
||||
const IntrinsicTable::UnaryOperator&);
|
||||
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
#include "src/tint/sem/abstract_float.h"
|
||||
#include "src/tint/sem/abstract_int.h"
|
||||
#include "src/tint/sem/constant.h"
|
||||
#include "src/tint/sem/member_accessor_expression.h"
|
||||
#include "src/tint/sem/type_constructor.h"
|
||||
#include "src/tint/utils/compiler_macros.h"
|
||||
#include "src/tint/utils/transform.h"
|
||||
|
@ -537,6 +538,22 @@ const sem::Constant* Resolver::EvaluateIndexValue(const sem::Expression* obj_exp
|
|||
return obj_val->Index(static_cast<size_t>(idx));
|
||||
}
|
||||
|
||||
const sem::Constant* Resolver::EvaluateSwizzleValue(const sem::Expression* vec_expr,
|
||||
const sem::Type* type,
|
||||
const std::vector<uint32_t>& indices) {
|
||||
auto* vec_val = vec_expr->ConstantValue();
|
||||
if (!vec_val) {
|
||||
return nullptr;
|
||||
}
|
||||
if (indices.size() == 1) {
|
||||
return static_cast<const Constant*>(vec_val->Index(indices[0]));
|
||||
} else {
|
||||
auto values = utils::Transform(
|
||||
indices, [&](uint32_t i) { return static_cast<const Constant*>(vec_val->Index(i)); });
|
||||
return CreateComposite(*builder_, type, std::move(values));
|
||||
}
|
||||
}
|
||||
|
||||
const sem::Constant* Resolver::EvaluateBitcastValue(const sem::Expression*, const sem::Type*) {
|
||||
// TODO(crbug.com/tint/1581): Implement @const intrinsics
|
||||
return nullptr;
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
#include "src/tint/resolver/resolver_test_helper.h"
|
||||
#include "src/tint/sem/expression.h"
|
||||
#include "src/tint/sem/index_accessor_expression.h"
|
||||
#include "src/tint/sem/member_accessor_expression.h"
|
||||
#include "src/tint/sem/test_helper.h"
|
||||
|
||||
using namespace tint::number_suffixes; // NOLINT
|
||||
|
@ -1869,6 +1870,63 @@ TEST_F(ResolverConstantsTest, Vec3_Index_OOB_Low) {
|
|||
EXPECT_EQ(sem->ConstantValue()->As<i32>(), 1_i);
|
||||
}
|
||||
|
||||
TEST_F(ResolverConstantsTest, Vec3_Swizzle_Scalar) {
|
||||
auto* expr = MemberAccessor(vec3<i32>(1_i, 2_i, 3_i), "y");
|
||||
WrapInFunction(expr);
|
||||
|
||||
EXPECT_TRUE(r()->Resolve()) << r()->error();
|
||||
|
||||
auto* sem = Sem().Get(expr);
|
||||
ASSERT_NE(sem, nullptr);
|
||||
ASSERT_TRUE(sem->Type()->Is<sem::I32>());
|
||||
EXPECT_TYPE(sem->ConstantValue()->Type(), sem->Type());
|
||||
EXPECT_TRUE(sem->ConstantValue()->AllEqual());
|
||||
EXPECT_FALSE(sem->ConstantValue()->AnyZero());
|
||||
EXPECT_FALSE(sem->ConstantValue()->AllZero());
|
||||
EXPECT_EQ(sem->ConstantValue()->As<i32>(), 2_i);
|
||||
}
|
||||
|
||||
TEST_F(ResolverConstantsTest, Vec3_Swizzle_Vector) {
|
||||
auto* expr = MemberAccessor(vec3<i32>(1_i, 2_i, 3_i), "zx");
|
||||
WrapInFunction(expr);
|
||||
|
||||
EXPECT_TRUE(r()->Resolve()) << r()->error();
|
||||
|
||||
auto* sem = Sem().Get(expr);
|
||||
ASSERT_NE(sem, nullptr);
|
||||
auto* vec = sem->Type()->As<sem::Vector>();
|
||||
ASSERT_NE(vec, nullptr);
|
||||
EXPECT_EQ(vec->Width(), 2u);
|
||||
EXPECT_TYPE(sem->ConstantValue()->Type(), sem->Type());
|
||||
|
||||
EXPECT_TRUE(sem->ConstantValue()->Index(0)->AllEqual());
|
||||
EXPECT_FALSE(sem->ConstantValue()->Index(0)->AnyZero());
|
||||
EXPECT_FALSE(sem->ConstantValue()->Index(0)->AllZero());
|
||||
EXPECT_EQ(sem->ConstantValue()->Index(0)->As<f32>(), 3._a);
|
||||
|
||||
EXPECT_TRUE(sem->ConstantValue()->Index(1)->AllEqual());
|
||||
EXPECT_FALSE(sem->ConstantValue()->Index(1)->AnyZero());
|
||||
EXPECT_FALSE(sem->ConstantValue()->Index(1)->AllZero());
|
||||
EXPECT_EQ(sem->ConstantValue()->Index(1)->As<f32>(), 1._a);
|
||||
}
|
||||
|
||||
TEST_F(ResolverConstantsTest, Vec3_Swizzle_Chain) {
|
||||
auto* expr = // (1, 2, 3) -> (2, 3, 1) -> (3, 2) -> 2
|
||||
MemberAccessor(MemberAccessor(MemberAccessor(vec3<i32>(1_i, 2_i, 3_i), "gbr"), "yx"), "y");
|
||||
WrapInFunction(expr);
|
||||
|
||||
EXPECT_TRUE(r()->Resolve()) << r()->error();
|
||||
|
||||
auto* sem = Sem().Get(expr);
|
||||
ASSERT_NE(sem, nullptr);
|
||||
ASSERT_TRUE(sem->Type()->Is<sem::I32>());
|
||||
EXPECT_TYPE(sem->ConstantValue()->Type(), sem->Type());
|
||||
EXPECT_TRUE(sem->ConstantValue()->AllEqual());
|
||||
EXPECT_FALSE(sem->ConstantValue()->AnyZero());
|
||||
EXPECT_FALSE(sem->ConstantValue()->AllZero());
|
||||
EXPECT_EQ(sem->ConstantValue()->As<i32>(), 2_i);
|
||||
}
|
||||
|
||||
TEST_F(ResolverConstantsTest, Mat3x2_Index) {
|
||||
auto* expr = IndexAccessor(
|
||||
mat3x2<f32>(vec2<f32>(1._a, 2._a), vec2<f32>(3._a, 4._a), vec2<f32>(5._a, 6._a)), 2_i);
|
||||
|
|
|
@ -35,7 +35,7 @@ class Expression : public Castable<Expression, Node> {
|
|||
/// @param declaration the AST node
|
||||
/// @param type the resolved type of the expression
|
||||
/// @param statement the statement that owns this expression
|
||||
/// @param constant the constant value of the expression. May be invalid
|
||||
/// @param constant the constant value of the expression. May be null
|
||||
/// @param has_side_effects true if this expression may have side-effects
|
||||
/// @param source_var the (optional) source variable for this expression
|
||||
Expression(const ast::Expression* declaration,
|
||||
|
|
|
@ -35,7 +35,7 @@ class IndexAccessorExpression final : public Castable<IndexAccessorExpression, E
|
|||
/// @param object the object expression that is being indexed
|
||||
/// @param index the index expression
|
||||
/// @param statement the statement that owns this expression
|
||||
/// @param constant the constant value of the expression. May be invalid
|
||||
/// @param constant the constant value of the expression. May be null
|
||||
/// @param has_side_effects whether this expression may have side effects
|
||||
/// @param source_var the (optional) source variable for this expression
|
||||
IndexAccessorExpression(const ast::IndexAccessorExpression* declaration,
|
||||
|
|
|
@ -26,32 +26,36 @@ namespace tint::sem {
|
|||
MemberAccessorExpression::MemberAccessorExpression(const ast::MemberAccessorExpression* declaration,
|
||||
const sem::Type* type,
|
||||
const Statement* statement,
|
||||
const Constant* constant,
|
||||
const Expression* object,
|
||||
bool has_side_effects,
|
||||
const Variable* source_var /* = nullptr */)
|
||||
: Base(declaration, type, statement, nullptr, has_side_effects, source_var), object_(object) {}
|
||||
: Base(declaration, type, statement, constant, has_side_effects, source_var), object_(object) {}
|
||||
|
||||
MemberAccessorExpression::~MemberAccessorExpression() = default;
|
||||
|
||||
StructMemberAccess::StructMemberAccess(const ast::MemberAccessorExpression* declaration,
|
||||
const sem::Type* type,
|
||||
const Statement* statement,
|
||||
const Constant* constant,
|
||||
const Expression* object,
|
||||
const StructMember* member,
|
||||
bool has_side_effects,
|
||||
const Variable* source_var /* = nullptr */)
|
||||
: Base(declaration, type, statement, object, has_side_effects, source_var), member_(member) {}
|
||||
: Base(declaration, type, statement, constant, object, has_side_effects, source_var),
|
||||
member_(member) {}
|
||||
|
||||
StructMemberAccess::~StructMemberAccess() = default;
|
||||
|
||||
Swizzle::Swizzle(const ast::MemberAccessorExpression* declaration,
|
||||
const sem::Type* type,
|
||||
const Statement* statement,
|
||||
const Constant* constant,
|
||||
const Expression* object,
|
||||
std::vector<uint32_t> indices,
|
||||
bool has_side_effects,
|
||||
const Variable* source_var /* = nullptr */)
|
||||
: Base(declaration, type, statement, object, has_side_effects, source_var),
|
||||
: Base(declaration, type, statement, constant, object, has_side_effects, source_var),
|
||||
indices_(std::move(indices)) {}
|
||||
|
||||
Swizzle::~Swizzle() = default;
|
||||
|
|
|
@ -38,12 +38,14 @@ class MemberAccessorExpression : public Castable<MemberAccessorExpression, Expre
|
|||
/// @param declaration the AST node
|
||||
/// @param type the resolved type of the expression
|
||||
/// @param statement the statement that owns this expression
|
||||
/// @param constant the constant value of the expression. May be null.
|
||||
/// @param object the object that holds the member being accessed
|
||||
/// @param has_side_effects whether this expression may have side effects
|
||||
/// @param source_var the (optional) source variable for this expression
|
||||
MemberAccessorExpression(const ast::MemberAccessorExpression* declaration,
|
||||
const sem::Type* type,
|
||||
const Statement* statement,
|
||||
const Constant* constant,
|
||||
const Expression* object,
|
||||
bool has_side_effects,
|
||||
const Variable* source_var = nullptr);
|
||||
|
@ -67,6 +69,7 @@ class StructMemberAccess final : public Castable<StructMemberAccess, MemberAcces
|
|||
/// @param declaration the AST node
|
||||
/// @param type the resolved type of the expression
|
||||
/// @param statement the statement that owns this expression
|
||||
/// @param constant the constant value of the expression. May be null
|
||||
/// @param object the object that holds the member being accessed
|
||||
/// @param member the structure member
|
||||
/// @param has_side_effects whether this expression may have side effects
|
||||
|
@ -74,6 +77,7 @@ class StructMemberAccess final : public Castable<StructMemberAccess, MemberAcces
|
|||
StructMemberAccess(const ast::MemberAccessorExpression* declaration,
|
||||
const sem::Type* type,
|
||||
const Statement* statement,
|
||||
const Constant* constant,
|
||||
const Expression* object,
|
||||
const StructMember* member,
|
||||
bool has_side_effects,
|
||||
|
@ -97,6 +101,7 @@ class Swizzle final : public Castable<Swizzle, MemberAccessorExpression> {
|
|||
/// @param declaration the AST node
|
||||
/// @param type the resolved type of the expression
|
||||
/// @param statement the statement that owns this expression
|
||||
/// @param constant the constant value of the expression. May be null
|
||||
/// @param object the object that holds the member being accessed
|
||||
/// @param indices the swizzle indices
|
||||
/// @param has_side_effects whether this expression may have side effects
|
||||
|
@ -104,6 +109,7 @@ class Swizzle final : public Castable<Swizzle, MemberAccessorExpression> {
|
|||
Swizzle(const ast::MemberAccessorExpression* declaration,
|
||||
const sem::Type* type,
|
||||
const Statement* statement,
|
||||
const Constant* constant,
|
||||
const Expression* object,
|
||||
std::vector<uint32_t> indices,
|
||||
bool has_side_effects,
|
||||
|
|
|
@ -47,7 +47,7 @@ class Variable : public Castable<Variable, Node> {
|
|||
/// @param type the variable type
|
||||
/// @param storage_class the variable storage class
|
||||
/// @param access the variable access control type
|
||||
/// @param constant_value the constant value for the variable. May be invalid
|
||||
/// @param constant_value the constant value for the variable. May be null
|
||||
Variable(const ast::Variable* declaration,
|
||||
const sem::Type* type,
|
||||
ast::StorageClass storage_class,
|
||||
|
@ -105,7 +105,7 @@ class LocalVariable final : public Castable<LocalVariable, Variable> {
|
|||
/// @param storage_class the variable storage class
|
||||
/// @param access the variable access control type
|
||||
/// @param statement the statement that declared this local variable
|
||||
/// @param constant_value the constant value for the variable. May be invalid
|
||||
/// @param constant_value the constant value for the variable. May be null
|
||||
LocalVariable(const ast::Variable* declaration,
|
||||
const sem::Type* type,
|
||||
ast::StorageClass storage_class,
|
||||
|
@ -139,7 +139,7 @@ class GlobalVariable final : public Castable<GlobalVariable, Variable> {
|
|||
/// @param type the variable type
|
||||
/// @param storage_class the variable storage class
|
||||
/// @param access the variable access control type
|
||||
/// @param constant_value the constant value for the variable. May be invalid
|
||||
/// @param constant_value the constant value for the variable. May be null
|
||||
/// @param binding_point the optional resource binding point of the variable
|
||||
GlobalVariable(const ast::Variable* declaration,
|
||||
const sem::Type* type,
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#version 310 es
|
||||
|
||||
void main_1() {
|
||||
float x_24 = vec3(4.0f, 5.0f, 6.0f).y;
|
||||
float x_24 = 5.0f;
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
void main_1() {
|
||||
const float x_24 = float3(4.0f, 5.0f, 6.0f).y;
|
||||
const float x_24 = 5.0f;
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
using namespace metal;
|
||||
void main_1() {
|
||||
float const x_24 = float3(4.0f, 5.0f, 6.0f)[1];
|
||||
float const x_24 = 5.0f;
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 28
|
||||
; Bound: 10
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
|
@ -12,31 +12,13 @@
|
|||
%void = OpTypeVoid
|
||||
%1 = OpTypeFunction %void
|
||||
%float = OpTypeFloat 32
|
||||
%v3float = OpTypeVector %float 3
|
||||
%mat3v3float = OpTypeMatrix %v3float 3
|
||||
%float_1 = OpConstant %float 1
|
||||
%float_2 = OpConstant %float 2
|
||||
%float_3 = OpConstant %float 3
|
||||
%11 = OpConstantComposite %v3float %float_1 %float_2 %float_3
|
||||
%float_4 = OpConstant %float 4
|
||||
%float_5 = OpConstant %float 5
|
||||
%float_6 = OpConstant %float 6
|
||||
%15 = OpConstantComposite %v3float %float_4 %float_5 %float_6
|
||||
%float_7 = OpConstant %float 7
|
||||
%float_8 = OpConstant %float 8
|
||||
%float_9 = OpConstant %float 9
|
||||
%19 = OpConstantComposite %v3float %float_7 %float_8 %float_9
|
||||
%20 = OpConstantComposite %mat3v3float %11 %15 %19
|
||||
%uint = OpTypeInt 32 0
|
||||
%uint_1 = OpConstant %uint 1
|
||||
%main_1 = OpFunction %void None %1
|
||||
%4 = OpLabel
|
||||
%23 = OpCompositeExtract %v3float %20 1
|
||||
%24 = OpCompositeExtract %float %23 1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %1
|
||||
%26 = OpLabel
|
||||
%27 = OpFunctionCall %void %main_1
|
||||
%8 = OpLabel
|
||||
%9 = OpFunctionCall %void %main_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
#version 310 es
|
||||
|
||||
void main_1() {
|
||||
float x_11 = vec3(1.0f, 2.0f, 3.0f).y;
|
||||
vec2 x_13 = vec2(vec3(1.0f, 2.0f, 3.0f).x, vec3(1.0f, 2.0f, 3.0f).z);
|
||||
vec3 x_14 = vec3(vec3(1.0f, 2.0f, 3.0f).x, vec3(1.0f, 2.0f, 3.0f).z, vec3(1.0f, 2.0f, 3.0f).y);
|
||||
float x_11 = 2.0f;
|
||||
vec2 x_13 = vec2(1.0f, 3.0f);
|
||||
vec3 x_14 = vec3(1.0f, 3.0f, 2.0f);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
void main_1() {
|
||||
const float x_11 = float3(1.0f, 2.0f, 3.0f).y;
|
||||
const float2 x_13 = float2(float3(1.0f, 2.0f, 3.0f).x, float3(1.0f, 2.0f, 3.0f).z);
|
||||
const float3 x_14 = float3(float3(1.0f, 2.0f, 3.0f).x, float3(1.0f, 2.0f, 3.0f).z, float3(1.0f, 2.0f, 3.0f).y);
|
||||
const float x_11 = 2.0f;
|
||||
const float2 x_13 = float2(1.0f, 3.0f);
|
||||
const float3 x_14 = float3(1.0f, 3.0f, 2.0f);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
|
||||
using namespace metal;
|
||||
void main_1() {
|
||||
float const x_11 = float3(1.0f, 2.0f, 3.0f)[1];
|
||||
float2 const x_13 = float2(float3(1.0f, 2.0f, 3.0f)[0], float3(1.0f, 2.0f, 3.0f)[2]);
|
||||
float3 const x_14 = float3(float3(1.0f, 2.0f, 3.0f)[0], float3(1.0f, 2.0f, 3.0f)[2], float3(1.0f, 2.0f, 3.0f)[1]);
|
||||
float const x_11 = 2.0f;
|
||||
float2 const x_13 = float2(1.0f, 3.0f);
|
||||
float3 const x_14 = float3(1.0f, 3.0f, 2.0f);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 23
|
||||
; Bound: 16
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
|
@ -12,26 +12,19 @@
|
|||
%void = OpTypeVoid
|
||||
%1 = OpTypeFunction %void
|
||||
%float = OpTypeFloat 32
|
||||
%v3float = OpTypeVector %float 3
|
||||
%float_1 = OpConstant %float 1
|
||||
%float_2 = OpConstant %float 2
|
||||
%float_3 = OpConstant %float 3
|
||||
%10 = OpConstantComposite %v3float %float_1 %float_2 %float_3
|
||||
%v2float = OpTypeVector %float 2
|
||||
%float_1 = OpConstant %float 1
|
||||
%float_3 = OpConstant %float 3
|
||||
%10 = OpConstantComposite %v2float %float_1 %float_3
|
||||
%v3float = OpTypeVector %float 3
|
||||
%12 = OpConstantComposite %v3float %float_1 %float_3 %float_2
|
||||
%main_1 = OpFunction %void None %1
|
||||
%4 = OpLabel
|
||||
%11 = OpCompositeExtract %float %10 1
|
||||
%13 = OpCompositeExtract %float %10 0
|
||||
%14 = OpCompositeExtract %float %10 2
|
||||
%15 = OpCompositeConstruct %v2float %13 %14
|
||||
%16 = OpCompositeExtract %float %10 0
|
||||
%17 = OpCompositeExtract %float %10 2
|
||||
%18 = OpCompositeExtract %float %10 1
|
||||
%19 = OpCompositeConstruct %v3float %16 %17 %18
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %1
|
||||
%21 = OpLabel
|
||||
%22 = OpFunctionCall %void %main_1
|
||||
%14 = OpLabel
|
||||
%15 = OpFunctionCall %void %main_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
@compute @workgroup_size(1)
|
||||
fn main() {
|
||||
_ = mix(1.0, vec2(1.0).y, 1.0);
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
#version 310 es
|
||||
|
||||
void tint_symbol() {
|
||||
mix(1.0f, 1.0f, 1.0f);
|
||||
}
|
||||
|
||||
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
|
||||
void main() {
|
||||
tint_symbol();
|
||||
return;
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
[numthreads(1, 1, 1)]
|
||||
void main() {
|
||||
lerp(1.0f, 1.0f, 1.0f);
|
||||
return;
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
#include <metal_stdlib>
|
||||
|
||||
using namespace metal;
|
||||
kernel void tint_symbol() {
|
||||
mix(1.0f, 1.0f, 1.0f);
|
||||
return;
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 9
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
%7 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %main "main"
|
||||
OpExecutionMode %main LocalSize 1 1 1
|
||||
OpName %main "main"
|
||||
%void = OpTypeVoid
|
||||
%1 = OpTypeFunction %void
|
||||
%float = OpTypeFloat 32
|
||||
%float_1 = OpConstant %float 1
|
||||
%main = OpFunction %void None %1
|
||||
%4 = OpLabel
|
||||
%5 = OpExtInst %float %7 FMix %float_1 %float_1 %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
|
@ -0,0 +1,4 @@
|
|||
@compute @workgroup_size(1)
|
||||
fn main() {
|
||||
_ = mix(1.0, vec2(1.0).y, 1.0);
|
||||
}
|
|
@ -22,7 +22,7 @@ void swap_i1_i1_(inout int i, inout int j) {
|
|||
int x_932 = temp;
|
||||
temp = 0;
|
||||
temp = x_932;
|
||||
vec3 x_523 = vec3(vec3(1.0f, 2.0f, 3.0f).z, vec3(1.0f, 2.0f, 3.0f).y, vec3(1.0f, 2.0f, 3.0f).z);
|
||||
vec3 x_523 = vec3(3.0f, 2.0f, 3.0f);
|
||||
int x_933 = i;
|
||||
i = 0;
|
||||
i = x_933;
|
||||
|
@ -46,7 +46,7 @@ void swap_i1_i1_(inout int i, inout int j) {
|
|||
int x_938 = j;
|
||||
j = 0;
|
||||
j = x_938;
|
||||
vec3 x_525 = vec3(x_523.z, vec3(1.0f, 2.0f, 3.0f).x, x_523.y);
|
||||
vec3 x_525 = vec3(x_523.z, 1.0f, x_523.y);
|
||||
int x_939 = i;
|
||||
i = 0;
|
||||
i = x_939;
|
||||
|
@ -136,7 +136,7 @@ int performPartition_i1_i1_(inout int l, inout int h) {
|
|||
int x_955 = param_3;
|
||||
param_3 = 0;
|
||||
param_3 = x_955;
|
||||
vec3 x_534 = vec3(vec3(1.0f, 2.0f, 3.0f).z, vec3(1.0f, 2.0f, 3.0f).x, vec3(1.0f, 2.0f, 3.0f).z);
|
||||
vec3 x_534 = vec3(3.0f, 1.0f, 3.0f);
|
||||
int x_956 = param_1;
|
||||
param_1 = 0;
|
||||
param_1 = x_956;
|
||||
|
@ -172,7 +172,7 @@ int performPartition_i1_i1_(inout int l, inout int h) {
|
|||
int x_963 = pivot;
|
||||
pivot = 0;
|
||||
pivot = x_963;
|
||||
x_537 = vec2(vec3(1.0f, 2.0f, 3.0f).y, vec3(1.0f, 2.0f, 3.0f).z);
|
||||
x_537 = vec2(2.0f, 3.0f);
|
||||
QuicksortObject x_964 = obj;
|
||||
int tint_symbol_11[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
QuicksortObject tint_symbol_12 = QuicksortObject(tint_symbol_11);
|
||||
|
@ -215,7 +215,7 @@ int performPartition_i1_i1_(inout int l, inout int h) {
|
|||
obj = tint_symbol_14;
|
||||
obj = x_972;
|
||||
int x_63 = pivot;
|
||||
vec2 x_540 = vec2(vec3(1.0f, 2.0f, 3.0f).y, x_534.z);
|
||||
vec2 x_540 = vec2(2.0f, x_534.z);
|
||||
int x_973 = i_1;
|
||||
i_1 = 0;
|
||||
i_1 = x_973;
|
||||
|
@ -246,7 +246,7 @@ int performPartition_i1_i1_(inout int l, inout int h) {
|
|||
int x_980 = l;
|
||||
l = 0;
|
||||
l = x_980;
|
||||
vec3 x_544 = vec3(vec3(1.0f, 2.0f, 3.0f).z, vec3(1.0f, 2.0f, 3.0f).y, x_540.x);
|
||||
vec3 x_544 = vec3(3.0f, 2.0f, x_540.x);
|
||||
int x_70 = i_1;
|
||||
vec2 x_545 = vec2(x_537.y, x_538.x);
|
||||
int x_981 = param;
|
||||
|
@ -346,7 +346,7 @@ int performPartition_i1_i1_(inout int l, inout int h) {
|
|||
int x_1003 = l;
|
||||
l = 0;
|
||||
l = x_1003;
|
||||
vec2 x_554 = vec2(x_536.z, vec3(1.0f, 2.0f, 3.0f).y);
|
||||
vec2 x_554 = vec2(x_536.z, 2.0f);
|
||||
int x_1004 = param_1;
|
||||
param_1 = 0;
|
||||
param_1 = x_1004;
|
||||
|
@ -378,7 +378,7 @@ void quicksort_() {
|
|||
int tint_symbol_19[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
stack = tint_symbol_19;
|
||||
stack = x_1008;
|
||||
vec2 x_556 = vec2(vec3(1.0f, 2.0f, 3.0f).y, vec3(1.0f, 2.0f, 3.0f).y);
|
||||
vec2 x_556 = vec2(2.0f);
|
||||
int x_1009 = param_5;
|
||||
param_5 = 0;
|
||||
param_5 = x_1009;
|
||||
|
@ -387,7 +387,7 @@ void quicksort_() {
|
|||
p = 0;
|
||||
p = x_1010;
|
||||
int x_93 = top;
|
||||
vec2 x_557 = vec2(vec3(1.0f, 2.0f, 3.0f).x, vec3(1.0f, 2.0f, 3.0f).x);
|
||||
vec2 x_557 = vec2(1.0f);
|
||||
int x_1011 = p;
|
||||
p = 0;
|
||||
p = x_1011;
|
||||
|
@ -431,7 +431,7 @@ void quicksort_() {
|
|||
int x_1020 = param_4;
|
||||
param_4 = 0;
|
||||
param_4 = x_1020;
|
||||
vec3 x_562 = vec3(vec3(1.0f, 2.0f, 3.0f).z, x_558.y, vec3(1.0f, 2.0f, 3.0f).y);
|
||||
vec3 x_562 = vec3(3.0f, x_558.y, 2.0f);
|
||||
int x_1021 = stack[x_96_save];
|
||||
stack[x_96_save] = 0;
|
||||
stack[x_96_save] = x_1021;
|
||||
|
@ -534,7 +534,7 @@ void quicksort_() {
|
|||
int x_1043 = stack[x_100_save];
|
||||
stack[x_100_save] = 0;
|
||||
stack[x_100_save] = x_1043;
|
||||
vec2 x_573 = vec2(vec3(1.0f, 2.0f, 3.0f).y, vec3(1.0f, 2.0f, 3.0f).z);
|
||||
vec2 x_573 = vec2(2.0f, 3.0f);
|
||||
top = (x_112 - 1);
|
||||
int x_1044 = param_5;
|
||||
param_5 = 0;
|
||||
|
@ -566,7 +566,7 @@ void quicksort_() {
|
|||
stack[x_110_save] = x_1050;
|
||||
vec2 x_577 = vec2(x_569.y, x_569.z);
|
||||
int x_120 = h_1;
|
||||
vec2 x_578 = vec2(x_558.x, vec3(1.0f, 2.0f, 3.0f).y);
|
||||
vec2 x_578 = vec2(x_558.x, 2.0f);
|
||||
param_5 = x_120;
|
||||
int x_1051 = stack[x_100_save];
|
||||
stack[x_100_save] = 0;
|
||||
|
@ -676,7 +676,7 @@ void quicksort_() {
|
|||
int x_1076 = stack[x_96_save];
|
||||
stack[x_96_save] = 0;
|
||||
stack[x_96_save] = x_1076;
|
||||
vec2 x_592 = vec2(vec3(1.0f, 2.0f, 3.0f).x, vec3(1.0f, 2.0f, 3.0f).y);
|
||||
vec2 x_592 = vec2(1.0f, 2.0f);
|
||||
QuicksortObject x_1077 = obj;
|
||||
int tint_symbol_31[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
QuicksortObject tint_symbol_32 = QuicksortObject(tint_symbol_31);
|
||||
|
@ -821,7 +821,7 @@ void main_1() {
|
|||
QuicksortObject tint_symbol_40 = QuicksortObject(tint_symbol_39);
|
||||
obj = tint_symbol_40;
|
||||
obj = x_722;
|
||||
vec2 x_431 = vec2(vec3(1.0f, 2.0f, 3.0f).x, vec3(1.0f, 2.0f, 3.0f).x);
|
||||
vec2 x_431 = vec2(1.0f);
|
||||
int x_158 = i_2;
|
||||
vec2 x_723 = uv;
|
||||
uv = vec2(0.0f);
|
||||
|
@ -841,7 +841,7 @@ void main_1() {
|
|||
QuicksortObject tint_symbol_44 = QuicksortObject(tint_symbol_43);
|
||||
obj = tint_symbol_44;
|
||||
obj = x_756;
|
||||
vec2 x_446 = vec2(vec2(0.0f).x, vec2(0.0f).x);
|
||||
vec2 x_446 = vec2(0.0f);
|
||||
int x_757 = i_2;
|
||||
i_2 = 0;
|
||||
i_2 = x_757;
|
||||
|
@ -855,7 +855,7 @@ void main_1() {
|
|||
vec2 x_759 = uv;
|
||||
uv = vec2(0.0f);
|
||||
uv = x_759;
|
||||
vec2 x_447 = vec2(vec2(0.0f).y, vec2(0.0f).y);
|
||||
vec2 x_447 = vec2(0.0f);
|
||||
vec2 x_760 = uv;
|
||||
uv = vec2(0.0f);
|
||||
uv = x_760;
|
||||
|
@ -875,7 +875,7 @@ void main_1() {
|
|||
QuicksortObject tint_symbol_50 = QuicksortObject(tint_symbol_49);
|
||||
obj = tint_symbol_50;
|
||||
obj = x_763;
|
||||
vec3 x_449 = vec3(x_184.y, vec3(1.0f, 2.0f, 3.0f).z, x_184.w);
|
||||
vec3 x_449 = vec3(x_184.y, 3.0f, x_184.w);
|
||||
vec3 x_764 = color;
|
||||
color = vec3(0.0f);
|
||||
color = x_764;
|
||||
|
@ -919,7 +919,7 @@ void main_1() {
|
|||
float x_773 = color.x;
|
||||
color.x = 0.0f;
|
||||
color.x = x_773;
|
||||
vec2 x_452 = vec2(vec3(1.0f, 2.0f, 3.0f).z, vec3(1.0f, 2.0f, 3.0f).y);
|
||||
vec2 x_452 = vec2(3.0f, 2.0f);
|
||||
int x_774 = i_2;
|
||||
i_2 = 0;
|
||||
i_2 = x_774;
|
||||
|
@ -954,7 +954,7 @@ void main_1() {
|
|||
int x_781 = obj.numbers[0u];
|
||||
obj.numbers[0u] = 0;
|
||||
obj.numbers[0u] = x_781;
|
||||
vec3 x_456 = vec3(vec2(0.0f).y, x_448.y, x_448.y);
|
||||
vec3 x_456 = vec3(0.0f, x_448.y, x_448.y);
|
||||
float x_782 = uv.x;
|
||||
uv.x = 0.0f;
|
||||
uv.x = x_782;
|
||||
|
@ -973,7 +973,7 @@ void main_1() {
|
|||
QuicksortObject tint_symbol_64 = QuicksortObject(tint_symbol_63);
|
||||
obj = tint_symbol_64;
|
||||
obj = x_785;
|
||||
vec2 x_458 = vec2(vec3(1.0f, 2.0f, 3.0f).z, vec2(0.0f).y);
|
||||
vec2 x_458 = vec2(3.0f, 0.0f);
|
||||
int x_786 = i_2;
|
||||
i_2 = 0;
|
||||
i_2 = x_786;
|
||||
|
@ -1013,7 +1013,7 @@ void main_1() {
|
|||
float x_796 = uv.x;
|
||||
uv.x = 0.0f;
|
||||
uv.x = x_796;
|
||||
vec2 x_461 = vec2(vec2(0.0f).y, vec2(0.0f).y);
|
||||
vec2 x_461 = vec2(0.0f);
|
||||
float x_797 = uv.x;
|
||||
uv.x = 0.0f;
|
||||
uv.x = x_797;
|
||||
|
@ -1057,7 +1057,7 @@ void main_1() {
|
|||
int x_808 = i_2;
|
||||
i_2 = 0;
|
||||
i_2 = x_808;
|
||||
vec2 x_466 = vec2(x_455.y, vec2(0.0f).y);
|
||||
vec2 x_466 = vec2(x_455.y, 0.0f);
|
||||
int x_809 = i_2;
|
||||
i_2 = 0;
|
||||
i_2 = x_809;
|
||||
|
@ -1111,7 +1111,7 @@ void main_1() {
|
|||
int x_822 = obj.numbers[0u];
|
||||
obj.numbers[0u] = 0;
|
||||
obj.numbers[0u] = x_822;
|
||||
vec2 x_470 = vec2(vec2(0.0f).x, vec2(0.0f).y);
|
||||
vec2 x_470 = vec2(0.0f);
|
||||
float x_823 = color.z;
|
||||
color.z = 0.0f;
|
||||
color.z = x_823;
|
||||
|
@ -1153,7 +1153,7 @@ void main_1() {
|
|||
color.x = x_832;
|
||||
vec2 x_476 = vec2(x_451.z, x_460.y);
|
||||
color.y = (x_257 + float(x_254));
|
||||
vec3 x_477 = vec3(vec2(0.0f).x, x_472.x, vec2(0.0f).y);
|
||||
vec3 x_477 = vec3(0.0f, x_472.x, 0.0f);
|
||||
float x_833 = uv.x;
|
||||
uv.x = 0.0f;
|
||||
uv.x = x_833;
|
||||
|
@ -1168,14 +1168,14 @@ void main_1() {
|
|||
int x_836 = i_2;
|
||||
i_2 = 0;
|
||||
i_2 = x_836;
|
||||
vec3 x_479 = vec3(vec2(0.0f).y, x_454.y, vec2(0.0f).x);
|
||||
vec3 x_479 = vec3(0.0f, x_454.y, 0.0f);
|
||||
int x_837 = obj.numbers[0u];
|
||||
obj.numbers[0u] = 0;
|
||||
obj.numbers[0u] = x_837;
|
||||
float x_838 = color.y;
|
||||
color.y = 0.0f;
|
||||
color.y = x_838;
|
||||
vec3 x_480 = vec3(x_446.x, x_446.x, vec2(0.0f).y);
|
||||
vec3 x_480 = vec3(x_446.x, x_446.x, 0.0f);
|
||||
float x_839 = uv.x;
|
||||
uv.x = 0.0f;
|
||||
uv.x = x_839;
|
||||
|
@ -1281,7 +1281,7 @@ void main_1() {
|
|||
float x_865 = color.x;
|
||||
color.x = 0.0f;
|
||||
color.x = x_865;
|
||||
vec2 x_491 = vec2(vec3(1.0f, 2.0f, 3.0f).y, x_454.x);
|
||||
vec2 x_491 = vec2(2.0f, x_454.x);
|
||||
float x_866 = color.y;
|
||||
color.y = 0.0f;
|
||||
color.y = x_866;
|
||||
|
@ -1382,7 +1382,7 @@ void main_1() {
|
|||
float x_891 = color.y;
|
||||
color.y = 0.0f;
|
||||
color.y = x_891;
|
||||
vec2 x_504 = vec2(x_453.y, vec2(0.0f).x);
|
||||
vec2 x_504 = vec2(x_453.y, 0.0f);
|
||||
float x_892 = color.x;
|
||||
color.x = 0.0f;
|
||||
color.x = x_892;
|
||||
|
@ -1431,7 +1431,7 @@ void main_1() {
|
|||
float x_904 = color.z;
|
||||
color.z = 0.0f;
|
||||
color.z = x_904;
|
||||
vec3 x_510 = vec3(vec3(1.0f, 2.0f, 3.0f).y, x_485.y, x_485.z);
|
||||
vec3 x_510 = vec3(2.0f, x_485.y, x_485.z);
|
||||
float x_905 = color.z;
|
||||
color.z = 0.0f;
|
||||
color.z = x_905;
|
||||
|
@ -1485,7 +1485,7 @@ void main_1() {
|
|||
float x_918 = uv.x;
|
||||
uv.x = 0.0f;
|
||||
uv.x = x_918;
|
||||
vec3 x_517 = vec3(vec2(0.0f).x, vec2(0.0f).x, vec2(0.0f).y);
|
||||
vec3 x_517 = vec3(0.0f);
|
||||
color.x = (float(x_317) + x_320);
|
||||
float x_919 = color.x;
|
||||
color.x = 0.0f;
|
||||
|
@ -1528,7 +1528,7 @@ void main_1() {
|
|||
float x_928 = uv.y;
|
||||
uv.y = 0.0f;
|
||||
uv.y = x_928;
|
||||
vec3 x_521 = vec3(vec3(1.0f, 2.0f, 3.0f).y, vec3(1.0f, 2.0f, 3.0f).y, x_520.y);
|
||||
vec3 x_521 = vec3(2.0f, 2.0f, x_520.y);
|
||||
float x_929 = uv.x;
|
||||
uv.x = 0.0f;
|
||||
uv.x = x_929;
|
||||
|
|
|
@ -14,7 +14,7 @@ void swap_i1_i1_(inout int i, inout int j) {
|
|||
const int x_932 = temp;
|
||||
temp = 0;
|
||||
temp = x_932;
|
||||
const float3 x_523 = float3(float3(1.0f, 2.0f, 3.0f).z, float3(1.0f, 2.0f, 3.0f).y, float3(1.0f, 2.0f, 3.0f).z);
|
||||
const float3 x_523 = float3(3.0f, 2.0f, 3.0f);
|
||||
const int x_933 = i;
|
||||
i = 0;
|
||||
i = x_933;
|
||||
|
@ -46,7 +46,7 @@ void swap_i1_i1_(inout int i, inout int j) {
|
|||
const int x_938 = j;
|
||||
j = 0;
|
||||
j = x_938;
|
||||
const float3 x_525 = float3(x_523.z, float3(1.0f, 2.0f, 3.0f).x, x_523.y);
|
||||
const float3 x_525 = float3(x_523.z, 1.0f, x_523.y);
|
||||
const int x_939 = i;
|
||||
i = 0;
|
||||
i = x_939;
|
||||
|
@ -192,7 +192,7 @@ int performPartition_i1_i1_(inout int l, inout int h) {
|
|||
const int x_955 = param_3;
|
||||
param_3 = 0;
|
||||
param_3 = x_955;
|
||||
const float3 x_534 = float3(float3(1.0f, 2.0f, 3.0f).z, float3(1.0f, 2.0f, 3.0f).x, float3(1.0f, 2.0f, 3.0f).z);
|
||||
const float3 x_534 = float3(3.0f, 1.0f, 3.0f);
|
||||
const int x_956 = param_1;
|
||||
param_1 = 0;
|
||||
param_1 = x_956;
|
||||
|
@ -228,7 +228,7 @@ int performPartition_i1_i1_(inout int l, inout int h) {
|
|||
const int x_963 = pivot;
|
||||
pivot = 0;
|
||||
pivot = x_963;
|
||||
x_537 = float2(float3(1.0f, 2.0f, 3.0f).y, float3(1.0f, 2.0f, 3.0f).z);
|
||||
x_537 = float2(2.0f, 3.0f);
|
||||
const QuicksortObject x_964 = obj;
|
||||
const int tint_symbol_60[10] = (int[10])0;
|
||||
const QuicksortObject tint_symbol_61 = {tint_symbol_60};
|
||||
|
@ -279,7 +279,7 @@ int performPartition_i1_i1_(inout int l, inout int h) {
|
|||
obj = tint_symbol_63;
|
||||
obj = x_972;
|
||||
const int x_63 = pivot;
|
||||
const float2 x_540 = float2(float3(1.0f, 2.0f, 3.0f).y, x_534.z);
|
||||
const float2 x_540 = float2(2.0f, x_534.z);
|
||||
const int x_973 = i_1;
|
||||
i_1 = 0;
|
||||
i_1 = x_973;
|
||||
|
@ -310,7 +310,7 @@ int performPartition_i1_i1_(inout int l, inout int h) {
|
|||
const int x_980 = l;
|
||||
l = 0;
|
||||
l = x_980;
|
||||
const float3 x_544 = float3(float3(1.0f, 2.0f, 3.0f).z, float3(1.0f, 2.0f, 3.0f).y, x_540.x);
|
||||
const float3 x_544 = float3(3.0f, 2.0f, x_540.x);
|
||||
const int x_70 = i_1;
|
||||
const float2 x_545 = float2(x_537.y, x_538.x);
|
||||
const int x_981 = param;
|
||||
|
@ -434,7 +434,7 @@ int performPartition_i1_i1_(inout int l, inout int h) {
|
|||
const int x_1003 = l;
|
||||
l = 0;
|
||||
l = x_1003;
|
||||
const float2 x_554 = float2(x_536.z, float3(1.0f, 2.0f, 3.0f).y);
|
||||
const float2 x_554 = float2(x_536.z, 2.0f);
|
||||
const int x_1004 = param_1;
|
||||
param_1 = 0;
|
||||
param_1 = x_1004;
|
||||
|
@ -466,7 +466,7 @@ void quicksort_() {
|
|||
const int tint_symbol_68[10] = (int[10])0;
|
||||
stack = tint_symbol_68;
|
||||
stack = x_1008;
|
||||
const float2 x_556 = float2(float3(1.0f, 2.0f, 3.0f).y, float3(1.0f, 2.0f, 3.0f).y);
|
||||
const float2 x_556 = (2.0f).xx;
|
||||
const int x_1009 = param_5;
|
||||
param_5 = 0;
|
||||
param_5 = x_1009;
|
||||
|
@ -475,7 +475,7 @@ void quicksort_() {
|
|||
p = 0;
|
||||
p = x_1010;
|
||||
const int x_93 = top;
|
||||
const float2 x_557 = float2(float3(1.0f, 2.0f, 3.0f).x, float3(1.0f, 2.0f, 3.0f).x);
|
||||
const float2 x_557 = (1.0f).xx;
|
||||
const int x_1011 = p;
|
||||
p = 0;
|
||||
p = x_1011;
|
||||
|
@ -519,7 +519,7 @@ void quicksort_() {
|
|||
const int x_1020 = param_4;
|
||||
param_4 = 0;
|
||||
param_4 = x_1020;
|
||||
const float3 x_562 = float3(float3(1.0f, 2.0f, 3.0f).z, x_558.y, float3(1.0f, 2.0f, 3.0f).y);
|
||||
const float3 x_562 = float3(3.0f, x_558.y, 2.0f);
|
||||
const int x_1021 = stack[x_96_save];
|
||||
stack[x_96_save] = 0;
|
||||
stack[x_96_save] = x_1021;
|
||||
|
@ -622,7 +622,7 @@ void quicksort_() {
|
|||
const int x_1043 = stack[x_100_save];
|
||||
stack[x_100_save] = 0;
|
||||
stack[x_100_save] = x_1043;
|
||||
const float2 x_573 = float2(float3(1.0f, 2.0f, 3.0f).y, float3(1.0f, 2.0f, 3.0f).z);
|
||||
const float2 x_573 = float2(2.0f, 3.0f);
|
||||
top = (x_112 - 1);
|
||||
const int x_1044 = param_5;
|
||||
param_5 = 0;
|
||||
|
@ -654,7 +654,7 @@ void quicksort_() {
|
|||
stack[x_110_save] = x_1050;
|
||||
const float2 x_577 = float2(x_569.y, x_569.z);
|
||||
const int x_120 = h_1;
|
||||
const float2 x_578 = float2(x_558.x, float3(1.0f, 2.0f, 3.0f).y);
|
||||
const float2 x_578 = float2(x_558.x, 2.0f);
|
||||
param_5 = x_120;
|
||||
const int x_1051 = stack[x_100_save];
|
||||
stack[x_100_save] = 0;
|
||||
|
@ -764,7 +764,7 @@ void quicksort_() {
|
|||
const int x_1076 = stack[x_96_save];
|
||||
stack[x_96_save] = 0;
|
||||
stack[x_96_save] = x_1076;
|
||||
const float2 x_592 = float2(float3(1.0f, 2.0f, 3.0f).x, float3(1.0f, 2.0f, 3.0f).y);
|
||||
const float2 x_592 = float2(1.0f, 2.0f);
|
||||
const QuicksortObject x_1077 = obj;
|
||||
const int tint_symbol_80[10] = (int[10])0;
|
||||
const QuicksortObject tint_symbol_81 = {tint_symbol_80};
|
||||
|
@ -909,7 +909,7 @@ void main_1() {
|
|||
const QuicksortObject tint_symbol_89 = {tint_symbol_88};
|
||||
obj = tint_symbol_89;
|
||||
obj = x_722;
|
||||
const float2 x_431 = float2(float3(1.0f, 2.0f, 3.0f).x, float3(1.0f, 2.0f, 3.0f).x);
|
||||
const float2 x_431 = (1.0f).xx;
|
||||
const int x_158 = i_2;
|
||||
const float2 x_723 = uv;
|
||||
uv = (0.0f).xx;
|
||||
|
@ -929,7 +929,7 @@ void main_1() {
|
|||
const QuicksortObject tint_symbol_93 = {tint_symbol_92};
|
||||
obj = tint_symbol_93;
|
||||
obj = x_756;
|
||||
const float2 x_446 = float2((0.0f).xx.x, (0.0f).xx.x);
|
||||
const float2 x_446 = (0.0f).xx;
|
||||
const int x_757 = i_2;
|
||||
i_2 = 0;
|
||||
i_2 = x_757;
|
||||
|
@ -943,7 +943,7 @@ void main_1() {
|
|||
const float2 x_759 = uv;
|
||||
uv = (0.0f).xx;
|
||||
uv = x_759;
|
||||
const float2 x_447 = float2((0.0f).xx.y, (0.0f).xx.y);
|
||||
const float2 x_447 = (0.0f).xx;
|
||||
const float2 x_760 = uv;
|
||||
uv = (0.0f).xx;
|
||||
uv = x_760;
|
||||
|
@ -963,7 +963,7 @@ void main_1() {
|
|||
const QuicksortObject tint_symbol_99 = {tint_symbol_98};
|
||||
obj = tint_symbol_99;
|
||||
obj = x_763;
|
||||
const float3 x_449 = float3(x_184.y, float3(1.0f, 2.0f, 3.0f).z, x_184.w);
|
||||
const float3 x_449 = float3(x_184.y, 3.0f, x_184.w);
|
||||
const float3 x_764 = color;
|
||||
color = (0.0f).xxx;
|
||||
color = x_764;
|
||||
|
@ -1007,7 +1007,7 @@ void main_1() {
|
|||
const float x_773 = color.x;
|
||||
color.x = 0.0f;
|
||||
color.x = x_773;
|
||||
const float2 x_452 = float2(float3(1.0f, 2.0f, 3.0f).z, float3(1.0f, 2.0f, 3.0f).y);
|
||||
const float2 x_452 = float2(3.0f, 2.0f);
|
||||
const int x_774 = i_2;
|
||||
i_2 = 0;
|
||||
i_2 = x_774;
|
||||
|
@ -1042,7 +1042,7 @@ void main_1() {
|
|||
const int x_781 = obj.numbers[0u];
|
||||
obj.numbers[0u] = 0;
|
||||
obj.numbers[0u] = x_781;
|
||||
const float3 x_456 = float3((0.0f).xx.y, x_448.y, x_448.y);
|
||||
const float3 x_456 = float3(0.0f, x_448.y, x_448.y);
|
||||
const float x_782 = uv.x;
|
||||
uv.x = 0.0f;
|
||||
uv.x = x_782;
|
||||
|
@ -1061,7 +1061,7 @@ void main_1() {
|
|||
const QuicksortObject tint_symbol_113 = {tint_symbol_112};
|
||||
obj = tint_symbol_113;
|
||||
obj = x_785;
|
||||
const float2 x_458 = float2(float3(1.0f, 2.0f, 3.0f).z, (0.0f).xx.y);
|
||||
const float2 x_458 = float2(3.0f, 0.0f);
|
||||
const int x_786 = i_2;
|
||||
i_2 = 0;
|
||||
i_2 = x_786;
|
||||
|
@ -1101,7 +1101,7 @@ void main_1() {
|
|||
const float x_796 = uv.x;
|
||||
uv.x = 0.0f;
|
||||
uv.x = x_796;
|
||||
const float2 x_461 = float2((0.0f).xx.y, (0.0f).xx.y);
|
||||
const float2 x_461 = (0.0f).xx;
|
||||
const float x_797 = uv.x;
|
||||
uv.x = 0.0f;
|
||||
uv.x = x_797;
|
||||
|
@ -1145,7 +1145,7 @@ void main_1() {
|
|||
const int x_808 = i_2;
|
||||
i_2 = 0;
|
||||
i_2 = x_808;
|
||||
const float2 x_466 = float2(x_455.y, (0.0f).xx.y);
|
||||
const float2 x_466 = float2(x_455.y, 0.0f);
|
||||
const int x_809 = i_2;
|
||||
i_2 = 0;
|
||||
i_2 = x_809;
|
||||
|
@ -1199,7 +1199,7 @@ void main_1() {
|
|||
const int x_822 = obj.numbers[0u];
|
||||
obj.numbers[0u] = 0;
|
||||
obj.numbers[0u] = x_822;
|
||||
const float2 x_470 = float2((0.0f).xx.x, (0.0f).xx.y);
|
||||
const float2 x_470 = (0.0f).xx;
|
||||
const float x_823 = color.z;
|
||||
color.z = 0.0f;
|
||||
color.z = x_823;
|
||||
|
@ -1241,7 +1241,7 @@ void main_1() {
|
|||
color.x = x_832;
|
||||
const float2 x_476 = float2(x_451.z, x_460.y);
|
||||
color.y = (x_257 + float(x_254));
|
||||
const float3 x_477 = float3((0.0f).xx.x, x_472.x, (0.0f).xx.y);
|
||||
const float3 x_477 = float3(0.0f, x_472.x, 0.0f);
|
||||
const float x_833 = uv.x;
|
||||
uv.x = 0.0f;
|
||||
uv.x = x_833;
|
||||
|
@ -1256,14 +1256,14 @@ void main_1() {
|
|||
const int x_836 = i_2;
|
||||
i_2 = 0;
|
||||
i_2 = x_836;
|
||||
const float3 x_479 = float3((0.0f).xx.y, x_454.y, (0.0f).xx.x);
|
||||
const float3 x_479 = float3(0.0f, x_454.y, 0.0f);
|
||||
const int x_837 = obj.numbers[0u];
|
||||
obj.numbers[0u] = 0;
|
||||
obj.numbers[0u] = x_837;
|
||||
const float x_838 = color.y;
|
||||
color.y = 0.0f;
|
||||
color.y = x_838;
|
||||
const float3 x_480 = float3(x_446.x, x_446.x, (0.0f).xx.y);
|
||||
const float3 x_480 = float3(x_446.x, x_446.x, 0.0f);
|
||||
const float x_839 = uv.x;
|
||||
uv.x = 0.0f;
|
||||
uv.x = x_839;
|
||||
|
@ -1369,7 +1369,7 @@ void main_1() {
|
|||
const float x_865 = color.x;
|
||||
color.x = 0.0f;
|
||||
color.x = x_865;
|
||||
const float2 x_491 = float2(float3(1.0f, 2.0f, 3.0f).y, x_454.x);
|
||||
const float2 x_491 = float2(2.0f, x_454.x);
|
||||
const float x_866 = color.y;
|
||||
color.y = 0.0f;
|
||||
color.y = x_866;
|
||||
|
@ -1470,7 +1470,7 @@ void main_1() {
|
|||
const float x_891 = color.y;
|
||||
color.y = 0.0f;
|
||||
color.y = x_891;
|
||||
const float2 x_504 = float2(x_453.y, (0.0f).xx.x);
|
||||
const float2 x_504 = float2(x_453.y, 0.0f);
|
||||
const float x_892 = color.x;
|
||||
color.x = 0.0f;
|
||||
color.x = x_892;
|
||||
|
@ -1519,7 +1519,7 @@ void main_1() {
|
|||
const float x_904 = color.z;
|
||||
color.z = 0.0f;
|
||||
color.z = x_904;
|
||||
const float3 x_510 = float3(float3(1.0f, 2.0f, 3.0f).y, x_485.y, x_485.z);
|
||||
const float3 x_510 = float3(2.0f, x_485.y, x_485.z);
|
||||
const float x_905 = color.z;
|
||||
color.z = 0.0f;
|
||||
color.z = x_905;
|
||||
|
@ -1573,7 +1573,7 @@ void main_1() {
|
|||
const float x_918 = uv.x;
|
||||
uv.x = 0.0f;
|
||||
uv.x = x_918;
|
||||
const float3 x_517 = float3((0.0f).xx.x, (0.0f).xx.x, (0.0f).xx.y);
|
||||
const float3 x_517 = (0.0f).xxx;
|
||||
color.x = (float(x_317) + x_320);
|
||||
const float x_919 = color.x;
|
||||
color.x = 0.0f;
|
||||
|
@ -1616,7 +1616,7 @@ void main_1() {
|
|||
const float x_928 = uv.y;
|
||||
uv.y = 0.0f;
|
||||
uv.y = x_928;
|
||||
const float3 x_521 = float3(float3(1.0f, 2.0f, 3.0f).y, float3(1.0f, 2.0f, 3.0f).y, x_520.y);
|
||||
const float3 x_521 = float3(2.0f, 2.0f, x_520.y);
|
||||
const float x_929 = uv.x;
|
||||
uv.x = 0.0f;
|
||||
uv.x = x_929;
|
||||
|
|
|
@ -27,7 +27,7 @@ void swap_i1_i1_(thread int* const i, thread int* const j, thread QuicksortObjec
|
|||
int const x_932 = temp;
|
||||
temp = 0;
|
||||
temp = x_932;
|
||||
float3 const x_523 = float3(float3(1.0f, 2.0f, 3.0f)[2], float3(1.0f, 2.0f, 3.0f)[1], float3(1.0f, 2.0f, 3.0f)[2]);
|
||||
float3 const x_523 = float3(3.0f, 2.0f, 3.0f);
|
||||
int const x_933 = *(i);
|
||||
*(i) = 0;
|
||||
*(i) = x_933;
|
||||
|
@ -51,7 +51,7 @@ void swap_i1_i1_(thread int* const i, thread int* const j, thread QuicksortObjec
|
|||
int const x_938 = *(j);
|
||||
*(j) = 0;
|
||||
*(j) = x_938;
|
||||
float3 const x_525 = float3(x_523[2], float3(1.0f, 2.0f, 3.0f)[0], x_523[1]);
|
||||
float3 const x_525 = float3(x_523[2], 1.0f, x_523[1]);
|
||||
int const x_939 = *(i);
|
||||
*(i) = 0;
|
||||
*(i) = x_939;
|
||||
|
@ -141,7 +141,7 @@ int performPartition_i1_i1_(thread int* const l, thread int* const h, thread Qui
|
|||
int const x_955 = param_3;
|
||||
param_3 = 0;
|
||||
param_3 = x_955;
|
||||
float3 const x_534 = float3(float3(1.0f, 2.0f, 3.0f)[2], float3(1.0f, 2.0f, 3.0f)[0], float3(1.0f, 2.0f, 3.0f)[2]);
|
||||
float3 const x_534 = float3(3.0f, 1.0f, 3.0f);
|
||||
int const x_956 = param_1;
|
||||
param_1 = 0;
|
||||
param_1 = x_956;
|
||||
|
@ -177,7 +177,7 @@ int performPartition_i1_i1_(thread int* const l, thread int* const h, thread Qui
|
|||
int const x_963 = pivot;
|
||||
pivot = 0;
|
||||
pivot = x_963;
|
||||
x_537 = float2(float3(1.0f, 2.0f, 3.0f)[1], float3(1.0f, 2.0f, 3.0f)[2]);
|
||||
x_537 = float2(2.0f, 3.0f);
|
||||
QuicksortObject const x_964 = *(tint_symbol_82);
|
||||
tint_array<int, 10> const tint_symbol_10 = tint_array<int, 10>{};
|
||||
QuicksortObject const tint_symbol_11 = {.numbers=tint_symbol_10};
|
||||
|
@ -220,7 +220,7 @@ int performPartition_i1_i1_(thread int* const l, thread int* const h, thread Qui
|
|||
*(tint_symbol_82) = tint_symbol_13;
|
||||
*(tint_symbol_82) = x_972;
|
||||
int const x_63 = pivot;
|
||||
float2 const x_540 = float2(float3(1.0f, 2.0f, 3.0f)[1], x_534[2]);
|
||||
float2 const x_540 = float2(2.0f, x_534[2]);
|
||||
int const x_973 = i_1;
|
||||
i_1 = 0;
|
||||
i_1 = x_973;
|
||||
|
@ -251,7 +251,7 @@ int performPartition_i1_i1_(thread int* const l, thread int* const h, thread Qui
|
|||
int const x_980 = *(l);
|
||||
*(l) = 0;
|
||||
*(l) = x_980;
|
||||
float3 const x_544 = float3(float3(1.0f, 2.0f, 3.0f)[2], float3(1.0f, 2.0f, 3.0f)[1], x_540[0]);
|
||||
float3 const x_544 = float3(3.0f, 2.0f, x_540[0]);
|
||||
int const x_70 = i_1;
|
||||
float2 const x_545 = float2(x_537[1], x_538[0]);
|
||||
int const x_981 = param;
|
||||
|
@ -352,7 +352,7 @@ int performPartition_i1_i1_(thread int* const l, thread int* const h, thread Qui
|
|||
int const x_1003 = *(l);
|
||||
*(l) = 0;
|
||||
*(l) = x_1003;
|
||||
float2 const x_554 = float2(x_536[2], float3(1.0f, 2.0f, 3.0f)[1]);
|
||||
float2 const x_554 = float2(x_536[2], 2.0f);
|
||||
int const x_1004 = param_1;
|
||||
param_1 = 0;
|
||||
param_1 = x_1004;
|
||||
|
@ -384,7 +384,7 @@ void quicksort_(thread QuicksortObject* const tint_symbol_83) {
|
|||
tint_array<int, 10> const tint_symbol_18 = tint_array<int, 10>{};
|
||||
stack = tint_symbol_18;
|
||||
stack = x_1008;
|
||||
float2 const x_556 = float2(float3(1.0f, 2.0f, 3.0f)[1], float3(1.0f, 2.0f, 3.0f)[1]);
|
||||
float2 const x_556 = float2(2.0f);
|
||||
int const x_1009 = param_5;
|
||||
param_5 = 0;
|
||||
param_5 = x_1009;
|
||||
|
@ -393,7 +393,7 @@ void quicksort_(thread QuicksortObject* const tint_symbol_83) {
|
|||
p = 0;
|
||||
p = x_1010;
|
||||
int const x_93 = top;
|
||||
float2 const x_557 = float2(float3(1.0f, 2.0f, 3.0f)[0], float3(1.0f, 2.0f, 3.0f)[0]);
|
||||
float2 const x_557 = float2(1.0f);
|
||||
int const x_1011 = p;
|
||||
p = 0;
|
||||
p = x_1011;
|
||||
|
@ -437,7 +437,7 @@ void quicksort_(thread QuicksortObject* const tint_symbol_83) {
|
|||
int const x_1020 = param_4;
|
||||
param_4 = 0;
|
||||
param_4 = x_1020;
|
||||
float3 const x_562 = float3(float3(1.0f, 2.0f, 3.0f)[2], x_558[1], float3(1.0f, 2.0f, 3.0f)[1]);
|
||||
float3 const x_562 = float3(3.0f, x_558[1], 2.0f);
|
||||
int const x_1021 = stack[x_96_save];
|
||||
stack[x_96_save] = 0;
|
||||
stack[x_96_save] = x_1021;
|
||||
|
@ -540,7 +540,7 @@ void quicksort_(thread QuicksortObject* const tint_symbol_83) {
|
|||
int const x_1043 = stack[x_100_save];
|
||||
stack[x_100_save] = 0;
|
||||
stack[x_100_save] = x_1043;
|
||||
float2 const x_573 = float2(float3(1.0f, 2.0f, 3.0f)[1], float3(1.0f, 2.0f, 3.0f)[2]);
|
||||
float2 const x_573 = float2(2.0f, 3.0f);
|
||||
top = as_type<int>((as_type<uint>(x_112) - as_type<uint>(1)));
|
||||
int const x_1044 = param_5;
|
||||
param_5 = 0;
|
||||
|
@ -573,7 +573,7 @@ void quicksort_(thread QuicksortObject* const tint_symbol_83) {
|
|||
stack[x_110_save] = x_1050;
|
||||
float2 const x_577 = float2(x_569[1], x_569[2]);
|
||||
int const x_120 = h_1;
|
||||
float2 const x_578 = float2(x_558[0], float3(1.0f, 2.0f, 3.0f)[1]);
|
||||
float2 const x_578 = float2(x_558[0], 2.0f);
|
||||
param_5 = x_120;
|
||||
int const x_1051 = stack[x_100_save];
|
||||
stack[x_100_save] = 0;
|
||||
|
@ -683,7 +683,7 @@ void quicksort_(thread QuicksortObject* const tint_symbol_83) {
|
|||
int const x_1076 = stack[x_96_save];
|
||||
stack[x_96_save] = 0;
|
||||
stack[x_96_save] = x_1076;
|
||||
float2 const x_592 = float2(float3(1.0f, 2.0f, 3.0f)[0], float3(1.0f, 2.0f, 3.0f)[1]);
|
||||
float2 const x_592 = float2(1.0f, 2.0f);
|
||||
QuicksortObject const x_1077 = *(tint_symbol_83);
|
||||
tint_array<int, 10> const tint_symbol_30 = tint_array<int, 10>{};
|
||||
QuicksortObject const tint_symbol_31 = {.numbers=tint_symbol_30};
|
||||
|
@ -828,7 +828,7 @@ void main_1(thread QuicksortObject* const tint_symbol_84, thread float4* const t
|
|||
QuicksortObject const tint_symbol_39 = {.numbers=tint_symbol_38};
|
||||
*(tint_symbol_84) = tint_symbol_39;
|
||||
*(tint_symbol_84) = x_722;
|
||||
float2 const x_431 = float2(float3(1.0f, 2.0f, 3.0f)[0], float3(1.0f, 2.0f, 3.0f)[0]);
|
||||
float2 const x_431 = float2(1.0f);
|
||||
int const x_158 = i_2;
|
||||
float2 const x_723 = uv;
|
||||
uv = float2(0.0f);
|
||||
|
@ -848,7 +848,7 @@ void main_1(thread QuicksortObject* const tint_symbol_84, thread float4* const t
|
|||
QuicksortObject const tint_symbol_43 = {.numbers=tint_symbol_42};
|
||||
*(tint_symbol_84) = tint_symbol_43;
|
||||
*(tint_symbol_84) = x_756;
|
||||
float2 const x_446 = float2(float2(0.0f)[0], float2(0.0f)[0]);
|
||||
float2 const x_446 = float2(0.0f);
|
||||
int const x_757 = i_2;
|
||||
i_2 = 0;
|
||||
i_2 = x_757;
|
||||
|
@ -862,7 +862,7 @@ void main_1(thread QuicksortObject* const tint_symbol_84, thread float4* const t
|
|||
float2 const x_759 = uv;
|
||||
uv = float2(0.0f);
|
||||
uv = x_759;
|
||||
float2 const x_447 = float2(float2(0.0f)[1], float2(0.0f)[1]);
|
||||
float2 const x_447 = float2(0.0f);
|
||||
float2 const x_760 = uv;
|
||||
uv = float2(0.0f);
|
||||
uv = x_760;
|
||||
|
@ -882,7 +882,7 @@ void main_1(thread QuicksortObject* const tint_symbol_84, thread float4* const t
|
|||
QuicksortObject const tint_symbol_49 = {.numbers=tint_symbol_48};
|
||||
*(tint_symbol_84) = tint_symbol_49;
|
||||
*(tint_symbol_84) = x_763;
|
||||
float3 const x_449 = float3(x_184[1], float3(1.0f, 2.0f, 3.0f)[2], x_184[3]);
|
||||
float3 const x_449 = float3(x_184[1], 3.0f, x_184[3]);
|
||||
float3 const x_764 = color;
|
||||
color = float3(0.0f);
|
||||
color = x_764;
|
||||
|
@ -926,7 +926,7 @@ void main_1(thread QuicksortObject* const tint_symbol_84, thread float4* const t
|
|||
float const x_773 = color[0];
|
||||
color[0] = 0.0f;
|
||||
color[0] = x_773;
|
||||
float2 const x_452 = float2(float3(1.0f, 2.0f, 3.0f)[2], float3(1.0f, 2.0f, 3.0f)[1]);
|
||||
float2 const x_452 = float2(3.0f, 2.0f);
|
||||
int const x_774 = i_2;
|
||||
i_2 = 0;
|
||||
i_2 = x_774;
|
||||
|
@ -961,7 +961,7 @@ void main_1(thread QuicksortObject* const tint_symbol_84, thread float4* const t
|
|||
int const x_781 = (*(tint_symbol_84)).numbers[0u];
|
||||
(*(tint_symbol_84)).numbers[0u] = 0;
|
||||
(*(tint_symbol_84)).numbers[0u] = x_781;
|
||||
float3 const x_456 = float3(float2(0.0f)[1], x_448[1], x_448[1]);
|
||||
float3 const x_456 = float3(0.0f, x_448[1], x_448[1]);
|
||||
float const x_782 = uv[0];
|
||||
uv[0] = 0.0f;
|
||||
uv[0] = x_782;
|
||||
|
@ -980,7 +980,7 @@ void main_1(thread QuicksortObject* const tint_symbol_84, thread float4* const t
|
|||
QuicksortObject const tint_symbol_63 = {.numbers=tint_symbol_62};
|
||||
*(tint_symbol_84) = tint_symbol_63;
|
||||
*(tint_symbol_84) = x_785;
|
||||
float2 const x_458 = float2(float3(1.0f, 2.0f, 3.0f)[2], float2(0.0f)[1]);
|
||||
float2 const x_458 = float2(3.0f, 0.0f);
|
||||
int const x_786 = i_2;
|
||||
i_2 = 0;
|
||||
i_2 = x_786;
|
||||
|
@ -1020,7 +1020,7 @@ void main_1(thread QuicksortObject* const tint_symbol_84, thread float4* const t
|
|||
float const x_796 = uv[0];
|
||||
uv[0] = 0.0f;
|
||||
uv[0] = x_796;
|
||||
float2 const x_461 = float2(float2(0.0f)[1], float2(0.0f)[1]);
|
||||
float2 const x_461 = float2(0.0f);
|
||||
float const x_797 = uv[0];
|
||||
uv[0] = 0.0f;
|
||||
uv[0] = x_797;
|
||||
|
@ -1064,7 +1064,7 @@ void main_1(thread QuicksortObject* const tint_symbol_84, thread float4* const t
|
|||
int const x_808 = i_2;
|
||||
i_2 = 0;
|
||||
i_2 = x_808;
|
||||
float2 const x_466 = float2(x_455[1], float2(0.0f)[1]);
|
||||
float2 const x_466 = float2(x_455[1], 0.0f);
|
||||
int const x_809 = i_2;
|
||||
i_2 = 0;
|
||||
i_2 = x_809;
|
||||
|
@ -1118,7 +1118,7 @@ void main_1(thread QuicksortObject* const tint_symbol_84, thread float4* const t
|
|||
int const x_822 = (*(tint_symbol_84)).numbers[0u];
|
||||
(*(tint_symbol_84)).numbers[0u] = 0;
|
||||
(*(tint_symbol_84)).numbers[0u] = x_822;
|
||||
float2 const x_470 = float2(float2(0.0f)[0], float2(0.0f)[1]);
|
||||
float2 const x_470 = float2(0.0f);
|
||||
float const x_823 = color[2];
|
||||
color[2] = 0.0f;
|
||||
color[2] = x_823;
|
||||
|
@ -1160,7 +1160,7 @@ void main_1(thread QuicksortObject* const tint_symbol_84, thread float4* const t
|
|||
color[0] = x_832;
|
||||
float2 const x_476 = float2(x_451[2], x_460[1]);
|
||||
color[1] = (x_257 + float(x_254));
|
||||
float3 const x_477 = float3(float2(0.0f)[0], x_472[0], float2(0.0f)[1]);
|
||||
float3 const x_477 = float3(0.0f, x_472[0], 0.0f);
|
||||
float const x_833 = uv[0];
|
||||
uv[0] = 0.0f;
|
||||
uv[0] = x_833;
|
||||
|
@ -1175,14 +1175,14 @@ void main_1(thread QuicksortObject* const tint_symbol_84, thread float4* const t
|
|||
int const x_836 = i_2;
|
||||
i_2 = 0;
|
||||
i_2 = x_836;
|
||||
float3 const x_479 = float3(float2(0.0f)[1], x_454[1], float2(0.0f)[0]);
|
||||
float3 const x_479 = float3(0.0f, x_454[1], 0.0f);
|
||||
int const x_837 = (*(tint_symbol_84)).numbers[0u];
|
||||
(*(tint_symbol_84)).numbers[0u] = 0;
|
||||
(*(tint_symbol_84)).numbers[0u] = x_837;
|
||||
float const x_838 = color[1];
|
||||
color[1] = 0.0f;
|
||||
color[1] = x_838;
|
||||
float3 const x_480 = float3(x_446[0], x_446[0], float2(0.0f)[1]);
|
||||
float3 const x_480 = float3(x_446[0], x_446[0], 0.0f);
|
||||
float const x_839 = uv[0];
|
||||
uv[0] = 0.0f;
|
||||
uv[0] = x_839;
|
||||
|
@ -1288,7 +1288,7 @@ void main_1(thread QuicksortObject* const tint_symbol_84, thread float4* const t
|
|||
float const x_865 = color[0];
|
||||
color[0] = 0.0f;
|
||||
color[0] = x_865;
|
||||
float2 const x_491 = float2(float3(1.0f, 2.0f, 3.0f)[1], x_454[0]);
|
||||
float2 const x_491 = float2(2.0f, x_454[0]);
|
||||
float const x_866 = color[1];
|
||||
color[1] = 0.0f;
|
||||
color[1] = x_866;
|
||||
|
@ -1389,7 +1389,7 @@ void main_1(thread QuicksortObject* const tint_symbol_84, thread float4* const t
|
|||
float const x_891 = color[1];
|
||||
color[1] = 0.0f;
|
||||
color[1] = x_891;
|
||||
float2 const x_504 = float2(x_453[1], float2(0.0f)[0]);
|
||||
float2 const x_504 = float2(x_453[1], 0.0f);
|
||||
float const x_892 = color[0];
|
||||
color[0] = 0.0f;
|
||||
color[0] = x_892;
|
||||
|
@ -1438,7 +1438,7 @@ void main_1(thread QuicksortObject* const tint_symbol_84, thread float4* const t
|
|||
float const x_904 = color[2];
|
||||
color[2] = 0.0f;
|
||||
color[2] = x_904;
|
||||
float3 const x_510 = float3(float3(1.0f, 2.0f, 3.0f)[1], x_485[1], x_485[2]);
|
||||
float3 const x_510 = float3(2.0f, x_485[1], x_485[2]);
|
||||
float const x_905 = color[2];
|
||||
color[2] = 0.0f;
|
||||
color[2] = x_905;
|
||||
|
@ -1492,7 +1492,7 @@ void main_1(thread QuicksortObject* const tint_symbol_84, thread float4* const t
|
|||
float const x_918 = uv[0];
|
||||
uv[0] = 0.0f;
|
||||
uv[0] = x_918;
|
||||
float3 const x_517 = float3(float2(0.0f)[0], float2(0.0f)[0], float2(0.0f)[1]);
|
||||
float3 const x_517 = float3(0.0f);
|
||||
color[0] = (float(x_317) + x_320);
|
||||
float const x_919 = color[0];
|
||||
color[0] = 0.0f;
|
||||
|
@ -1535,7 +1535,7 @@ void main_1(thread QuicksortObject* const tint_symbol_84, thread float4* const t
|
|||
float const x_928 = uv[1];
|
||||
uv[1] = 0.0f;
|
||||
uv[1] = x_928;
|
||||
float3 const x_521 = float3(float3(1.0f, 2.0f, 3.0f)[1], float3(1.0f, 2.0f, 3.0f)[1], x_520[1]);
|
||||
float3 const x_521 = float3(2.0f, 2.0f, x_520[1]);
|
||||
float const x_929 = uv[0];
|
||||
uv[0] = 0.0f;
|
||||
uv[0] = x_929;
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -67,7 +67,7 @@ mat4 getFrameData_f1_(inout float frameID) {
|
|||
vec4 x_40 = texture(frameMapTexture_frameMapSampler, vec2(fX, 0.0f), 0.0f);
|
||||
vec4 x_47 = texture(frameMapTexture_frameMapSampler, vec2(fX, 0.25f), 0.0f);
|
||||
vec4 x_54 = texture(frameMapTexture_frameMapSampler, vec2(fX, 0.5f), 0.0f);
|
||||
return mat4(vec4(x_40.x, x_40.y, x_40.z, x_40.w), vec4(x_47.x, x_47.y, x_47.z, x_47.w), vec4(x_54.x, x_54.y, x_54.z, x_54.w), vec4(vec4(0.0f).x, vec4(0.0f).y, vec4(0.0f).z, vec4(0.0f).w));
|
||||
return mat4(vec4(x_40.x, x_40.y, x_40.z, x_40.w), vec4(x_47.x, x_47.y, x_47.z, x_47.w), vec4(x_54.x, x_54.y, x_54.z, x_54.w), vec4(0.0f));
|
||||
}
|
||||
|
||||
uniform highp sampler2D tileMapsTexture1_tileMapsSampler;
|
||||
|
|
|
@ -39,7 +39,7 @@ float4x4 getFrameData_f1_(inout float frameID) {
|
|||
const float4 x_40 = frameMapTexture.SampleBias(frameMapSampler, float2(fX, 0.0f), 0.0f);
|
||||
const float4 x_47 = frameMapTexture.SampleBias(frameMapSampler, float2(fX, 0.25f), 0.0f);
|
||||
const float4 x_54 = frameMapTexture.SampleBias(frameMapSampler, float2(fX, 0.5f), 0.0f);
|
||||
return float4x4(float4(x_40.x, x_40.y, x_40.z, x_40.w), float4(x_47.x, x_47.y, x_47.z, x_47.w), float4(x_54.x, x_54.y, x_54.z, x_54.w), float4((0.0f).xxxx.x, (0.0f).xxxx.y, (0.0f).xxxx.z, (0.0f).xxxx.w));
|
||||
return float4x4(float4(x_40.x, x_40.y, x_40.z, x_40.w), float4(x_47.x, x_47.y, x_47.z, x_47.w), float4(x_54.x, x_54.y, x_54.z, x_54.w), (0.0f).xxxx);
|
||||
}
|
||||
|
||||
void main_1() {
|
||||
|
|
|
@ -61,7 +61,7 @@ float4x4 getFrameData_f1_(thread float* const frameID, const constant LeftOver*
|
|||
float4 const x_47 = tint_symbol_6.sample(tint_symbol_7, float2(x_44, 0.25f), bias(0.0f));
|
||||
float const x_51 = fX;
|
||||
float4 const x_54 = tint_symbol_6.sample(tint_symbol_7, float2(x_51, 0.5f), bias(0.0f));
|
||||
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]));
|
||||
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(0.0f));
|
||||
}
|
||||
|
||||
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) {
|
||||
|
|
|
@ -13,10 +13,10 @@ bug/tint/948.wgsl:137:27 note: reading from module-scope private variable 'mt' m
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 383
|
||||
; Bound: 378
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
%136 = OpExtInstImport "GLSL.std.450"
|
||||
%131 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Fragment %main "main" %tUV_param_1 %tileID_1_param_1 %levelUnits_param_1 %stageUnits_1_param_1 %vPosition_param_1 %vUV_param_1 %glFragColor_1_1
|
||||
OpExecutionMode %main OriginUpperLeft
|
||||
|
@ -184,24 +184,24 @@ bug/tint/948.wgsl:137:27 note: reading from module-scope private variable 'mt' m
|
|||
%float_0_25 = OpConstant %float 0.25
|
||||
%float_0_5 = OpConstant %float 0.5
|
||||
%void = OpTypeVoid
|
||||
%104 = OpTypeFunction %void
|
||||
%99 = OpTypeFunction %void
|
||||
%_ptr_Function_v4float = OpTypePointer Function %v4float
|
||||
%_ptr_Function_v2float = OpTypePointer Function %v2float
|
||||
%int = OpTypeInt 32 1
|
||||
%_ptr_Function_int = OpTypePointer Function %int
|
||||
%119 = OpConstantNull %int
|
||||
%114 = OpConstantNull %int
|
||||
%_ptr_Function_mat4v4float = OpTypePointer Function %mat4v4float
|
||||
%125 = OpConstantNull %mat4v4float
|
||||
%120 = OpConstantNull %mat4v4float
|
||||
%_ptr_Function_v3float = OpTypePointer Function %v3float
|
||||
%uint_1 = OpConstant %uint 1
|
||||
%float_1 = OpConstant %float 1
|
||||
%uint_5 = OpConstant %uint 5
|
||||
%_ptr_Uniform_v2float = OpTypePointer Uniform %v2float
|
||||
%149 = OpConstantComposite %v2float %float_1 %float_1
|
||||
%144 = OpConstantComposite %v2float %float_1 %float_1
|
||||
%uint_4 = OpConstant %uint 4
|
||||
%int_2 = OpConstant %int 2
|
||||
%bool = OpTypeBool
|
||||
%181 = OpConstantComposite %v2float %float_0_5 %float_0_5
|
||||
%176 = OpConstantComposite %v2float %float_0_5 %float_0_5
|
||||
%uint_0 = OpConstant %uint 0
|
||||
%uint_2 = OpConstant %uint 2
|
||||
%float_8 = OpConstant %float 8
|
||||
|
@ -211,7 +211,7 @@ bug/tint/948.wgsl:137:27 note: reading from module-scope private variable 'mt' m
|
|||
%uint_8 = OpConstant %uint 8
|
||||
%_ptr_Uniform_v3float = OpTypePointer Uniform %v3float
|
||||
%main_out = OpTypeStruct %v4float
|
||||
%360 = OpTypeFunction %main_out %v2float %v2float %v2float %v2float %v3float %v2float
|
||||
%355 = OpTypeFunction %main_out %v2float %v2float %v2float %v2float %v3float %v2float
|
||||
%getFrameData_f1_ = OpFunction %mat4v4float None %49
|
||||
%frameID = OpFunctionParameter %_ptr_Function_float
|
||||
%53 = OpLabel
|
||||
|
@ -254,27 +254,22 @@ bug/tint/948.wgsl:137:27 note: reading from module-scope private variable 'mt' m
|
|||
%95 = OpCompositeExtract %float %77 2
|
||||
%96 = OpCompositeExtract %float %77 3
|
||||
%97 = OpCompositeConstruct %v4float %93 %94 %95 %96
|
||||
%98 = OpCompositeExtract %float %15 0
|
||||
%99 = OpCompositeExtract %float %15 1
|
||||
%100 = OpCompositeExtract %float %15 2
|
||||
%101 = OpCompositeExtract %float %15 3
|
||||
%102 = OpCompositeConstruct %v4float %98 %99 %100 %101
|
||||
%103 = OpCompositeConstruct %mat4v4float %87 %92 %97 %102
|
||||
OpReturnValue %103
|
||||
%98 = OpCompositeConstruct %mat4v4float %87 %92 %97 %15
|
||||
OpReturnValue %98
|
||||
OpFunctionEnd
|
||||
%main_1 = OpFunction %void None %104
|
||||
%107 = OpLabel
|
||||
%main_1 = OpFunction %void None %99
|
||||
%102 = OpLabel
|
||||
%color = OpVariable %_ptr_Function_v4float Function %15
|
||||
%tileUV = OpVariable %_ptr_Function_v2float Function %29
|
||||
%tileID = OpVariable %_ptr_Function_v2float Function %29
|
||||
%sheetUnits = OpVariable %_ptr_Function_v2float Function %29
|
||||
%spriteUnits = OpVariable %_ptr_Function_float Function %37
|
||||
%stageUnits = OpVariable %_ptr_Function_v2float Function %29
|
||||
%i = OpVariable %_ptr_Function_int Function %119
|
||||
%i = OpVariable %_ptr_Function_int Function %114
|
||||
%frameID_1 = OpVariable %_ptr_Function_float Function %37
|
||||
%animationData = OpVariable %_ptr_Function_v4float Function %15
|
||||
%f = OpVariable %_ptr_Function_float Function %37
|
||||
%frameData = OpVariable %_ptr_Function_mat4v4float Function %125
|
||||
%frameData = OpVariable %_ptr_Function_mat4v4float Function %120
|
||||
%param = OpVariable %_ptr_Function_float Function %37
|
||||
%frameSize = OpVariable %_ptr_Function_v2float Function %29
|
||||
%offset_1 = OpVariable %_ptr_Function_v2float Function %29
|
||||
|
@ -283,309 +278,309 @@ bug/tint/948.wgsl:137:27 note: reading from module-scope private variable 'mt' m
|
|||
%alpha = OpVariable %_ptr_Function_float Function %37
|
||||
%mixed = OpVariable %_ptr_Function_v3float Function %47
|
||||
OpStore %color %15
|
||||
%134 = OpLoad %v2float %tUV
|
||||
%135 = OpExtInst %v2float %136 Fract %134
|
||||
OpStore %tileUV %135
|
||||
%138 = OpAccessChain %_ptr_Function_float %tileUV %uint_1
|
||||
%139 = OpLoad %float %138
|
||||
%140 = OpAccessChain %_ptr_Function_float %tileUV %uint_1
|
||||
%142 = OpFSub %float %float_1 %139
|
||||
OpStore %140 %142
|
||||
%143 = OpLoad %v2float %tUV
|
||||
%144 = OpExtInst %v2float %136 Floor %143
|
||||
OpStore %tileID %144
|
||||
%147 = OpAccessChain %_ptr_Uniform_v2float %x_20 %uint_5
|
||||
%148 = OpLoad %v2float %147
|
||||
%150 = OpFDiv %v2float %149 %148
|
||||
OpStore %sheetUnits %150
|
||||
%151 = OpAccessChain %_ptr_Uniform_float %x_20 %uint_7
|
||||
%152 = OpLoad %float %151
|
||||
%153 = OpFDiv %float %float_1 %152
|
||||
OpStore %spriteUnits %153
|
||||
%155 = OpAccessChain %_ptr_Uniform_v2float %x_20 %uint_4
|
||||
%156 = OpLoad %v2float %155
|
||||
%157 = OpFDiv %v2float %149 %156
|
||||
OpStore %stageUnits %157
|
||||
OpStore %i %119
|
||||
OpBranch %158
|
||||
%158 = OpLabel
|
||||
OpLoopMerge %159 %160 None
|
||||
%129 = OpLoad %v2float %tUV
|
||||
%130 = OpExtInst %v2float %131 Fract %129
|
||||
OpStore %tileUV %130
|
||||
%133 = OpAccessChain %_ptr_Function_float %tileUV %uint_1
|
||||
%134 = OpLoad %float %133
|
||||
%135 = OpAccessChain %_ptr_Function_float %tileUV %uint_1
|
||||
%137 = OpFSub %float %float_1 %134
|
||||
OpStore %135 %137
|
||||
%138 = OpLoad %v2float %tUV
|
||||
%139 = OpExtInst %v2float %131 Floor %138
|
||||
OpStore %tileID %139
|
||||
%142 = OpAccessChain %_ptr_Uniform_v2float %x_20 %uint_5
|
||||
%143 = OpLoad %v2float %142
|
||||
%145 = OpFDiv %v2float %144 %143
|
||||
OpStore %sheetUnits %145
|
||||
%146 = OpAccessChain %_ptr_Uniform_float %x_20 %uint_7
|
||||
%147 = OpLoad %float %146
|
||||
%148 = OpFDiv %float %float_1 %147
|
||||
OpStore %spriteUnits %148
|
||||
%150 = OpAccessChain %_ptr_Uniform_v2float %x_20 %uint_4
|
||||
%151 = OpLoad %v2float %150
|
||||
%152 = OpFDiv %v2float %144 %151
|
||||
OpStore %stageUnits %152
|
||||
OpStore %i %114
|
||||
OpBranch %153
|
||||
%153 = OpLabel
|
||||
OpLoopMerge %154 %155 None
|
||||
OpBranch %156
|
||||
%156 = OpLabel
|
||||
%157 = OpLoad %int %i
|
||||
%159 = OpSLessThan %bool %157 %int_2
|
||||
OpSelectionMerge %161 None
|
||||
OpBranchConditional %159 %162 %163
|
||||
%162 = OpLabel
|
||||
OpBranch %161
|
||||
%163 = OpLabel
|
||||
OpBranch %154
|
||||
%161 = OpLabel
|
||||
%162 = OpLoad %int %i
|
||||
%164 = OpSLessThan %bool %162 %int_2
|
||||
OpSelectionMerge %166 None
|
||||
OpBranchConditional %164 %167 %168
|
||||
%164 = OpLoad %int %i
|
||||
OpSelectionMerge %165 None
|
||||
OpSwitch %164 %166 1 %167 0 %168
|
||||
%167 = OpLabel
|
||||
OpBranch %166
|
||||
%169 = OpLoad %v2float %tileID
|
||||
%170 = OpAccessChain %_ptr_Uniform_v2float %x_20 %uint_4
|
||||
%171 = OpLoad %v2float %170
|
||||
%173 = OpLoad %26 %tileMapsSampler
|
||||
%174 = OpLoad %23 %tileMapsTexture1
|
||||
%175 = OpSampledImage %66 %174 %173
|
||||
%177 = OpFAdd %v2float %169 %176
|
||||
%178 = OpFDiv %v2float %177 %171
|
||||
%172 = OpImageSampleImplicitLod %v4float %175 %178 Bias %37
|
||||
%179 = OpCompositeExtract %float %172 0
|
||||
OpStore %frameID_1 %179
|
||||
OpBranch %165
|
||||
%168 = OpLabel
|
||||
OpBranch %159
|
||||
%180 = OpLoad %v2float %tileID
|
||||
%181 = OpAccessChain %_ptr_Uniform_v2float %x_20 %uint_4
|
||||
%182 = OpLoad %v2float %181
|
||||
%184 = OpLoad %26 %tileMapsSampler
|
||||
%185 = OpLoad %23 %tileMapsTexture0
|
||||
%186 = OpSampledImage %66 %185 %184
|
||||
%187 = OpFAdd %v2float %180 %176
|
||||
%188 = OpFDiv %v2float %187 %182
|
||||
%183 = OpImageSampleImplicitLod %v4float %186 %188 Bias %37
|
||||
%189 = OpCompositeExtract %float %183 0
|
||||
OpStore %frameID_1 %189
|
||||
OpBranch %165
|
||||
%166 = OpLabel
|
||||
%169 = OpLoad %int %i
|
||||
OpSelectionMerge %170 None
|
||||
OpSwitch %169 %171 1 %172 0 %173
|
||||
%172 = OpLabel
|
||||
%174 = OpLoad %v2float %tileID
|
||||
%175 = OpAccessChain %_ptr_Uniform_v2float %x_20 %uint_4
|
||||
%176 = OpLoad %v2float %175
|
||||
%178 = OpLoad %26 %tileMapsSampler
|
||||
%179 = OpLoad %23 %tileMapsTexture1
|
||||
%180 = OpSampledImage %66 %179 %178
|
||||
%182 = OpFAdd %v2float %174 %181
|
||||
%183 = OpFDiv %v2float %182 %176
|
||||
%177 = OpImageSampleImplicitLod %v4float %180 %183 Bias %37
|
||||
%184 = OpCompositeExtract %float %177 0
|
||||
OpStore %frameID_1 %184
|
||||
OpBranch %170
|
||||
%173 = OpLabel
|
||||
%185 = OpLoad %v2float %tileID
|
||||
%186 = OpAccessChain %_ptr_Uniform_v2float %x_20 %uint_4
|
||||
%187 = OpLoad %v2float %186
|
||||
%189 = OpLoad %26 %tileMapsSampler
|
||||
%190 = OpLoad %23 %tileMapsTexture0
|
||||
%191 = OpSampledImage %66 %190 %189
|
||||
%192 = OpFAdd %v2float %185 %181
|
||||
%193 = OpFDiv %v2float %192 %187
|
||||
%188 = OpImageSampleImplicitLod %v4float %191 %193 Bias %37
|
||||
%194 = OpCompositeExtract %float %188 0
|
||||
OpStore %frameID_1 %194
|
||||
OpBranch %170
|
||||
%171 = OpLabel
|
||||
OpBranch %170
|
||||
%170 = OpLabel
|
||||
%195 = OpLoad %float %frameID_1
|
||||
%196 = OpAccessChain %_ptr_Uniform_float %x_20 %uint_7
|
||||
%197 = OpLoad %float %196
|
||||
%199 = OpLoad %26 %animationMapSampler
|
||||
%200 = OpLoad %23 %animationMapTexture
|
||||
%201 = OpSampledImage %66 %200 %199
|
||||
%202 = OpFAdd %float %195 %float_0_5
|
||||
%203 = OpFDiv %float %202 %197
|
||||
%204 = OpCompositeConstruct %v2float %203 %37
|
||||
%198 = OpImageSampleImplicitLod %v4float %201 %204 Bias %37
|
||||
OpStore %animationData %198
|
||||
%205 = OpAccessChain %_ptr_Function_float %animationData %uint_1
|
||||
%206 = OpLoad %float %205
|
||||
%207 = OpFOrdGreaterThan %bool %206 %37
|
||||
OpSelectionMerge %208 None
|
||||
OpBranchConditional %207 %209 %208
|
||||
%209 = OpLabel
|
||||
%211 = OpAccessChain %_ptr_Uniform_float %x_20 %uint_0
|
||||
%212 = OpLoad %float %211
|
||||
%214 = OpAccessChain %_ptr_Function_float %animationData %uint_2
|
||||
%215 = OpLoad %float %214
|
||||
%216 = OpFMul %float %212 %215
|
||||
%217 = OpFRem %float %216 %float_1
|
||||
OpStore %mt %217
|
||||
OpBranch %165
|
||||
%165 = OpLabel
|
||||
%190 = OpLoad %float %frameID_1
|
||||
%191 = OpAccessChain %_ptr_Uniform_float %x_20 %uint_7
|
||||
%192 = OpLoad %float %191
|
||||
%194 = OpLoad %26 %animationMapSampler
|
||||
%195 = OpLoad %23 %animationMapTexture
|
||||
%196 = OpSampledImage %66 %195 %194
|
||||
%197 = OpFAdd %float %190 %float_0_5
|
||||
%198 = OpFDiv %float %197 %192
|
||||
%199 = OpCompositeConstruct %v2float %198 %37
|
||||
%193 = OpImageSampleImplicitLod %v4float %196 %199 Bias %37
|
||||
OpStore %animationData %193
|
||||
%200 = OpAccessChain %_ptr_Function_float %animationData %uint_1
|
||||
%201 = OpLoad %float %200
|
||||
%202 = OpFOrdGreaterThan %bool %201 %37
|
||||
OpSelectionMerge %203 None
|
||||
OpBranchConditional %202 %204 %203
|
||||
%204 = OpLabel
|
||||
%206 = OpAccessChain %_ptr_Uniform_float %x_20 %uint_0
|
||||
%207 = OpLoad %float %206
|
||||
%209 = OpAccessChain %_ptr_Function_float %animationData %uint_2
|
||||
%210 = OpLoad %float %209
|
||||
%211 = OpFMul %float %207 %210
|
||||
%212 = OpFRem %float %211 %float_1
|
||||
OpStore %mt %212
|
||||
OpStore %f %37
|
||||
OpBranch %218
|
||||
%218 = OpLabel
|
||||
OpLoopMerge %219 %220 None
|
||||
OpBranch %221
|
||||
OpBranch %213
|
||||
%213 = OpLabel
|
||||
OpLoopMerge %214 %215 None
|
||||
OpBranch %216
|
||||
%216 = OpLabel
|
||||
%217 = OpLoad %float %f
|
||||
%219 = OpFOrdLessThan %bool %217 %float_8
|
||||
OpSelectionMerge %220 None
|
||||
OpBranchConditional %219 %221 %222
|
||||
%221 = OpLabel
|
||||
%222 = OpLoad %float %f
|
||||
%224 = OpFOrdLessThan %bool %222 %float_8
|
||||
OpSelectionMerge %225 None
|
||||
OpBranchConditional %224 %226 %227
|
||||
%226 = OpLabel
|
||||
OpBranch %225
|
||||
%227 = OpLabel
|
||||
OpBranch %219
|
||||
%225 = OpLabel
|
||||
%228 = OpAccessChain %_ptr_Function_float %animationData %uint_1
|
||||
%229 = OpLoad %float %228
|
||||
%230 = OpLoad %float %mt
|
||||
%231 = OpFOrdGreaterThan %bool %229 %230
|
||||
OpSelectionMerge %232 None
|
||||
OpBranchConditional %231 %233 %232
|
||||
%233 = OpLabel
|
||||
%234 = OpAccessChain %_ptr_Function_float %animationData %uint_0
|
||||
%235 = OpLoad %float %234
|
||||
OpStore %frameID_1 %235
|
||||
OpBranch %219
|
||||
%232 = OpLabel
|
||||
%236 = OpLoad %float %frameID_1
|
||||
%237 = OpAccessChain %_ptr_Uniform_float %x_20 %uint_7
|
||||
%238 = OpLoad %float %237
|
||||
%239 = OpLoad %float %f
|
||||
%241 = OpLoad %26 %animationMapSampler
|
||||
%242 = OpLoad %23 %animationMapTexture
|
||||
%243 = OpSampledImage %66 %242 %241
|
||||
%244 = OpFAdd %float %236 %float_0_5
|
||||
%245 = OpFDiv %float %244 %238
|
||||
%247 = OpFMul %float %float_0_125 %239
|
||||
%248 = OpCompositeConstruct %v2float %245 %247
|
||||
%240 = OpImageSampleImplicitLod %v4float %243 %248 Bias %37
|
||||
OpStore %animationData %240
|
||||
OpBranch %220
|
||||
%222 = OpLabel
|
||||
OpBranch %214
|
||||
%220 = OpLabel
|
||||
%249 = OpLoad %float %f
|
||||
%250 = OpFAdd %float %249 %float_1
|
||||
OpStore %f %250
|
||||
OpBranch %218
|
||||
%219 = OpLabel
|
||||
OpBranch %208
|
||||
%208 = OpLabel
|
||||
%251 = OpLoad %float %frameID_1
|
||||
%252 = OpFAdd %float %251 %float_0_5
|
||||
OpStore %param %252
|
||||
%253 = OpFunctionCall %mat4v4float %getFrameData_f1_ %param
|
||||
OpStore %frameData %253
|
||||
%255 = OpAccessChain %_ptr_Function_v4float %frameData %119
|
||||
%256 = OpLoad %v4float %255
|
||||
%257 = OpAccessChain %_ptr_Uniform_v2float %x_20 %uint_5
|
||||
%258 = OpLoad %v2float %257
|
||||
%259 = OpCompositeExtract %float %256 3
|
||||
%260 = OpCompositeExtract %float %256 2
|
||||
%261 = OpCompositeConstruct %v2float %259 %260
|
||||
%262 = OpFDiv %v2float %261 %258
|
||||
OpStore %frameSize %262
|
||||
%263 = OpAccessChain %_ptr_Function_v4float %frameData %119
|
||||
%264 = OpLoad %v4float %263
|
||||
%265 = OpLoad %v2float %sheetUnits
|
||||
%266 = OpCompositeExtract %float %264 0
|
||||
%267 = OpCompositeExtract %float %264 1
|
||||
%268 = OpCompositeConstruct %v2float %266 %267
|
||||
%269 = OpFMul %v2float %268 %265
|
||||
OpStore %offset_1 %269
|
||||
%270 = OpAccessChain %_ptr_Function_v4float %frameData %int_2
|
||||
%271 = OpLoad %v4float %270
|
||||
%272 = OpAccessChain %_ptr_Function_v4float %frameData %119
|
||||
%273 = OpLoad %v4float %272
|
||||
%274 = OpCompositeExtract %float %271 0
|
||||
%275 = OpCompositeExtract %float %271 1
|
||||
%276 = OpCompositeConstruct %v2float %274 %275
|
||||
%277 = OpCompositeExtract %float %273 3
|
||||
%278 = OpCompositeExtract %float %273 2
|
||||
%279 = OpCompositeConstruct %v2float %277 %278
|
||||
%280 = OpFDiv %v2float %276 %279
|
||||
OpStore %ratio %280
|
||||
%281 = OpAccessChain %_ptr_Function_float %frameData %int_2 %uint_2
|
||||
%282 = OpLoad %float %281
|
||||
%283 = OpFOrdEqual %bool %282 %float_1
|
||||
OpSelectionMerge %284 None
|
||||
OpBranchConditional %283 %285 %284
|
||||
%285 = OpLabel
|
||||
%286 = OpLoad %v2float %tileUV
|
||||
%287 = OpCompositeExtract %float %286 1
|
||||
%288 = OpCompositeExtract %float %286 0
|
||||
%289 = OpCompositeConstruct %v2float %287 %288
|
||||
OpStore %tileUV %289
|
||||
OpBranch %284
|
||||
%284 = OpLabel
|
||||
%290 = OpLoad %int %i
|
||||
%291 = OpIEqual %bool %290 %119
|
||||
OpSelectionMerge %292 None
|
||||
OpBranchConditional %291 %293 %294
|
||||
%293 = OpLabel
|
||||
%295 = OpLoad %v2float %tileUV
|
||||
%296 = OpLoad %v2float %frameSize
|
||||
%297 = OpLoad %v2float %offset_1
|
||||
%299 = OpLoad %26 %spriteSheetSampler
|
||||
%300 = OpLoad %23 %spriteSheetTexture
|
||||
%301 = OpSampledImage %66 %300 %299
|
||||
%302 = OpFMul %v2float %295 %296
|
||||
%303 = OpFAdd %v2float %302 %297
|
||||
%298 = OpImageSampleImplicitLod %v4float %301 %303
|
||||
OpStore %color %298
|
||||
OpBranch %292
|
||||
%294 = OpLabel
|
||||
%304 = OpLoad %v2float %tileUV
|
||||
%305 = OpLoad %v2float %frameSize
|
||||
%306 = OpLoad %v2float %offset_1
|
||||
%308 = OpLoad %26 %spriteSheetSampler
|
||||
%309 = OpLoad %23 %spriteSheetTexture
|
||||
%310 = OpSampledImage %66 %309 %308
|
||||
%311 = OpFMul %v2float %304 %305
|
||||
%312 = OpFAdd %v2float %311 %306
|
||||
%307 = OpImageSampleImplicitLod %v4float %310 %312
|
||||
OpStore %nc %307
|
||||
%314 = OpAccessChain %_ptr_Function_float %color %uint_3
|
||||
%315 = OpLoad %float %314
|
||||
%316 = OpAccessChain %_ptr_Function_float %nc %uint_3
|
||||
%317 = OpLoad %float %316
|
||||
%319 = OpFAdd %float %315 %317
|
||||
%318 = OpExtInst %float %136 NMin %319 %float_1
|
||||
OpStore %alpha %318
|
||||
%320 = OpLoad %v4float %color
|
||||
%321 = OpLoad %v4float %nc
|
||||
%322 = OpAccessChain %_ptr_Function_float %nc %uint_3
|
||||
%323 = OpLoad %float %322
|
||||
%325 = OpCompositeExtract %float %320 0
|
||||
%326 = OpCompositeExtract %float %320 1
|
||||
%327 = OpCompositeExtract %float %320 2
|
||||
%328 = OpCompositeConstruct %v3float %325 %326 %327
|
||||
%329 = OpCompositeExtract %float %321 0
|
||||
%330 = OpCompositeExtract %float %321 1
|
||||
%331 = OpCompositeExtract %float %321 2
|
||||
%332 = OpCompositeConstruct %v3float %329 %330 %331
|
||||
%333 = OpCompositeConstruct %v3float %323 %323 %323
|
||||
%324 = OpExtInst %v3float %136 FMix %328 %332 %333
|
||||
OpStore %mixed %324
|
||||
%334 = OpLoad %v3float %mixed
|
||||
%335 = OpLoad %float %alpha
|
||||
%336 = OpCompositeExtract %float %334 0
|
||||
%337 = OpCompositeExtract %float %334 1
|
||||
%338 = OpCompositeExtract %float %334 2
|
||||
%339 = OpCompositeConstruct %v4float %336 %337 %338 %335
|
||||
OpStore %color %339
|
||||
OpBranch %292
|
||||
%292 = OpLabel
|
||||
OpBranch %160
|
||||
%160 = OpLabel
|
||||
%340 = OpLoad %int %i
|
||||
%342 = OpIAdd %int %340 %int_1
|
||||
OpStore %i %342
|
||||
OpBranch %158
|
||||
%159 = OpLabel
|
||||
%345 = OpAccessChain %_ptr_Uniform_v3float %x_20 %uint_8
|
||||
%346 = OpLoad %v3float %345
|
||||
%347 = OpLoad %v4float %color
|
||||
%348 = OpCompositeExtract %float %347 0
|
||||
%349 = OpCompositeExtract %float %347 1
|
||||
%350 = OpCompositeExtract %float %347 2
|
||||
%351 = OpCompositeConstruct %v3float %348 %349 %350
|
||||
%352 = OpFMul %v3float %351 %346
|
||||
%353 = OpLoad %v4float %color
|
||||
%354 = OpCompositeExtract %float %352 0
|
||||
%355 = OpCompositeExtract %float %352 1
|
||||
%356 = OpCompositeExtract %float %352 2
|
||||
%357 = OpCompositeExtract %float %353 3
|
||||
%358 = OpCompositeConstruct %v4float %354 %355 %356 %357
|
||||
OpStore %color %358
|
||||
%359 = OpLoad %v4float %color
|
||||
OpStore %glFragColor %359
|
||||
%223 = OpAccessChain %_ptr_Function_float %animationData %uint_1
|
||||
%224 = OpLoad %float %223
|
||||
%225 = OpLoad %float %mt
|
||||
%226 = OpFOrdGreaterThan %bool %224 %225
|
||||
OpSelectionMerge %227 None
|
||||
OpBranchConditional %226 %228 %227
|
||||
%228 = OpLabel
|
||||
%229 = OpAccessChain %_ptr_Function_float %animationData %uint_0
|
||||
%230 = OpLoad %float %229
|
||||
OpStore %frameID_1 %230
|
||||
OpBranch %214
|
||||
%227 = OpLabel
|
||||
%231 = OpLoad %float %frameID_1
|
||||
%232 = OpAccessChain %_ptr_Uniform_float %x_20 %uint_7
|
||||
%233 = OpLoad %float %232
|
||||
%234 = OpLoad %float %f
|
||||
%236 = OpLoad %26 %animationMapSampler
|
||||
%237 = OpLoad %23 %animationMapTexture
|
||||
%238 = OpSampledImage %66 %237 %236
|
||||
%239 = OpFAdd %float %231 %float_0_5
|
||||
%240 = OpFDiv %float %239 %233
|
||||
%242 = OpFMul %float %float_0_125 %234
|
||||
%243 = OpCompositeConstruct %v2float %240 %242
|
||||
%235 = OpImageSampleImplicitLod %v4float %238 %243 Bias %37
|
||||
OpStore %animationData %235
|
||||
OpBranch %215
|
||||
%215 = OpLabel
|
||||
%244 = OpLoad %float %f
|
||||
%245 = OpFAdd %float %244 %float_1
|
||||
OpStore %f %245
|
||||
OpBranch %213
|
||||
%214 = OpLabel
|
||||
OpBranch %203
|
||||
%203 = OpLabel
|
||||
%246 = OpLoad %float %frameID_1
|
||||
%247 = OpFAdd %float %246 %float_0_5
|
||||
OpStore %param %247
|
||||
%248 = OpFunctionCall %mat4v4float %getFrameData_f1_ %param
|
||||
OpStore %frameData %248
|
||||
%250 = OpAccessChain %_ptr_Function_v4float %frameData %114
|
||||
%251 = OpLoad %v4float %250
|
||||
%252 = OpAccessChain %_ptr_Uniform_v2float %x_20 %uint_5
|
||||
%253 = OpLoad %v2float %252
|
||||
%254 = OpCompositeExtract %float %251 3
|
||||
%255 = OpCompositeExtract %float %251 2
|
||||
%256 = OpCompositeConstruct %v2float %254 %255
|
||||
%257 = OpFDiv %v2float %256 %253
|
||||
OpStore %frameSize %257
|
||||
%258 = OpAccessChain %_ptr_Function_v4float %frameData %114
|
||||
%259 = OpLoad %v4float %258
|
||||
%260 = OpLoad %v2float %sheetUnits
|
||||
%261 = OpCompositeExtract %float %259 0
|
||||
%262 = OpCompositeExtract %float %259 1
|
||||
%263 = OpCompositeConstruct %v2float %261 %262
|
||||
%264 = OpFMul %v2float %263 %260
|
||||
OpStore %offset_1 %264
|
||||
%265 = OpAccessChain %_ptr_Function_v4float %frameData %int_2
|
||||
%266 = OpLoad %v4float %265
|
||||
%267 = OpAccessChain %_ptr_Function_v4float %frameData %114
|
||||
%268 = OpLoad %v4float %267
|
||||
%269 = OpCompositeExtract %float %266 0
|
||||
%270 = OpCompositeExtract %float %266 1
|
||||
%271 = OpCompositeConstruct %v2float %269 %270
|
||||
%272 = OpCompositeExtract %float %268 3
|
||||
%273 = OpCompositeExtract %float %268 2
|
||||
%274 = OpCompositeConstruct %v2float %272 %273
|
||||
%275 = OpFDiv %v2float %271 %274
|
||||
OpStore %ratio %275
|
||||
%276 = OpAccessChain %_ptr_Function_float %frameData %int_2 %uint_2
|
||||
%277 = OpLoad %float %276
|
||||
%278 = OpFOrdEqual %bool %277 %float_1
|
||||
OpSelectionMerge %279 None
|
||||
OpBranchConditional %278 %280 %279
|
||||
%280 = OpLabel
|
||||
%281 = OpLoad %v2float %tileUV
|
||||
%282 = OpCompositeExtract %float %281 1
|
||||
%283 = OpCompositeExtract %float %281 0
|
||||
%284 = OpCompositeConstruct %v2float %282 %283
|
||||
OpStore %tileUV %284
|
||||
OpBranch %279
|
||||
%279 = OpLabel
|
||||
%285 = OpLoad %int %i
|
||||
%286 = OpIEqual %bool %285 %114
|
||||
OpSelectionMerge %287 None
|
||||
OpBranchConditional %286 %288 %289
|
||||
%288 = OpLabel
|
||||
%290 = OpLoad %v2float %tileUV
|
||||
%291 = OpLoad %v2float %frameSize
|
||||
%292 = OpLoad %v2float %offset_1
|
||||
%294 = OpLoad %26 %spriteSheetSampler
|
||||
%295 = OpLoad %23 %spriteSheetTexture
|
||||
%296 = OpSampledImage %66 %295 %294
|
||||
%297 = OpFMul %v2float %290 %291
|
||||
%298 = OpFAdd %v2float %297 %292
|
||||
%293 = OpImageSampleImplicitLod %v4float %296 %298
|
||||
OpStore %color %293
|
||||
OpBranch %287
|
||||
%289 = OpLabel
|
||||
%299 = OpLoad %v2float %tileUV
|
||||
%300 = OpLoad %v2float %frameSize
|
||||
%301 = OpLoad %v2float %offset_1
|
||||
%303 = OpLoad %26 %spriteSheetSampler
|
||||
%304 = OpLoad %23 %spriteSheetTexture
|
||||
%305 = OpSampledImage %66 %304 %303
|
||||
%306 = OpFMul %v2float %299 %300
|
||||
%307 = OpFAdd %v2float %306 %301
|
||||
%302 = OpImageSampleImplicitLod %v4float %305 %307
|
||||
OpStore %nc %302
|
||||
%309 = OpAccessChain %_ptr_Function_float %color %uint_3
|
||||
%310 = OpLoad %float %309
|
||||
%311 = OpAccessChain %_ptr_Function_float %nc %uint_3
|
||||
%312 = OpLoad %float %311
|
||||
%314 = OpFAdd %float %310 %312
|
||||
%313 = OpExtInst %float %131 NMin %314 %float_1
|
||||
OpStore %alpha %313
|
||||
%315 = OpLoad %v4float %color
|
||||
%316 = OpLoad %v4float %nc
|
||||
%317 = OpAccessChain %_ptr_Function_float %nc %uint_3
|
||||
%318 = OpLoad %float %317
|
||||
%320 = OpCompositeExtract %float %315 0
|
||||
%321 = OpCompositeExtract %float %315 1
|
||||
%322 = OpCompositeExtract %float %315 2
|
||||
%323 = OpCompositeConstruct %v3float %320 %321 %322
|
||||
%324 = OpCompositeExtract %float %316 0
|
||||
%325 = OpCompositeExtract %float %316 1
|
||||
%326 = OpCompositeExtract %float %316 2
|
||||
%327 = OpCompositeConstruct %v3float %324 %325 %326
|
||||
%328 = OpCompositeConstruct %v3float %318 %318 %318
|
||||
%319 = OpExtInst %v3float %131 FMix %323 %327 %328
|
||||
OpStore %mixed %319
|
||||
%329 = OpLoad %v3float %mixed
|
||||
%330 = OpLoad %float %alpha
|
||||
%331 = OpCompositeExtract %float %329 0
|
||||
%332 = OpCompositeExtract %float %329 1
|
||||
%333 = OpCompositeExtract %float %329 2
|
||||
%334 = OpCompositeConstruct %v4float %331 %332 %333 %330
|
||||
OpStore %color %334
|
||||
OpBranch %287
|
||||
%287 = OpLabel
|
||||
OpBranch %155
|
||||
%155 = OpLabel
|
||||
%335 = OpLoad %int %i
|
||||
%337 = OpIAdd %int %335 %int_1
|
||||
OpStore %i %337
|
||||
OpBranch %153
|
||||
%154 = OpLabel
|
||||
%340 = OpAccessChain %_ptr_Uniform_v3float %x_20 %uint_8
|
||||
%341 = OpLoad %v3float %340
|
||||
%342 = OpLoad %v4float %color
|
||||
%343 = OpCompositeExtract %float %342 0
|
||||
%344 = OpCompositeExtract %float %342 1
|
||||
%345 = OpCompositeExtract %float %342 2
|
||||
%346 = OpCompositeConstruct %v3float %343 %344 %345
|
||||
%347 = OpFMul %v3float %346 %341
|
||||
%348 = OpLoad %v4float %color
|
||||
%349 = OpCompositeExtract %float %347 0
|
||||
%350 = OpCompositeExtract %float %347 1
|
||||
%351 = OpCompositeExtract %float %347 2
|
||||
%352 = OpCompositeExtract %float %348 3
|
||||
%353 = OpCompositeConstruct %v4float %349 %350 %351 %352
|
||||
OpStore %color %353
|
||||
%354 = OpLoad %v4float %color
|
||||
OpStore %glFragColor %354
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main_inner = OpFunction %main_out None %360
|
||||
%main_inner = OpFunction %main_out None %355
|
||||
%tUV_param = OpFunctionParameter %v2float
|
||||
%tileID_1_param = OpFunctionParameter %v2float
|
||||
%levelUnits_param = OpFunctionParameter %v2float
|
||||
%stageUnits_1_param = OpFunctionParameter %v2float
|
||||
%vPosition_param = OpFunctionParameter %v3float
|
||||
%vUV_param = OpFunctionParameter %v2float
|
||||
%369 = OpLabel
|
||||
%364 = OpLabel
|
||||
OpStore %tUV %tUV_param
|
||||
OpStore %tileID_1 %tileID_1_param
|
||||
OpStore %levelUnits %levelUnits_param
|
||||
OpStore %stageUnits_1 %stageUnits_1_param
|
||||
OpStore %vPosition %vPosition_param
|
||||
OpStore %vUV %vUV_param
|
||||
%370 = OpFunctionCall %void %main_1
|
||||
%371 = OpLoad %v4float %glFragColor
|
||||
%372 = OpCompositeConstruct %main_out %371
|
||||
OpReturnValue %372
|
||||
%365 = OpFunctionCall %void %main_1
|
||||
%366 = OpLoad %v4float %glFragColor
|
||||
%367 = OpCompositeConstruct %main_out %366
|
||||
OpReturnValue %367
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %104
|
||||
%374 = OpLabel
|
||||
%376 = OpLoad %v2float %tUV_param_1
|
||||
%377 = OpLoad %v2float %tileID_1_param_1
|
||||
%378 = OpLoad %v2float %levelUnits_param_1
|
||||
%379 = OpLoad %v2float %stageUnits_1_param_1
|
||||
%380 = OpLoad %v3float %vPosition_param_1
|
||||
%381 = OpLoad %v2float %vUV_param_1
|
||||
%375 = OpFunctionCall %main_out %main_inner %376 %377 %378 %379 %380 %381
|
||||
%382 = OpCompositeExtract %v4float %375 0
|
||||
OpStore %glFragColor_1_1 %382
|
||||
%main = OpFunction %void None %99
|
||||
%369 = OpLabel
|
||||
%371 = OpLoad %v2float %tUV_param_1
|
||||
%372 = OpLoad %v2float %tileID_1_param_1
|
||||
%373 = OpLoad %v2float %levelUnits_param_1
|
||||
%374 = OpLoad %v2float %stageUnits_1_param_1
|
||||
%375 = OpLoad %v3float %vPosition_param_1
|
||||
%376 = OpLoad %v2float %vUV_param_1
|
||||
%370 = OpFunctionCall %main_out %main_inner %371 %372 %373 %374 %375 %376
|
||||
%377 = OpCompositeExtract %v4float %370 0
|
||||
OpStore %glFragColor_1_1 %377
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -5,8 +5,8 @@ void unused_entry_point() {
|
|||
return;
|
||||
}
|
||||
void f() {
|
||||
float a = vec2(1.0f).y;
|
||||
float b = vec3(1.0f).z;
|
||||
float c = vec4(1.0f).w;
|
||||
float a = 1.0f;
|
||||
float b = 1.0f;
|
||||
float c = 1.0f;
|
||||
}
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ void unused_entry_point() {
|
|||
}
|
||||
|
||||
void f() {
|
||||
float a = (1.0f).xx.y;
|
||||
float b = (1.0f).xxx.z;
|
||||
float c = (1.0f).xxxx.w;
|
||||
float a = 1.0f;
|
||||
float b = 1.0f;
|
||||
float c = 1.0f;
|
||||
}
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
|
||||
using namespace metal;
|
||||
void f() {
|
||||
float a = float2(1.0f)[1];
|
||||
float b = float3(1.0f)[2];
|
||||
float c = float4(1.0f)[3];
|
||||
float a = 1.0f;
|
||||
float b = 1.0f;
|
||||
float c = 1.0f;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 23
|
||||
; Bound: 14
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
|
@ -15,29 +15,20 @@
|
|||
%void = OpTypeVoid
|
||||
%1 = OpTypeFunction %void
|
||||
%float = OpTypeFloat 32
|
||||
%v2float = OpTypeVector %float 2
|
||||
%float_1 = OpConstant %float 1
|
||||
%10 = OpConstantComposite %v2float %float_1 %float_1
|
||||
%_ptr_Function_float = OpTypePointer Function %float
|
||||
%14 = OpConstantNull %float
|
||||
%v3float = OpTypeVector %float 3
|
||||
%16 = OpConstantComposite %v3float %float_1 %float_1 %float_1
|
||||
%v4float = OpTypeVector %float 4
|
||||
%20 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
|
||||
%11 = OpConstantNull %float
|
||||
%unused_entry_point = OpFunction %void None %1
|
||||
%4 = OpLabel
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%f = OpFunction %void None %1
|
||||
%6 = OpLabel
|
||||
%a = OpVariable %_ptr_Function_float Function %14
|
||||
%b = OpVariable %_ptr_Function_float Function %14
|
||||
%c = OpVariable %_ptr_Function_float Function %14
|
||||
%11 = OpCompositeExtract %float %10 1
|
||||
OpStore %a %11
|
||||
%17 = OpCompositeExtract %float %16 2
|
||||
OpStore %b %17
|
||||
%21 = OpCompositeExtract %float %20 3
|
||||
OpStore %c %21
|
||||
%a = OpVariable %_ptr_Function_float Function %11
|
||||
%b = OpVariable %_ptr_Function_float Function %11
|
||||
%c = OpVariable %_ptr_Function_float Function %11
|
||||
OpStore %a %float_1
|
||||
OpStore %b %float_1
|
||||
OpStore %c %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
Loading…
Reference in New Issue