mirror of
https://github.com/gfx-rs/wgpu.git
synced 2026-04-22 03:02:01 -04:00
implement phony assignment
This commit is contained in:
@@ -544,6 +544,9 @@ impl<'a> Lexer<'a> {
|
||||
|
||||
pub(super) fn next_ident_with_span(&mut self) -> Result<(&'a str, Span), Error<'a>> {
|
||||
match self.next() {
|
||||
(Token::Word(word), span) if word == "_" => {
|
||||
Err(Error::InvalidIdentifierUnderscore(span))
|
||||
}
|
||||
(Token::Word(word), span) if word.starts_with("__") => {
|
||||
Err(Error::ReservedIdentifierPrefix(span))
|
||||
}
|
||||
|
||||
@@ -147,6 +147,7 @@ pub enum Error<'a> {
|
||||
InvalidForInitializer(Span),
|
||||
InvalidGatherComponent(Span, i32),
|
||||
InvalidConstructorComponentType(Span, i32),
|
||||
InvalidIdentifierUnderscore(Span),
|
||||
ReservedIdentifierPrefix(Span),
|
||||
UnknownAddressSpace(Span),
|
||||
UnknownAttribute(Span),
|
||||
@@ -362,6 +363,11 @@ impl<'a> Error<'a> {
|
||||
labels: vec![(bad_span.clone(), "invalid component type".into())],
|
||||
notes: vec![],
|
||||
},
|
||||
Error::InvalidIdentifierUnderscore(ref bad_span) => ParseError {
|
||||
message: "Identifier can't be '_'".to_string(),
|
||||
labels: vec![(bad_span.clone(), "invalid identifier".into())],
|
||||
notes: vec!["Use phony assignment instead ('_ =' notice the absence of 'let' or 'var')".to_string()],
|
||||
},
|
||||
Error::ReservedIdentifierPrefix(ref bad_span) => ParseError {
|
||||
message: format!("Identifier starts with a reserved prefix: '{}'", &source[bad_span.clone()]),
|
||||
labels: vec![(bad_span.clone(), "invalid identifier".into())],
|
||||
@@ -3489,6 +3495,21 @@ impl Parser {
|
||||
(Token::Word(word), _) => {
|
||||
let mut emitter = super::Emitter::default();
|
||||
let statement = match word {
|
||||
"_" => {
|
||||
let _ = lexer.next();
|
||||
emitter.start(context.expressions);
|
||||
lexer.expect(Token::Operation('='))?;
|
||||
let expr_id = self.parse_general_expression(
|
||||
lexer,
|
||||
context.as_expression(block, &mut emitter),
|
||||
)?;
|
||||
lexer.expect(Token::Separator(';'))?;
|
||||
block.extend(emitter.finish(context.expressions));
|
||||
// TODO: the situation here could be improved but
|
||||
// for now this is necessary to get the expressions emitted
|
||||
context.named_expressions.insert(expr_id, "_".to_string());
|
||||
None
|
||||
}
|
||||
"let" => {
|
||||
let _ = lexer.next();
|
||||
emitter.start(context.expressions);
|
||||
|
||||
@@ -28,13 +28,13 @@ fn test_matrix_within_struct_accesses() {
|
||||
idx--;
|
||||
|
||||
// loads
|
||||
var _ = baz.m;
|
||||
var _ = baz.m[0];
|
||||
var _ = baz.m[idx];
|
||||
var _ = baz.m[0][1];
|
||||
var _ = baz.m[0][idx];
|
||||
var _ = baz.m[idx][1];
|
||||
var _ = baz.m[idx][idx];
|
||||
_ = baz.m;
|
||||
_ = baz.m[0];
|
||||
_ = baz.m[idx];
|
||||
_ = baz.m[0][1];
|
||||
_ = baz.m[0][idx];
|
||||
_ = baz.m[idx][1];
|
||||
_ = baz.m[idx][idx];
|
||||
|
||||
var t = Baz(mat3x2<f32>(vec2<f32>(1.0), vec2<f32>(2.0), vec2<f32>(3.0)));
|
||||
|
||||
@@ -83,7 +83,7 @@ fn foo_vert(@builtin(vertex_index) vi: u32) -> @builtin(position) vec4<f32> {
|
||||
c[vi + 1u] = 42;
|
||||
let value = c[vi];
|
||||
|
||||
var _ = test_arr_as_arg(array<array<f32, 10>, 5>());
|
||||
_ = test_arr_as_arg(array<array<f32, 10>, 5>());
|
||||
|
||||
return vec4<f32>(_matrix * vec4<f32>(vec4<i32>(value)), 2.0);
|
||||
}
|
||||
|
||||
@@ -39,17 +39,17 @@ fn test_msl_packed_vec3() {
|
||||
let data = alignment;
|
||||
|
||||
// loads
|
||||
let _ = data.v3;
|
||||
let _ = data.v3.zx;
|
||||
_ = data.v3;
|
||||
_ = data.v3.zx;
|
||||
test_msl_packed_vec3_as_arg(data.v3);
|
||||
|
||||
// matrix vector multiplication
|
||||
let _ = data.v3 * mat3x3<f32>();
|
||||
let _ = mat3x3<f32>() * data.v3;
|
||||
_ = data.v3 * mat3x3<f32>();
|
||||
_ = mat3x3<f32>() * data.v3;
|
||||
|
||||
// scalar vector multiplication
|
||||
let _ = data.v3 * 2.0;
|
||||
let _ = 2.0 * data.v3;
|
||||
_ = data.v3 * 2.0;
|
||||
_ = 2.0 * data.v3;
|
||||
}
|
||||
|
||||
@compute @workgroup_size(1)
|
||||
|
||||
@@ -54,211 +54,211 @@ fn constructors() -> f32 {
|
||||
);
|
||||
|
||||
// zero value constructors
|
||||
var _ = bool();
|
||||
var _ = i32();
|
||||
var _ = u32();
|
||||
var _ = f32();
|
||||
var _ = vec2<u32>();
|
||||
var _ = mat2x2<f32>();
|
||||
var _ = array<Foo, 3>();
|
||||
var _ = Foo();
|
||||
_ = bool();
|
||||
_ = i32();
|
||||
_ = u32();
|
||||
_ = f32();
|
||||
_ = vec2<u32>();
|
||||
_ = mat2x2<f32>();
|
||||
_ = array<Foo, 3>();
|
||||
_ = Foo();
|
||||
|
||||
// constructors that infer their type from their parameters
|
||||
var _ = vec2(0u);
|
||||
var _ = mat2x2(vec2(0.), vec2(0.));
|
||||
var _ = array(0, 1, 2, 3);
|
||||
_ = vec2(0u);
|
||||
_ = mat2x2(vec2(0.), vec2(0.));
|
||||
_ = array(0, 1, 2, 3);
|
||||
|
||||
return foo.a.x;
|
||||
}
|
||||
|
||||
fn logical() {
|
||||
// unary
|
||||
let _ = !true;
|
||||
let _ = !vec2(true);
|
||||
_ = !true;
|
||||
_ = !vec2(true);
|
||||
|
||||
// binary
|
||||
let _ = true || false;
|
||||
let _ = true && false;
|
||||
let _ = true | false;
|
||||
let _ = vec3(true) | vec3(false);
|
||||
let _ = true & false;
|
||||
let _ = vec4(true) & vec4(false);
|
||||
_ = true || false;
|
||||
_ = true && false;
|
||||
_ = true | false;
|
||||
_ = vec3(true) | vec3(false);
|
||||
_ = true & false;
|
||||
_ = vec4(true) & vec4(false);
|
||||
}
|
||||
|
||||
fn arithmetic() {
|
||||
// unary
|
||||
// TODO: uncomment when we get the changes from https://github.com/gfx-rs/rspirv/pull/231
|
||||
// let _ = -1;
|
||||
let _ = -1.0;
|
||||
let _ = -vec2(1);
|
||||
let _ = -vec2(1.0);
|
||||
// _ = -1;
|
||||
_ = -1.0;
|
||||
_ = -vec2(1);
|
||||
_ = -vec2(1.0);
|
||||
|
||||
// binary
|
||||
// Addition
|
||||
let _ = 2 + 1;
|
||||
let _ = 2u + 1u;
|
||||
let _ = 2.0 + 1.0;
|
||||
let _ = vec2(2) + vec2(1);
|
||||
let _ = vec3(2u) + vec3(1u);
|
||||
let _ = vec4(2.0) + vec4(1.0);
|
||||
_ = 2 + 1;
|
||||
_ = 2u + 1u;
|
||||
_ = 2.0 + 1.0;
|
||||
_ = vec2(2) + vec2(1);
|
||||
_ = vec3(2u) + vec3(1u);
|
||||
_ = vec4(2.0) + vec4(1.0);
|
||||
|
||||
// Subtraction
|
||||
let _ = 2 - 1;
|
||||
let _ = 2u - 1u;
|
||||
let _ = 2.0 - 1.0;
|
||||
let _ = vec2(2) - vec2(1);
|
||||
let _ = vec3(2u) - vec3(1u);
|
||||
let _ = vec4(2.0) - vec4(1.0);
|
||||
_ = 2 - 1;
|
||||
_ = 2u - 1u;
|
||||
_ = 2.0 - 1.0;
|
||||
_ = vec2(2) - vec2(1);
|
||||
_ = vec3(2u) - vec3(1u);
|
||||
_ = vec4(2.0) - vec4(1.0);
|
||||
|
||||
// Multiplication
|
||||
let _ = 2 * 1;
|
||||
let _ = 2u * 1u;
|
||||
let _ = 2.0 * 1.0;
|
||||
let _ = vec2(2) * vec2(1);
|
||||
let _ = vec3(2u) * vec3(1u);
|
||||
let _ = vec4(2.0) * vec4(1.0);
|
||||
_ = 2 * 1;
|
||||
_ = 2u * 1u;
|
||||
_ = 2.0 * 1.0;
|
||||
_ = vec2(2) * vec2(1);
|
||||
_ = vec3(2u) * vec3(1u);
|
||||
_ = vec4(2.0) * vec4(1.0);
|
||||
|
||||
// Division
|
||||
let _ = 2 / 1;
|
||||
let _ = 2u / 1u;
|
||||
let _ = 2.0 / 1.0;
|
||||
let _ = vec2(2) / vec2(1);
|
||||
let _ = vec3(2u) / vec3(1u);
|
||||
let _ = vec4(2.0) / vec4(1.0);
|
||||
_ = 2 / 1;
|
||||
_ = 2u / 1u;
|
||||
_ = 2.0 / 1.0;
|
||||
_ = vec2(2) / vec2(1);
|
||||
_ = vec3(2u) / vec3(1u);
|
||||
_ = vec4(2.0) / vec4(1.0);
|
||||
|
||||
// Remainder
|
||||
let _ = 2 % 1;
|
||||
let _ = 2u % 1u;
|
||||
let _ = 2.0 % 1.0;
|
||||
let _ = vec2(2) % vec2(1);
|
||||
let _ = vec3(2u) % vec3(1u);
|
||||
let _ = vec4(2.0) % vec4(1.0);
|
||||
_ = 2 % 1;
|
||||
_ = 2u % 1u;
|
||||
_ = 2.0 % 1.0;
|
||||
_ = vec2(2) % vec2(1);
|
||||
_ = vec3(2u) % vec3(1u);
|
||||
_ = vec4(2.0) % vec4(1.0);
|
||||
|
||||
// Binary arithmetic expressions with mixed scalar and vector operands
|
||||
let _ = vec2(2) + 1;
|
||||
let _ = 2 + vec2(1);
|
||||
let _ = vec2(2u) + 1u;
|
||||
let _ = 2u + vec2(1u);
|
||||
let _ = vec2(2.0) + 1.0;
|
||||
let _ = 2.0 + vec2(1.0);
|
||||
_ = vec2(2) + 1;
|
||||
_ = 2 + vec2(1);
|
||||
_ = vec2(2u) + 1u;
|
||||
_ = 2u + vec2(1u);
|
||||
_ = vec2(2.0) + 1.0;
|
||||
_ = 2.0 + vec2(1.0);
|
||||
|
||||
let _ = vec2(2) - 1;
|
||||
let _ = 2 - vec2(1);
|
||||
let _ = vec2(2u) - 1u;
|
||||
let _ = 2u - vec2(1u);
|
||||
let _ = vec2(2.0) - 1.0;
|
||||
let _ = 2.0 - vec2(1.0);
|
||||
_ = vec2(2) - 1;
|
||||
_ = 2 - vec2(1);
|
||||
_ = vec2(2u) - 1u;
|
||||
_ = 2u - vec2(1u);
|
||||
_ = vec2(2.0) - 1.0;
|
||||
_ = 2.0 - vec2(1.0);
|
||||
|
||||
let _ = vec2(2) * 1;
|
||||
let _ = 2 * vec2(1);
|
||||
let _ = vec2(2u) * 1u;
|
||||
let _ = 2u * vec2(1u);
|
||||
let _ = vec2(2.0) * 1.0;
|
||||
let _ = 2.0 * vec2(1.0);
|
||||
_ = vec2(2) * 1;
|
||||
_ = 2 * vec2(1);
|
||||
_ = vec2(2u) * 1u;
|
||||
_ = 2u * vec2(1u);
|
||||
_ = vec2(2.0) * 1.0;
|
||||
_ = 2.0 * vec2(1.0);
|
||||
|
||||
let _ = vec2(2) / 1;
|
||||
let _ = 2 / vec2(1);
|
||||
let _ = vec2(2u) / 1u;
|
||||
let _ = 2u / vec2(1u);
|
||||
let _ = vec2(2.0) / 1.0;
|
||||
let _ = 2.0 / vec2(1.0);
|
||||
_ = vec2(2) / 1;
|
||||
_ = 2 / vec2(1);
|
||||
_ = vec2(2u) / 1u;
|
||||
_ = 2u / vec2(1u);
|
||||
_ = vec2(2.0) / 1.0;
|
||||
_ = 2.0 / vec2(1.0);
|
||||
|
||||
let _ = vec2(2) % 1;
|
||||
let _ = 2 % vec2(1);
|
||||
let _ = vec2(2u) % 1u;
|
||||
let _ = 2u % vec2(1u);
|
||||
let _ = vec2(2.0) % 1.0;
|
||||
let _ = 2.0 % vec2(1.0);
|
||||
_ = vec2(2) % 1;
|
||||
_ = 2 % vec2(1);
|
||||
_ = vec2(2u) % 1u;
|
||||
_ = 2u % vec2(1u);
|
||||
_ = vec2(2.0) % 1.0;
|
||||
_ = 2.0 % vec2(1.0);
|
||||
|
||||
// Matrix arithmetic
|
||||
let _ = mat3x3<f32>() + mat3x3<f32>();
|
||||
let _ = mat3x3<f32>() - mat3x3<f32>();
|
||||
_ = mat3x3<f32>() + mat3x3<f32>();
|
||||
_ = mat3x3<f32>() - mat3x3<f32>();
|
||||
|
||||
let _ = mat3x3<f32>() * 1.0;
|
||||
let _ = 2.0 * mat3x3<f32>();
|
||||
_ = mat3x3<f32>() * 1.0;
|
||||
_ = 2.0 * mat3x3<f32>();
|
||||
|
||||
let _ = mat4x3<f32>() * vec4(1.0);
|
||||
let _ = vec3(2.0) * mat4x3<f32>();
|
||||
_ = mat4x3<f32>() * vec4(1.0);
|
||||
_ = vec3(2.0) * mat4x3<f32>();
|
||||
|
||||
let _ = mat4x3<f32>() * mat3x4<f32>();
|
||||
_ = mat4x3<f32>() * mat3x4<f32>();
|
||||
}
|
||||
|
||||
fn bit() {
|
||||
// unary
|
||||
let _ = ~1;
|
||||
let _ = ~1u;
|
||||
let _ = ~vec2(1);
|
||||
let _ = ~vec3(1u);
|
||||
_ = ~1;
|
||||
_ = ~1u;
|
||||
_ = ~vec2(1);
|
||||
_ = ~vec3(1u);
|
||||
|
||||
// binary
|
||||
let _ = 2 | 1;
|
||||
let _ = 2u | 1u;
|
||||
let _ = vec2(2) | vec2(1);
|
||||
let _ = vec3(2u) | vec3(1u);
|
||||
_ = 2 | 1;
|
||||
_ = 2u | 1u;
|
||||
_ = vec2(2) | vec2(1);
|
||||
_ = vec3(2u) | vec3(1u);
|
||||
|
||||
let _ = 2 & 1;
|
||||
let _ = 2u & 1u;
|
||||
let _ = vec2(2) & vec2(1);
|
||||
let _ = vec3(2u) & vec3(1u);
|
||||
_ = 2 & 1;
|
||||
_ = 2u & 1u;
|
||||
_ = vec2(2) & vec2(1);
|
||||
_ = vec3(2u) & vec3(1u);
|
||||
|
||||
let _ = 2 ^ 1;
|
||||
let _ = 2u ^ 1u;
|
||||
let _ = vec2(2) ^ vec2(1);
|
||||
let _ = vec3(2u) ^ vec3(1u);
|
||||
_ = 2 ^ 1;
|
||||
_ = 2u ^ 1u;
|
||||
_ = vec2(2) ^ vec2(1);
|
||||
_ = vec3(2u) ^ vec3(1u);
|
||||
|
||||
let _ = 2 << 1u;
|
||||
let _ = 2u << 1u;
|
||||
let _ = vec2(2) << vec2(1u);
|
||||
let _ = vec3(2u) << vec3(1u);
|
||||
_ = 2 << 1u;
|
||||
_ = 2u << 1u;
|
||||
_ = vec2(2) << vec2(1u);
|
||||
_ = vec3(2u) << vec3(1u);
|
||||
|
||||
let _ = 2 >> 1u;
|
||||
let _ = 2u >> 1u;
|
||||
let _ = vec2(2) >> vec2(1u);
|
||||
let _ = vec3(2u) >> vec3(1u);
|
||||
_ = 2 >> 1u;
|
||||
_ = 2u >> 1u;
|
||||
_ = vec2(2) >> vec2(1u);
|
||||
_ = vec3(2u) >> vec3(1u);
|
||||
}
|
||||
|
||||
fn comparison() {
|
||||
let _ = 2 == 1;
|
||||
let _ = 2u == 1u;
|
||||
let _ = 2.0 == 1.0;
|
||||
let _ = vec2(2) == vec2(1);
|
||||
let _ = vec3(2u) == vec3(1u);
|
||||
let _ = vec4(2.0) == vec4(1.0);
|
||||
_ = 2 == 1;
|
||||
_ = 2u == 1u;
|
||||
_ = 2.0 == 1.0;
|
||||
_ = vec2(2) == vec2(1);
|
||||
_ = vec3(2u) == vec3(1u);
|
||||
_ = vec4(2.0) == vec4(1.0);
|
||||
|
||||
let _ = 2 != 1;
|
||||
let _ = 2u != 1u;
|
||||
let _ = 2.0 != 1.0;
|
||||
let _ = vec2(2) != vec2(1);
|
||||
let _ = vec3(2u) != vec3(1u);
|
||||
let _ = vec4(2.0) != vec4(1.0);
|
||||
_ = 2 != 1;
|
||||
_ = 2u != 1u;
|
||||
_ = 2.0 != 1.0;
|
||||
_ = vec2(2) != vec2(1);
|
||||
_ = vec3(2u) != vec3(1u);
|
||||
_ = vec4(2.0) != vec4(1.0);
|
||||
|
||||
let _ = 2 < 1;
|
||||
let _ = 2u < 1u;
|
||||
let _ = 2.0 < 1.0;
|
||||
let _ = vec2(2) < vec2(1);
|
||||
let _ = vec3(2u) < vec3(1u);
|
||||
let _ = vec4(2.0) < vec4(1.0);
|
||||
_ = 2 < 1;
|
||||
_ = 2u < 1u;
|
||||
_ = 2.0 < 1.0;
|
||||
_ = vec2(2) < vec2(1);
|
||||
_ = vec3(2u) < vec3(1u);
|
||||
_ = vec4(2.0) < vec4(1.0);
|
||||
|
||||
let _ = 2 <= 1;
|
||||
let _ = 2u <= 1u;
|
||||
let _ = 2.0 <= 1.0;
|
||||
let _ = vec2(2) <= vec2(1);
|
||||
let _ = vec3(2u) <= vec3(1u);
|
||||
let _ = vec4(2.0) <= vec4(1.0);
|
||||
_ = 2 <= 1;
|
||||
_ = 2u <= 1u;
|
||||
_ = 2.0 <= 1.0;
|
||||
_ = vec2(2) <= vec2(1);
|
||||
_ = vec3(2u) <= vec3(1u);
|
||||
_ = vec4(2.0) <= vec4(1.0);
|
||||
|
||||
let _ = 2 > 1;
|
||||
let _ = 2u > 1u;
|
||||
let _ = 2.0 > 1.0;
|
||||
let _ = vec2(2) > vec2(1);
|
||||
let _ = vec3(2u) > vec3(1u);
|
||||
let _ = vec4(2.0) > vec4(1.0);
|
||||
_ = 2 > 1;
|
||||
_ = 2u > 1u;
|
||||
_ = 2.0 > 1.0;
|
||||
_ = vec2(2) > vec2(1);
|
||||
_ = vec3(2u) > vec3(1u);
|
||||
_ = vec4(2.0) > vec4(1.0);
|
||||
|
||||
let _ = 2 >= 1;
|
||||
let _ = 2u >= 1u;
|
||||
let _ = 2.0 >= 1.0;
|
||||
let _ = vec2(2) >= vec2(1);
|
||||
let _ = vec3(2u) >= vec3(1u);
|
||||
let _ = vec4(2.0) >= vec4(1.0);
|
||||
_ = 2 >= 1;
|
||||
_ = 2u >= 1u;
|
||||
_ = 2.0 >= 1.0;
|
||||
_ = vec2(2) >= vec2(1);
|
||||
_ = vec3(2u) >= vec3(1u);
|
||||
_ = vec4(2.0) >= vec4(1.0);
|
||||
}
|
||||
|
||||
fn assignment() {
|
||||
@@ -281,10 +281,10 @@ fn assignment() {
|
||||
|
||||
@compute @workgroup_size(1)
|
||||
fn main() {
|
||||
let _ = builtins();
|
||||
let _ = splat();
|
||||
let _ = bool_cast(v_f32_one.xyz);
|
||||
let _ = constructors();
|
||||
_ = builtins();
|
||||
_ = splat();
|
||||
_ = bool_cast(v_f32_one.xyz);
|
||||
_ = constructors();
|
||||
|
||||
logical();
|
||||
arithmetic();
|
||||
|
||||
@@ -22,50 +22,36 @@ uniform Baz_block_1Vertex { Baz _group_0_binding_1_vs; };
|
||||
|
||||
void test_matrix_within_struct_accesses() {
|
||||
int idx = 9;
|
||||
mat3x2 unnamed_1 = mat3x2(0.0);
|
||||
vec2 unnamed_2 = vec2(0.0);
|
||||
vec2 unnamed_3 = vec2(0.0);
|
||||
float unnamed_4 = 0.0;
|
||||
float unnamed_5 = 0.0;
|
||||
float unnamed_6 = 0.0;
|
||||
float unnamed_7 = 0.0;
|
||||
Baz t = Baz(mat3x2(0.0));
|
||||
int _e4 = idx;
|
||||
idx = (_e4 - 1);
|
||||
mat3x2 _e8 = _group_0_binding_1_vs.m;
|
||||
unnamed_1 = _e8;
|
||||
vec2 _e13 = _group_0_binding_1_vs.m[0];
|
||||
unnamed_2 = _e13;
|
||||
int _e16 = idx;
|
||||
vec2 _e18 = _group_0_binding_1_vs.m[_e16];
|
||||
unnamed_3 = _e18;
|
||||
float _e25 = _group_0_binding_1_vs.m[0][1];
|
||||
unnamed_4 = _e25;
|
||||
mat3x2 unnamed = _group_0_binding_1_vs.m;
|
||||
vec2 unnamed_1 = _group_0_binding_1_vs.m[0];
|
||||
int _e14 = idx;
|
||||
vec2 unnamed_2 = _group_0_binding_1_vs.m[_e14];
|
||||
float unnamed_3 = _group_0_binding_1_vs.m[0][1];
|
||||
int _e26 = idx;
|
||||
float unnamed_4 = _group_0_binding_1_vs.m[0][_e26];
|
||||
int _e30 = idx;
|
||||
float _e32 = _group_0_binding_1_vs.m[0][_e30];
|
||||
unnamed_5 = _e32;
|
||||
int _e35 = idx;
|
||||
float _e39 = _group_0_binding_1_vs.m[_e35][1];
|
||||
unnamed_6 = _e39;
|
||||
int _e42 = idx;
|
||||
int _e44 = idx;
|
||||
float _e46 = _group_0_binding_1_vs.m[_e42][_e44];
|
||||
unnamed_7 = _e46;
|
||||
float unnamed_5 = _group_0_binding_1_vs.m[_e30][1];
|
||||
int _e36 = idx;
|
||||
int _e38 = idx;
|
||||
float unnamed_6 = _group_0_binding_1_vs.m[_e36][_e38];
|
||||
t = Baz(mat3x2(vec2(1.0), vec2(2.0), vec2(3.0)));
|
||||
int _e57 = idx;
|
||||
idx = (_e57 + 1);
|
||||
int _e50 = idx;
|
||||
idx = (_e50 + 1);
|
||||
t.m = mat3x2(vec2(6.0), vec2(5.0), vec2(4.0));
|
||||
t.m[0] = vec2(9.0);
|
||||
int _e74 = idx;
|
||||
t.m[_e74] = vec2(90.0);
|
||||
int _e67 = idx;
|
||||
t.m[_e67] = vec2(90.0);
|
||||
t.m[0][1] = 10.0;
|
||||
int _e87 = idx;
|
||||
t.m[0][_e87] = 20.0;
|
||||
int _e91 = idx;
|
||||
t.m[_e91][1] = 30.0;
|
||||
int _e97 = idx;
|
||||
int _e99 = idx;
|
||||
t.m[_e97][_e99] = 40.0;
|
||||
int _e80 = idx;
|
||||
t.m[0][_e80] = 20.0;
|
||||
int _e84 = idx;
|
||||
t.m[_e84][1] = 30.0;
|
||||
int _e90 = idx;
|
||||
int _e92 = idx;
|
||||
t.m[_e90][_e92] = 40.0;
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -82,7 +68,6 @@ void main() {
|
||||
uint vi = uint(gl_VertexID);
|
||||
float foo = 0.0;
|
||||
int c[5] = int[5](0, 0, 0, 0, 0);
|
||||
float unnamed = 0.0;
|
||||
float baz_1 = foo;
|
||||
foo = 1.0;
|
||||
test_matrix_within_struct_accesses();
|
||||
@@ -95,7 +80,6 @@ void main() {
|
||||
c[(vi + 1u)] = 42;
|
||||
int value = c[vi];
|
||||
float _e42 = test_arr_as_arg(float[5][10](float[10](0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0), float[10](0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0), float[10](0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0), float[10](0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0), float[10](0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0)));
|
||||
unnamed = _e42;
|
||||
gl_Position = vec4((_matrix * vec4(ivec4(value))), 2.0);
|
||||
gl_Position.yz = vec2(-gl_Position.y, gl_Position.z * 2.0 - gl_Position.w);
|
||||
return;
|
||||
|
||||
@@ -35,174 +35,163 @@ vec3 bool_cast(vec3 x) {
|
||||
|
||||
float constructors() {
|
||||
Foo foo = Foo(vec4(0.0), 0);
|
||||
bool unnamed = false;
|
||||
int unnamed_1 = 0;
|
||||
uint unnamed_2 = 0u;
|
||||
float unnamed_3 = 0.0;
|
||||
uvec2 unnamed_4 = uvec2(0u, 0u);
|
||||
mat2x2 unnamed_5 = mat2x2(vec2(0.0, 0.0), vec2(0.0, 0.0));
|
||||
Foo unnamed_6[3] = Foo[3](Foo(vec4(0.0, 0.0, 0.0, 0.0), 0), Foo(vec4(0.0, 0.0, 0.0, 0.0), 0), Foo(vec4(0.0, 0.0, 0.0, 0.0), 0));
|
||||
Foo unnamed_7 = Foo(vec4(0.0, 0.0, 0.0, 0.0), 0);
|
||||
uvec2 unnamed_8 = uvec2(0u);
|
||||
mat2x2 unnamed_9 = mat2x2(0.0);
|
||||
int unnamed_10[4] = int[4](0, 0, 0, 0);
|
||||
foo = Foo(vec4(1.0), 1);
|
||||
mat2x2 mat2comp = mat2x2(vec2(1.0, 0.0), vec2(0.0, 1.0));
|
||||
mat4x4 mat4comp = mat4x4(vec4(1.0, 0.0, 0.0, 0.0), vec4(0.0, 1.0, 0.0, 0.0), vec4(0.0, 0.0, 1.0, 0.0), vec4(0.0, 0.0, 0.0, 1.0));
|
||||
unnamed_8 = uvec2(0u);
|
||||
unnamed_9 = mat2x2(vec2(0.0), vec2(0.0));
|
||||
unnamed_10 = int[4](0, 1, 2, 3);
|
||||
float _e70 = foo.a.x;
|
||||
return _e70;
|
||||
uvec2 unnamed = uvec2(0u);
|
||||
mat2x2 unnamed_1 = mat2x2(vec2(0.0), vec2(0.0));
|
||||
int unnamed_2[4] = int[4](0, 1, 2, 3);
|
||||
float _e59 = foo.a.x;
|
||||
return _e59;
|
||||
}
|
||||
|
||||
void logical() {
|
||||
bool unnamed_11 = (!true);
|
||||
bvec2 unnamed_12 = not(bvec2(true));
|
||||
bool unnamed_13 = (true || false);
|
||||
bool unnamed_14 = (true && false);
|
||||
bool unnamed_15 = (true || false);
|
||||
bvec3 unnamed_16 = bvec3(bvec3(true).x || bvec3(false).x, bvec3(true).y || bvec3(false).y, bvec3(true).z || bvec3(false).z);
|
||||
bool unnamed_17 = (true && false);
|
||||
bvec4 unnamed_18 = bvec4(bvec4(true).x && bvec4(false).x, bvec4(true).y && bvec4(false).y, bvec4(true).z && bvec4(false).z, bvec4(true).w && bvec4(false).w);
|
||||
bool unnamed_3 = (!true);
|
||||
bvec2 unnamed_4 = not(bvec2(true));
|
||||
bool unnamed_5 = (true || false);
|
||||
bool unnamed_6 = (true && false);
|
||||
bool unnamed_7 = (true || false);
|
||||
bvec3 unnamed_8 = bvec3(bvec3(true).x || bvec3(false).x, bvec3(true).y || bvec3(false).y, bvec3(true).z || bvec3(false).z);
|
||||
bool unnamed_9 = (true && false);
|
||||
bvec4 unnamed_10 = bvec4(bvec4(true).x && bvec4(false).x, bvec4(true).y && bvec4(false).y, bvec4(true).z && bvec4(false).z, bvec4(true).w && bvec4(false).w);
|
||||
}
|
||||
|
||||
void arithmetic() {
|
||||
ivec2 unnamed_19 = (-ivec2(1));
|
||||
vec2 unnamed_20 = (-vec2(1.0));
|
||||
int unnamed_21 = (2 + 1);
|
||||
uint unnamed_22 = (2u + 1u);
|
||||
float unnamed_23 = (2.0 + 1.0);
|
||||
ivec2 unnamed_24 = (ivec2(2) + ivec2(1));
|
||||
uvec3 unnamed_25 = (uvec3(2u) + uvec3(1u));
|
||||
vec4 unnamed_26 = (vec4(2.0) + vec4(1.0));
|
||||
int unnamed_27 = (2 - 1);
|
||||
uint unnamed_28 = (2u - 1u);
|
||||
float unnamed_29 = (2.0 - 1.0);
|
||||
ivec2 unnamed_30 = (ivec2(2) - ivec2(1));
|
||||
uvec3 unnamed_31 = (uvec3(2u) - uvec3(1u));
|
||||
vec4 unnamed_32 = (vec4(2.0) - vec4(1.0));
|
||||
int unnamed_33 = (2 * 1);
|
||||
uint unnamed_34 = (2u * 1u);
|
||||
float unnamed_35 = (2.0 * 1.0);
|
||||
ivec2 unnamed_36 = (ivec2(2) * ivec2(1));
|
||||
uvec3 unnamed_37 = (uvec3(2u) * uvec3(1u));
|
||||
vec4 unnamed_38 = (vec4(2.0) * vec4(1.0));
|
||||
int unnamed_39 = (2 / 1);
|
||||
uint unnamed_40 = (2u / 1u);
|
||||
float unnamed_41 = (2.0 / 1.0);
|
||||
ivec2 unnamed_42 = (ivec2(2) / ivec2(1));
|
||||
uvec3 unnamed_43 = (uvec3(2u) / uvec3(1u));
|
||||
vec4 unnamed_44 = (vec4(2.0) / vec4(1.0));
|
||||
int unnamed_45 = (2 % 1);
|
||||
uint unnamed_46 = (2u % 1u);
|
||||
float unnamed_47 = (2.0 - 1.0 * trunc(2.0 / 1.0));
|
||||
ivec2 unnamed_48 = (ivec2(2) % ivec2(1));
|
||||
uvec3 unnamed_49 = (uvec3(2u) % uvec3(1u));
|
||||
vec4 unnamed_50 = (vec4(2.0) - vec4(1.0) * trunc(vec4(2.0) / vec4(1.0)));
|
||||
ivec2 unnamed_51 = (ivec2(2) + ivec2(1));
|
||||
ivec2 unnamed_52 = (ivec2(2) + ivec2(1));
|
||||
uvec2 unnamed_53 = (uvec2(2u) + uvec2(1u));
|
||||
uvec2 unnamed_54 = (uvec2(2u) + uvec2(1u));
|
||||
vec2 unnamed_55 = (vec2(2.0) + vec2(1.0));
|
||||
vec2 unnamed_56 = (vec2(2.0) + vec2(1.0));
|
||||
ivec2 unnamed_57 = (ivec2(2) - ivec2(1));
|
||||
ivec2 unnamed_58 = (ivec2(2) - ivec2(1));
|
||||
uvec2 unnamed_59 = (uvec2(2u) - uvec2(1u));
|
||||
uvec2 unnamed_60 = (uvec2(2u) - uvec2(1u));
|
||||
vec2 unnamed_61 = (vec2(2.0) - vec2(1.0));
|
||||
vec2 unnamed_62 = (vec2(2.0) - vec2(1.0));
|
||||
ivec2 unnamed_63 = (ivec2(2) * 1);
|
||||
ivec2 unnamed_64 = (2 * ivec2(1));
|
||||
uvec2 unnamed_65 = (uvec2(2u) * 1u);
|
||||
uvec2 unnamed_66 = (2u * uvec2(1u));
|
||||
vec2 unnamed_67 = (vec2(2.0) * 1.0);
|
||||
vec2 unnamed_68 = (2.0 * vec2(1.0));
|
||||
ivec2 unnamed_69 = (ivec2(2) / ivec2(1));
|
||||
ivec2 unnamed_70 = (ivec2(2) / ivec2(1));
|
||||
uvec2 unnamed_71 = (uvec2(2u) / uvec2(1u));
|
||||
uvec2 unnamed_72 = (uvec2(2u) / uvec2(1u));
|
||||
vec2 unnamed_73 = (vec2(2.0) / vec2(1.0));
|
||||
vec2 unnamed_74 = (vec2(2.0) / vec2(1.0));
|
||||
ivec2 unnamed_75 = (ivec2(2) % ivec2(1));
|
||||
ivec2 unnamed_76 = (ivec2(2) % ivec2(1));
|
||||
uvec2 unnamed_77 = (uvec2(2u) % uvec2(1u));
|
||||
uvec2 unnamed_78 = (uvec2(2u) % uvec2(1u));
|
||||
vec2 unnamed_79 = (vec2(2.0) - vec2(1.0) * trunc(vec2(2.0) / vec2(1.0)));
|
||||
vec2 unnamed_80 = (vec2(2.0) - vec2(1.0) * trunc(vec2(2.0) / vec2(1.0)));
|
||||
mat3x3 unnamed_81 = (mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)) + mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)));
|
||||
mat3x3 unnamed_82 = (mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)) - mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)));
|
||||
mat3x3 unnamed_83 = (mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)) * 1.0);
|
||||
mat3x3 unnamed_84 = (2.0 * mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)));
|
||||
vec3 unnamed_85 = (mat4x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)) * vec4(1.0));
|
||||
vec4 unnamed_86 = (vec3(2.0) * mat4x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)));
|
||||
mat3x3 unnamed_87 = (mat4x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)) * mat3x4(vec4(0.0, 0.0, 0.0, 0.0), vec4(0.0, 0.0, 0.0, 0.0), vec4(0.0, 0.0, 0.0, 0.0)));
|
||||
ivec2 unnamed_11 = (-ivec2(1));
|
||||
vec2 unnamed_12 = (-vec2(1.0));
|
||||
int unnamed_13 = (2 + 1);
|
||||
uint unnamed_14 = (2u + 1u);
|
||||
float unnamed_15 = (2.0 + 1.0);
|
||||
ivec2 unnamed_16 = (ivec2(2) + ivec2(1));
|
||||
uvec3 unnamed_17 = (uvec3(2u) + uvec3(1u));
|
||||
vec4 unnamed_18 = (vec4(2.0) + vec4(1.0));
|
||||
int unnamed_19 = (2 - 1);
|
||||
uint unnamed_20 = (2u - 1u);
|
||||
float unnamed_21 = (2.0 - 1.0);
|
||||
ivec2 unnamed_22 = (ivec2(2) - ivec2(1));
|
||||
uvec3 unnamed_23 = (uvec3(2u) - uvec3(1u));
|
||||
vec4 unnamed_24 = (vec4(2.0) - vec4(1.0));
|
||||
int unnamed_25 = (2 * 1);
|
||||
uint unnamed_26 = (2u * 1u);
|
||||
float unnamed_27 = (2.0 * 1.0);
|
||||
ivec2 unnamed_28 = (ivec2(2) * ivec2(1));
|
||||
uvec3 unnamed_29 = (uvec3(2u) * uvec3(1u));
|
||||
vec4 unnamed_30 = (vec4(2.0) * vec4(1.0));
|
||||
int unnamed_31 = (2 / 1);
|
||||
uint unnamed_32 = (2u / 1u);
|
||||
float unnamed_33 = (2.0 / 1.0);
|
||||
ivec2 unnamed_34 = (ivec2(2) / ivec2(1));
|
||||
uvec3 unnamed_35 = (uvec3(2u) / uvec3(1u));
|
||||
vec4 unnamed_36 = (vec4(2.0) / vec4(1.0));
|
||||
int unnamed_37 = (2 % 1);
|
||||
uint unnamed_38 = (2u % 1u);
|
||||
float unnamed_39 = (2.0 - 1.0 * trunc(2.0 / 1.0));
|
||||
ivec2 unnamed_40 = (ivec2(2) % ivec2(1));
|
||||
uvec3 unnamed_41 = (uvec3(2u) % uvec3(1u));
|
||||
vec4 unnamed_42 = (vec4(2.0) - vec4(1.0) * trunc(vec4(2.0) / vec4(1.0)));
|
||||
ivec2 unnamed_43 = (ivec2(2) + ivec2(1));
|
||||
ivec2 unnamed_44 = (ivec2(2) + ivec2(1));
|
||||
uvec2 unnamed_45 = (uvec2(2u) + uvec2(1u));
|
||||
uvec2 unnamed_46 = (uvec2(2u) + uvec2(1u));
|
||||
vec2 unnamed_47 = (vec2(2.0) + vec2(1.0));
|
||||
vec2 unnamed_48 = (vec2(2.0) + vec2(1.0));
|
||||
ivec2 unnamed_49 = (ivec2(2) - ivec2(1));
|
||||
ivec2 unnamed_50 = (ivec2(2) - ivec2(1));
|
||||
uvec2 unnamed_51 = (uvec2(2u) - uvec2(1u));
|
||||
uvec2 unnamed_52 = (uvec2(2u) - uvec2(1u));
|
||||
vec2 unnamed_53 = (vec2(2.0) - vec2(1.0));
|
||||
vec2 unnamed_54 = (vec2(2.0) - vec2(1.0));
|
||||
ivec2 unnamed_55 = (ivec2(2) * 1);
|
||||
ivec2 unnamed_56 = (2 * ivec2(1));
|
||||
uvec2 unnamed_57 = (uvec2(2u) * 1u);
|
||||
uvec2 unnamed_58 = (2u * uvec2(1u));
|
||||
vec2 unnamed_59 = (vec2(2.0) * 1.0);
|
||||
vec2 unnamed_60 = (2.0 * vec2(1.0));
|
||||
ivec2 unnamed_61 = (ivec2(2) / ivec2(1));
|
||||
ivec2 unnamed_62 = (ivec2(2) / ivec2(1));
|
||||
uvec2 unnamed_63 = (uvec2(2u) / uvec2(1u));
|
||||
uvec2 unnamed_64 = (uvec2(2u) / uvec2(1u));
|
||||
vec2 unnamed_65 = (vec2(2.0) / vec2(1.0));
|
||||
vec2 unnamed_66 = (vec2(2.0) / vec2(1.0));
|
||||
ivec2 unnamed_67 = (ivec2(2) % ivec2(1));
|
||||
ivec2 unnamed_68 = (ivec2(2) % ivec2(1));
|
||||
uvec2 unnamed_69 = (uvec2(2u) % uvec2(1u));
|
||||
uvec2 unnamed_70 = (uvec2(2u) % uvec2(1u));
|
||||
vec2 unnamed_71 = (vec2(2.0) - vec2(1.0) * trunc(vec2(2.0) / vec2(1.0)));
|
||||
vec2 unnamed_72 = (vec2(2.0) - vec2(1.0) * trunc(vec2(2.0) / vec2(1.0)));
|
||||
mat3x3 unnamed_73 = (mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)) + mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)));
|
||||
mat3x3 unnamed_74 = (mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)) - mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)));
|
||||
mat3x3 unnamed_75 = (mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)) * 1.0);
|
||||
mat3x3 unnamed_76 = (2.0 * mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)));
|
||||
vec3 unnamed_77 = (mat4x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)) * vec4(1.0));
|
||||
vec4 unnamed_78 = (vec3(2.0) * mat4x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)));
|
||||
mat3x3 unnamed_79 = (mat4x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)) * mat3x4(vec4(0.0, 0.0, 0.0, 0.0), vec4(0.0, 0.0, 0.0, 0.0), vec4(0.0, 0.0, 0.0, 0.0)));
|
||||
}
|
||||
|
||||
void bit() {
|
||||
int unnamed_88 = (~1);
|
||||
uint unnamed_89 = (~1u);
|
||||
ivec2 unnamed_90 = (~ivec2(1));
|
||||
uvec3 unnamed_91 = (~uvec3(1u));
|
||||
int unnamed_92 = (2 | 1);
|
||||
uint unnamed_93 = (2u | 1u);
|
||||
ivec2 unnamed_94 = (ivec2(2) | ivec2(1));
|
||||
uvec3 unnamed_95 = (uvec3(2u) | uvec3(1u));
|
||||
int unnamed_96 = (2 & 1);
|
||||
uint unnamed_97 = (2u & 1u);
|
||||
ivec2 unnamed_98 = (ivec2(2) & ivec2(1));
|
||||
uvec3 unnamed_99 = (uvec3(2u) & uvec3(1u));
|
||||
int unnamed_100 = (2 ^ 1);
|
||||
uint unnamed_101 = (2u ^ 1u);
|
||||
ivec2 unnamed_102 = (ivec2(2) ^ ivec2(1));
|
||||
uvec3 unnamed_103 = (uvec3(2u) ^ uvec3(1u));
|
||||
int unnamed_104 = (2 << 1u);
|
||||
uint unnamed_105 = (2u << 1u);
|
||||
ivec2 unnamed_106 = (ivec2(2) << uvec2(1u));
|
||||
uvec3 unnamed_107 = (uvec3(2u) << uvec3(1u));
|
||||
int unnamed_108 = (2 >> 1u);
|
||||
uint unnamed_109 = (2u >> 1u);
|
||||
ivec2 unnamed_110 = (ivec2(2) >> uvec2(1u));
|
||||
uvec3 unnamed_111 = (uvec3(2u) >> uvec3(1u));
|
||||
int unnamed_80 = (~1);
|
||||
uint unnamed_81 = (~1u);
|
||||
ivec2 unnamed_82 = (~ivec2(1));
|
||||
uvec3 unnamed_83 = (~uvec3(1u));
|
||||
int unnamed_84 = (2 | 1);
|
||||
uint unnamed_85 = (2u | 1u);
|
||||
ivec2 unnamed_86 = (ivec2(2) | ivec2(1));
|
||||
uvec3 unnamed_87 = (uvec3(2u) | uvec3(1u));
|
||||
int unnamed_88 = (2 & 1);
|
||||
uint unnamed_89 = (2u & 1u);
|
||||
ivec2 unnamed_90 = (ivec2(2) & ivec2(1));
|
||||
uvec3 unnamed_91 = (uvec3(2u) & uvec3(1u));
|
||||
int unnamed_92 = (2 ^ 1);
|
||||
uint unnamed_93 = (2u ^ 1u);
|
||||
ivec2 unnamed_94 = (ivec2(2) ^ ivec2(1));
|
||||
uvec3 unnamed_95 = (uvec3(2u) ^ uvec3(1u));
|
||||
int unnamed_96 = (2 << 1u);
|
||||
uint unnamed_97 = (2u << 1u);
|
||||
ivec2 unnamed_98 = (ivec2(2) << uvec2(1u));
|
||||
uvec3 unnamed_99 = (uvec3(2u) << uvec3(1u));
|
||||
int unnamed_100 = (2 >> 1u);
|
||||
uint unnamed_101 = (2u >> 1u);
|
||||
ivec2 unnamed_102 = (ivec2(2) >> uvec2(1u));
|
||||
uvec3 unnamed_103 = (uvec3(2u) >> uvec3(1u));
|
||||
}
|
||||
|
||||
void comparison() {
|
||||
bool unnamed_112 = (2 == 1);
|
||||
bool unnamed_113 = (2u == 1u);
|
||||
bool unnamed_114 = (2.0 == 1.0);
|
||||
bvec2 unnamed_115 = equal(ivec2(2), ivec2(1));
|
||||
bvec3 unnamed_116 = equal(uvec3(2u), uvec3(1u));
|
||||
bvec4 unnamed_117 = equal(vec4(2.0), vec4(1.0));
|
||||
bool unnamed_118 = (2 != 1);
|
||||
bool unnamed_119 = (2u != 1u);
|
||||
bool unnamed_120 = (2.0 != 1.0);
|
||||
bvec2 unnamed_121 = notEqual(ivec2(2), ivec2(1));
|
||||
bvec3 unnamed_122 = notEqual(uvec3(2u), uvec3(1u));
|
||||
bvec4 unnamed_123 = notEqual(vec4(2.0), vec4(1.0));
|
||||
bool unnamed_124 = (2 < 1);
|
||||
bool unnamed_125 = (2u < 1u);
|
||||
bool unnamed_126 = (2.0 < 1.0);
|
||||
bvec2 unnamed_127 = lessThan(ivec2(2), ivec2(1));
|
||||
bvec3 unnamed_128 = lessThan(uvec3(2u), uvec3(1u));
|
||||
bvec4 unnamed_129 = lessThan(vec4(2.0), vec4(1.0));
|
||||
bool unnamed_130 = (2 <= 1);
|
||||
bool unnamed_131 = (2u <= 1u);
|
||||
bool unnamed_132 = (2.0 <= 1.0);
|
||||
bvec2 unnamed_133 = lessThanEqual(ivec2(2), ivec2(1));
|
||||
bvec3 unnamed_134 = lessThanEqual(uvec3(2u), uvec3(1u));
|
||||
bvec4 unnamed_135 = lessThanEqual(vec4(2.0), vec4(1.0));
|
||||
bool unnamed_136 = (2 > 1);
|
||||
bool unnamed_137 = (2u > 1u);
|
||||
bool unnamed_138 = (2.0 > 1.0);
|
||||
bvec2 unnamed_139 = greaterThan(ivec2(2), ivec2(1));
|
||||
bvec3 unnamed_140 = greaterThan(uvec3(2u), uvec3(1u));
|
||||
bvec4 unnamed_141 = greaterThan(vec4(2.0), vec4(1.0));
|
||||
bool unnamed_142 = (2 >= 1);
|
||||
bool unnamed_143 = (2u >= 1u);
|
||||
bool unnamed_144 = (2.0 >= 1.0);
|
||||
bvec2 unnamed_145 = greaterThanEqual(ivec2(2), ivec2(1));
|
||||
bvec3 unnamed_146 = greaterThanEqual(uvec3(2u), uvec3(1u));
|
||||
bvec4 unnamed_147 = greaterThanEqual(vec4(2.0), vec4(1.0));
|
||||
bool unnamed_104 = (2 == 1);
|
||||
bool unnamed_105 = (2u == 1u);
|
||||
bool unnamed_106 = (2.0 == 1.0);
|
||||
bvec2 unnamed_107 = equal(ivec2(2), ivec2(1));
|
||||
bvec3 unnamed_108 = equal(uvec3(2u), uvec3(1u));
|
||||
bvec4 unnamed_109 = equal(vec4(2.0), vec4(1.0));
|
||||
bool unnamed_110 = (2 != 1);
|
||||
bool unnamed_111 = (2u != 1u);
|
||||
bool unnamed_112 = (2.0 != 1.0);
|
||||
bvec2 unnamed_113 = notEqual(ivec2(2), ivec2(1));
|
||||
bvec3 unnamed_114 = notEqual(uvec3(2u), uvec3(1u));
|
||||
bvec4 unnamed_115 = notEqual(vec4(2.0), vec4(1.0));
|
||||
bool unnamed_116 = (2 < 1);
|
||||
bool unnamed_117 = (2u < 1u);
|
||||
bool unnamed_118 = (2.0 < 1.0);
|
||||
bvec2 unnamed_119 = lessThan(ivec2(2), ivec2(1));
|
||||
bvec3 unnamed_120 = lessThan(uvec3(2u), uvec3(1u));
|
||||
bvec4 unnamed_121 = lessThan(vec4(2.0), vec4(1.0));
|
||||
bool unnamed_122 = (2 <= 1);
|
||||
bool unnamed_123 = (2u <= 1u);
|
||||
bool unnamed_124 = (2.0 <= 1.0);
|
||||
bvec2 unnamed_125 = lessThanEqual(ivec2(2), ivec2(1));
|
||||
bvec3 unnamed_126 = lessThanEqual(uvec3(2u), uvec3(1u));
|
||||
bvec4 unnamed_127 = lessThanEqual(vec4(2.0), vec4(1.0));
|
||||
bool unnamed_128 = (2 > 1);
|
||||
bool unnamed_129 = (2u > 1u);
|
||||
bool unnamed_130 = (2.0 > 1.0);
|
||||
bvec2 unnamed_131 = greaterThan(ivec2(2), ivec2(1));
|
||||
bvec3 unnamed_132 = greaterThan(uvec3(2u), uvec3(1u));
|
||||
bvec4 unnamed_133 = greaterThan(vec4(2.0), vec4(1.0));
|
||||
bool unnamed_134 = (2 >= 1);
|
||||
bool unnamed_135 = (2u >= 1u);
|
||||
bool unnamed_136 = (2.0 >= 1.0);
|
||||
bvec2 unnamed_137 = greaterThanEqual(ivec2(2), ivec2(1));
|
||||
bvec3 unnamed_138 = greaterThanEqual(uvec3(2u), uvec3(1u));
|
||||
bvec4 unnamed_139 = greaterThanEqual(vec4(2.0), vec4(1.0));
|
||||
}
|
||||
|
||||
void assignment() {
|
||||
|
||||
@@ -58,51 +58,37 @@ Baz ConstructBaz(float3x2 arg0) {
|
||||
void test_matrix_within_struct_accesses()
|
||||
{
|
||||
int idx = 9;
|
||||
float3x2 unnamed_1 = (float3x2)0;
|
||||
float2 unnamed_2 = (float2)0;
|
||||
float2 unnamed_3 = (float2)0;
|
||||
float unnamed_4 = (float)0;
|
||||
float unnamed_5 = (float)0;
|
||||
float unnamed_6 = (float)0;
|
||||
float unnamed_7 = (float)0;
|
||||
Baz t = (Baz)0;
|
||||
|
||||
int _expr4 = idx;
|
||||
idx = (_expr4 - 1);
|
||||
float3x2 _expr8 = GetMatmOnBaz(baz);
|
||||
unnamed_1 = _expr8;
|
||||
float2 _expr13 = GetMatmOnBaz(baz)[0];
|
||||
unnamed_2 = _expr13;
|
||||
int _expr16 = idx;
|
||||
float2 _expr18 = GetMatmOnBaz(baz)[_expr16];
|
||||
unnamed_3 = _expr18;
|
||||
float _expr25 = GetMatmOnBaz(baz)[0][1];
|
||||
unnamed_4 = _expr25;
|
||||
float3x2 unnamed = GetMatmOnBaz(baz);
|
||||
float2 unnamed_1 = GetMatmOnBaz(baz)[0];
|
||||
int _expr14 = idx;
|
||||
float2 unnamed_2 = GetMatmOnBaz(baz)[_expr14];
|
||||
float unnamed_3 = GetMatmOnBaz(baz)[0][1];
|
||||
int _expr26 = idx;
|
||||
float unnamed_4 = GetMatmOnBaz(baz)[0][_expr26];
|
||||
int _expr30 = idx;
|
||||
float _expr32 = GetMatmOnBaz(baz)[0][_expr30];
|
||||
unnamed_5 = _expr32;
|
||||
int _expr35 = idx;
|
||||
float _expr39 = GetMatmOnBaz(baz)[_expr35][1];
|
||||
unnamed_6 = _expr39;
|
||||
int _expr42 = idx;
|
||||
int _expr44 = idx;
|
||||
float _expr46 = GetMatmOnBaz(baz)[_expr42][_expr44];
|
||||
unnamed_7 = _expr46;
|
||||
float unnamed_5 = GetMatmOnBaz(baz)[_expr30][1];
|
||||
int _expr36 = idx;
|
||||
int _expr38 = idx;
|
||||
float unnamed_6 = GetMatmOnBaz(baz)[_expr36][_expr38];
|
||||
t = ConstructBaz(float3x2((1.0).xx, (2.0).xx, (3.0).xx));
|
||||
int _expr57 = idx;
|
||||
idx = (_expr57 + 1);
|
||||
int _expr50 = idx;
|
||||
idx = (_expr50 + 1);
|
||||
SetMatmOnBaz(t, float3x2((6.0).xx, (5.0).xx, (4.0).xx));
|
||||
t.m_0 = (9.0).xx;
|
||||
int _expr74 = idx;
|
||||
SetMatVecmOnBaz(t, (90.0).xx, _expr74);
|
||||
int _expr67 = idx;
|
||||
SetMatVecmOnBaz(t, (90.0).xx, _expr67);
|
||||
t.m_0[1] = 10.0;
|
||||
int _expr87 = idx;
|
||||
t.m_0[_expr87] = 20.0;
|
||||
int _expr91 = idx;
|
||||
SetMatScalarmOnBaz(t, 30.0, _expr91, 1);
|
||||
int _expr97 = idx;
|
||||
int _expr99 = idx;
|
||||
SetMatScalarmOnBaz(t, 40.0, _expr97, _expr99);
|
||||
int _expr80 = idx;
|
||||
t.m_0[_expr80] = 20.0;
|
||||
int _expr84 = idx;
|
||||
SetMatScalarmOnBaz(t, 30.0, _expr84, 1);
|
||||
int _expr90 = idx;
|
||||
int _expr92 = idx;
|
||||
SetMatScalarmOnBaz(t, 40.0, _expr90, _expr92);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -133,7 +119,6 @@ float4 foo_vert(uint vi : SV_VertexID) : SV_Position
|
||||
{
|
||||
float foo = 0.0;
|
||||
int c[5] = {(int)0,(int)0,(int)0,(int)0,(int)0};
|
||||
float unnamed = (float)0;
|
||||
|
||||
float baz_1 = foo;
|
||||
foo = 1.0;
|
||||
@@ -150,7 +135,6 @@ float4 foo_vert(uint vi : SV_VertexID) : SV_Position
|
||||
c[(vi + 1u)] = 42;
|
||||
int value = c[vi];
|
||||
const float _e42 = test_arr_as_arg(Constructarray5_array10_float__(Constructarray10_float_(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0), Constructarray10_float_(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0), Constructarray10_float_(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0), Constructarray10_float_(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0), Constructarray10_float_(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0)));
|
||||
unnamed = _e42;
|
||||
return float4(mul(float4((value).xxxx), _matrix), 2.0);
|
||||
}
|
||||
|
||||
|
||||
@@ -57,182 +57,168 @@ int Constructarray4_int_(int arg0, int arg1, int arg2, int arg3)[4] {
|
||||
float constructors()
|
||||
{
|
||||
Foo foo = (Foo)0;
|
||||
bool unnamed = false;
|
||||
int unnamed_1 = 0;
|
||||
uint unnamed_2 = 0u;
|
||||
float unnamed_3 = 0.0;
|
||||
uint2 unnamed_4 = uint2(0u, 0u);
|
||||
float2x2 unnamed_5 = float2x2(float2(0.0, 0.0), float2(0.0, 0.0));
|
||||
Foo unnamed_6[3] = Constructarray3_Foo_(ConstructFoo(float4(0.0, 0.0, 0.0, 0.0), 0), ConstructFoo(float4(0.0, 0.0, 0.0, 0.0), 0), ConstructFoo(float4(0.0, 0.0, 0.0, 0.0), 0));
|
||||
Foo unnamed_7 = ConstructFoo(float4(0.0, 0.0, 0.0, 0.0), 0);
|
||||
uint2 unnamed_8 = (uint2)0;
|
||||
float2x2 unnamed_9 = (float2x2)0;
|
||||
int unnamed_10[4] = {(int)0,(int)0,(int)0,(int)0};
|
||||
|
||||
foo = ConstructFoo((1.0).xxxx, 1);
|
||||
float2x2 mat2comp = float2x2(float2(1.0, 0.0), float2(0.0, 1.0));
|
||||
float4x4 mat4comp = float4x4(float4(1.0, 0.0, 0.0, 0.0), float4(0.0, 1.0, 0.0, 0.0), float4(0.0, 0.0, 1.0, 0.0), float4(0.0, 0.0, 0.0, 1.0));
|
||||
unnamed_8 = (0u).xx;
|
||||
unnamed_9 = float2x2((0.0).xx, (0.0).xx);
|
||||
{
|
||||
int _result[4]=Constructarray4_int_(0, 1, 2, 3);
|
||||
for(int _i=0; _i<4; ++_i) unnamed_10[_i] = _result[_i];
|
||||
}
|
||||
float _expr70 = foo.a.x;
|
||||
return _expr70;
|
||||
uint2 unnamed = (0u).xx;
|
||||
float2x2 unnamed_1 = float2x2((0.0).xx, (0.0).xx);
|
||||
int unnamed_2[4] = Constructarray4_int_(0, 1, 2, 3);
|
||||
float _expr59 = foo.a.x;
|
||||
return _expr59;
|
||||
}
|
||||
|
||||
void logical()
|
||||
{
|
||||
bool unnamed_11 = !true;
|
||||
bool2 unnamed_12 = !(true).xx;
|
||||
bool unnamed_13 = (true || false);
|
||||
bool unnamed_14 = (true && false);
|
||||
bool unnamed_15 = (true | false);
|
||||
bool3 unnamed_16 = ((true).xxx | (false).xxx);
|
||||
bool unnamed_17 = (true & false);
|
||||
bool4 unnamed_18 = ((true).xxxx & (false).xxxx);
|
||||
bool unnamed_3 = !true;
|
||||
bool2 unnamed_4 = !(true).xx;
|
||||
bool unnamed_5 = (true || false);
|
||||
bool unnamed_6 = (true && false);
|
||||
bool unnamed_7 = (true | false);
|
||||
bool3 unnamed_8 = ((true).xxx | (false).xxx);
|
||||
bool unnamed_9 = (true & false);
|
||||
bool4 unnamed_10 = ((true).xxxx & (false).xxxx);
|
||||
}
|
||||
|
||||
void arithmetic()
|
||||
{
|
||||
int2 unnamed_19 = -(1).xx;
|
||||
float2 unnamed_20 = -(1.0).xx;
|
||||
int unnamed_21 = (2 + 1);
|
||||
uint unnamed_22 = (2u + 1u);
|
||||
float unnamed_23 = (2.0 + 1.0);
|
||||
int2 unnamed_24 = ((2).xx + (1).xx);
|
||||
uint3 unnamed_25 = ((2u).xxx + (1u).xxx);
|
||||
float4 unnamed_26 = ((2.0).xxxx + (1.0).xxxx);
|
||||
int unnamed_27 = (2 - 1);
|
||||
uint unnamed_28 = (2u - 1u);
|
||||
float unnamed_29 = (2.0 - 1.0);
|
||||
int2 unnamed_30 = ((2).xx - (1).xx);
|
||||
uint3 unnamed_31 = ((2u).xxx - (1u).xxx);
|
||||
float4 unnamed_32 = ((2.0).xxxx - (1.0).xxxx);
|
||||
int unnamed_33 = (2 * 1);
|
||||
uint unnamed_34 = (2u * 1u);
|
||||
float unnamed_35 = (2.0 * 1.0);
|
||||
int2 unnamed_36 = ((2).xx * (1).xx);
|
||||
uint3 unnamed_37 = ((2u).xxx * (1u).xxx);
|
||||
float4 unnamed_38 = ((2.0).xxxx * (1.0).xxxx);
|
||||
int unnamed_39 = (2 / 1);
|
||||
uint unnamed_40 = (2u / 1u);
|
||||
float unnamed_41 = (2.0 / 1.0);
|
||||
int2 unnamed_42 = ((2).xx / (1).xx);
|
||||
uint3 unnamed_43 = ((2u).xxx / (1u).xxx);
|
||||
float4 unnamed_44 = ((2.0).xxxx / (1.0).xxxx);
|
||||
int unnamed_45 = (2 % 1);
|
||||
uint unnamed_46 = (2u % 1u);
|
||||
float unnamed_47 = (2.0 % 1.0);
|
||||
int2 unnamed_48 = ((2).xx % (1).xx);
|
||||
uint3 unnamed_49 = ((2u).xxx % (1u).xxx);
|
||||
float4 unnamed_50 = ((2.0).xxxx % (1.0).xxxx);
|
||||
int2 unnamed_51 = ((2).xx + (1).xx);
|
||||
int2 unnamed_52 = ((2).xx + (1).xx);
|
||||
uint2 unnamed_53 = ((2u).xx + (1u).xx);
|
||||
uint2 unnamed_54 = ((2u).xx + (1u).xx);
|
||||
float2 unnamed_55 = ((2.0).xx + (1.0).xx);
|
||||
float2 unnamed_56 = ((2.0).xx + (1.0).xx);
|
||||
int2 unnamed_57 = ((2).xx - (1).xx);
|
||||
int2 unnamed_58 = ((2).xx - (1).xx);
|
||||
uint2 unnamed_59 = ((2u).xx - (1u).xx);
|
||||
uint2 unnamed_60 = ((2u).xx - (1u).xx);
|
||||
float2 unnamed_61 = ((2.0).xx - (1.0).xx);
|
||||
float2 unnamed_62 = ((2.0).xx - (1.0).xx);
|
||||
int2 unnamed_63 = ((2).xx * 1);
|
||||
int2 unnamed_64 = (2 * (1).xx);
|
||||
uint2 unnamed_65 = ((2u).xx * 1u);
|
||||
uint2 unnamed_66 = (2u * (1u).xx);
|
||||
float2 unnamed_67 = ((2.0).xx * 1.0);
|
||||
float2 unnamed_68 = (2.0 * (1.0).xx);
|
||||
int2 unnamed_69 = ((2).xx / (1).xx);
|
||||
int2 unnamed_70 = ((2).xx / (1).xx);
|
||||
uint2 unnamed_71 = ((2u).xx / (1u).xx);
|
||||
uint2 unnamed_72 = ((2u).xx / (1u).xx);
|
||||
float2 unnamed_73 = ((2.0).xx / (1.0).xx);
|
||||
float2 unnamed_74 = ((2.0).xx / (1.0).xx);
|
||||
int2 unnamed_75 = ((2).xx % (1).xx);
|
||||
int2 unnamed_76 = ((2).xx % (1).xx);
|
||||
uint2 unnamed_77 = ((2u).xx % (1u).xx);
|
||||
uint2 unnamed_78 = ((2u).xx % (1u).xx);
|
||||
float2 unnamed_79 = ((2.0).xx % (1.0).xx);
|
||||
float2 unnamed_80 = ((2.0).xx % (1.0).xx);
|
||||
float3x3 unnamed_81 = (float3x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0)) + float3x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0)));
|
||||
float3x3 unnamed_82 = (float3x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0)) - float3x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0)));
|
||||
float3x3 unnamed_83 = mul(1.0, float3x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0)));
|
||||
float3x3 unnamed_84 = mul(float3x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0)), 2.0);
|
||||
float3 unnamed_85 = mul((1.0).xxxx, float4x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0)));
|
||||
float4 unnamed_86 = mul(float4x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0)), (2.0).xxx);
|
||||
float3x3 unnamed_87 = mul(float3x4(float4(0.0, 0.0, 0.0, 0.0), float4(0.0, 0.0, 0.0, 0.0), float4(0.0, 0.0, 0.0, 0.0)), float4x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0)));
|
||||
int2 unnamed_11 = -(1).xx;
|
||||
float2 unnamed_12 = -(1.0).xx;
|
||||
int unnamed_13 = (2 + 1);
|
||||
uint unnamed_14 = (2u + 1u);
|
||||
float unnamed_15 = (2.0 + 1.0);
|
||||
int2 unnamed_16 = ((2).xx + (1).xx);
|
||||
uint3 unnamed_17 = ((2u).xxx + (1u).xxx);
|
||||
float4 unnamed_18 = ((2.0).xxxx + (1.0).xxxx);
|
||||
int unnamed_19 = (2 - 1);
|
||||
uint unnamed_20 = (2u - 1u);
|
||||
float unnamed_21 = (2.0 - 1.0);
|
||||
int2 unnamed_22 = ((2).xx - (1).xx);
|
||||
uint3 unnamed_23 = ((2u).xxx - (1u).xxx);
|
||||
float4 unnamed_24 = ((2.0).xxxx - (1.0).xxxx);
|
||||
int unnamed_25 = (2 * 1);
|
||||
uint unnamed_26 = (2u * 1u);
|
||||
float unnamed_27 = (2.0 * 1.0);
|
||||
int2 unnamed_28 = ((2).xx * (1).xx);
|
||||
uint3 unnamed_29 = ((2u).xxx * (1u).xxx);
|
||||
float4 unnamed_30 = ((2.0).xxxx * (1.0).xxxx);
|
||||
int unnamed_31 = (2 / 1);
|
||||
uint unnamed_32 = (2u / 1u);
|
||||
float unnamed_33 = (2.0 / 1.0);
|
||||
int2 unnamed_34 = ((2).xx / (1).xx);
|
||||
uint3 unnamed_35 = ((2u).xxx / (1u).xxx);
|
||||
float4 unnamed_36 = ((2.0).xxxx / (1.0).xxxx);
|
||||
int unnamed_37 = (2 % 1);
|
||||
uint unnamed_38 = (2u % 1u);
|
||||
float unnamed_39 = (2.0 % 1.0);
|
||||
int2 unnamed_40 = ((2).xx % (1).xx);
|
||||
uint3 unnamed_41 = ((2u).xxx % (1u).xxx);
|
||||
float4 unnamed_42 = ((2.0).xxxx % (1.0).xxxx);
|
||||
int2 unnamed_43 = ((2).xx + (1).xx);
|
||||
int2 unnamed_44 = ((2).xx + (1).xx);
|
||||
uint2 unnamed_45 = ((2u).xx + (1u).xx);
|
||||
uint2 unnamed_46 = ((2u).xx + (1u).xx);
|
||||
float2 unnamed_47 = ((2.0).xx + (1.0).xx);
|
||||
float2 unnamed_48 = ((2.0).xx + (1.0).xx);
|
||||
int2 unnamed_49 = ((2).xx - (1).xx);
|
||||
int2 unnamed_50 = ((2).xx - (1).xx);
|
||||
uint2 unnamed_51 = ((2u).xx - (1u).xx);
|
||||
uint2 unnamed_52 = ((2u).xx - (1u).xx);
|
||||
float2 unnamed_53 = ((2.0).xx - (1.0).xx);
|
||||
float2 unnamed_54 = ((2.0).xx - (1.0).xx);
|
||||
int2 unnamed_55 = ((2).xx * 1);
|
||||
int2 unnamed_56 = (2 * (1).xx);
|
||||
uint2 unnamed_57 = ((2u).xx * 1u);
|
||||
uint2 unnamed_58 = (2u * (1u).xx);
|
||||
float2 unnamed_59 = ((2.0).xx * 1.0);
|
||||
float2 unnamed_60 = (2.0 * (1.0).xx);
|
||||
int2 unnamed_61 = ((2).xx / (1).xx);
|
||||
int2 unnamed_62 = ((2).xx / (1).xx);
|
||||
uint2 unnamed_63 = ((2u).xx / (1u).xx);
|
||||
uint2 unnamed_64 = ((2u).xx / (1u).xx);
|
||||
float2 unnamed_65 = ((2.0).xx / (1.0).xx);
|
||||
float2 unnamed_66 = ((2.0).xx / (1.0).xx);
|
||||
int2 unnamed_67 = ((2).xx % (1).xx);
|
||||
int2 unnamed_68 = ((2).xx % (1).xx);
|
||||
uint2 unnamed_69 = ((2u).xx % (1u).xx);
|
||||
uint2 unnamed_70 = ((2u).xx % (1u).xx);
|
||||
float2 unnamed_71 = ((2.0).xx % (1.0).xx);
|
||||
float2 unnamed_72 = ((2.0).xx % (1.0).xx);
|
||||
float3x3 unnamed_73 = (float3x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0)) + float3x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0)));
|
||||
float3x3 unnamed_74 = (float3x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0)) - float3x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0)));
|
||||
float3x3 unnamed_75 = mul(1.0, float3x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0)));
|
||||
float3x3 unnamed_76 = mul(float3x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0)), 2.0);
|
||||
float3 unnamed_77 = mul((1.0).xxxx, float4x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0)));
|
||||
float4 unnamed_78 = mul(float4x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0)), (2.0).xxx);
|
||||
float3x3 unnamed_79 = mul(float3x4(float4(0.0, 0.0, 0.0, 0.0), float4(0.0, 0.0, 0.0, 0.0), float4(0.0, 0.0, 0.0, 0.0)), float4x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0)));
|
||||
}
|
||||
|
||||
void bit()
|
||||
{
|
||||
int unnamed_88 = ~1;
|
||||
uint unnamed_89 = ~1u;
|
||||
int2 unnamed_90 = ~(1).xx;
|
||||
uint3 unnamed_91 = ~(1u).xxx;
|
||||
int unnamed_92 = (2 | 1);
|
||||
uint unnamed_93 = (2u | 1u);
|
||||
int2 unnamed_94 = ((2).xx | (1).xx);
|
||||
uint3 unnamed_95 = ((2u).xxx | (1u).xxx);
|
||||
int unnamed_96 = (2 & 1);
|
||||
uint unnamed_97 = (2u & 1u);
|
||||
int2 unnamed_98 = ((2).xx & (1).xx);
|
||||
uint3 unnamed_99 = ((2u).xxx & (1u).xxx);
|
||||
int unnamed_100 = (2 ^ 1);
|
||||
uint unnamed_101 = (2u ^ 1u);
|
||||
int2 unnamed_102 = ((2).xx ^ (1).xx);
|
||||
uint3 unnamed_103 = ((2u).xxx ^ (1u).xxx);
|
||||
int unnamed_104 = (2 << 1u);
|
||||
uint unnamed_105 = (2u << 1u);
|
||||
int2 unnamed_106 = ((2).xx << (1u).xx);
|
||||
uint3 unnamed_107 = ((2u).xxx << (1u).xxx);
|
||||
int unnamed_108 = (2 >> 1u);
|
||||
uint unnamed_109 = (2u >> 1u);
|
||||
int2 unnamed_110 = ((2).xx >> (1u).xx);
|
||||
uint3 unnamed_111 = ((2u).xxx >> (1u).xxx);
|
||||
int unnamed_80 = ~1;
|
||||
uint unnamed_81 = ~1u;
|
||||
int2 unnamed_82 = ~(1).xx;
|
||||
uint3 unnamed_83 = ~(1u).xxx;
|
||||
int unnamed_84 = (2 | 1);
|
||||
uint unnamed_85 = (2u | 1u);
|
||||
int2 unnamed_86 = ((2).xx | (1).xx);
|
||||
uint3 unnamed_87 = ((2u).xxx | (1u).xxx);
|
||||
int unnamed_88 = (2 & 1);
|
||||
uint unnamed_89 = (2u & 1u);
|
||||
int2 unnamed_90 = ((2).xx & (1).xx);
|
||||
uint3 unnamed_91 = ((2u).xxx & (1u).xxx);
|
||||
int unnamed_92 = (2 ^ 1);
|
||||
uint unnamed_93 = (2u ^ 1u);
|
||||
int2 unnamed_94 = ((2).xx ^ (1).xx);
|
||||
uint3 unnamed_95 = ((2u).xxx ^ (1u).xxx);
|
||||
int unnamed_96 = (2 << 1u);
|
||||
uint unnamed_97 = (2u << 1u);
|
||||
int2 unnamed_98 = ((2).xx << (1u).xx);
|
||||
uint3 unnamed_99 = ((2u).xxx << (1u).xxx);
|
||||
int unnamed_100 = (2 >> 1u);
|
||||
uint unnamed_101 = (2u >> 1u);
|
||||
int2 unnamed_102 = ((2).xx >> (1u).xx);
|
||||
uint3 unnamed_103 = ((2u).xxx >> (1u).xxx);
|
||||
}
|
||||
|
||||
void comparison()
|
||||
{
|
||||
bool unnamed_112 = (2 == 1);
|
||||
bool unnamed_113 = (2u == 1u);
|
||||
bool unnamed_114 = (2.0 == 1.0);
|
||||
bool2 unnamed_115 = ((2).xx == (1).xx);
|
||||
bool3 unnamed_116 = ((2u).xxx == (1u).xxx);
|
||||
bool4 unnamed_117 = ((2.0).xxxx == (1.0).xxxx);
|
||||
bool unnamed_118 = (2 != 1);
|
||||
bool unnamed_119 = (2u != 1u);
|
||||
bool unnamed_120 = (2.0 != 1.0);
|
||||
bool2 unnamed_121 = ((2).xx != (1).xx);
|
||||
bool3 unnamed_122 = ((2u).xxx != (1u).xxx);
|
||||
bool4 unnamed_123 = ((2.0).xxxx != (1.0).xxxx);
|
||||
bool unnamed_124 = (2 < 1);
|
||||
bool unnamed_125 = (2u < 1u);
|
||||
bool unnamed_126 = (2.0 < 1.0);
|
||||
bool2 unnamed_127 = ((2).xx < (1).xx);
|
||||
bool3 unnamed_128 = ((2u).xxx < (1u).xxx);
|
||||
bool4 unnamed_129 = ((2.0).xxxx < (1.0).xxxx);
|
||||
bool unnamed_130 = (2 <= 1);
|
||||
bool unnamed_131 = (2u <= 1u);
|
||||
bool unnamed_132 = (2.0 <= 1.0);
|
||||
bool2 unnamed_133 = ((2).xx <= (1).xx);
|
||||
bool3 unnamed_134 = ((2u).xxx <= (1u).xxx);
|
||||
bool4 unnamed_135 = ((2.0).xxxx <= (1.0).xxxx);
|
||||
bool unnamed_136 = (2 > 1);
|
||||
bool unnamed_137 = (2u > 1u);
|
||||
bool unnamed_138 = (2.0 > 1.0);
|
||||
bool2 unnamed_139 = ((2).xx > (1).xx);
|
||||
bool3 unnamed_140 = ((2u).xxx > (1u).xxx);
|
||||
bool4 unnamed_141 = ((2.0).xxxx > (1.0).xxxx);
|
||||
bool unnamed_142 = (2 >= 1);
|
||||
bool unnamed_143 = (2u >= 1u);
|
||||
bool unnamed_144 = (2.0 >= 1.0);
|
||||
bool2 unnamed_145 = ((2).xx >= (1).xx);
|
||||
bool3 unnamed_146 = ((2u).xxx >= (1u).xxx);
|
||||
bool4 unnamed_147 = ((2.0).xxxx >= (1.0).xxxx);
|
||||
bool unnamed_104 = (2 == 1);
|
||||
bool unnamed_105 = (2u == 1u);
|
||||
bool unnamed_106 = (2.0 == 1.0);
|
||||
bool2 unnamed_107 = ((2).xx == (1).xx);
|
||||
bool3 unnamed_108 = ((2u).xxx == (1u).xxx);
|
||||
bool4 unnamed_109 = ((2.0).xxxx == (1.0).xxxx);
|
||||
bool unnamed_110 = (2 != 1);
|
||||
bool unnamed_111 = (2u != 1u);
|
||||
bool unnamed_112 = (2.0 != 1.0);
|
||||
bool2 unnamed_113 = ((2).xx != (1).xx);
|
||||
bool3 unnamed_114 = ((2u).xxx != (1u).xxx);
|
||||
bool4 unnamed_115 = ((2.0).xxxx != (1.0).xxxx);
|
||||
bool unnamed_116 = (2 < 1);
|
||||
bool unnamed_117 = (2u < 1u);
|
||||
bool unnamed_118 = (2.0 < 1.0);
|
||||
bool2 unnamed_119 = ((2).xx < (1).xx);
|
||||
bool3 unnamed_120 = ((2u).xxx < (1u).xxx);
|
||||
bool4 unnamed_121 = ((2.0).xxxx < (1.0).xxxx);
|
||||
bool unnamed_122 = (2 <= 1);
|
||||
bool unnamed_123 = (2u <= 1u);
|
||||
bool unnamed_124 = (2.0 <= 1.0);
|
||||
bool2 unnamed_125 = ((2).xx <= (1).xx);
|
||||
bool3 unnamed_126 = ((2u).xxx <= (1u).xxx);
|
||||
bool4 unnamed_127 = ((2.0).xxxx <= (1.0).xxxx);
|
||||
bool unnamed_128 = (2 > 1);
|
||||
bool unnamed_129 = (2u > 1u);
|
||||
bool unnamed_130 = (2.0 > 1.0);
|
||||
bool2 unnamed_131 = ((2).xx > (1).xx);
|
||||
bool3 unnamed_132 = ((2u).xxx > (1u).xxx);
|
||||
bool4 unnamed_133 = ((2.0).xxxx > (1.0).xxxx);
|
||||
bool unnamed_134 = (2 >= 1);
|
||||
bool unnamed_135 = (2u >= 1u);
|
||||
bool unnamed_136 = (2.0 >= 1.0);
|
||||
bool2 unnamed_137 = ((2).xx >= (1).xx);
|
||||
bool3 unnamed_138 = ((2u).xxx >= (1u).xxx);
|
||||
bool4 unnamed_139 = ((2.0).xxxx >= (1.0).xxxx);
|
||||
}
|
||||
|
||||
void assignment()
|
||||
|
||||
@@ -29,66 +29,52 @@ struct Bar {
|
||||
struct Baz {
|
||||
metal::float3x2 m;
|
||||
};
|
||||
struct type_12 {
|
||||
struct type_11 {
|
||||
float inner[10];
|
||||
};
|
||||
struct type_13 {
|
||||
type_12 inner[5];
|
||||
struct type_12 {
|
||||
type_11 inner[5];
|
||||
};
|
||||
struct type_17 {
|
||||
struct type_16 {
|
||||
int inner[5];
|
||||
};
|
||||
constant type_12 const_type_12_ = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
|
||||
constant type_13 const_type_13_ = {const_type_12_, const_type_12_, const_type_12_, const_type_12_, const_type_12_};
|
||||
constant type_11 const_type_11_ = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
|
||||
constant type_12 const_type_12_ = {const_type_11_, const_type_11_, const_type_11_, const_type_11_, const_type_11_};
|
||||
|
||||
void test_matrix_within_struct_accesses(
|
||||
constant Baz& baz
|
||||
) {
|
||||
int idx = 9;
|
||||
metal::float3x2 unnamed_1;
|
||||
metal::float2 unnamed_2;
|
||||
metal::float2 unnamed_3;
|
||||
float unnamed_4;
|
||||
float unnamed_5;
|
||||
float unnamed_6;
|
||||
float unnamed_7;
|
||||
Baz t;
|
||||
int _e4 = idx;
|
||||
idx = _e4 - 1;
|
||||
metal::float3x2 _e8 = baz.m;
|
||||
unnamed_1 = _e8;
|
||||
metal::float2 _e13 = baz.m[0];
|
||||
unnamed_2 = _e13;
|
||||
int _e16 = idx;
|
||||
metal::float2 _e18 = baz.m[_e16];
|
||||
unnamed_3 = _e18;
|
||||
float _e25 = baz.m[0].y;
|
||||
unnamed_4 = _e25;
|
||||
metal::float3x2 unnamed = baz.m;
|
||||
metal::float2 unnamed_1 = baz.m[0];
|
||||
int _e14 = idx;
|
||||
metal::float2 unnamed_2 = baz.m[_e14];
|
||||
float unnamed_3 = baz.m[0].y;
|
||||
int _e26 = idx;
|
||||
float unnamed_4 = baz.m[0][_e26];
|
||||
int _e30 = idx;
|
||||
float _e32 = baz.m[0][_e30];
|
||||
unnamed_5 = _e32;
|
||||
int _e35 = idx;
|
||||
float _e39 = baz.m[_e35].y;
|
||||
unnamed_6 = _e39;
|
||||
int _e42 = idx;
|
||||
int _e44 = idx;
|
||||
float _e46 = baz.m[_e42][_e44];
|
||||
unnamed_7 = _e46;
|
||||
float unnamed_5 = baz.m[_e30].y;
|
||||
int _e36 = idx;
|
||||
int _e38 = idx;
|
||||
float unnamed_6 = baz.m[_e36][_e38];
|
||||
t = Baz {metal::float3x2(metal::float2(1.0), metal::float2(2.0), metal::float2(3.0))};
|
||||
int _e57 = idx;
|
||||
idx = _e57 + 1;
|
||||
int _e50 = idx;
|
||||
idx = _e50 + 1;
|
||||
t.m = metal::float3x2(metal::float2(6.0), metal::float2(5.0), metal::float2(4.0));
|
||||
t.m[0] = metal::float2(9.0);
|
||||
int _e74 = idx;
|
||||
t.m[_e74] = metal::float2(90.0);
|
||||
int _e67 = idx;
|
||||
t.m[_e67] = metal::float2(90.0);
|
||||
t.m[0].y = 10.0;
|
||||
int _e87 = idx;
|
||||
t.m[0][_e87] = 20.0;
|
||||
int _e91 = idx;
|
||||
t.m[_e91].y = 30.0;
|
||||
int _e97 = idx;
|
||||
int _e99 = idx;
|
||||
t.m[_e97][_e99] = 40.0;
|
||||
int _e80 = idx;
|
||||
t.m[0][_e80] = 20.0;
|
||||
int _e84 = idx;
|
||||
t.m[_e84].y = 30.0;
|
||||
int _e90 = idx;
|
||||
int _e92 = idx;
|
||||
t.m[_e90][_e92] = 40.0;
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -100,7 +86,7 @@ float read_from_private(
|
||||
}
|
||||
|
||||
float test_arr_as_arg(
|
||||
type_13 a
|
||||
type_12 a
|
||||
) {
|
||||
return a.inner[4].inner[9];
|
||||
}
|
||||
@@ -117,8 +103,7 @@ vertex foo_vertOutput foo_vert(
|
||||
, constant _mslBufferSizes& _buffer_sizes [[buffer(24)]]
|
||||
) {
|
||||
float foo = 0.0;
|
||||
type_17 c;
|
||||
float unnamed;
|
||||
type_16 c;
|
||||
float baz_1 = foo;
|
||||
foo = 1.0;
|
||||
test_matrix_within_struct_accesses(baz);
|
||||
@@ -127,11 +112,10 @@ vertex foo_vertOutput foo_vert(
|
||||
float b = bar._matrix[3].x;
|
||||
int a_1 = bar.data[(1 + (_buffer_sizes.size0 - 120 - 8) / 8) - 2u].value;
|
||||
float _e28 = read_from_private(foo);
|
||||
for(int _i=0; _i<5; ++_i) c.inner[_i] = type_17 {a_1, static_cast<int>(b), 3, 4, 5}.inner[_i];
|
||||
for(int _i=0; _i<5; ++_i) c.inner[_i] = type_16 {a_1, static_cast<int>(b), 3, 4, 5}.inner[_i];
|
||||
c.inner[vi + 1u] = 42;
|
||||
int value = c.inner[vi];
|
||||
float _e42 = test_arr_as_arg(const_type_13_);
|
||||
unnamed = _e42;
|
||||
float _e42 = test_arr_as_arg(const_type_12_);
|
||||
return foo_vertOutput { metal::float4(_matrix * static_cast<metal::float4>(metal::int4(value)), 2.0) };
|
||||
}
|
||||
|
||||
|
||||
@@ -59,178 +59,167 @@ metal::float3 bool_cast(
|
||||
float constructors(
|
||||
) {
|
||||
Foo foo;
|
||||
bool unnamed = false;
|
||||
int unnamed_1 = 0;
|
||||
uint unnamed_2 = 0u;
|
||||
float unnamed_3 = 0.0;
|
||||
metal::uint2 unnamed_4 = const_type_11_;
|
||||
metal::float2x2 unnamed_5 = const_type_7_;
|
||||
type_12 unnamed_6 = const_type_12_;
|
||||
Foo unnamed_7 = const_Foo;
|
||||
metal::uint2 unnamed_8;
|
||||
metal::float2x2 unnamed_9;
|
||||
type_13 unnamed_10;
|
||||
foo = Foo {metal::float4(1.0), 1};
|
||||
metal::float2x2 mat2comp = metal::float2x2(metal::float2(1.0, 0.0), metal::float2(0.0, 1.0));
|
||||
metal::float4x4 mat4comp = metal::float4x4(metal::float4(1.0, 0.0, 0.0, 0.0), metal::float4(0.0, 1.0, 0.0, 0.0), metal::float4(0.0, 0.0, 1.0, 0.0), metal::float4(0.0, 0.0, 0.0, 1.0));
|
||||
unnamed_8 = metal::uint2(0u);
|
||||
unnamed_9 = metal::float2x2(metal::float2(0.0), metal::float2(0.0));
|
||||
for(int _i=0; _i<4; ++_i) unnamed_10.inner[_i] = type_13 {0, 1, 2, 3}.inner[_i];
|
||||
float _e70 = foo.a.x;
|
||||
return _e70;
|
||||
metal::uint2 unnamed = metal::uint2(0u);
|
||||
metal::float2x2 unnamed_1 = metal::float2x2(metal::float2(0.0), metal::float2(0.0));
|
||||
type_13 unnamed_2 = type_13 {0, 1, 2, 3};
|
||||
float _e59 = foo.a.x;
|
||||
return _e59;
|
||||
}
|
||||
|
||||
void logical(
|
||||
) {
|
||||
bool unnamed_11 = !true;
|
||||
metal::bool2 unnamed_12 = !metal::bool2(true);
|
||||
bool unnamed_13 = true || false;
|
||||
bool unnamed_14 = true && false;
|
||||
bool unnamed_15 = true | false;
|
||||
metal::bool3 unnamed_16 = metal::bool3(true) | metal::bool3(false);
|
||||
bool unnamed_17 = true & false;
|
||||
metal::bool4 unnamed_18 = metal::bool4(true) & metal::bool4(false);
|
||||
bool unnamed_3 = !true;
|
||||
metal::bool2 unnamed_4 = !metal::bool2(true);
|
||||
bool unnamed_5 = true || false;
|
||||
bool unnamed_6 = true && false;
|
||||
bool unnamed_7 = true | false;
|
||||
metal::bool3 unnamed_8 = metal::bool3(true) | metal::bool3(false);
|
||||
bool unnamed_9 = true & false;
|
||||
metal::bool4 unnamed_10 = metal::bool4(true) & metal::bool4(false);
|
||||
}
|
||||
|
||||
void arithmetic(
|
||||
) {
|
||||
metal::int2 unnamed_19 = -metal::int2(1);
|
||||
metal::float2 unnamed_20 = -metal::float2(1.0);
|
||||
int unnamed_21 = 2 + 1;
|
||||
uint unnamed_22 = 2u + 1u;
|
||||
float unnamed_23 = 2.0 + 1.0;
|
||||
metal::int2 unnamed_24 = metal::int2(2) + metal::int2(1);
|
||||
metal::uint3 unnamed_25 = metal::uint3(2u) + metal::uint3(1u);
|
||||
metal::float4 unnamed_26 = metal::float4(2.0) + metal::float4(1.0);
|
||||
int unnamed_27 = 2 - 1;
|
||||
uint unnamed_28 = 2u - 1u;
|
||||
float unnamed_29 = 2.0 - 1.0;
|
||||
metal::int2 unnamed_30 = metal::int2(2) - metal::int2(1);
|
||||
metal::uint3 unnamed_31 = metal::uint3(2u) - metal::uint3(1u);
|
||||
metal::float4 unnamed_32 = metal::float4(2.0) - metal::float4(1.0);
|
||||
int unnamed_33 = 2 * 1;
|
||||
uint unnamed_34 = 2u * 1u;
|
||||
float unnamed_35 = 2.0 * 1.0;
|
||||
metal::int2 unnamed_36 = metal::int2(2) * metal::int2(1);
|
||||
metal::uint3 unnamed_37 = metal::uint3(2u) * metal::uint3(1u);
|
||||
metal::float4 unnamed_38 = metal::float4(2.0) * metal::float4(1.0);
|
||||
int unnamed_39 = 2 / 1;
|
||||
uint unnamed_40 = 2u / 1u;
|
||||
float unnamed_41 = 2.0 / 1.0;
|
||||
metal::int2 unnamed_42 = metal::int2(2) / metal::int2(1);
|
||||
metal::uint3 unnamed_43 = metal::uint3(2u) / metal::uint3(1u);
|
||||
metal::float4 unnamed_44 = metal::float4(2.0) / metal::float4(1.0);
|
||||
int unnamed_45 = 2 % 1;
|
||||
uint unnamed_46 = 2u % 1u;
|
||||
float unnamed_47 = metal::fmod(2.0, 1.0);
|
||||
metal::int2 unnamed_48 = metal::int2(2) % metal::int2(1);
|
||||
metal::uint3 unnamed_49 = metal::uint3(2u) % metal::uint3(1u);
|
||||
metal::float4 unnamed_50 = metal::fmod(metal::float4(2.0), metal::float4(1.0));
|
||||
metal::int2 unnamed_51 = metal::int2(2) + metal::int2(1);
|
||||
metal::int2 unnamed_52 = metal::int2(2) + metal::int2(1);
|
||||
metal::uint2 unnamed_53 = metal::uint2(2u) + metal::uint2(1u);
|
||||
metal::uint2 unnamed_54 = metal::uint2(2u) + metal::uint2(1u);
|
||||
metal::float2 unnamed_55 = metal::float2(2.0) + metal::float2(1.0);
|
||||
metal::float2 unnamed_56 = metal::float2(2.0) + metal::float2(1.0);
|
||||
metal::int2 unnamed_57 = metal::int2(2) - metal::int2(1);
|
||||
metal::int2 unnamed_58 = metal::int2(2) - metal::int2(1);
|
||||
metal::uint2 unnamed_59 = metal::uint2(2u) - metal::uint2(1u);
|
||||
metal::uint2 unnamed_60 = metal::uint2(2u) - metal::uint2(1u);
|
||||
metal::float2 unnamed_61 = metal::float2(2.0) - metal::float2(1.0);
|
||||
metal::float2 unnamed_62 = metal::float2(2.0) - metal::float2(1.0);
|
||||
metal::int2 unnamed_63 = metal::int2(2) * 1;
|
||||
metal::int2 unnamed_64 = 2 * metal::int2(1);
|
||||
metal::uint2 unnamed_65 = metal::uint2(2u) * 1u;
|
||||
metal::uint2 unnamed_66 = 2u * metal::uint2(1u);
|
||||
metal::float2 unnamed_67 = metal::float2(2.0) * 1.0;
|
||||
metal::float2 unnamed_68 = 2.0 * metal::float2(1.0);
|
||||
metal::int2 unnamed_69 = metal::int2(2) / metal::int2(1);
|
||||
metal::int2 unnamed_70 = metal::int2(2) / metal::int2(1);
|
||||
metal::uint2 unnamed_71 = metal::uint2(2u) / metal::uint2(1u);
|
||||
metal::uint2 unnamed_72 = metal::uint2(2u) / metal::uint2(1u);
|
||||
metal::float2 unnamed_73 = metal::float2(2.0) / metal::float2(1.0);
|
||||
metal::float2 unnamed_74 = metal::float2(2.0) / metal::float2(1.0);
|
||||
metal::int2 unnamed_75 = metal::int2(2) % metal::int2(1);
|
||||
metal::int2 unnamed_76 = metal::int2(2) % metal::int2(1);
|
||||
metal::uint2 unnamed_77 = metal::uint2(2u) % metal::uint2(1u);
|
||||
metal::uint2 unnamed_78 = metal::uint2(2u) % metal::uint2(1u);
|
||||
metal::float2 unnamed_79 = metal::fmod(metal::float2(2.0), metal::float2(1.0));
|
||||
metal::float2 unnamed_80 = metal::fmod(metal::float2(2.0), metal::float2(1.0));
|
||||
metal::float3x3 unnamed_81 = const_type_14_ + const_type_14_;
|
||||
metal::float3x3 unnamed_82 = const_type_14_ - const_type_14_;
|
||||
metal::float3x3 unnamed_83 = const_type_14_ * 1.0;
|
||||
metal::float3x3 unnamed_84 = 2.0 * const_type_14_;
|
||||
metal::float3 unnamed_85 = const_type_15_ * metal::float4(1.0);
|
||||
metal::float4 unnamed_86 = metal::float3(2.0) * const_type_15_;
|
||||
metal::float3x3 unnamed_87 = const_type_15_ * const_type_16_;
|
||||
metal::int2 unnamed_11 = -metal::int2(1);
|
||||
metal::float2 unnamed_12 = -metal::float2(1.0);
|
||||
int unnamed_13 = 2 + 1;
|
||||
uint unnamed_14 = 2u + 1u;
|
||||
float unnamed_15 = 2.0 + 1.0;
|
||||
metal::int2 unnamed_16 = metal::int2(2) + metal::int2(1);
|
||||
metal::uint3 unnamed_17 = metal::uint3(2u) + metal::uint3(1u);
|
||||
metal::float4 unnamed_18 = metal::float4(2.0) + metal::float4(1.0);
|
||||
int unnamed_19 = 2 - 1;
|
||||
uint unnamed_20 = 2u - 1u;
|
||||
float unnamed_21 = 2.0 - 1.0;
|
||||
metal::int2 unnamed_22 = metal::int2(2) - metal::int2(1);
|
||||
metal::uint3 unnamed_23 = metal::uint3(2u) - metal::uint3(1u);
|
||||
metal::float4 unnamed_24 = metal::float4(2.0) - metal::float4(1.0);
|
||||
int unnamed_25 = 2 * 1;
|
||||
uint unnamed_26 = 2u * 1u;
|
||||
float unnamed_27 = 2.0 * 1.0;
|
||||
metal::int2 unnamed_28 = metal::int2(2) * metal::int2(1);
|
||||
metal::uint3 unnamed_29 = metal::uint3(2u) * metal::uint3(1u);
|
||||
metal::float4 unnamed_30 = metal::float4(2.0) * metal::float4(1.0);
|
||||
int unnamed_31 = 2 / 1;
|
||||
uint unnamed_32 = 2u / 1u;
|
||||
float unnamed_33 = 2.0 / 1.0;
|
||||
metal::int2 unnamed_34 = metal::int2(2) / metal::int2(1);
|
||||
metal::uint3 unnamed_35 = metal::uint3(2u) / metal::uint3(1u);
|
||||
metal::float4 unnamed_36 = metal::float4(2.0) / metal::float4(1.0);
|
||||
int unnamed_37 = 2 % 1;
|
||||
uint unnamed_38 = 2u % 1u;
|
||||
float unnamed_39 = metal::fmod(2.0, 1.0);
|
||||
metal::int2 unnamed_40 = metal::int2(2) % metal::int2(1);
|
||||
metal::uint3 unnamed_41 = metal::uint3(2u) % metal::uint3(1u);
|
||||
metal::float4 unnamed_42 = metal::fmod(metal::float4(2.0), metal::float4(1.0));
|
||||
metal::int2 unnamed_43 = metal::int2(2) + metal::int2(1);
|
||||
metal::int2 unnamed_44 = metal::int2(2) + metal::int2(1);
|
||||
metal::uint2 unnamed_45 = metal::uint2(2u) + metal::uint2(1u);
|
||||
metal::uint2 unnamed_46 = metal::uint2(2u) + metal::uint2(1u);
|
||||
metal::float2 unnamed_47 = metal::float2(2.0) + metal::float2(1.0);
|
||||
metal::float2 unnamed_48 = metal::float2(2.0) + metal::float2(1.0);
|
||||
metal::int2 unnamed_49 = metal::int2(2) - metal::int2(1);
|
||||
metal::int2 unnamed_50 = metal::int2(2) - metal::int2(1);
|
||||
metal::uint2 unnamed_51 = metal::uint2(2u) - metal::uint2(1u);
|
||||
metal::uint2 unnamed_52 = metal::uint2(2u) - metal::uint2(1u);
|
||||
metal::float2 unnamed_53 = metal::float2(2.0) - metal::float2(1.0);
|
||||
metal::float2 unnamed_54 = metal::float2(2.0) - metal::float2(1.0);
|
||||
metal::int2 unnamed_55 = metal::int2(2) * 1;
|
||||
metal::int2 unnamed_56 = 2 * metal::int2(1);
|
||||
metal::uint2 unnamed_57 = metal::uint2(2u) * 1u;
|
||||
metal::uint2 unnamed_58 = 2u * metal::uint2(1u);
|
||||
metal::float2 unnamed_59 = metal::float2(2.0) * 1.0;
|
||||
metal::float2 unnamed_60 = 2.0 * metal::float2(1.0);
|
||||
metal::int2 unnamed_61 = metal::int2(2) / metal::int2(1);
|
||||
metal::int2 unnamed_62 = metal::int2(2) / metal::int2(1);
|
||||
metal::uint2 unnamed_63 = metal::uint2(2u) / metal::uint2(1u);
|
||||
metal::uint2 unnamed_64 = metal::uint2(2u) / metal::uint2(1u);
|
||||
metal::float2 unnamed_65 = metal::float2(2.0) / metal::float2(1.0);
|
||||
metal::float2 unnamed_66 = metal::float2(2.0) / metal::float2(1.0);
|
||||
metal::int2 unnamed_67 = metal::int2(2) % metal::int2(1);
|
||||
metal::int2 unnamed_68 = metal::int2(2) % metal::int2(1);
|
||||
metal::uint2 unnamed_69 = metal::uint2(2u) % metal::uint2(1u);
|
||||
metal::uint2 unnamed_70 = metal::uint2(2u) % metal::uint2(1u);
|
||||
metal::float2 unnamed_71 = metal::fmod(metal::float2(2.0), metal::float2(1.0));
|
||||
metal::float2 unnamed_72 = metal::fmod(metal::float2(2.0), metal::float2(1.0));
|
||||
metal::float3x3 unnamed_73 = const_type_14_ + const_type_14_;
|
||||
metal::float3x3 unnamed_74 = const_type_14_ - const_type_14_;
|
||||
metal::float3x3 unnamed_75 = const_type_14_ * 1.0;
|
||||
metal::float3x3 unnamed_76 = 2.0 * const_type_14_;
|
||||
metal::float3 unnamed_77 = const_type_15_ * metal::float4(1.0);
|
||||
metal::float4 unnamed_78 = metal::float3(2.0) * const_type_15_;
|
||||
metal::float3x3 unnamed_79 = const_type_15_ * const_type_16_;
|
||||
}
|
||||
|
||||
void bit(
|
||||
) {
|
||||
int unnamed_88 = ~1;
|
||||
uint unnamed_89 = ~1u;
|
||||
metal::int2 unnamed_90 = ~metal::int2(1);
|
||||
metal::uint3 unnamed_91 = ~metal::uint3(1u);
|
||||
int unnamed_92 = 2 | 1;
|
||||
uint unnamed_93 = 2u | 1u;
|
||||
metal::int2 unnamed_94 = metal::int2(2) | metal::int2(1);
|
||||
metal::uint3 unnamed_95 = metal::uint3(2u) | metal::uint3(1u);
|
||||
int unnamed_96 = 2 & 1;
|
||||
uint unnamed_97 = 2u & 1u;
|
||||
metal::int2 unnamed_98 = metal::int2(2) & metal::int2(1);
|
||||
metal::uint3 unnamed_99 = metal::uint3(2u) & metal::uint3(1u);
|
||||
int unnamed_100 = 2 ^ 1;
|
||||
uint unnamed_101 = 2u ^ 1u;
|
||||
metal::int2 unnamed_102 = metal::int2(2) ^ metal::int2(1);
|
||||
metal::uint3 unnamed_103 = metal::uint3(2u) ^ metal::uint3(1u);
|
||||
int unnamed_104 = 2 << 1u;
|
||||
uint unnamed_105 = 2u << 1u;
|
||||
metal::int2 unnamed_106 = metal::int2(2) << metal::uint2(1u);
|
||||
metal::uint3 unnamed_107 = metal::uint3(2u) << metal::uint3(1u);
|
||||
int unnamed_108 = 2 >> 1u;
|
||||
uint unnamed_109 = 2u >> 1u;
|
||||
metal::int2 unnamed_110 = metal::int2(2) >> metal::uint2(1u);
|
||||
metal::uint3 unnamed_111 = metal::uint3(2u) >> metal::uint3(1u);
|
||||
int unnamed_80 = ~1;
|
||||
uint unnamed_81 = ~1u;
|
||||
metal::int2 unnamed_82 = ~metal::int2(1);
|
||||
metal::uint3 unnamed_83 = ~metal::uint3(1u);
|
||||
int unnamed_84 = 2 | 1;
|
||||
uint unnamed_85 = 2u | 1u;
|
||||
metal::int2 unnamed_86 = metal::int2(2) | metal::int2(1);
|
||||
metal::uint3 unnamed_87 = metal::uint3(2u) | metal::uint3(1u);
|
||||
int unnamed_88 = 2 & 1;
|
||||
uint unnamed_89 = 2u & 1u;
|
||||
metal::int2 unnamed_90 = metal::int2(2) & metal::int2(1);
|
||||
metal::uint3 unnamed_91 = metal::uint3(2u) & metal::uint3(1u);
|
||||
int unnamed_92 = 2 ^ 1;
|
||||
uint unnamed_93 = 2u ^ 1u;
|
||||
metal::int2 unnamed_94 = metal::int2(2) ^ metal::int2(1);
|
||||
metal::uint3 unnamed_95 = metal::uint3(2u) ^ metal::uint3(1u);
|
||||
int unnamed_96 = 2 << 1u;
|
||||
uint unnamed_97 = 2u << 1u;
|
||||
metal::int2 unnamed_98 = metal::int2(2) << metal::uint2(1u);
|
||||
metal::uint3 unnamed_99 = metal::uint3(2u) << metal::uint3(1u);
|
||||
int unnamed_100 = 2 >> 1u;
|
||||
uint unnamed_101 = 2u >> 1u;
|
||||
metal::int2 unnamed_102 = metal::int2(2) >> metal::uint2(1u);
|
||||
metal::uint3 unnamed_103 = metal::uint3(2u) >> metal::uint3(1u);
|
||||
}
|
||||
|
||||
void comparison(
|
||||
) {
|
||||
bool unnamed_112 = 2 == 1;
|
||||
bool unnamed_113 = 2u == 1u;
|
||||
bool unnamed_114 = 2.0 == 1.0;
|
||||
metal::bool2 unnamed_115 = metal::int2(2) == metal::int2(1);
|
||||
metal::bool3 unnamed_116 = metal::uint3(2u) == metal::uint3(1u);
|
||||
metal::bool4 unnamed_117 = metal::float4(2.0) == metal::float4(1.0);
|
||||
bool unnamed_118 = 2 != 1;
|
||||
bool unnamed_119 = 2u != 1u;
|
||||
bool unnamed_120 = 2.0 != 1.0;
|
||||
metal::bool2 unnamed_121 = metal::int2(2) != metal::int2(1);
|
||||
metal::bool3 unnamed_122 = metal::uint3(2u) != metal::uint3(1u);
|
||||
metal::bool4 unnamed_123 = metal::float4(2.0) != metal::float4(1.0);
|
||||
bool unnamed_124 = 2 < 1;
|
||||
bool unnamed_125 = 2u < 1u;
|
||||
bool unnamed_126 = 2.0 < 1.0;
|
||||
metal::bool2 unnamed_127 = metal::int2(2) < metal::int2(1);
|
||||
metal::bool3 unnamed_128 = metal::uint3(2u) < metal::uint3(1u);
|
||||
metal::bool4 unnamed_129 = metal::float4(2.0) < metal::float4(1.0);
|
||||
bool unnamed_130 = 2 <= 1;
|
||||
bool unnamed_131 = 2u <= 1u;
|
||||
bool unnamed_132 = 2.0 <= 1.0;
|
||||
metal::bool2 unnamed_133 = metal::int2(2) <= metal::int2(1);
|
||||
metal::bool3 unnamed_134 = metal::uint3(2u) <= metal::uint3(1u);
|
||||
metal::bool4 unnamed_135 = metal::float4(2.0) <= metal::float4(1.0);
|
||||
bool unnamed_136 = 2 > 1;
|
||||
bool unnamed_137 = 2u > 1u;
|
||||
bool unnamed_138 = 2.0 > 1.0;
|
||||
metal::bool2 unnamed_139 = metal::int2(2) > metal::int2(1);
|
||||
metal::bool3 unnamed_140 = metal::uint3(2u) > metal::uint3(1u);
|
||||
metal::bool4 unnamed_141 = metal::float4(2.0) > metal::float4(1.0);
|
||||
bool unnamed_142 = 2 >= 1;
|
||||
bool unnamed_143 = 2u >= 1u;
|
||||
bool unnamed_144 = 2.0 >= 1.0;
|
||||
metal::bool2 unnamed_145 = metal::int2(2) >= metal::int2(1);
|
||||
metal::bool3 unnamed_146 = metal::uint3(2u) >= metal::uint3(1u);
|
||||
metal::bool4 unnamed_147 = metal::float4(2.0) >= metal::float4(1.0);
|
||||
bool unnamed_104 = 2 == 1;
|
||||
bool unnamed_105 = 2u == 1u;
|
||||
bool unnamed_106 = 2.0 == 1.0;
|
||||
metal::bool2 unnamed_107 = metal::int2(2) == metal::int2(1);
|
||||
metal::bool3 unnamed_108 = metal::uint3(2u) == metal::uint3(1u);
|
||||
metal::bool4 unnamed_109 = metal::float4(2.0) == metal::float4(1.0);
|
||||
bool unnamed_110 = 2 != 1;
|
||||
bool unnamed_111 = 2u != 1u;
|
||||
bool unnamed_112 = 2.0 != 1.0;
|
||||
metal::bool2 unnamed_113 = metal::int2(2) != metal::int2(1);
|
||||
metal::bool3 unnamed_114 = metal::uint3(2u) != metal::uint3(1u);
|
||||
metal::bool4 unnamed_115 = metal::float4(2.0) != metal::float4(1.0);
|
||||
bool unnamed_116 = 2 < 1;
|
||||
bool unnamed_117 = 2u < 1u;
|
||||
bool unnamed_118 = 2.0 < 1.0;
|
||||
metal::bool2 unnamed_119 = metal::int2(2) < metal::int2(1);
|
||||
metal::bool3 unnamed_120 = metal::uint3(2u) < metal::uint3(1u);
|
||||
metal::bool4 unnamed_121 = metal::float4(2.0) < metal::float4(1.0);
|
||||
bool unnamed_122 = 2 <= 1;
|
||||
bool unnamed_123 = 2u <= 1u;
|
||||
bool unnamed_124 = 2.0 <= 1.0;
|
||||
metal::bool2 unnamed_125 = metal::int2(2) <= metal::int2(1);
|
||||
metal::bool3 unnamed_126 = metal::uint3(2u) <= metal::uint3(1u);
|
||||
metal::bool4 unnamed_127 = metal::float4(2.0) <= metal::float4(1.0);
|
||||
bool unnamed_128 = 2 > 1;
|
||||
bool unnamed_129 = 2u > 1u;
|
||||
bool unnamed_130 = 2.0 > 1.0;
|
||||
metal::bool2 unnamed_131 = metal::int2(2) > metal::int2(1);
|
||||
metal::bool3 unnamed_132 = metal::uint3(2u) > metal::uint3(1u);
|
||||
metal::bool4 unnamed_133 = metal::float4(2.0) > metal::float4(1.0);
|
||||
bool unnamed_134 = 2 >= 1;
|
||||
bool unnamed_135 = 2u >= 1u;
|
||||
bool unnamed_136 = 2.0 >= 1.0;
|
||||
metal::bool2 unnamed_137 = metal::int2(2) >= metal::int2(1);
|
||||
metal::bool3 unnamed_138 = metal::uint3(2u) >= metal::uint3(1u);
|
||||
metal::bool4 unnamed_139 = metal::float4(2.0) >= metal::float4(1.0);
|
||||
}
|
||||
|
||||
void assignment(
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
; SPIR-V
|
||||
; Version: 1.1
|
||||
; Generator: rspirv
|
||||
; Bound: 227
|
||||
; Bound: 218
|
||||
OpCapability Shader
|
||||
OpExtension "SPV_KHR_storage_buffer_storage_class"
|
||||
%1 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %150 "foo_vert" %145 %148
|
||||
OpEntryPoint Fragment %187 "foo_frag" %186
|
||||
OpEntryPoint GLCompute %204 "atomics"
|
||||
OpExecutionMode %187 OriginUpperLeft
|
||||
OpExecutionMode %204 LocalSize 1 1 1
|
||||
OpEntryPoint Vertex %141 "foo_vert" %136 %139
|
||||
OpEntryPoint Fragment %178 "foo_frag" %177
|
||||
OpEntryPoint GLCompute %195 "atomics"
|
||||
OpExecutionMode %178 OriginUpperLeft
|
||||
OpExecutionMode %195 LocalSize 1 1 1
|
||||
OpSource GLSL 450
|
||||
OpMemberName %32 0 "value"
|
||||
OpName %32 "AlignedWrapper"
|
||||
@@ -25,27 +25,19 @@ OpName %43 "Baz"
|
||||
OpName %52 "bar"
|
||||
OpName %54 "baz"
|
||||
OpName %57 "idx"
|
||||
OpName %59 "_"
|
||||
OpName %61 "_"
|
||||
OpName %63 "_"
|
||||
OpName %64 "_"
|
||||
OpName %65 "_"
|
||||
OpName %66 "_"
|
||||
OpName %67 "_"
|
||||
OpName %68 "t"
|
||||
OpName %71 "test_matrix_within_struct_accesses"
|
||||
OpName %128 "foo"
|
||||
OpName %129 "read_from_private"
|
||||
OpName %134 "a"
|
||||
OpName %135 "test_arr_as_arg"
|
||||
OpName %140 "foo"
|
||||
OpName %141 "c"
|
||||
OpName %143 "_"
|
||||
OpName %145 "vi"
|
||||
OpName %150 "foo_vert"
|
||||
OpName %187 "foo_frag"
|
||||
OpName %202 "tmp"
|
||||
OpName %204 "atomics"
|
||||
OpName %59 "t"
|
||||
OpName %62 "test_matrix_within_struct_accesses"
|
||||
OpName %120 "foo"
|
||||
OpName %121 "read_from_private"
|
||||
OpName %126 "a"
|
||||
OpName %127 "test_arr_as_arg"
|
||||
OpName %132 "foo"
|
||||
OpName %133 "c"
|
||||
OpName %136 "vi"
|
||||
OpName %141 "foo_vert"
|
||||
OpName %178 "foo_frag"
|
||||
OpName %193 "tmp"
|
||||
OpName %195 "atomics"
|
||||
OpMemberDecorate %32 0 Offset 0
|
||||
OpDecorate %37 ArrayStride 16
|
||||
OpDecorate %39 ArrayStride 8
|
||||
@@ -72,9 +64,9 @@ OpDecorate %54 DescriptorSet 0
|
||||
OpDecorate %54 Binding 1
|
||||
OpDecorate %55 Block
|
||||
OpMemberDecorate %55 0 Offset 0
|
||||
OpDecorate %145 BuiltIn VertexIndex
|
||||
OpDecorate %148 BuiltIn Position
|
||||
OpDecorate %186 Location 0
|
||||
OpDecorate %136 BuiltIn VertexIndex
|
||||
OpDecorate %139 BuiltIn Position
|
||||
OpDecorate %177 Location 0
|
||||
%2 = OpTypeVoid
|
||||
%4 = OpTypeInt 32 1
|
||||
%3 = OpConstant %4 2
|
||||
@@ -131,226 +123,209 @@ OpDecorate %186 Location 0
|
||||
%56 = OpTypePointer Uniform %55
|
||||
%54 = OpVariable %56 Uniform
|
||||
%58 = OpTypePointer Function %4
|
||||
%60 = OpTypePointer Function %42
|
||||
%62 = OpTypePointer Function %36
|
||||
%69 = OpTypePointer Function %43
|
||||
%72 = OpTypeFunction %2
|
||||
%73 = OpTypePointer Uniform %43
|
||||
%78 = OpTypePointer Uniform %42
|
||||
%81 = OpTypePointer Uniform %36
|
||||
%87 = OpTypePointer Uniform %9
|
||||
%112 = OpTypePointer Function %36
|
||||
%118 = OpTypePointer Function %9
|
||||
%130 = OpTypeFunction %9 %44
|
||||
%136 = OpTypeFunction %9 %46
|
||||
%142 = OpTypePointer Function %49
|
||||
%146 = OpTypePointer Input %26
|
||||
%145 = OpVariable %146 Input
|
||||
%149 = OpTypePointer Output %47
|
||||
%148 = OpVariable %149 Output
|
||||
%155 = OpTypePointer StorageBuffer %33
|
||||
%158 = OpTypePointer StorageBuffer %39
|
||||
%161 = OpTypePointer StorageBuffer %34
|
||||
%162 = OpTypePointer StorageBuffer %9
|
||||
%165 = OpTypePointer StorageBuffer %40
|
||||
%168 = OpTypePointer StorageBuffer %32
|
||||
%169 = OpConstant %26 4
|
||||
%180 = OpTypeVector %4 4
|
||||
%186 = OpVariable %149 Output
|
||||
%206 = OpTypePointer StorageBuffer %4
|
||||
%209 = OpConstant %26 64
|
||||
%71 = OpFunction %2 None %72
|
||||
%70 = OpLabel
|
||||
%66 = OpVariable %44 Function
|
||||
%63 = OpVariable %62 Function
|
||||
%60 = OpTypePointer Function %43
|
||||
%63 = OpTypeFunction %2
|
||||
%64 = OpTypePointer Uniform %43
|
||||
%69 = OpTypePointer Uniform %42
|
||||
%72 = OpTypePointer Uniform %36
|
||||
%78 = OpTypePointer Uniform %9
|
||||
%98 = OpTypePointer Function %42
|
||||
%104 = OpTypePointer Function %36
|
||||
%110 = OpTypePointer Function %9
|
||||
%122 = OpTypeFunction %9 %44
|
||||
%128 = OpTypeFunction %9 %46
|
||||
%134 = OpTypePointer Function %49
|
||||
%137 = OpTypePointer Input %26
|
||||
%136 = OpVariable %137 Input
|
||||
%140 = OpTypePointer Output %47
|
||||
%139 = OpVariable %140 Output
|
||||
%146 = OpTypePointer StorageBuffer %33
|
||||
%149 = OpTypePointer StorageBuffer %39
|
||||
%152 = OpTypePointer StorageBuffer %34
|
||||
%153 = OpTypePointer StorageBuffer %9
|
||||
%156 = OpTypePointer StorageBuffer %40
|
||||
%159 = OpTypePointer StorageBuffer %32
|
||||
%160 = OpConstant %26 4
|
||||
%171 = OpTypeVector %4 4
|
||||
%177 = OpVariable %140 Output
|
||||
%197 = OpTypePointer StorageBuffer %4
|
||||
%200 = OpConstant %26 64
|
||||
%62 = OpFunction %2 None %63
|
||||
%61 = OpLabel
|
||||
%57 = OpVariable %58 Function %5
|
||||
%67 = OpVariable %44 Function
|
||||
%64 = OpVariable %44 Function
|
||||
%59 = OpVariable %60 Function
|
||||
%68 = OpVariable %69 Function
|
||||
%65 = OpVariable %44 Function
|
||||
%61 = OpVariable %62 Function
|
||||
%74 = OpAccessChain %73 %54 %31
|
||||
OpBranch %75
|
||||
%75 = OpLabel
|
||||
%76 = OpLoad %4 %57
|
||||
%77 = OpISub %4 %76 %6
|
||||
OpStore %57 %77
|
||||
%79 = OpAccessChain %78 %74 %31
|
||||
%80 = OpLoad %42 %79
|
||||
OpStore %59 %80
|
||||
%82 = OpAccessChain %81 %74 %31 %31
|
||||
%83 = OpLoad %36 %82
|
||||
OpStore %61 %83
|
||||
%65 = OpAccessChain %64 %54 %31
|
||||
OpBranch %66
|
||||
%66 = OpLabel
|
||||
%67 = OpLoad %4 %57
|
||||
%68 = OpISub %4 %67 %6
|
||||
OpStore %57 %68
|
||||
%70 = OpAccessChain %69 %65 %31
|
||||
%71 = OpLoad %42 %70
|
||||
%73 = OpAccessChain %72 %65 %31 %31
|
||||
%74 = OpLoad %36 %73
|
||||
%75 = OpLoad %4 %57
|
||||
%76 = OpAccessChain %72 %65 %31 %75
|
||||
%77 = OpLoad %36 %76
|
||||
%79 = OpAccessChain %78 %65 %31 %31 %29
|
||||
%80 = OpLoad %9 %79
|
||||
%81 = OpLoad %4 %57
|
||||
%82 = OpAccessChain %78 %65 %31 %31 %81
|
||||
%83 = OpLoad %9 %82
|
||||
%84 = OpLoad %4 %57
|
||||
%85 = OpAccessChain %81 %74 %31 %84
|
||||
%86 = OpLoad %36 %85
|
||||
OpStore %63 %86
|
||||
%88 = OpAccessChain %87 %74 %31 %31 %29
|
||||
%89 = OpLoad %9 %88
|
||||
OpStore %64 %89
|
||||
%90 = OpLoad %4 %57
|
||||
%91 = OpAccessChain %87 %74 %31 %31 %90
|
||||
%92 = OpLoad %9 %91
|
||||
OpStore %65 %92
|
||||
%93 = OpLoad %4 %57
|
||||
%94 = OpAccessChain %87 %74 %31 %93 %29
|
||||
%95 = OpLoad %9 %94
|
||||
OpStore %66 %95
|
||||
%85 = OpAccessChain %78 %65 %31 %84 %29
|
||||
%86 = OpLoad %9 %85
|
||||
%87 = OpLoad %4 %57
|
||||
%88 = OpLoad %4 %57
|
||||
%89 = OpAccessChain %78 %65 %31 %87 %88
|
||||
%90 = OpLoad %9 %89
|
||||
%91 = OpCompositeConstruct %36 %8 %8
|
||||
%92 = OpCompositeConstruct %36 %10 %10
|
||||
%93 = OpCompositeConstruct %36 %11 %11
|
||||
%94 = OpCompositeConstruct %42 %91 %92 %93
|
||||
%95 = OpCompositeConstruct %43 %94
|
||||
OpStore %59 %95
|
||||
%96 = OpLoad %4 %57
|
||||
%97 = OpLoad %4 %57
|
||||
%98 = OpAccessChain %87 %74 %31 %96 %97
|
||||
%99 = OpLoad %9 %98
|
||||
OpStore %67 %99
|
||||
%100 = OpCompositeConstruct %36 %8 %8
|
||||
%101 = OpCompositeConstruct %36 %10 %10
|
||||
%102 = OpCompositeConstruct %36 %11 %11
|
||||
%103 = OpCompositeConstruct %42 %100 %101 %102
|
||||
%104 = OpCompositeConstruct %43 %103
|
||||
OpStore %68 %104
|
||||
%105 = OpLoad %4 %57
|
||||
%106 = OpIAdd %4 %105 %6
|
||||
OpStore %57 %106
|
||||
%107 = OpCompositeConstruct %36 %12 %12
|
||||
%108 = OpCompositeConstruct %36 %13 %13
|
||||
%109 = OpCompositeConstruct %36 %14 %14
|
||||
%110 = OpCompositeConstruct %42 %107 %108 %109
|
||||
%111 = OpAccessChain %60 %68 %31
|
||||
OpStore %111 %110
|
||||
%113 = OpCompositeConstruct %36 %15 %15
|
||||
%114 = OpAccessChain %112 %68 %31 %31
|
||||
OpStore %114 %113
|
||||
%115 = OpLoad %4 %57
|
||||
%116 = OpCompositeConstruct %36 %16 %16
|
||||
%117 = OpAccessChain %112 %68 %31 %115
|
||||
OpStore %117 %116
|
||||
%119 = OpAccessChain %118 %68 %31 %31 %29
|
||||
OpStore %119 %17
|
||||
%120 = OpLoad %4 %57
|
||||
%121 = OpAccessChain %118 %68 %31 %31 %120
|
||||
OpStore %121 %18
|
||||
%122 = OpLoad %4 %57
|
||||
%123 = OpAccessChain %118 %68 %31 %122 %29
|
||||
OpStore %123 %19
|
||||
%124 = OpLoad %4 %57
|
||||
%125 = OpLoad %4 %57
|
||||
%126 = OpAccessChain %118 %68 %31 %124 %125
|
||||
OpStore %126 %20
|
||||
%97 = OpIAdd %4 %96 %6
|
||||
OpStore %57 %97
|
||||
%99 = OpCompositeConstruct %36 %12 %12
|
||||
%100 = OpCompositeConstruct %36 %13 %13
|
||||
%101 = OpCompositeConstruct %36 %14 %14
|
||||
%102 = OpCompositeConstruct %42 %99 %100 %101
|
||||
%103 = OpAccessChain %98 %59 %31
|
||||
OpStore %103 %102
|
||||
%105 = OpCompositeConstruct %36 %15 %15
|
||||
%106 = OpAccessChain %104 %59 %31 %31
|
||||
OpStore %106 %105
|
||||
%107 = OpLoad %4 %57
|
||||
%108 = OpCompositeConstruct %36 %16 %16
|
||||
%109 = OpAccessChain %104 %59 %31 %107
|
||||
OpStore %109 %108
|
||||
%111 = OpAccessChain %110 %59 %31 %31 %29
|
||||
OpStore %111 %17
|
||||
%112 = OpLoad %4 %57
|
||||
%113 = OpAccessChain %110 %59 %31 %31 %112
|
||||
OpStore %113 %18
|
||||
%114 = OpLoad %4 %57
|
||||
%115 = OpAccessChain %110 %59 %31 %114 %29
|
||||
OpStore %115 %19
|
||||
%116 = OpLoad %4 %57
|
||||
%117 = OpLoad %4 %57
|
||||
%118 = OpAccessChain %110 %59 %31 %116 %117
|
||||
OpStore %118 %20
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%129 = OpFunction %9 None %130
|
||||
%128 = OpFunctionParameter %44
|
||||
%127 = OpLabel
|
||||
OpBranch %131
|
||||
%131 = OpLabel
|
||||
%132 = OpLoad %9 %128
|
||||
OpReturnValue %132
|
||||
%121 = OpFunction %9 None %122
|
||||
%120 = OpFunctionParameter %44
|
||||
%119 = OpLabel
|
||||
OpBranch %123
|
||||
%123 = OpLabel
|
||||
%124 = OpLoad %9 %120
|
||||
OpReturnValue %124
|
||||
OpFunctionEnd
|
||||
%135 = OpFunction %9 None %136
|
||||
%134 = OpFunctionParameter %46
|
||||
%133 = OpLabel
|
||||
OpBranch %137
|
||||
%137 = OpLabel
|
||||
%138 = OpCompositeExtract %45 %134 4
|
||||
%139 = OpCompositeExtract %9 %138 9
|
||||
OpReturnValue %139
|
||||
%127 = OpFunction %9 None %128
|
||||
%126 = OpFunctionParameter %46
|
||||
%125 = OpLabel
|
||||
OpBranch %129
|
||||
%129 = OpLabel
|
||||
%130 = OpCompositeExtract %45 %126 4
|
||||
%131 = OpCompositeExtract %9 %130 9
|
||||
OpReturnValue %131
|
||||
OpFunctionEnd
|
||||
%150 = OpFunction %2 None %72
|
||||
%144 = OpLabel
|
||||
%140 = OpVariable %44 Function %24
|
||||
%141 = OpVariable %142 Function
|
||||
%143 = OpVariable %44 Function
|
||||
%147 = OpLoad %26 %145
|
||||
%151 = OpAccessChain %73 %54 %31
|
||||
OpBranch %152
|
||||
%152 = OpLabel
|
||||
%153 = OpLoad %9 %140
|
||||
OpStore %140 %8
|
||||
%154 = OpFunctionCall %2 %71
|
||||
%156 = OpAccessChain %155 %52 %31
|
||||
%157 = OpLoad %33 %156
|
||||
%159 = OpAccessChain %158 %52 %25
|
||||
%160 = OpLoad %39 %159
|
||||
%163 = OpAccessChain %162 %52 %31 %25 %31
|
||||
%164 = OpLoad %9 %163
|
||||
%166 = OpArrayLength %26 %52 4
|
||||
%167 = OpISub %26 %166 %27
|
||||
%170 = OpAccessChain %48 %52 %169 %167 %31
|
||||
%171 = OpLoad %4 %170
|
||||
%172 = OpFunctionCall %9 %129 %140
|
||||
%173 = OpConvertFToS %4 %164
|
||||
%174 = OpCompositeConstruct %49 %171 %173 %28 %23 %22
|
||||
OpStore %141 %174
|
||||
%175 = OpIAdd %26 %147 %29
|
||||
%176 = OpAccessChain %58 %141 %175
|
||||
OpStore %176 %30
|
||||
%177 = OpAccessChain %58 %141 %147
|
||||
%178 = OpLoad %4 %177
|
||||
%179 = OpFunctionCall %9 %135 %51
|
||||
OpStore %143 %179
|
||||
%181 = OpCompositeConstruct %180 %178 %178 %178 %178
|
||||
%182 = OpConvertSToF %47 %181
|
||||
%183 = OpMatrixTimesVector %34 %157 %182
|
||||
%184 = OpCompositeConstruct %47 %183 %10
|
||||
OpStore %148 %184
|
||||
%141 = OpFunction %2 None %63
|
||||
%135 = OpLabel
|
||||
%132 = OpVariable %44 Function %24
|
||||
%133 = OpVariable %134 Function
|
||||
%138 = OpLoad %26 %136
|
||||
%142 = OpAccessChain %64 %54 %31
|
||||
OpBranch %143
|
||||
%143 = OpLabel
|
||||
%144 = OpLoad %9 %132
|
||||
OpStore %132 %8
|
||||
%145 = OpFunctionCall %2 %62
|
||||
%147 = OpAccessChain %146 %52 %31
|
||||
%148 = OpLoad %33 %147
|
||||
%150 = OpAccessChain %149 %52 %25
|
||||
%151 = OpLoad %39 %150
|
||||
%154 = OpAccessChain %153 %52 %31 %25 %31
|
||||
%155 = OpLoad %9 %154
|
||||
%157 = OpArrayLength %26 %52 4
|
||||
%158 = OpISub %26 %157 %27
|
||||
%161 = OpAccessChain %48 %52 %160 %158 %31
|
||||
%162 = OpLoad %4 %161
|
||||
%163 = OpFunctionCall %9 %121 %132
|
||||
%164 = OpConvertFToS %4 %155
|
||||
%165 = OpCompositeConstruct %49 %162 %164 %28 %23 %22
|
||||
OpStore %133 %165
|
||||
%166 = OpIAdd %26 %138 %29
|
||||
%167 = OpAccessChain %58 %133 %166
|
||||
OpStore %167 %30
|
||||
%168 = OpAccessChain %58 %133 %138
|
||||
%169 = OpLoad %4 %168
|
||||
%170 = OpFunctionCall %9 %127 %51
|
||||
%172 = OpCompositeConstruct %171 %169 %169 %169 %169
|
||||
%173 = OpConvertSToF %47 %172
|
||||
%174 = OpMatrixTimesVector %34 %148 %173
|
||||
%175 = OpCompositeConstruct %47 %174 %10
|
||||
OpStore %139 %175
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%187 = OpFunction %2 None %72
|
||||
%185 = OpLabel
|
||||
OpBranch %188
|
||||
%188 = OpLabel
|
||||
%189 = OpAccessChain %162 %52 %31 %29 %27
|
||||
OpStore %189 %8
|
||||
%190 = OpCompositeConstruct %34 %24 %24 %24
|
||||
%191 = OpCompositeConstruct %34 %8 %8 %8
|
||||
%192 = OpCompositeConstruct %34 %10 %10 %10
|
||||
%193 = OpCompositeConstruct %34 %11 %11 %11
|
||||
%194 = OpCompositeConstruct %33 %190 %191 %192 %193
|
||||
%195 = OpAccessChain %155 %52 %31
|
||||
OpStore %195 %194
|
||||
%196 = OpCompositeConstruct %38 %31 %31
|
||||
%197 = OpCompositeConstruct %38 %29 %29
|
||||
%198 = OpCompositeConstruct %39 %196 %197
|
||||
%199 = OpAccessChain %158 %52 %25
|
||||
OpStore %199 %198
|
||||
%200 = OpAccessChain %48 %52 %169 %29 %31
|
||||
OpStore %200 %6
|
||||
%201 = OpCompositeConstruct %47 %24 %24 %24 %24
|
||||
OpStore %186 %201
|
||||
%178 = OpFunction %2 None %63
|
||||
%176 = OpLabel
|
||||
OpBranch %179
|
||||
%179 = OpLabel
|
||||
%180 = OpAccessChain %153 %52 %31 %29 %27
|
||||
OpStore %180 %8
|
||||
%181 = OpCompositeConstruct %34 %24 %24 %24
|
||||
%182 = OpCompositeConstruct %34 %8 %8 %8
|
||||
%183 = OpCompositeConstruct %34 %10 %10 %10
|
||||
%184 = OpCompositeConstruct %34 %11 %11 %11
|
||||
%185 = OpCompositeConstruct %33 %181 %182 %183 %184
|
||||
%186 = OpAccessChain %146 %52 %31
|
||||
OpStore %186 %185
|
||||
%187 = OpCompositeConstruct %38 %31 %31
|
||||
%188 = OpCompositeConstruct %38 %29 %29
|
||||
%189 = OpCompositeConstruct %39 %187 %188
|
||||
%190 = OpAccessChain %149 %52 %25
|
||||
OpStore %190 %189
|
||||
%191 = OpAccessChain %48 %52 %160 %29 %31
|
||||
OpStore %191 %6
|
||||
%192 = OpCompositeConstruct %47 %24 %24 %24 %24
|
||||
OpStore %177 %192
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%204 = OpFunction %2 None %72
|
||||
%203 = OpLabel
|
||||
%202 = OpVariable %58 Function
|
||||
OpBranch %205
|
||||
%205 = OpLabel
|
||||
%207 = OpAccessChain %206 %52 %27
|
||||
%208 = OpAtomicLoad %4 %207 %6 %209
|
||||
%211 = OpAccessChain %206 %52 %27
|
||||
%210 = OpAtomicIAdd %4 %211 %6 %209 %22
|
||||
OpStore %202 %210
|
||||
%213 = OpAccessChain %206 %52 %27
|
||||
%212 = OpAtomicISub %4 %213 %6 %209 %22
|
||||
OpStore %202 %212
|
||||
%215 = OpAccessChain %206 %52 %27
|
||||
%214 = OpAtomicAnd %4 %215 %6 %209 %22
|
||||
OpStore %202 %214
|
||||
%217 = OpAccessChain %206 %52 %27
|
||||
%216 = OpAtomicOr %4 %217 %6 %209 %22
|
||||
OpStore %202 %216
|
||||
%219 = OpAccessChain %206 %52 %27
|
||||
%218 = OpAtomicXor %4 %219 %6 %209 %22
|
||||
OpStore %202 %218
|
||||
%221 = OpAccessChain %206 %52 %27
|
||||
%220 = OpAtomicSMin %4 %221 %6 %209 %22
|
||||
OpStore %202 %220
|
||||
%223 = OpAccessChain %206 %52 %27
|
||||
%222 = OpAtomicSMax %4 %223 %6 %209 %22
|
||||
OpStore %202 %222
|
||||
%225 = OpAccessChain %206 %52 %27
|
||||
%224 = OpAtomicExchange %4 %225 %6 %209 %22
|
||||
OpStore %202 %224
|
||||
%226 = OpAccessChain %206 %52 %27
|
||||
OpAtomicStore %226 %6 %209 %208
|
||||
%195 = OpFunction %2 None %63
|
||||
%194 = OpLabel
|
||||
%193 = OpVariable %58 Function
|
||||
OpBranch %196
|
||||
%196 = OpLabel
|
||||
%198 = OpAccessChain %197 %52 %27
|
||||
%199 = OpAtomicLoad %4 %198 %6 %200
|
||||
%202 = OpAccessChain %197 %52 %27
|
||||
%201 = OpAtomicIAdd %4 %202 %6 %200 %22
|
||||
OpStore %193 %201
|
||||
%204 = OpAccessChain %197 %52 %27
|
||||
%203 = OpAtomicISub %4 %204 %6 %200 %22
|
||||
OpStore %193 %203
|
||||
%206 = OpAccessChain %197 %52 %27
|
||||
%205 = OpAtomicAnd %4 %206 %6 %200 %22
|
||||
OpStore %193 %205
|
||||
%208 = OpAccessChain %197 %52 %27
|
||||
%207 = OpAtomicOr %4 %208 %6 %200 %22
|
||||
OpStore %193 %207
|
||||
%210 = OpAccessChain %197 %52 %27
|
||||
%209 = OpAtomicXor %4 %210 %6 %200 %22
|
||||
OpStore %193 %209
|
||||
%212 = OpAccessChain %197 %52 %27
|
||||
%211 = OpAtomicSMin %4 %212 %6 %200 %22
|
||||
OpStore %193 %211
|
||||
%214 = OpAccessChain %197 %52 %27
|
||||
%213 = OpAtomicSMax %4 %214 %6 %200 %22
|
||||
OpStore %193 %213
|
||||
%216 = OpAccessChain %197 %52 %27
|
||||
%215 = OpAtomicExchange %4 %216 %6 %200 %22
|
||||
OpStore %193 %215
|
||||
%217 = OpAccessChain %197 %52 %27
|
||||
OpAtomicStore %217 %6 %200 %199
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
@@ -1,12 +1,12 @@
|
||||
; SPIR-V
|
||||
; Version: 1.1
|
||||
; Generator: rspirv
|
||||
; Bound: 519
|
||||
; Bound: 501
|
||||
OpCapability Shader
|
||||
%1 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %507 "main"
|
||||
OpExecutionMode %507 LocalSize 1 1 1
|
||||
OpEntryPoint GLCompute %489 "main"
|
||||
OpExecutionMode %489 LocalSize 1 1 1
|
||||
OpMemberDecorate %30 0 Offset 0
|
||||
OpMemberDecorate %30 1 Offset 16
|
||||
OpDecorate %35 ArrayStride 32
|
||||
@@ -67,21 +67,14 @@ OpDecorate %36 ArrayStride 4
|
||||
%98 = OpTypeFunction %29 %29
|
||||
%100 = OpTypeVector %10 3
|
||||
%107 = OpTypePointer Function %30
|
||||
%109 = OpTypePointer Function %10
|
||||
%111 = OpTypePointer Function %8
|
||||
%113 = OpTypePointer Function %20
|
||||
%115 = OpTypePointer Function %4
|
||||
%117 = OpTypePointer Function %34
|
||||
%119 = OpTypePointer Function %32
|
||||
%121 = OpTypePointer Function %35
|
||||
%126 = OpTypePointer Function %36
|
||||
%129 = OpTypeFunction %4
|
||||
%146 = OpTypePointer Function %26
|
||||
%147 = OpTypePointer Function %4
|
||||
%152 = OpTypeFunction %2
|
||||
%155 = OpTypeVector %10 2
|
||||
%171 = OpTypeVector %8 2
|
||||
%182 = OpTypeVector %20 3
|
||||
%110 = OpTypeFunction %4
|
||||
%127 = OpTypePointer Function %26
|
||||
%128 = OpTypePointer Function %4
|
||||
%133 = OpTypeFunction %2
|
||||
%136 = OpTypeVector %10 2
|
||||
%152 = OpTypeVector %8 2
|
||||
%163 = OpTypeVector %20 3
|
||||
%458 = OpTypePointer Function %8
|
||||
%55 = OpFunction %26 None %56
|
||||
%54 = OpLabel
|
||||
OpBranch %57
|
||||
@@ -140,437 +133,423 @@ OpBranch %99
|
||||
%105 = OpSelect %29 %102 %104 %103
|
||||
OpReturnValue %105
|
||||
OpFunctionEnd
|
||||
%128 = OpFunction %4 None %129
|
||||
%127 = OpLabel
|
||||
%123 = OpVariable %117 Function
|
||||
%118 = OpVariable %119 Function %46
|
||||
%112 = OpVariable %113 Function %19
|
||||
%109 = OpFunction %4 None %110
|
||||
%108 = OpLabel
|
||||
%106 = OpVariable %107 Function
|
||||
%124 = OpVariable %119 Function
|
||||
%120 = OpVariable %121 Function %49
|
||||
%114 = OpVariable %115 Function %5
|
||||
%108 = OpVariable %109 Function %12
|
||||
%125 = OpVariable %126 Function
|
||||
%122 = OpVariable %107 Function %48
|
||||
%116 = OpVariable %117 Function %44
|
||||
%110 = OpVariable %111 Function %11
|
||||
OpBranch %130
|
||||
%130 = OpLabel
|
||||
%131 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%132 = OpCompositeConstruct %30 %131 %7
|
||||
OpStore %106 %132
|
||||
%133 = OpCompositeConstruct %31 %3 %5
|
||||
%134 = OpCompositeConstruct %31 %5 %3
|
||||
%135 = OpCompositeConstruct %32 %133 %134
|
||||
%136 = OpCompositeConstruct %26 %3 %5 %5 %5
|
||||
%137 = OpCompositeConstruct %26 %5 %3 %5 %5
|
||||
%138 = OpCompositeConstruct %26 %5 %5 %3 %5
|
||||
%139 = OpCompositeConstruct %26 %5 %5 %5 %3
|
||||
%140 = OpCompositeConstruct %33 %136 %137 %138 %139
|
||||
%141 = OpCompositeConstruct %34 %19 %19
|
||||
OpStore %123 %141
|
||||
%142 = OpCompositeConstruct %31 %5 %5
|
||||
%143 = OpCompositeConstruct %31 %5 %5
|
||||
%144 = OpCompositeConstruct %32 %142 %143
|
||||
OpStore %124 %144
|
||||
%145 = OpCompositeConstruct %36 %11 %7 %18 %21
|
||||
OpStore %125 %145
|
||||
%148 = OpAccessChain %147 %106 %19 %19
|
||||
%149 = OpLoad %4 %148
|
||||
OpReturnValue %149
|
||||
OpBranch %111
|
||||
%111 = OpLabel
|
||||
%112 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%113 = OpCompositeConstruct %30 %112 %7
|
||||
OpStore %106 %113
|
||||
%114 = OpCompositeConstruct %31 %3 %5
|
||||
%115 = OpCompositeConstruct %31 %5 %3
|
||||
%116 = OpCompositeConstruct %32 %114 %115
|
||||
%117 = OpCompositeConstruct %26 %3 %5 %5 %5
|
||||
%118 = OpCompositeConstruct %26 %5 %3 %5 %5
|
||||
%119 = OpCompositeConstruct %26 %5 %5 %3 %5
|
||||
%120 = OpCompositeConstruct %26 %5 %5 %5 %3
|
||||
%121 = OpCompositeConstruct %33 %117 %118 %119 %120
|
||||
%122 = OpCompositeConstruct %34 %19 %19
|
||||
%123 = OpCompositeConstruct %31 %5 %5
|
||||
%124 = OpCompositeConstruct %31 %5 %5
|
||||
%125 = OpCompositeConstruct %32 %123 %124
|
||||
%126 = OpCompositeConstruct %36 %11 %7 %18 %21
|
||||
%129 = OpAccessChain %128 %106 %19 %19
|
||||
%130 = OpLoad %4 %129
|
||||
OpReturnValue %130
|
||||
OpFunctionEnd
|
||||
%151 = OpFunction %2 None %152
|
||||
%150 = OpLabel
|
||||
OpBranch %153
|
||||
%153 = OpLabel
|
||||
%154 = OpLogicalNot %10 %9
|
||||
%156 = OpCompositeConstruct %155 %9 %9
|
||||
%157 = OpLogicalNot %155 %156
|
||||
%158 = OpLogicalOr %10 %9 %12
|
||||
%159 = OpLogicalAnd %10 %9 %12
|
||||
%160 = OpLogicalOr %10 %9 %12
|
||||
%161 = OpCompositeConstruct %100 %9 %9 %9
|
||||
%162 = OpCompositeConstruct %100 %12 %12 %12
|
||||
%163 = OpLogicalOr %100 %161 %162
|
||||
%164 = OpLogicalAnd %10 %9 %12
|
||||
%165 = OpCompositeConstruct %28 %9 %9 %9 %9
|
||||
%166 = OpCompositeConstruct %28 %12 %12 %12 %12
|
||||
%167 = OpLogicalAnd %28 %165 %166
|
||||
%132 = OpFunction %2 None %133
|
||||
%131 = OpLabel
|
||||
OpBranch %134
|
||||
%134 = OpLabel
|
||||
%135 = OpLogicalNot %10 %9
|
||||
%137 = OpCompositeConstruct %136 %9 %9
|
||||
%138 = OpLogicalNot %136 %137
|
||||
%139 = OpLogicalOr %10 %9 %12
|
||||
%140 = OpLogicalAnd %10 %9 %12
|
||||
%141 = OpLogicalOr %10 %9 %12
|
||||
%142 = OpCompositeConstruct %100 %9 %9 %9
|
||||
%143 = OpCompositeConstruct %100 %12 %12 %12
|
||||
%144 = OpLogicalOr %100 %142 %143
|
||||
%145 = OpLogicalAnd %10 %9 %12
|
||||
%146 = OpCompositeConstruct %28 %9 %9 %9 %9
|
||||
%147 = OpCompositeConstruct %28 %12 %12 %12 %12
|
||||
%148 = OpLogicalAnd %28 %146 %147
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%169 = OpFunction %2 None %152
|
||||
%168 = OpLabel
|
||||
OpBranch %170
|
||||
%170 = OpLabel
|
||||
%172 = OpCompositeConstruct %171 %7 %7
|
||||
%173 = OpSNegate %171 %172
|
||||
%174 = OpCompositeConstruct %31 %3 %3
|
||||
%175 = OpFNegate %31 %174
|
||||
%176 = OpIAdd %8 %18 %7
|
||||
%177 = OpIAdd %20 %24 %25
|
||||
%178 = OpFAdd %4 %14 %3
|
||||
%179 = OpCompositeConstruct %171 %18 %18
|
||||
%180 = OpCompositeConstruct %171 %7 %7
|
||||
%181 = OpIAdd %171 %179 %180
|
||||
%183 = OpCompositeConstruct %182 %24 %24 %24
|
||||
%184 = OpCompositeConstruct %182 %25 %25 %25
|
||||
%185 = OpIAdd %182 %183 %184
|
||||
%186 = OpCompositeConstruct %26 %14 %14 %14 %14
|
||||
%187 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%188 = OpFAdd %26 %186 %187
|
||||
%189 = OpISub %8 %18 %7
|
||||
%190 = OpISub %20 %24 %25
|
||||
%191 = OpFSub %4 %14 %3
|
||||
%192 = OpCompositeConstruct %171 %18 %18
|
||||
%193 = OpCompositeConstruct %171 %7 %7
|
||||
%194 = OpISub %171 %192 %193
|
||||
%195 = OpCompositeConstruct %182 %24 %24 %24
|
||||
%196 = OpCompositeConstruct %182 %25 %25 %25
|
||||
%197 = OpISub %182 %195 %196
|
||||
%198 = OpCompositeConstruct %26 %14 %14 %14 %14
|
||||
%199 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%200 = OpFSub %26 %198 %199
|
||||
%201 = OpIMul %8 %18 %7
|
||||
%202 = OpIMul %20 %24 %25
|
||||
%203 = OpFMul %4 %14 %3
|
||||
%204 = OpCompositeConstruct %171 %18 %18
|
||||
%205 = OpCompositeConstruct %171 %7 %7
|
||||
%206 = OpIMul %171 %204 %205
|
||||
%207 = OpCompositeConstruct %182 %24 %24 %24
|
||||
%208 = OpCompositeConstruct %182 %25 %25 %25
|
||||
%209 = OpIMul %182 %207 %208
|
||||
%210 = OpCompositeConstruct %26 %14 %14 %14 %14
|
||||
%211 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%212 = OpFMul %26 %210 %211
|
||||
%213 = OpSDiv %8 %18 %7
|
||||
%214 = OpUDiv %20 %24 %25
|
||||
%215 = OpFDiv %4 %14 %3
|
||||
%216 = OpCompositeConstruct %171 %18 %18
|
||||
%217 = OpCompositeConstruct %171 %7 %7
|
||||
%218 = OpSDiv %171 %216 %217
|
||||
%219 = OpCompositeConstruct %182 %24 %24 %24
|
||||
%220 = OpCompositeConstruct %182 %25 %25 %25
|
||||
%221 = OpUDiv %182 %219 %220
|
||||
%222 = OpCompositeConstruct %26 %14 %14 %14 %14
|
||||
%223 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%224 = OpFDiv %26 %222 %223
|
||||
%225 = OpSMod %8 %18 %7
|
||||
%226 = OpUMod %20 %24 %25
|
||||
%227 = OpFRem %4 %14 %3
|
||||
%228 = OpCompositeConstruct %171 %18 %18
|
||||
%229 = OpCompositeConstruct %171 %7 %7
|
||||
%230 = OpSMod %171 %228 %229
|
||||
%231 = OpCompositeConstruct %182 %24 %24 %24
|
||||
%232 = OpCompositeConstruct %182 %25 %25 %25
|
||||
%233 = OpUMod %182 %231 %232
|
||||
%234 = OpCompositeConstruct %26 %14 %14 %14 %14
|
||||
%235 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%236 = OpFRem %26 %234 %235
|
||||
%237 = OpCompositeConstruct %171 %18 %18
|
||||
%238 = OpCompositeConstruct %171 %7 %7
|
||||
%239 = OpIAdd %171 %237 %238
|
||||
%240 = OpCompositeConstruct %171 %7 %7
|
||||
%241 = OpCompositeConstruct %171 %18 %18
|
||||
%242 = OpIAdd %171 %241 %240
|
||||
%243 = OpCompositeConstruct %34 %24 %24
|
||||
%244 = OpCompositeConstruct %34 %25 %25
|
||||
%245 = OpIAdd %34 %243 %244
|
||||
%246 = OpCompositeConstruct %34 %25 %25
|
||||
%247 = OpCompositeConstruct %34 %24 %24
|
||||
%248 = OpIAdd %34 %247 %246
|
||||
%249 = OpCompositeConstruct %31 %14 %14
|
||||
%250 = OpCompositeConstruct %31 %3 %3
|
||||
%251 = OpFAdd %31 %249 %250
|
||||
%252 = OpCompositeConstruct %31 %3 %3
|
||||
%253 = OpCompositeConstruct %31 %14 %14
|
||||
%254 = OpFAdd %31 %253 %252
|
||||
%255 = OpCompositeConstruct %171 %18 %18
|
||||
%256 = OpCompositeConstruct %171 %7 %7
|
||||
%257 = OpISub %171 %255 %256
|
||||
%258 = OpCompositeConstruct %171 %7 %7
|
||||
%259 = OpCompositeConstruct %171 %18 %18
|
||||
%260 = OpISub %171 %259 %258
|
||||
%261 = OpCompositeConstruct %34 %24 %24
|
||||
%150 = OpFunction %2 None %133
|
||||
%149 = OpLabel
|
||||
OpBranch %151
|
||||
%151 = OpLabel
|
||||
%153 = OpCompositeConstruct %152 %7 %7
|
||||
%154 = OpSNegate %152 %153
|
||||
%155 = OpCompositeConstruct %31 %3 %3
|
||||
%156 = OpFNegate %31 %155
|
||||
%157 = OpIAdd %8 %18 %7
|
||||
%158 = OpIAdd %20 %24 %25
|
||||
%159 = OpFAdd %4 %14 %3
|
||||
%160 = OpCompositeConstruct %152 %18 %18
|
||||
%161 = OpCompositeConstruct %152 %7 %7
|
||||
%162 = OpIAdd %152 %160 %161
|
||||
%164 = OpCompositeConstruct %163 %24 %24 %24
|
||||
%165 = OpCompositeConstruct %163 %25 %25 %25
|
||||
%166 = OpIAdd %163 %164 %165
|
||||
%167 = OpCompositeConstruct %26 %14 %14 %14 %14
|
||||
%168 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%169 = OpFAdd %26 %167 %168
|
||||
%170 = OpISub %8 %18 %7
|
||||
%171 = OpISub %20 %24 %25
|
||||
%172 = OpFSub %4 %14 %3
|
||||
%173 = OpCompositeConstruct %152 %18 %18
|
||||
%174 = OpCompositeConstruct %152 %7 %7
|
||||
%175 = OpISub %152 %173 %174
|
||||
%176 = OpCompositeConstruct %163 %24 %24 %24
|
||||
%177 = OpCompositeConstruct %163 %25 %25 %25
|
||||
%178 = OpISub %163 %176 %177
|
||||
%179 = OpCompositeConstruct %26 %14 %14 %14 %14
|
||||
%180 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%181 = OpFSub %26 %179 %180
|
||||
%182 = OpIMul %8 %18 %7
|
||||
%183 = OpIMul %20 %24 %25
|
||||
%184 = OpFMul %4 %14 %3
|
||||
%185 = OpCompositeConstruct %152 %18 %18
|
||||
%186 = OpCompositeConstruct %152 %7 %7
|
||||
%187 = OpIMul %152 %185 %186
|
||||
%188 = OpCompositeConstruct %163 %24 %24 %24
|
||||
%189 = OpCompositeConstruct %163 %25 %25 %25
|
||||
%190 = OpIMul %163 %188 %189
|
||||
%191 = OpCompositeConstruct %26 %14 %14 %14 %14
|
||||
%192 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%193 = OpFMul %26 %191 %192
|
||||
%194 = OpSDiv %8 %18 %7
|
||||
%195 = OpUDiv %20 %24 %25
|
||||
%196 = OpFDiv %4 %14 %3
|
||||
%197 = OpCompositeConstruct %152 %18 %18
|
||||
%198 = OpCompositeConstruct %152 %7 %7
|
||||
%199 = OpSDiv %152 %197 %198
|
||||
%200 = OpCompositeConstruct %163 %24 %24 %24
|
||||
%201 = OpCompositeConstruct %163 %25 %25 %25
|
||||
%202 = OpUDiv %163 %200 %201
|
||||
%203 = OpCompositeConstruct %26 %14 %14 %14 %14
|
||||
%204 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%205 = OpFDiv %26 %203 %204
|
||||
%206 = OpSMod %8 %18 %7
|
||||
%207 = OpUMod %20 %24 %25
|
||||
%208 = OpFRem %4 %14 %3
|
||||
%209 = OpCompositeConstruct %152 %18 %18
|
||||
%210 = OpCompositeConstruct %152 %7 %7
|
||||
%211 = OpSMod %152 %209 %210
|
||||
%212 = OpCompositeConstruct %163 %24 %24 %24
|
||||
%213 = OpCompositeConstruct %163 %25 %25 %25
|
||||
%214 = OpUMod %163 %212 %213
|
||||
%215 = OpCompositeConstruct %26 %14 %14 %14 %14
|
||||
%216 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%217 = OpFRem %26 %215 %216
|
||||
%218 = OpCompositeConstruct %152 %18 %18
|
||||
%219 = OpCompositeConstruct %152 %7 %7
|
||||
%220 = OpIAdd %152 %218 %219
|
||||
%221 = OpCompositeConstruct %152 %7 %7
|
||||
%222 = OpCompositeConstruct %152 %18 %18
|
||||
%223 = OpIAdd %152 %222 %221
|
||||
%224 = OpCompositeConstruct %34 %24 %24
|
||||
%225 = OpCompositeConstruct %34 %25 %25
|
||||
%226 = OpIAdd %34 %224 %225
|
||||
%227 = OpCompositeConstruct %34 %25 %25
|
||||
%228 = OpCompositeConstruct %34 %24 %24
|
||||
%229 = OpIAdd %34 %228 %227
|
||||
%230 = OpCompositeConstruct %31 %14 %14
|
||||
%231 = OpCompositeConstruct %31 %3 %3
|
||||
%232 = OpFAdd %31 %230 %231
|
||||
%233 = OpCompositeConstruct %31 %3 %3
|
||||
%234 = OpCompositeConstruct %31 %14 %14
|
||||
%235 = OpFAdd %31 %234 %233
|
||||
%236 = OpCompositeConstruct %152 %18 %18
|
||||
%237 = OpCompositeConstruct %152 %7 %7
|
||||
%238 = OpISub %152 %236 %237
|
||||
%239 = OpCompositeConstruct %152 %7 %7
|
||||
%240 = OpCompositeConstruct %152 %18 %18
|
||||
%241 = OpISub %152 %240 %239
|
||||
%242 = OpCompositeConstruct %34 %24 %24
|
||||
%243 = OpCompositeConstruct %34 %25 %25
|
||||
%244 = OpISub %34 %242 %243
|
||||
%245 = OpCompositeConstruct %34 %25 %25
|
||||
%246 = OpCompositeConstruct %34 %24 %24
|
||||
%247 = OpISub %34 %246 %245
|
||||
%248 = OpCompositeConstruct %31 %14 %14
|
||||
%249 = OpCompositeConstruct %31 %3 %3
|
||||
%250 = OpFSub %31 %248 %249
|
||||
%251 = OpCompositeConstruct %31 %3 %3
|
||||
%252 = OpCompositeConstruct %31 %14 %14
|
||||
%253 = OpFSub %31 %252 %251
|
||||
%254 = OpCompositeConstruct %152 %18 %18
|
||||
%256 = OpCompositeConstruct %152 %7 %7
|
||||
%255 = OpIMul %152 %254 %256
|
||||
%257 = OpCompositeConstruct %152 %7 %7
|
||||
%259 = OpCompositeConstruct %152 %18 %18
|
||||
%258 = OpIMul %152 %257 %259
|
||||
%260 = OpCompositeConstruct %34 %24 %24
|
||||
%262 = OpCompositeConstruct %34 %25 %25
|
||||
%263 = OpISub %34 %261 %262
|
||||
%264 = OpCompositeConstruct %34 %25 %25
|
||||
%261 = OpIMul %34 %260 %262
|
||||
%263 = OpCompositeConstruct %34 %25 %25
|
||||
%265 = OpCompositeConstruct %34 %24 %24
|
||||
%266 = OpISub %34 %265 %264
|
||||
%267 = OpCompositeConstruct %31 %14 %14
|
||||
%264 = OpIMul %34 %263 %265
|
||||
%266 = OpCompositeConstruct %31 %14 %14
|
||||
%267 = OpVectorTimesScalar %31 %266 %3
|
||||
%268 = OpCompositeConstruct %31 %3 %3
|
||||
%269 = OpFSub %31 %267 %268
|
||||
%270 = OpCompositeConstruct %31 %3 %3
|
||||
%271 = OpCompositeConstruct %31 %14 %14
|
||||
%272 = OpFSub %31 %271 %270
|
||||
%273 = OpCompositeConstruct %171 %18 %18
|
||||
%275 = OpCompositeConstruct %171 %7 %7
|
||||
%274 = OpIMul %171 %273 %275
|
||||
%276 = OpCompositeConstruct %171 %7 %7
|
||||
%278 = OpCompositeConstruct %171 %18 %18
|
||||
%277 = OpIMul %171 %276 %278
|
||||
%279 = OpCompositeConstruct %34 %24 %24
|
||||
%281 = OpCompositeConstruct %34 %25 %25
|
||||
%280 = OpIMul %34 %279 %281
|
||||
%282 = OpCompositeConstruct %34 %25 %25
|
||||
%284 = OpCompositeConstruct %34 %24 %24
|
||||
%283 = OpIMul %34 %282 %284
|
||||
%285 = OpCompositeConstruct %31 %14 %14
|
||||
%286 = OpVectorTimesScalar %31 %285 %3
|
||||
%287 = OpCompositeConstruct %31 %3 %3
|
||||
%288 = OpVectorTimesScalar %31 %287 %14
|
||||
%289 = OpCompositeConstruct %171 %18 %18
|
||||
%290 = OpCompositeConstruct %171 %7 %7
|
||||
%291 = OpSDiv %171 %289 %290
|
||||
%292 = OpCompositeConstruct %171 %7 %7
|
||||
%293 = OpCompositeConstruct %171 %18 %18
|
||||
%294 = OpSDiv %171 %293 %292
|
||||
%295 = OpCompositeConstruct %34 %24 %24
|
||||
%296 = OpCompositeConstruct %34 %25 %25
|
||||
%297 = OpUDiv %34 %295 %296
|
||||
%298 = OpCompositeConstruct %34 %25 %25
|
||||
%299 = OpCompositeConstruct %34 %24 %24
|
||||
%300 = OpUDiv %34 %299 %298
|
||||
%301 = OpCompositeConstruct %31 %14 %14
|
||||
%302 = OpCompositeConstruct %31 %3 %3
|
||||
%303 = OpFDiv %31 %301 %302
|
||||
%304 = OpCompositeConstruct %31 %3 %3
|
||||
%305 = OpCompositeConstruct %31 %14 %14
|
||||
%306 = OpFDiv %31 %305 %304
|
||||
%307 = OpCompositeConstruct %171 %18 %18
|
||||
%308 = OpCompositeConstruct %171 %7 %7
|
||||
%309 = OpSMod %171 %307 %308
|
||||
%310 = OpCompositeConstruct %171 %7 %7
|
||||
%311 = OpCompositeConstruct %171 %18 %18
|
||||
%312 = OpSMod %171 %311 %310
|
||||
%313 = OpCompositeConstruct %34 %24 %24
|
||||
%314 = OpCompositeConstruct %34 %25 %25
|
||||
%315 = OpUMod %34 %313 %314
|
||||
%316 = OpCompositeConstruct %34 %25 %25
|
||||
%317 = OpCompositeConstruct %34 %24 %24
|
||||
%318 = OpUMod %34 %317 %316
|
||||
%319 = OpCompositeConstruct %31 %14 %14
|
||||
%320 = OpCompositeConstruct %31 %3 %3
|
||||
%321 = OpFRem %31 %319 %320
|
||||
%322 = OpCompositeConstruct %31 %3 %3
|
||||
%323 = OpCompositeConstruct %31 %14 %14
|
||||
%324 = OpFRem %31 %323 %322
|
||||
%326 = OpCompositeExtract %29 %51 0
|
||||
%327 = OpCompositeExtract %29 %51 0
|
||||
%328 = OpFAdd %29 %326 %327
|
||||
%329 = OpCompositeExtract %29 %51 1
|
||||
%330 = OpCompositeExtract %29 %51 1
|
||||
%331 = OpFAdd %29 %329 %330
|
||||
%332 = OpCompositeExtract %29 %51 2
|
||||
%333 = OpCompositeExtract %29 %51 2
|
||||
%334 = OpFAdd %29 %332 %333
|
||||
%325 = OpCompositeConstruct %37 %328 %331 %334
|
||||
%336 = OpCompositeExtract %29 %51 0
|
||||
%337 = OpCompositeExtract %29 %51 0
|
||||
%338 = OpFSub %29 %336 %337
|
||||
%339 = OpCompositeExtract %29 %51 1
|
||||
%340 = OpCompositeExtract %29 %51 1
|
||||
%341 = OpFSub %29 %339 %340
|
||||
%342 = OpCompositeExtract %29 %51 2
|
||||
%343 = OpCompositeExtract %29 %51 2
|
||||
%344 = OpFSub %29 %342 %343
|
||||
%335 = OpCompositeConstruct %37 %338 %341 %344
|
||||
%345 = OpMatrixTimesScalar %37 %51 %3
|
||||
%346 = OpMatrixTimesScalar %37 %51 %14
|
||||
%347 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%348 = OpMatrixTimesVector %29 %52 %347
|
||||
%349 = OpCompositeConstruct %29 %14 %14 %14
|
||||
%350 = OpVectorTimesMatrix %26 %349 %52
|
||||
%351 = OpMatrixTimesMatrix %37 %52 %53
|
||||
%269 = OpVectorTimesScalar %31 %268 %14
|
||||
%270 = OpCompositeConstruct %152 %18 %18
|
||||
%271 = OpCompositeConstruct %152 %7 %7
|
||||
%272 = OpSDiv %152 %270 %271
|
||||
%273 = OpCompositeConstruct %152 %7 %7
|
||||
%274 = OpCompositeConstruct %152 %18 %18
|
||||
%275 = OpSDiv %152 %274 %273
|
||||
%276 = OpCompositeConstruct %34 %24 %24
|
||||
%277 = OpCompositeConstruct %34 %25 %25
|
||||
%278 = OpUDiv %34 %276 %277
|
||||
%279 = OpCompositeConstruct %34 %25 %25
|
||||
%280 = OpCompositeConstruct %34 %24 %24
|
||||
%281 = OpUDiv %34 %280 %279
|
||||
%282 = OpCompositeConstruct %31 %14 %14
|
||||
%283 = OpCompositeConstruct %31 %3 %3
|
||||
%284 = OpFDiv %31 %282 %283
|
||||
%285 = OpCompositeConstruct %31 %3 %3
|
||||
%286 = OpCompositeConstruct %31 %14 %14
|
||||
%287 = OpFDiv %31 %286 %285
|
||||
%288 = OpCompositeConstruct %152 %18 %18
|
||||
%289 = OpCompositeConstruct %152 %7 %7
|
||||
%290 = OpSMod %152 %288 %289
|
||||
%291 = OpCompositeConstruct %152 %7 %7
|
||||
%292 = OpCompositeConstruct %152 %18 %18
|
||||
%293 = OpSMod %152 %292 %291
|
||||
%294 = OpCompositeConstruct %34 %24 %24
|
||||
%295 = OpCompositeConstruct %34 %25 %25
|
||||
%296 = OpUMod %34 %294 %295
|
||||
%297 = OpCompositeConstruct %34 %25 %25
|
||||
%298 = OpCompositeConstruct %34 %24 %24
|
||||
%299 = OpUMod %34 %298 %297
|
||||
%300 = OpCompositeConstruct %31 %14 %14
|
||||
%301 = OpCompositeConstruct %31 %3 %3
|
||||
%302 = OpFRem %31 %300 %301
|
||||
%303 = OpCompositeConstruct %31 %3 %3
|
||||
%304 = OpCompositeConstruct %31 %14 %14
|
||||
%305 = OpFRem %31 %304 %303
|
||||
%307 = OpCompositeExtract %29 %51 0
|
||||
%308 = OpCompositeExtract %29 %51 0
|
||||
%309 = OpFAdd %29 %307 %308
|
||||
%310 = OpCompositeExtract %29 %51 1
|
||||
%311 = OpCompositeExtract %29 %51 1
|
||||
%312 = OpFAdd %29 %310 %311
|
||||
%313 = OpCompositeExtract %29 %51 2
|
||||
%314 = OpCompositeExtract %29 %51 2
|
||||
%315 = OpFAdd %29 %313 %314
|
||||
%306 = OpCompositeConstruct %37 %309 %312 %315
|
||||
%317 = OpCompositeExtract %29 %51 0
|
||||
%318 = OpCompositeExtract %29 %51 0
|
||||
%319 = OpFSub %29 %317 %318
|
||||
%320 = OpCompositeExtract %29 %51 1
|
||||
%321 = OpCompositeExtract %29 %51 1
|
||||
%322 = OpFSub %29 %320 %321
|
||||
%323 = OpCompositeExtract %29 %51 2
|
||||
%324 = OpCompositeExtract %29 %51 2
|
||||
%325 = OpFSub %29 %323 %324
|
||||
%316 = OpCompositeConstruct %37 %319 %322 %325
|
||||
%326 = OpMatrixTimesScalar %37 %51 %3
|
||||
%327 = OpMatrixTimesScalar %37 %51 %14
|
||||
%328 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%329 = OpMatrixTimesVector %29 %52 %328
|
||||
%330 = OpCompositeConstruct %29 %14 %14 %14
|
||||
%331 = OpVectorTimesMatrix %26 %330 %52
|
||||
%332 = OpMatrixTimesMatrix %37 %52 %53
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%353 = OpFunction %2 None %152
|
||||
%352 = OpLabel
|
||||
OpBranch %354
|
||||
%354 = OpLabel
|
||||
%355 = OpNot %8 %7
|
||||
%356 = OpNot %20 %25
|
||||
%357 = OpCompositeConstruct %171 %7 %7
|
||||
%358 = OpNot %171 %357
|
||||
%359 = OpCompositeConstruct %182 %25 %25 %25
|
||||
%360 = OpNot %182 %359
|
||||
%361 = OpBitwiseOr %8 %18 %7
|
||||
%362 = OpBitwiseOr %20 %24 %25
|
||||
%363 = OpCompositeConstruct %171 %18 %18
|
||||
%364 = OpCompositeConstruct %171 %7 %7
|
||||
%365 = OpBitwiseOr %171 %363 %364
|
||||
%366 = OpCompositeConstruct %182 %24 %24 %24
|
||||
%367 = OpCompositeConstruct %182 %25 %25 %25
|
||||
%368 = OpBitwiseOr %182 %366 %367
|
||||
%369 = OpBitwiseAnd %8 %18 %7
|
||||
%370 = OpBitwiseAnd %20 %24 %25
|
||||
%371 = OpCompositeConstruct %171 %18 %18
|
||||
%372 = OpCompositeConstruct %171 %7 %7
|
||||
%373 = OpBitwiseAnd %171 %371 %372
|
||||
%374 = OpCompositeConstruct %182 %24 %24 %24
|
||||
%375 = OpCompositeConstruct %182 %25 %25 %25
|
||||
%376 = OpBitwiseAnd %182 %374 %375
|
||||
%377 = OpBitwiseXor %8 %18 %7
|
||||
%378 = OpBitwiseXor %20 %24 %25
|
||||
%379 = OpCompositeConstruct %171 %18 %18
|
||||
%380 = OpCompositeConstruct %171 %7 %7
|
||||
%381 = OpBitwiseXor %171 %379 %380
|
||||
%382 = OpCompositeConstruct %182 %24 %24 %24
|
||||
%383 = OpCompositeConstruct %182 %25 %25 %25
|
||||
%384 = OpBitwiseXor %182 %382 %383
|
||||
%385 = OpShiftLeftLogical %8 %18 %25
|
||||
%386 = OpShiftLeftLogical %20 %24 %25
|
||||
%387 = OpCompositeConstruct %171 %18 %18
|
||||
%388 = OpCompositeConstruct %34 %25 %25
|
||||
%389 = OpShiftLeftLogical %171 %387 %388
|
||||
%390 = OpCompositeConstruct %182 %24 %24 %24
|
||||
%391 = OpCompositeConstruct %182 %25 %25 %25
|
||||
%392 = OpShiftLeftLogical %182 %390 %391
|
||||
%393 = OpShiftRightArithmetic %8 %18 %25
|
||||
%394 = OpShiftRightLogical %20 %24 %25
|
||||
%395 = OpCompositeConstruct %171 %18 %18
|
||||
%396 = OpCompositeConstruct %34 %25 %25
|
||||
%397 = OpShiftRightArithmetic %171 %395 %396
|
||||
%398 = OpCompositeConstruct %182 %24 %24 %24
|
||||
%399 = OpCompositeConstruct %182 %25 %25 %25
|
||||
%400 = OpShiftRightLogical %182 %398 %399
|
||||
%334 = OpFunction %2 None %133
|
||||
%333 = OpLabel
|
||||
OpBranch %335
|
||||
%335 = OpLabel
|
||||
%336 = OpNot %8 %7
|
||||
%337 = OpNot %20 %25
|
||||
%338 = OpCompositeConstruct %152 %7 %7
|
||||
%339 = OpNot %152 %338
|
||||
%340 = OpCompositeConstruct %163 %25 %25 %25
|
||||
%341 = OpNot %163 %340
|
||||
%342 = OpBitwiseOr %8 %18 %7
|
||||
%343 = OpBitwiseOr %20 %24 %25
|
||||
%344 = OpCompositeConstruct %152 %18 %18
|
||||
%345 = OpCompositeConstruct %152 %7 %7
|
||||
%346 = OpBitwiseOr %152 %344 %345
|
||||
%347 = OpCompositeConstruct %163 %24 %24 %24
|
||||
%348 = OpCompositeConstruct %163 %25 %25 %25
|
||||
%349 = OpBitwiseOr %163 %347 %348
|
||||
%350 = OpBitwiseAnd %8 %18 %7
|
||||
%351 = OpBitwiseAnd %20 %24 %25
|
||||
%352 = OpCompositeConstruct %152 %18 %18
|
||||
%353 = OpCompositeConstruct %152 %7 %7
|
||||
%354 = OpBitwiseAnd %152 %352 %353
|
||||
%355 = OpCompositeConstruct %163 %24 %24 %24
|
||||
%356 = OpCompositeConstruct %163 %25 %25 %25
|
||||
%357 = OpBitwiseAnd %163 %355 %356
|
||||
%358 = OpBitwiseXor %8 %18 %7
|
||||
%359 = OpBitwiseXor %20 %24 %25
|
||||
%360 = OpCompositeConstruct %152 %18 %18
|
||||
%361 = OpCompositeConstruct %152 %7 %7
|
||||
%362 = OpBitwiseXor %152 %360 %361
|
||||
%363 = OpCompositeConstruct %163 %24 %24 %24
|
||||
%364 = OpCompositeConstruct %163 %25 %25 %25
|
||||
%365 = OpBitwiseXor %163 %363 %364
|
||||
%366 = OpShiftLeftLogical %8 %18 %25
|
||||
%367 = OpShiftLeftLogical %20 %24 %25
|
||||
%368 = OpCompositeConstruct %152 %18 %18
|
||||
%369 = OpCompositeConstruct %34 %25 %25
|
||||
%370 = OpShiftLeftLogical %152 %368 %369
|
||||
%371 = OpCompositeConstruct %163 %24 %24 %24
|
||||
%372 = OpCompositeConstruct %163 %25 %25 %25
|
||||
%373 = OpShiftLeftLogical %163 %371 %372
|
||||
%374 = OpShiftRightArithmetic %8 %18 %25
|
||||
%375 = OpShiftRightLogical %20 %24 %25
|
||||
%376 = OpCompositeConstruct %152 %18 %18
|
||||
%377 = OpCompositeConstruct %34 %25 %25
|
||||
%378 = OpShiftRightArithmetic %152 %376 %377
|
||||
%379 = OpCompositeConstruct %163 %24 %24 %24
|
||||
%380 = OpCompositeConstruct %163 %25 %25 %25
|
||||
%381 = OpShiftRightLogical %163 %379 %380
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%402 = OpFunction %2 None %152
|
||||
%401 = OpLabel
|
||||
OpBranch %403
|
||||
%403 = OpLabel
|
||||
%404 = OpIEqual %10 %18 %7
|
||||
%405 = OpIEqual %10 %24 %25
|
||||
%406 = OpFOrdEqual %10 %14 %3
|
||||
%407 = OpCompositeConstruct %171 %18 %18
|
||||
%408 = OpCompositeConstruct %171 %7 %7
|
||||
%409 = OpIEqual %155 %407 %408
|
||||
%410 = OpCompositeConstruct %182 %24 %24 %24
|
||||
%411 = OpCompositeConstruct %182 %25 %25 %25
|
||||
%412 = OpIEqual %100 %410 %411
|
||||
%413 = OpCompositeConstruct %26 %14 %14 %14 %14
|
||||
%414 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%415 = OpFOrdEqual %28 %413 %414
|
||||
%416 = OpINotEqual %10 %18 %7
|
||||
%417 = OpINotEqual %10 %24 %25
|
||||
%418 = OpFOrdNotEqual %10 %14 %3
|
||||
%419 = OpCompositeConstruct %171 %18 %18
|
||||
%420 = OpCompositeConstruct %171 %7 %7
|
||||
%421 = OpINotEqual %155 %419 %420
|
||||
%422 = OpCompositeConstruct %182 %24 %24 %24
|
||||
%423 = OpCompositeConstruct %182 %25 %25 %25
|
||||
%424 = OpINotEqual %100 %422 %423
|
||||
%425 = OpCompositeConstruct %26 %14 %14 %14 %14
|
||||
%426 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%427 = OpFOrdNotEqual %28 %425 %426
|
||||
%428 = OpSLessThan %10 %18 %7
|
||||
%429 = OpULessThan %10 %24 %25
|
||||
%430 = OpFOrdLessThan %10 %14 %3
|
||||
%431 = OpCompositeConstruct %171 %18 %18
|
||||
%432 = OpCompositeConstruct %171 %7 %7
|
||||
%433 = OpSLessThan %155 %431 %432
|
||||
%434 = OpCompositeConstruct %182 %24 %24 %24
|
||||
%435 = OpCompositeConstruct %182 %25 %25 %25
|
||||
%436 = OpULessThan %100 %434 %435
|
||||
%437 = OpCompositeConstruct %26 %14 %14 %14 %14
|
||||
%438 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%439 = OpFOrdLessThan %28 %437 %438
|
||||
%440 = OpSLessThanEqual %10 %18 %7
|
||||
%441 = OpULessThanEqual %10 %24 %25
|
||||
%442 = OpFOrdLessThanEqual %10 %14 %3
|
||||
%443 = OpCompositeConstruct %171 %18 %18
|
||||
%444 = OpCompositeConstruct %171 %7 %7
|
||||
%445 = OpSLessThanEqual %155 %443 %444
|
||||
%446 = OpCompositeConstruct %182 %24 %24 %24
|
||||
%447 = OpCompositeConstruct %182 %25 %25 %25
|
||||
%448 = OpULessThanEqual %100 %446 %447
|
||||
%449 = OpCompositeConstruct %26 %14 %14 %14 %14
|
||||
%450 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%451 = OpFOrdLessThanEqual %28 %449 %450
|
||||
%452 = OpSGreaterThan %10 %18 %7
|
||||
%453 = OpUGreaterThan %10 %24 %25
|
||||
%454 = OpFOrdGreaterThan %10 %14 %3
|
||||
%455 = OpCompositeConstruct %171 %18 %18
|
||||
%456 = OpCompositeConstruct %171 %7 %7
|
||||
%457 = OpSGreaterThan %155 %455 %456
|
||||
%458 = OpCompositeConstruct %182 %24 %24 %24
|
||||
%459 = OpCompositeConstruct %182 %25 %25 %25
|
||||
%460 = OpUGreaterThan %100 %458 %459
|
||||
%461 = OpCompositeConstruct %26 %14 %14 %14 %14
|
||||
%462 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%463 = OpFOrdGreaterThan %28 %461 %462
|
||||
%464 = OpSGreaterThanEqual %10 %18 %7
|
||||
%465 = OpUGreaterThanEqual %10 %24 %25
|
||||
%466 = OpFOrdGreaterThanEqual %10 %14 %3
|
||||
%467 = OpCompositeConstruct %171 %18 %18
|
||||
%468 = OpCompositeConstruct %171 %7 %7
|
||||
%469 = OpSGreaterThanEqual %155 %467 %468
|
||||
%470 = OpCompositeConstruct %182 %24 %24 %24
|
||||
%471 = OpCompositeConstruct %182 %25 %25 %25
|
||||
%472 = OpUGreaterThanEqual %100 %470 %471
|
||||
%473 = OpCompositeConstruct %26 %14 %14 %14 %14
|
||||
%474 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%475 = OpFOrdGreaterThanEqual %28 %473 %474
|
||||
%383 = OpFunction %2 None %133
|
||||
%382 = OpLabel
|
||||
OpBranch %384
|
||||
%384 = OpLabel
|
||||
%385 = OpIEqual %10 %18 %7
|
||||
%386 = OpIEqual %10 %24 %25
|
||||
%387 = OpFOrdEqual %10 %14 %3
|
||||
%388 = OpCompositeConstruct %152 %18 %18
|
||||
%389 = OpCompositeConstruct %152 %7 %7
|
||||
%390 = OpIEqual %136 %388 %389
|
||||
%391 = OpCompositeConstruct %163 %24 %24 %24
|
||||
%392 = OpCompositeConstruct %163 %25 %25 %25
|
||||
%393 = OpIEqual %100 %391 %392
|
||||
%394 = OpCompositeConstruct %26 %14 %14 %14 %14
|
||||
%395 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%396 = OpFOrdEqual %28 %394 %395
|
||||
%397 = OpINotEqual %10 %18 %7
|
||||
%398 = OpINotEqual %10 %24 %25
|
||||
%399 = OpFOrdNotEqual %10 %14 %3
|
||||
%400 = OpCompositeConstruct %152 %18 %18
|
||||
%401 = OpCompositeConstruct %152 %7 %7
|
||||
%402 = OpINotEqual %136 %400 %401
|
||||
%403 = OpCompositeConstruct %163 %24 %24 %24
|
||||
%404 = OpCompositeConstruct %163 %25 %25 %25
|
||||
%405 = OpINotEqual %100 %403 %404
|
||||
%406 = OpCompositeConstruct %26 %14 %14 %14 %14
|
||||
%407 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%408 = OpFOrdNotEqual %28 %406 %407
|
||||
%409 = OpSLessThan %10 %18 %7
|
||||
%410 = OpULessThan %10 %24 %25
|
||||
%411 = OpFOrdLessThan %10 %14 %3
|
||||
%412 = OpCompositeConstruct %152 %18 %18
|
||||
%413 = OpCompositeConstruct %152 %7 %7
|
||||
%414 = OpSLessThan %136 %412 %413
|
||||
%415 = OpCompositeConstruct %163 %24 %24 %24
|
||||
%416 = OpCompositeConstruct %163 %25 %25 %25
|
||||
%417 = OpULessThan %100 %415 %416
|
||||
%418 = OpCompositeConstruct %26 %14 %14 %14 %14
|
||||
%419 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%420 = OpFOrdLessThan %28 %418 %419
|
||||
%421 = OpSLessThanEqual %10 %18 %7
|
||||
%422 = OpULessThanEqual %10 %24 %25
|
||||
%423 = OpFOrdLessThanEqual %10 %14 %3
|
||||
%424 = OpCompositeConstruct %152 %18 %18
|
||||
%425 = OpCompositeConstruct %152 %7 %7
|
||||
%426 = OpSLessThanEqual %136 %424 %425
|
||||
%427 = OpCompositeConstruct %163 %24 %24 %24
|
||||
%428 = OpCompositeConstruct %163 %25 %25 %25
|
||||
%429 = OpULessThanEqual %100 %427 %428
|
||||
%430 = OpCompositeConstruct %26 %14 %14 %14 %14
|
||||
%431 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%432 = OpFOrdLessThanEqual %28 %430 %431
|
||||
%433 = OpSGreaterThan %10 %18 %7
|
||||
%434 = OpUGreaterThan %10 %24 %25
|
||||
%435 = OpFOrdGreaterThan %10 %14 %3
|
||||
%436 = OpCompositeConstruct %152 %18 %18
|
||||
%437 = OpCompositeConstruct %152 %7 %7
|
||||
%438 = OpSGreaterThan %136 %436 %437
|
||||
%439 = OpCompositeConstruct %163 %24 %24 %24
|
||||
%440 = OpCompositeConstruct %163 %25 %25 %25
|
||||
%441 = OpUGreaterThan %100 %439 %440
|
||||
%442 = OpCompositeConstruct %26 %14 %14 %14 %14
|
||||
%443 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%444 = OpFOrdGreaterThan %28 %442 %443
|
||||
%445 = OpSGreaterThanEqual %10 %18 %7
|
||||
%446 = OpUGreaterThanEqual %10 %24 %25
|
||||
%447 = OpFOrdGreaterThanEqual %10 %14 %3
|
||||
%448 = OpCompositeConstruct %152 %18 %18
|
||||
%449 = OpCompositeConstruct %152 %7 %7
|
||||
%450 = OpSGreaterThanEqual %136 %448 %449
|
||||
%451 = OpCompositeConstruct %163 %24 %24 %24
|
||||
%452 = OpCompositeConstruct %163 %25 %25 %25
|
||||
%453 = OpUGreaterThanEqual %100 %451 %452
|
||||
%454 = OpCompositeConstruct %26 %14 %14 %14 %14
|
||||
%455 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%456 = OpFOrdGreaterThanEqual %28 %454 %455
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%478 = OpFunction %2 None %152
|
||||
%477 = OpLabel
|
||||
%476 = OpVariable %111 Function %7
|
||||
OpBranch %479
|
||||
%479 = OpLabel
|
||||
%480 = OpLoad %8 %476
|
||||
%481 = OpIAdd %8 %480 %7
|
||||
OpStore %476 %481
|
||||
%482 = OpLoad %8 %476
|
||||
%483 = OpISub %8 %482 %7
|
||||
OpStore %476 %483
|
||||
%484 = OpLoad %8 %476
|
||||
%485 = OpLoad %8 %476
|
||||
%486 = OpIMul %8 %484 %485
|
||||
OpStore %476 %486
|
||||
%487 = OpLoad %8 %476
|
||||
%488 = OpLoad %8 %476
|
||||
%489 = OpSDiv %8 %487 %488
|
||||
OpStore %476 %489
|
||||
%490 = OpLoad %8 %476
|
||||
%491 = OpSMod %8 %490 %7
|
||||
OpStore %476 %491
|
||||
%492 = OpLoad %8 %476
|
||||
%493 = OpBitwiseAnd %8 %492 %11
|
||||
OpStore %476 %493
|
||||
%494 = OpLoad %8 %476
|
||||
%495 = OpBitwiseOr %8 %494 %11
|
||||
OpStore %476 %495
|
||||
%496 = OpLoad %8 %476
|
||||
%497 = OpBitwiseXor %8 %496 %11
|
||||
OpStore %476 %497
|
||||
%498 = OpLoad %8 %476
|
||||
%499 = OpShiftLeftLogical %8 %498 %24
|
||||
OpStore %476 %499
|
||||
%500 = OpLoad %8 %476
|
||||
%501 = OpShiftRightArithmetic %8 %500 %25
|
||||
OpStore %476 %501
|
||||
%502 = OpLoad %8 %476
|
||||
%503 = OpIAdd %8 %502 %7
|
||||
OpStore %476 %503
|
||||
%504 = OpLoad %8 %476
|
||||
%505 = OpISub %8 %504 %7
|
||||
OpStore %476 %505
|
||||
%460 = OpFunction %2 None %133
|
||||
%459 = OpLabel
|
||||
%457 = OpVariable %458 Function %7
|
||||
OpBranch %461
|
||||
%461 = OpLabel
|
||||
%462 = OpLoad %8 %457
|
||||
%463 = OpIAdd %8 %462 %7
|
||||
OpStore %457 %463
|
||||
%464 = OpLoad %8 %457
|
||||
%465 = OpISub %8 %464 %7
|
||||
OpStore %457 %465
|
||||
%466 = OpLoad %8 %457
|
||||
%467 = OpLoad %8 %457
|
||||
%468 = OpIMul %8 %466 %467
|
||||
OpStore %457 %468
|
||||
%469 = OpLoad %8 %457
|
||||
%470 = OpLoad %8 %457
|
||||
%471 = OpSDiv %8 %469 %470
|
||||
OpStore %457 %471
|
||||
%472 = OpLoad %8 %457
|
||||
%473 = OpSMod %8 %472 %7
|
||||
OpStore %457 %473
|
||||
%474 = OpLoad %8 %457
|
||||
%475 = OpBitwiseAnd %8 %474 %11
|
||||
OpStore %457 %475
|
||||
%476 = OpLoad %8 %457
|
||||
%477 = OpBitwiseOr %8 %476 %11
|
||||
OpStore %457 %477
|
||||
%478 = OpLoad %8 %457
|
||||
%479 = OpBitwiseXor %8 %478 %11
|
||||
OpStore %457 %479
|
||||
%480 = OpLoad %8 %457
|
||||
%481 = OpShiftLeftLogical %8 %480 %24
|
||||
OpStore %457 %481
|
||||
%482 = OpLoad %8 %457
|
||||
%483 = OpShiftRightArithmetic %8 %482 %25
|
||||
OpStore %457 %483
|
||||
%484 = OpLoad %8 %457
|
||||
%485 = OpIAdd %8 %484 %7
|
||||
OpStore %457 %485
|
||||
%486 = OpLoad %8 %457
|
||||
%487 = OpISub %8 %486 %7
|
||||
OpStore %457 %487
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%507 = OpFunction %2 None %152
|
||||
%506 = OpLabel
|
||||
OpBranch %508
|
||||
%508 = OpLabel
|
||||
%509 = OpFunctionCall %26 %55
|
||||
%510 = OpFunctionCall %26 %80
|
||||
%511 = OpVectorShuffle %29 %40 %40 0 1 2
|
||||
%512 = OpFunctionCall %29 %97 %511
|
||||
%513 = OpFunctionCall %4 %128
|
||||
%514 = OpFunctionCall %2 %151
|
||||
%515 = OpFunctionCall %2 %169
|
||||
%516 = OpFunctionCall %2 %353
|
||||
%517 = OpFunctionCall %2 %402
|
||||
%518 = OpFunctionCall %2 %478
|
||||
%489 = OpFunction %2 None %133
|
||||
%488 = OpLabel
|
||||
OpBranch %490
|
||||
%490 = OpLabel
|
||||
%491 = OpFunctionCall %26 %55
|
||||
%492 = OpFunctionCall %26 %80
|
||||
%493 = OpVectorShuffle %29 %40 %40 0 1 2
|
||||
%494 = OpFunctionCall %29 %97 %493
|
||||
%495 = OpFunctionCall %4 %109
|
||||
%496 = OpFunctionCall %2 %132
|
||||
%497 = OpFunctionCall %2 %150
|
||||
%498 = OpFunctionCall %2 %334
|
||||
%499 = OpFunctionCall %2 %383
|
||||
%500 = OpFunctionCall %2 %460
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
@@ -21,51 +21,37 @@ var<uniform> baz: Baz;
|
||||
|
||||
fn test_matrix_within_struct_accesses() {
|
||||
var idx: i32 = 9;
|
||||
var unnamed_1: mat3x2<f32>;
|
||||
var unnamed_2: vec2<f32>;
|
||||
var unnamed_3: vec2<f32>;
|
||||
var unnamed_4: f32;
|
||||
var unnamed_5: f32;
|
||||
var unnamed_6: f32;
|
||||
var unnamed_7: f32;
|
||||
var t: Baz;
|
||||
|
||||
let _e4 = idx;
|
||||
idx = (_e4 - 1);
|
||||
let _e8 = baz.m;
|
||||
unnamed_1 = _e8;
|
||||
let _e13 = baz.m[0];
|
||||
unnamed_2 = _e13;
|
||||
let _e16 = idx;
|
||||
let _e18 = baz.m[_e16];
|
||||
unnamed_3 = _e18;
|
||||
let _e25 = baz.m[0][1];
|
||||
unnamed_4 = _e25;
|
||||
let unnamed = baz.m;
|
||||
let unnamed_1 = baz.m[0];
|
||||
let _e14 = idx;
|
||||
let unnamed_2 = baz.m[_e14];
|
||||
let unnamed_3 = baz.m[0][1];
|
||||
let _e26 = idx;
|
||||
let unnamed_4 = baz.m[0][_e26];
|
||||
let _e30 = idx;
|
||||
let _e32 = baz.m[0][_e30];
|
||||
unnamed_5 = _e32;
|
||||
let _e35 = idx;
|
||||
let _e39 = baz.m[_e35][1];
|
||||
unnamed_6 = _e39;
|
||||
let _e42 = idx;
|
||||
let _e44 = idx;
|
||||
let _e46 = baz.m[_e42][_e44];
|
||||
unnamed_7 = _e46;
|
||||
let unnamed_5 = baz.m[_e30][1];
|
||||
let _e36 = idx;
|
||||
let _e38 = idx;
|
||||
let unnamed_6 = baz.m[_e36][_e38];
|
||||
t = Baz(mat3x2<f32>(vec2<f32>(1.0), vec2<f32>(2.0), vec2<f32>(3.0)));
|
||||
let _e57 = idx;
|
||||
idx = (_e57 + 1);
|
||||
let _e50 = idx;
|
||||
idx = (_e50 + 1);
|
||||
t.m = mat3x2<f32>(vec2<f32>(6.0), vec2<f32>(5.0), vec2<f32>(4.0));
|
||||
t.m[0] = vec2<f32>(9.0);
|
||||
let _e74 = idx;
|
||||
t.m[_e74] = vec2<f32>(90.0);
|
||||
let _e67 = idx;
|
||||
t.m[_e67] = vec2<f32>(90.0);
|
||||
t.m[0][1] = 10.0;
|
||||
let _e87 = idx;
|
||||
t.m[0][_e87] = 20.0;
|
||||
let _e91 = idx;
|
||||
t.m[_e91][1] = 30.0;
|
||||
let _e97 = idx;
|
||||
let _e99 = idx;
|
||||
t.m[_e97][_e99] = 40.0;
|
||||
let _e80 = idx;
|
||||
t.m[0][_e80] = 20.0;
|
||||
let _e84 = idx;
|
||||
t.m[_e84][1] = 30.0;
|
||||
let _e90 = idx;
|
||||
let _e92 = idx;
|
||||
t.m[_e90][_e92] = 40.0;
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -82,7 +68,6 @@ fn test_arr_as_arg(a: array<array<f32,10>,5>) -> f32 {
|
||||
fn foo_vert(@builtin(vertex_index) vi: u32) -> @builtin(position) vec4<f32> {
|
||||
var foo: f32 = 0.0;
|
||||
var c: array<i32,5>;
|
||||
var unnamed: f32;
|
||||
|
||||
let baz_1 = foo;
|
||||
foo = 1.0;
|
||||
@@ -97,7 +82,6 @@ fn foo_vert(@builtin(vertex_index) vi: u32) -> @builtin(position) vec4<f32> {
|
||||
c[(vi + 1u)] = 42;
|
||||
let value = c[vi];
|
||||
let _e42 = test_arr_as_arg(array<array<f32,10>,5>(array<f32,10>(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0), array<f32,10>(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0), array<f32,10>(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0), array<f32,10>(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0), array<f32,10>(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0)));
|
||||
unnamed = _e42;
|
||||
return vec4<f32>((_matrix * vec4<f32>(vec4<i32>(value))), 2.0);
|
||||
}
|
||||
|
||||
|
||||
@@ -32,175 +32,164 @@ fn bool_cast(x: vec3<f32>) -> vec3<f32> {
|
||||
|
||||
fn constructors() -> f32 {
|
||||
var foo: Foo;
|
||||
var unnamed: bool = false;
|
||||
var unnamed_1: i32 = 0;
|
||||
var unnamed_2: u32 = 0u;
|
||||
var unnamed_3: f32 = 0.0;
|
||||
var unnamed_4: vec2<u32> = vec2<u32>(0u, 0u);
|
||||
var unnamed_5: mat2x2<f32> = mat2x2<f32>(vec2<f32>(0.0, 0.0), vec2<f32>(0.0, 0.0));
|
||||
var unnamed_6: array<Foo,3> = array<Foo,3>(Foo(vec4<f32>(0.0, 0.0, 0.0, 0.0), 0), Foo(vec4<f32>(0.0, 0.0, 0.0, 0.0), 0), Foo(vec4<f32>(0.0, 0.0, 0.0, 0.0), 0));
|
||||
var unnamed_7: Foo = Foo(vec4<f32>(0.0, 0.0, 0.0, 0.0), 0);
|
||||
var unnamed_8: vec2<u32>;
|
||||
var unnamed_9: mat2x2<f32>;
|
||||
var unnamed_10: array<i32,4u>;
|
||||
|
||||
foo = Foo(vec4<f32>(1.0), 1);
|
||||
let mat2comp = mat2x2<f32>(vec2<f32>(1.0, 0.0), vec2<f32>(0.0, 1.0));
|
||||
let mat4comp = mat4x4<f32>(vec4<f32>(1.0, 0.0, 0.0, 0.0), vec4<f32>(0.0, 1.0, 0.0, 0.0), vec4<f32>(0.0, 0.0, 1.0, 0.0), vec4<f32>(0.0, 0.0, 0.0, 1.0));
|
||||
unnamed_8 = vec2<u32>(0u);
|
||||
unnamed_9 = mat2x2<f32>(vec2<f32>(0.0), vec2<f32>(0.0));
|
||||
unnamed_10 = array<i32,4u>(0, 1, 2, 3);
|
||||
let _e70 = foo.a.x;
|
||||
return _e70;
|
||||
let unnamed = vec2<u32>(0u);
|
||||
let unnamed_1 = mat2x2<f32>(vec2<f32>(0.0), vec2<f32>(0.0));
|
||||
let unnamed_2 = array<i32,4u>(0, 1, 2, 3);
|
||||
let _e59 = foo.a.x;
|
||||
return _e59;
|
||||
}
|
||||
|
||||
fn logical() {
|
||||
let unnamed_11 = !(true);
|
||||
let unnamed_12 = !(vec2<bool>(true));
|
||||
let unnamed_13 = (true || false);
|
||||
let unnamed_14 = (true && false);
|
||||
let unnamed_15 = (true | false);
|
||||
let unnamed_16 = (vec3<bool>(true) | vec3<bool>(false));
|
||||
let unnamed_17 = (true & false);
|
||||
let unnamed_18 = (vec4<bool>(true) & vec4<bool>(false));
|
||||
let unnamed_3 = !(true);
|
||||
let unnamed_4 = !(vec2<bool>(true));
|
||||
let unnamed_5 = (true || false);
|
||||
let unnamed_6 = (true && false);
|
||||
let unnamed_7 = (true | false);
|
||||
let unnamed_8 = (vec3<bool>(true) | vec3<bool>(false));
|
||||
let unnamed_9 = (true & false);
|
||||
let unnamed_10 = (vec4<bool>(true) & vec4<bool>(false));
|
||||
}
|
||||
|
||||
fn arithmetic() {
|
||||
let unnamed_19 = -(vec2<i32>(1));
|
||||
let unnamed_20 = -(vec2<f32>(1.0));
|
||||
let unnamed_21 = (2 + 1);
|
||||
let unnamed_22 = (2u + 1u);
|
||||
let unnamed_23 = (2.0 + 1.0);
|
||||
let unnamed_24 = (vec2<i32>(2) + vec2<i32>(1));
|
||||
let unnamed_25 = (vec3<u32>(2u) + vec3<u32>(1u));
|
||||
let unnamed_26 = (vec4<f32>(2.0) + vec4<f32>(1.0));
|
||||
let unnamed_27 = (2 - 1);
|
||||
let unnamed_28 = (2u - 1u);
|
||||
let unnamed_29 = (2.0 - 1.0);
|
||||
let unnamed_30 = (vec2<i32>(2) - vec2<i32>(1));
|
||||
let unnamed_31 = (vec3<u32>(2u) - vec3<u32>(1u));
|
||||
let unnamed_32 = (vec4<f32>(2.0) - vec4<f32>(1.0));
|
||||
let unnamed_33 = (2 * 1);
|
||||
let unnamed_34 = (2u * 1u);
|
||||
let unnamed_35 = (2.0 * 1.0);
|
||||
let unnamed_36 = (vec2<i32>(2) * vec2<i32>(1));
|
||||
let unnamed_37 = (vec3<u32>(2u) * vec3<u32>(1u));
|
||||
let unnamed_38 = (vec4<f32>(2.0) * vec4<f32>(1.0));
|
||||
let unnamed_39 = (2 / 1);
|
||||
let unnamed_40 = (2u / 1u);
|
||||
let unnamed_41 = (2.0 / 1.0);
|
||||
let unnamed_42 = (vec2<i32>(2) / vec2<i32>(1));
|
||||
let unnamed_43 = (vec3<u32>(2u) / vec3<u32>(1u));
|
||||
let unnamed_44 = (vec4<f32>(2.0) / vec4<f32>(1.0));
|
||||
let unnamed_45 = (2 % 1);
|
||||
let unnamed_46 = (2u % 1u);
|
||||
let unnamed_47 = (2.0 % 1.0);
|
||||
let unnamed_48 = (vec2<i32>(2) % vec2<i32>(1));
|
||||
let unnamed_49 = (vec3<u32>(2u) % vec3<u32>(1u));
|
||||
let unnamed_50 = (vec4<f32>(2.0) % vec4<f32>(1.0));
|
||||
let unnamed_51 = (vec2<i32>(2) + vec2<i32>(1));
|
||||
let unnamed_52 = (vec2<i32>(2) + vec2<i32>(1));
|
||||
let unnamed_53 = (vec2<u32>(2u) + vec2<u32>(1u));
|
||||
let unnamed_54 = (vec2<u32>(2u) + vec2<u32>(1u));
|
||||
let unnamed_55 = (vec2<f32>(2.0) + vec2<f32>(1.0));
|
||||
let unnamed_56 = (vec2<f32>(2.0) + vec2<f32>(1.0));
|
||||
let unnamed_57 = (vec2<i32>(2) - vec2<i32>(1));
|
||||
let unnamed_58 = (vec2<i32>(2) - vec2<i32>(1));
|
||||
let unnamed_59 = (vec2<u32>(2u) - vec2<u32>(1u));
|
||||
let unnamed_60 = (vec2<u32>(2u) - vec2<u32>(1u));
|
||||
let unnamed_61 = (vec2<f32>(2.0) - vec2<f32>(1.0));
|
||||
let unnamed_62 = (vec2<f32>(2.0) - vec2<f32>(1.0));
|
||||
let unnamed_63 = (vec2<i32>(2) * 1);
|
||||
let unnamed_64 = (2 * vec2<i32>(1));
|
||||
let unnamed_65 = (vec2<u32>(2u) * 1u);
|
||||
let unnamed_66 = (2u * vec2<u32>(1u));
|
||||
let unnamed_67 = (vec2<f32>(2.0) * 1.0);
|
||||
let unnamed_68 = (2.0 * vec2<f32>(1.0));
|
||||
let unnamed_69 = (vec2<i32>(2) / vec2<i32>(1));
|
||||
let unnamed_70 = (vec2<i32>(2) / vec2<i32>(1));
|
||||
let unnamed_71 = (vec2<u32>(2u) / vec2<u32>(1u));
|
||||
let unnamed_72 = (vec2<u32>(2u) / vec2<u32>(1u));
|
||||
let unnamed_73 = (vec2<f32>(2.0) / vec2<f32>(1.0));
|
||||
let unnamed_74 = (vec2<f32>(2.0) / vec2<f32>(1.0));
|
||||
let unnamed_75 = (vec2<i32>(2) % vec2<i32>(1));
|
||||
let unnamed_76 = (vec2<i32>(2) % vec2<i32>(1));
|
||||
let unnamed_77 = (vec2<u32>(2u) % vec2<u32>(1u));
|
||||
let unnamed_78 = (vec2<u32>(2u) % vec2<u32>(1u));
|
||||
let unnamed_79 = (vec2<f32>(2.0) % vec2<f32>(1.0));
|
||||
let unnamed_80 = (vec2<f32>(2.0) % vec2<f32>(1.0));
|
||||
let unnamed_81 = (mat3x3<f32>(vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0)) + mat3x3<f32>(vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0)));
|
||||
let unnamed_82 = (mat3x3<f32>(vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0)) - mat3x3<f32>(vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0)));
|
||||
let unnamed_83 = (mat3x3<f32>(vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0)) * 1.0);
|
||||
let unnamed_84 = (2.0 * mat3x3<f32>(vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0)));
|
||||
let unnamed_85 = (mat4x3<f32>(vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0)) * vec4<f32>(1.0));
|
||||
let unnamed_86 = (vec3<f32>(2.0) * mat4x3<f32>(vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0)));
|
||||
let unnamed_87 = (mat4x3<f32>(vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0)) * mat3x4<f32>(vec4<f32>(0.0, 0.0, 0.0, 0.0), vec4<f32>(0.0, 0.0, 0.0, 0.0), vec4<f32>(0.0, 0.0, 0.0, 0.0)));
|
||||
let unnamed_11 = -(vec2<i32>(1));
|
||||
let unnamed_12 = -(vec2<f32>(1.0));
|
||||
let unnamed_13 = (2 + 1);
|
||||
let unnamed_14 = (2u + 1u);
|
||||
let unnamed_15 = (2.0 + 1.0);
|
||||
let unnamed_16 = (vec2<i32>(2) + vec2<i32>(1));
|
||||
let unnamed_17 = (vec3<u32>(2u) + vec3<u32>(1u));
|
||||
let unnamed_18 = (vec4<f32>(2.0) + vec4<f32>(1.0));
|
||||
let unnamed_19 = (2 - 1);
|
||||
let unnamed_20 = (2u - 1u);
|
||||
let unnamed_21 = (2.0 - 1.0);
|
||||
let unnamed_22 = (vec2<i32>(2) - vec2<i32>(1));
|
||||
let unnamed_23 = (vec3<u32>(2u) - vec3<u32>(1u));
|
||||
let unnamed_24 = (vec4<f32>(2.0) - vec4<f32>(1.0));
|
||||
let unnamed_25 = (2 * 1);
|
||||
let unnamed_26 = (2u * 1u);
|
||||
let unnamed_27 = (2.0 * 1.0);
|
||||
let unnamed_28 = (vec2<i32>(2) * vec2<i32>(1));
|
||||
let unnamed_29 = (vec3<u32>(2u) * vec3<u32>(1u));
|
||||
let unnamed_30 = (vec4<f32>(2.0) * vec4<f32>(1.0));
|
||||
let unnamed_31 = (2 / 1);
|
||||
let unnamed_32 = (2u / 1u);
|
||||
let unnamed_33 = (2.0 / 1.0);
|
||||
let unnamed_34 = (vec2<i32>(2) / vec2<i32>(1));
|
||||
let unnamed_35 = (vec3<u32>(2u) / vec3<u32>(1u));
|
||||
let unnamed_36 = (vec4<f32>(2.0) / vec4<f32>(1.0));
|
||||
let unnamed_37 = (2 % 1);
|
||||
let unnamed_38 = (2u % 1u);
|
||||
let unnamed_39 = (2.0 % 1.0);
|
||||
let unnamed_40 = (vec2<i32>(2) % vec2<i32>(1));
|
||||
let unnamed_41 = (vec3<u32>(2u) % vec3<u32>(1u));
|
||||
let unnamed_42 = (vec4<f32>(2.0) % vec4<f32>(1.0));
|
||||
let unnamed_43 = (vec2<i32>(2) + vec2<i32>(1));
|
||||
let unnamed_44 = (vec2<i32>(2) + vec2<i32>(1));
|
||||
let unnamed_45 = (vec2<u32>(2u) + vec2<u32>(1u));
|
||||
let unnamed_46 = (vec2<u32>(2u) + vec2<u32>(1u));
|
||||
let unnamed_47 = (vec2<f32>(2.0) + vec2<f32>(1.0));
|
||||
let unnamed_48 = (vec2<f32>(2.0) + vec2<f32>(1.0));
|
||||
let unnamed_49 = (vec2<i32>(2) - vec2<i32>(1));
|
||||
let unnamed_50 = (vec2<i32>(2) - vec2<i32>(1));
|
||||
let unnamed_51 = (vec2<u32>(2u) - vec2<u32>(1u));
|
||||
let unnamed_52 = (vec2<u32>(2u) - vec2<u32>(1u));
|
||||
let unnamed_53 = (vec2<f32>(2.0) - vec2<f32>(1.0));
|
||||
let unnamed_54 = (vec2<f32>(2.0) - vec2<f32>(1.0));
|
||||
let unnamed_55 = (vec2<i32>(2) * 1);
|
||||
let unnamed_56 = (2 * vec2<i32>(1));
|
||||
let unnamed_57 = (vec2<u32>(2u) * 1u);
|
||||
let unnamed_58 = (2u * vec2<u32>(1u));
|
||||
let unnamed_59 = (vec2<f32>(2.0) * 1.0);
|
||||
let unnamed_60 = (2.0 * vec2<f32>(1.0));
|
||||
let unnamed_61 = (vec2<i32>(2) / vec2<i32>(1));
|
||||
let unnamed_62 = (vec2<i32>(2) / vec2<i32>(1));
|
||||
let unnamed_63 = (vec2<u32>(2u) / vec2<u32>(1u));
|
||||
let unnamed_64 = (vec2<u32>(2u) / vec2<u32>(1u));
|
||||
let unnamed_65 = (vec2<f32>(2.0) / vec2<f32>(1.0));
|
||||
let unnamed_66 = (vec2<f32>(2.0) / vec2<f32>(1.0));
|
||||
let unnamed_67 = (vec2<i32>(2) % vec2<i32>(1));
|
||||
let unnamed_68 = (vec2<i32>(2) % vec2<i32>(1));
|
||||
let unnamed_69 = (vec2<u32>(2u) % vec2<u32>(1u));
|
||||
let unnamed_70 = (vec2<u32>(2u) % vec2<u32>(1u));
|
||||
let unnamed_71 = (vec2<f32>(2.0) % vec2<f32>(1.0));
|
||||
let unnamed_72 = (vec2<f32>(2.0) % vec2<f32>(1.0));
|
||||
let unnamed_73 = (mat3x3<f32>(vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0)) + mat3x3<f32>(vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0)));
|
||||
let unnamed_74 = (mat3x3<f32>(vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0)) - mat3x3<f32>(vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0)));
|
||||
let unnamed_75 = (mat3x3<f32>(vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0)) * 1.0);
|
||||
let unnamed_76 = (2.0 * mat3x3<f32>(vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0)));
|
||||
let unnamed_77 = (mat4x3<f32>(vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0)) * vec4<f32>(1.0));
|
||||
let unnamed_78 = (vec3<f32>(2.0) * mat4x3<f32>(vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0)));
|
||||
let unnamed_79 = (mat4x3<f32>(vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0)) * mat3x4<f32>(vec4<f32>(0.0, 0.0, 0.0, 0.0), vec4<f32>(0.0, 0.0, 0.0, 0.0), vec4<f32>(0.0, 0.0, 0.0, 0.0)));
|
||||
}
|
||||
|
||||
fn bit() {
|
||||
let unnamed_88 = ~(1);
|
||||
let unnamed_89 = ~(1u);
|
||||
let unnamed_90 = !(vec2<i32>(1));
|
||||
let unnamed_91 = !(vec3<u32>(1u));
|
||||
let unnamed_92 = (2 | 1);
|
||||
let unnamed_93 = (2u | 1u);
|
||||
let unnamed_94 = (vec2<i32>(2) | vec2<i32>(1));
|
||||
let unnamed_95 = (vec3<u32>(2u) | vec3<u32>(1u));
|
||||
let unnamed_96 = (2 & 1);
|
||||
let unnamed_97 = (2u & 1u);
|
||||
let unnamed_98 = (vec2<i32>(2) & vec2<i32>(1));
|
||||
let unnamed_99 = (vec3<u32>(2u) & vec3<u32>(1u));
|
||||
let unnamed_100 = (2 ^ 1);
|
||||
let unnamed_101 = (2u ^ 1u);
|
||||
let unnamed_102 = (vec2<i32>(2) ^ vec2<i32>(1));
|
||||
let unnamed_103 = (vec3<u32>(2u) ^ vec3<u32>(1u));
|
||||
let unnamed_104 = (2 << 1u);
|
||||
let unnamed_105 = (2u << 1u);
|
||||
let unnamed_106 = (vec2<i32>(2) << vec2<u32>(1u));
|
||||
let unnamed_107 = (vec3<u32>(2u) << vec3<u32>(1u));
|
||||
let unnamed_108 = (2 >> 1u);
|
||||
let unnamed_109 = (2u >> 1u);
|
||||
let unnamed_110 = (vec2<i32>(2) >> vec2<u32>(1u));
|
||||
let unnamed_111 = (vec3<u32>(2u) >> vec3<u32>(1u));
|
||||
let unnamed_80 = ~(1);
|
||||
let unnamed_81 = ~(1u);
|
||||
let unnamed_82 = !(vec2<i32>(1));
|
||||
let unnamed_83 = !(vec3<u32>(1u));
|
||||
let unnamed_84 = (2 | 1);
|
||||
let unnamed_85 = (2u | 1u);
|
||||
let unnamed_86 = (vec2<i32>(2) | vec2<i32>(1));
|
||||
let unnamed_87 = (vec3<u32>(2u) | vec3<u32>(1u));
|
||||
let unnamed_88 = (2 & 1);
|
||||
let unnamed_89 = (2u & 1u);
|
||||
let unnamed_90 = (vec2<i32>(2) & vec2<i32>(1));
|
||||
let unnamed_91 = (vec3<u32>(2u) & vec3<u32>(1u));
|
||||
let unnamed_92 = (2 ^ 1);
|
||||
let unnamed_93 = (2u ^ 1u);
|
||||
let unnamed_94 = (vec2<i32>(2) ^ vec2<i32>(1));
|
||||
let unnamed_95 = (vec3<u32>(2u) ^ vec3<u32>(1u));
|
||||
let unnamed_96 = (2 << 1u);
|
||||
let unnamed_97 = (2u << 1u);
|
||||
let unnamed_98 = (vec2<i32>(2) << vec2<u32>(1u));
|
||||
let unnamed_99 = (vec3<u32>(2u) << vec3<u32>(1u));
|
||||
let unnamed_100 = (2 >> 1u);
|
||||
let unnamed_101 = (2u >> 1u);
|
||||
let unnamed_102 = (vec2<i32>(2) >> vec2<u32>(1u));
|
||||
let unnamed_103 = (vec3<u32>(2u) >> vec3<u32>(1u));
|
||||
}
|
||||
|
||||
fn comparison() {
|
||||
let unnamed_112 = (2 == 1);
|
||||
let unnamed_113 = (2u == 1u);
|
||||
let unnamed_114 = (2.0 == 1.0);
|
||||
let unnamed_115 = (vec2<i32>(2) == vec2<i32>(1));
|
||||
let unnamed_116 = (vec3<u32>(2u) == vec3<u32>(1u));
|
||||
let unnamed_117 = (vec4<f32>(2.0) == vec4<f32>(1.0));
|
||||
let unnamed_118 = (2 != 1);
|
||||
let unnamed_119 = (2u != 1u);
|
||||
let unnamed_120 = (2.0 != 1.0);
|
||||
let unnamed_121 = (vec2<i32>(2) != vec2<i32>(1));
|
||||
let unnamed_122 = (vec3<u32>(2u) != vec3<u32>(1u));
|
||||
let unnamed_123 = (vec4<f32>(2.0) != vec4<f32>(1.0));
|
||||
let unnamed_124 = (2 < 1);
|
||||
let unnamed_125 = (2u < 1u);
|
||||
let unnamed_126 = (2.0 < 1.0);
|
||||
let unnamed_127 = (vec2<i32>(2) < vec2<i32>(1));
|
||||
let unnamed_128 = (vec3<u32>(2u) < vec3<u32>(1u));
|
||||
let unnamed_129 = (vec4<f32>(2.0) < vec4<f32>(1.0));
|
||||
let unnamed_130 = (2 <= 1);
|
||||
let unnamed_131 = (2u <= 1u);
|
||||
let unnamed_132 = (2.0 <= 1.0);
|
||||
let unnamed_133 = (vec2<i32>(2) <= vec2<i32>(1));
|
||||
let unnamed_134 = (vec3<u32>(2u) <= vec3<u32>(1u));
|
||||
let unnamed_135 = (vec4<f32>(2.0) <= vec4<f32>(1.0));
|
||||
let unnamed_136 = (2 > 1);
|
||||
let unnamed_137 = (2u > 1u);
|
||||
let unnamed_138 = (2.0 > 1.0);
|
||||
let unnamed_139 = (vec2<i32>(2) > vec2<i32>(1));
|
||||
let unnamed_140 = (vec3<u32>(2u) > vec3<u32>(1u));
|
||||
let unnamed_141 = (vec4<f32>(2.0) > vec4<f32>(1.0));
|
||||
let unnamed_142 = (2 >= 1);
|
||||
let unnamed_143 = (2u >= 1u);
|
||||
let unnamed_144 = (2.0 >= 1.0);
|
||||
let unnamed_145 = (vec2<i32>(2) >= vec2<i32>(1));
|
||||
let unnamed_146 = (vec3<u32>(2u) >= vec3<u32>(1u));
|
||||
let unnamed_147 = (vec4<f32>(2.0) >= vec4<f32>(1.0));
|
||||
let unnamed_104 = (2 == 1);
|
||||
let unnamed_105 = (2u == 1u);
|
||||
let unnamed_106 = (2.0 == 1.0);
|
||||
let unnamed_107 = (vec2<i32>(2) == vec2<i32>(1));
|
||||
let unnamed_108 = (vec3<u32>(2u) == vec3<u32>(1u));
|
||||
let unnamed_109 = (vec4<f32>(2.0) == vec4<f32>(1.0));
|
||||
let unnamed_110 = (2 != 1);
|
||||
let unnamed_111 = (2u != 1u);
|
||||
let unnamed_112 = (2.0 != 1.0);
|
||||
let unnamed_113 = (vec2<i32>(2) != vec2<i32>(1));
|
||||
let unnamed_114 = (vec3<u32>(2u) != vec3<u32>(1u));
|
||||
let unnamed_115 = (vec4<f32>(2.0) != vec4<f32>(1.0));
|
||||
let unnamed_116 = (2 < 1);
|
||||
let unnamed_117 = (2u < 1u);
|
||||
let unnamed_118 = (2.0 < 1.0);
|
||||
let unnamed_119 = (vec2<i32>(2) < vec2<i32>(1));
|
||||
let unnamed_120 = (vec3<u32>(2u) < vec3<u32>(1u));
|
||||
let unnamed_121 = (vec4<f32>(2.0) < vec4<f32>(1.0));
|
||||
let unnamed_122 = (2 <= 1);
|
||||
let unnamed_123 = (2u <= 1u);
|
||||
let unnamed_124 = (2.0 <= 1.0);
|
||||
let unnamed_125 = (vec2<i32>(2) <= vec2<i32>(1));
|
||||
let unnamed_126 = (vec3<u32>(2u) <= vec3<u32>(1u));
|
||||
let unnamed_127 = (vec4<f32>(2.0) <= vec4<f32>(1.0));
|
||||
let unnamed_128 = (2 > 1);
|
||||
let unnamed_129 = (2u > 1u);
|
||||
let unnamed_130 = (2.0 > 1.0);
|
||||
let unnamed_131 = (vec2<i32>(2) > vec2<i32>(1));
|
||||
let unnamed_132 = (vec3<u32>(2u) > vec3<u32>(1u));
|
||||
let unnamed_133 = (vec4<f32>(2.0) > vec4<f32>(1.0));
|
||||
let unnamed_134 = (2 >= 1);
|
||||
let unnamed_135 = (2u >= 1u);
|
||||
let unnamed_136 = (2.0 >= 1.0);
|
||||
let unnamed_137 = (vec2<i32>(2) >= vec2<i32>(1));
|
||||
let unnamed_138 = (vec3<u32>(2u) >= vec3<u32>(1u));
|
||||
let unnamed_139 = (vec4<f32>(2.0) >= vec4<f32>(1.0));
|
||||
}
|
||||
|
||||
fn assignment() {
|
||||
|
||||
@@ -171,14 +171,14 @@ fn type_not_constructible() {
|
||||
check(
|
||||
r#"
|
||||
fn x() {
|
||||
var _ = atomic<i32>(0);
|
||||
_ = atomic<i32>(0);
|
||||
}
|
||||
"#,
|
||||
r#"error: type `atomic` is not constructible
|
||||
┌─ wgsl:3:25
|
||||
┌─ wgsl:3:21
|
||||
│
|
||||
3 │ var _ = atomic<i32>(0);
|
||||
│ ^^^^^^ type is not constructible
|
||||
3 │ _ = atomic<i32>(0);
|
||||
│ ^^^^^^ type is not constructible
|
||||
|
||||
"#,
|
||||
);
|
||||
@@ -189,14 +189,14 @@ fn type_not_inferrable() {
|
||||
check(
|
||||
r#"
|
||||
fn x() {
|
||||
var _ = vec2();
|
||||
_ = vec2();
|
||||
}
|
||||
"#,
|
||||
r#"error: type can't be inferred
|
||||
┌─ wgsl:3:25
|
||||
┌─ wgsl:3:21
|
||||
│
|
||||
3 │ var _ = vec2();
|
||||
│ ^^^^ type can't be inferred
|
||||
3 │ _ = vec2();
|
||||
│ ^^^^ type can't be inferred
|
||||
|
||||
"#,
|
||||
);
|
||||
@@ -207,14 +207,14 @@ fn unexpected_constructor_parameters() {
|
||||
check(
|
||||
r#"
|
||||
fn x() {
|
||||
var _ = i32(0, 1);
|
||||
_ = i32(0, 1);
|
||||
}
|
||||
"#,
|
||||
r#"error: unexpected components
|
||||
┌─ wgsl:3:31
|
||||
┌─ wgsl:3:27
|
||||
│
|
||||
3 │ var _ = i32(0, 1);
|
||||
│ ^^ unexpected components
|
||||
3 │ _ = i32(0, 1);
|
||||
│ ^^ unexpected components
|
||||
|
||||
"#,
|
||||
);
|
||||
@@ -225,14 +225,14 @@ fn constructor_parameter_type_mismatch() {
|
||||
check(
|
||||
r#"
|
||||
fn x() {
|
||||
var _ = mat2x2<f32>(array(0, 1), vec2(2, 3));
|
||||
_ = mat2x2<f32>(array(0, 1), vec2(2, 3));
|
||||
}
|
||||
"#,
|
||||
r#"error: invalid type for constructor component at index [0]
|
||||
┌─ wgsl:3:37
|
||||
┌─ wgsl:3:33
|
||||
│
|
||||
3 │ var _ = mat2x2<f32>(array(0, 1), vec2(2, 3));
|
||||
│ ^^^^^^^^^^^ invalid component type
|
||||
3 │ _ = mat2x2<f32>(array(0, 1), vec2(2, 3));
|
||||
│ ^^^^^^^^^^^ invalid component type
|
||||
|
||||
"#,
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user