mirror of
https://github.com/gfx-rs/wgpu.git
synced 2025-02-16 08:53:20 +00:00
[naga wgsl-in] Proper singular generic in vec and matrix (#6189)
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
This commit is contained in:
parent
8eb0e6451b
commit
105cb9db31
@ -578,8 +578,13 @@ impl<'source, 'temp> Lowerer<'source, 'temp> {
|
||||
Constructor::Type(ty)
|
||||
}
|
||||
ast::ConstructorType::PartialVector { size } => Constructor::PartialVector { size },
|
||||
ast::ConstructorType::Vector { size, scalar } => {
|
||||
let ty = ctx.ensure_type_exists(scalar.to_inner_vector(size));
|
||||
ast::ConstructorType::Vector { size, ty, ty_span } => {
|
||||
let ty = self.resolve_ast_type(ty, &mut ctx.as_global())?;
|
||||
let scalar = match ctx.module.types[ty].inner {
|
||||
crate::TypeInner::Scalar(sc) => sc,
|
||||
_ => return Err(Error::UnknownScalarType(ty_span)),
|
||||
};
|
||||
let ty = ctx.ensure_type_exists(crate::TypeInner::Vector { size, scalar });
|
||||
Constructor::Type(ty)
|
||||
}
|
||||
ast::ConstructorType::PartialMatrix { columns, rows } => {
|
||||
@ -588,13 +593,22 @@ impl<'source, 'temp> Lowerer<'source, 'temp> {
|
||||
ast::ConstructorType::Matrix {
|
||||
rows,
|
||||
columns,
|
||||
width,
|
||||
ty,
|
||||
ty_span,
|
||||
} => {
|
||||
let ty = ctx.ensure_type_exists(crate::TypeInner::Matrix {
|
||||
columns,
|
||||
rows,
|
||||
scalar: crate::Scalar::float(width),
|
||||
});
|
||||
let ty = self.resolve_ast_type(ty, &mut ctx.as_global())?;
|
||||
let scalar = match ctx.module.types[ty].inner {
|
||||
crate::TypeInner::Scalar(sc) => sc,
|
||||
_ => return Err(Error::UnknownScalarType(ty_span)),
|
||||
};
|
||||
let ty = match scalar.kind {
|
||||
crate::ScalarKind::Float => ctx.ensure_type_exists(crate::TypeInner::Matrix {
|
||||
columns,
|
||||
rows,
|
||||
scalar,
|
||||
}),
|
||||
_ => return Err(Error::BadMatrixScalarKind(ty_span, scalar)),
|
||||
};
|
||||
Constructor::Type(ty)
|
||||
}
|
||||
ast::ConstructorType::PartialArray => Constructor::PartialArray,
|
||||
|
@ -2965,16 +2965,34 @@ impl<'source, 'temp> Lowerer<'source, 'temp> {
|
||||
) -> Result<Handle<crate::Type>, Error<'source>> {
|
||||
let inner = match ctx.types[handle] {
|
||||
ast::Type::Scalar(scalar) => scalar.to_inner_scalar(),
|
||||
ast::Type::Vector { size, scalar } => scalar.to_inner_vector(size),
|
||||
ast::Type::Vector { size, ty, ty_span } => {
|
||||
let ty = self.resolve_ast_type(ty, ctx)?;
|
||||
let scalar = match ctx.module.types[ty].inner {
|
||||
crate::TypeInner::Scalar(sc) => sc,
|
||||
_ => return Err(Error::UnknownScalarType(ty_span)),
|
||||
};
|
||||
crate::TypeInner::Vector { size, scalar }
|
||||
}
|
||||
ast::Type::Matrix {
|
||||
rows,
|
||||
columns,
|
||||
width,
|
||||
} => crate::TypeInner::Matrix {
|
||||
columns,
|
||||
rows,
|
||||
scalar: crate::Scalar::float(width),
|
||||
},
|
||||
ty,
|
||||
ty_span,
|
||||
} => {
|
||||
let ty = self.resolve_ast_type(ty, ctx)?;
|
||||
let scalar = match ctx.module.types[ty].inner {
|
||||
crate::TypeInner::Scalar(sc) => sc,
|
||||
_ => return Err(Error::UnknownScalarType(ty_span)),
|
||||
};
|
||||
match scalar.kind {
|
||||
crate::ScalarKind::Float => crate::TypeInner::Matrix {
|
||||
columns,
|
||||
rows,
|
||||
scalar,
|
||||
},
|
||||
_ => return Err(Error::BadMatrixScalarKind(ty_span, scalar)),
|
||||
}
|
||||
}
|
||||
ast::Type::Atomic(scalar) => scalar.to_inner_atomic(),
|
||||
ast::Type::Pointer { base, space } => {
|
||||
let base = self.resolve_ast_type(base, ctx)?;
|
||||
|
@ -198,12 +198,14 @@ pub enum Type<'a> {
|
||||
Scalar(Scalar),
|
||||
Vector {
|
||||
size: crate::VectorSize,
|
||||
scalar: Scalar,
|
||||
ty: Handle<Type<'a>>,
|
||||
ty_span: Span,
|
||||
},
|
||||
Matrix {
|
||||
columns: crate::VectorSize,
|
||||
rows: crate::VectorSize,
|
||||
width: crate::Bytes,
|
||||
ty: Handle<Type<'a>>,
|
||||
ty_span: Span,
|
||||
},
|
||||
Atomic(Scalar),
|
||||
Pointer {
|
||||
@ -330,7 +332,8 @@ pub enum ConstructorType<'a> {
|
||||
/// `vec3<f32>(1.0)`.
|
||||
Vector {
|
||||
size: crate::VectorSize,
|
||||
scalar: Scalar,
|
||||
ty: Handle<Type<'a>>,
|
||||
ty_span: Span,
|
||||
},
|
||||
|
||||
/// A matrix construction whose component type is inferred from the
|
||||
@ -345,7 +348,8 @@ pub enum ConstructorType<'a> {
|
||||
Matrix {
|
||||
columns: crate::VectorSize,
|
||||
rows: crate::VectorSize,
|
||||
width: crate::Bytes,
|
||||
ty: Handle<Type<'a>>,
|
||||
ty_span: Span,
|
||||
},
|
||||
|
||||
/// An array whose component type and size are inferred from the arguments:
|
||||
|
@ -111,6 +111,11 @@ impl<'a> ExpressionContext<'a, '_, '_> {
|
||||
Ok(handle)
|
||||
}
|
||||
}
|
||||
|
||||
fn new_scalar(&mut self, scalar: Scalar) -> Handle<ast::Type<'a>> {
|
||||
self.types
|
||||
.append(ast::Type::Scalar(scalar), Span::UNDEFINED)
|
||||
}
|
||||
}
|
||||
|
||||
/// Which grammar rule we are in the midst of parsing.
|
||||
@ -310,25 +315,22 @@ impl Parser {
|
||||
"vec2i" => {
|
||||
return Ok(Some(ast::ConstructorType::Vector {
|
||||
size: crate::VectorSize::Bi,
|
||||
scalar: Scalar {
|
||||
kind: crate::ScalarKind::Sint,
|
||||
width: 4,
|
||||
},
|
||||
ty: ctx.new_scalar(Scalar::I32),
|
||||
ty_span: Span::UNDEFINED,
|
||||
}))
|
||||
}
|
||||
"vec2u" => {
|
||||
return Ok(Some(ast::ConstructorType::Vector {
|
||||
size: crate::VectorSize::Bi,
|
||||
scalar: Scalar {
|
||||
kind: crate::ScalarKind::Uint,
|
||||
width: 4,
|
||||
},
|
||||
ty: ctx.new_scalar(Scalar::U32),
|
||||
ty_span: Span::UNDEFINED,
|
||||
}))
|
||||
}
|
||||
"vec2f" => {
|
||||
return Ok(Some(ast::ConstructorType::Vector {
|
||||
size: crate::VectorSize::Bi,
|
||||
scalar: Scalar::F32,
|
||||
ty: ctx.new_scalar(Scalar::F32),
|
||||
ty_span: Span::UNDEFINED,
|
||||
}))
|
||||
}
|
||||
"vec3" => ast::ConstructorType::PartialVector {
|
||||
@ -337,19 +339,22 @@ impl Parser {
|
||||
"vec3i" => {
|
||||
return Ok(Some(ast::ConstructorType::Vector {
|
||||
size: crate::VectorSize::Tri,
|
||||
scalar: Scalar::I32,
|
||||
ty: ctx.new_scalar(Scalar::I32),
|
||||
ty_span: Span::UNDEFINED,
|
||||
}))
|
||||
}
|
||||
"vec3u" => {
|
||||
return Ok(Some(ast::ConstructorType::Vector {
|
||||
size: crate::VectorSize::Tri,
|
||||
scalar: Scalar::U32,
|
||||
ty: ctx.new_scalar(Scalar::U32),
|
||||
ty_span: Span::UNDEFINED,
|
||||
}))
|
||||
}
|
||||
"vec3f" => {
|
||||
return Ok(Some(ast::ConstructorType::Vector {
|
||||
size: crate::VectorSize::Tri,
|
||||
scalar: Scalar::F32,
|
||||
ty: ctx.new_scalar(Scalar::F32),
|
||||
ty_span: Span::UNDEFINED,
|
||||
}))
|
||||
}
|
||||
"vec4" => ast::ConstructorType::PartialVector {
|
||||
@ -358,19 +363,22 @@ impl Parser {
|
||||
"vec4i" => {
|
||||
return Ok(Some(ast::ConstructorType::Vector {
|
||||
size: crate::VectorSize::Quad,
|
||||
scalar: Scalar::I32,
|
||||
ty: ctx.new_scalar(Scalar::I32),
|
||||
ty_span: Span::UNDEFINED,
|
||||
}))
|
||||
}
|
||||
"vec4u" => {
|
||||
return Ok(Some(ast::ConstructorType::Vector {
|
||||
size: crate::VectorSize::Quad,
|
||||
scalar: Scalar::U32,
|
||||
ty: ctx.new_scalar(Scalar::U32),
|
||||
ty_span: Span::UNDEFINED,
|
||||
}))
|
||||
}
|
||||
"vec4f" => {
|
||||
return Ok(Some(ast::ConstructorType::Vector {
|
||||
size: crate::VectorSize::Quad,
|
||||
scalar: Scalar::F32,
|
||||
ty: ctx.new_scalar(Scalar::F32),
|
||||
ty_span: Span::UNDEFINED,
|
||||
}))
|
||||
}
|
||||
"mat2x2" => ast::ConstructorType::PartialMatrix {
|
||||
@ -381,7 +389,8 @@ impl Parser {
|
||||
return Ok(Some(ast::ConstructorType::Matrix {
|
||||
columns: crate::VectorSize::Bi,
|
||||
rows: crate::VectorSize::Bi,
|
||||
width: 4,
|
||||
ty: ctx.new_scalar(Scalar::F32),
|
||||
ty_span: Span::UNDEFINED,
|
||||
}))
|
||||
}
|
||||
"mat2x3" => ast::ConstructorType::PartialMatrix {
|
||||
@ -392,7 +401,8 @@ impl Parser {
|
||||
return Ok(Some(ast::ConstructorType::Matrix {
|
||||
columns: crate::VectorSize::Bi,
|
||||
rows: crate::VectorSize::Tri,
|
||||
width: 4,
|
||||
ty: ctx.new_scalar(Scalar::F32),
|
||||
ty_span: Span::UNDEFINED,
|
||||
}))
|
||||
}
|
||||
"mat2x4" => ast::ConstructorType::PartialMatrix {
|
||||
@ -403,7 +413,8 @@ impl Parser {
|
||||
return Ok(Some(ast::ConstructorType::Matrix {
|
||||
columns: crate::VectorSize::Bi,
|
||||
rows: crate::VectorSize::Quad,
|
||||
width: 4,
|
||||
ty: ctx.new_scalar(Scalar::F32),
|
||||
ty_span: Span::UNDEFINED,
|
||||
}))
|
||||
}
|
||||
"mat3x2" => ast::ConstructorType::PartialMatrix {
|
||||
@ -414,7 +425,8 @@ impl Parser {
|
||||
return Ok(Some(ast::ConstructorType::Matrix {
|
||||
columns: crate::VectorSize::Tri,
|
||||
rows: crate::VectorSize::Bi,
|
||||
width: 4,
|
||||
ty: ctx.new_scalar(Scalar::F32),
|
||||
ty_span: Span::UNDEFINED,
|
||||
}))
|
||||
}
|
||||
"mat3x3" => ast::ConstructorType::PartialMatrix {
|
||||
@ -425,7 +437,8 @@ impl Parser {
|
||||
return Ok(Some(ast::ConstructorType::Matrix {
|
||||
columns: crate::VectorSize::Tri,
|
||||
rows: crate::VectorSize::Tri,
|
||||
width: 4,
|
||||
ty: ctx.new_scalar(Scalar::F32),
|
||||
ty_span: Span::UNDEFINED,
|
||||
}))
|
||||
}
|
||||
"mat3x4" => ast::ConstructorType::PartialMatrix {
|
||||
@ -436,7 +449,8 @@ impl Parser {
|
||||
return Ok(Some(ast::ConstructorType::Matrix {
|
||||
columns: crate::VectorSize::Tri,
|
||||
rows: crate::VectorSize::Quad,
|
||||
width: 4,
|
||||
ty: ctx.new_scalar(Scalar::F32),
|
||||
ty_span: Span::UNDEFINED,
|
||||
}))
|
||||
}
|
||||
"mat4x2" => ast::ConstructorType::PartialMatrix {
|
||||
@ -447,7 +461,8 @@ impl Parser {
|
||||
return Ok(Some(ast::ConstructorType::Matrix {
|
||||
columns: crate::VectorSize::Quad,
|
||||
rows: crate::VectorSize::Bi,
|
||||
width: 4,
|
||||
ty: ctx.new_scalar(Scalar::F32),
|
||||
ty_span: Span::UNDEFINED,
|
||||
}))
|
||||
}
|
||||
"mat4x3" => ast::ConstructorType::PartialMatrix {
|
||||
@ -458,7 +473,8 @@ impl Parser {
|
||||
return Ok(Some(ast::ConstructorType::Matrix {
|
||||
columns: crate::VectorSize::Quad,
|
||||
rows: crate::VectorSize::Tri,
|
||||
width: 4,
|
||||
ty: ctx.new_scalar(Scalar::F32),
|
||||
ty_span: Span::UNDEFINED,
|
||||
}))
|
||||
}
|
||||
"mat4x4" => ast::ConstructorType::PartialMatrix {
|
||||
@ -469,7 +485,8 @@ impl Parser {
|
||||
return Ok(Some(ast::ConstructorType::Matrix {
|
||||
columns: crate::VectorSize::Quad,
|
||||
rows: crate::VectorSize::Quad,
|
||||
width: 4,
|
||||
ty: ctx.new_scalar(Scalar::F32),
|
||||
ty_span: Span::UNDEFINED,
|
||||
}))
|
||||
}
|
||||
"array" => ast::ConstructorType::PartialArray,
|
||||
@ -502,19 +519,17 @@ impl Parser {
|
||||
// parse component type if present
|
||||
match (lexer.peek().0, partial) {
|
||||
(Token::Paren('<'), ast::ConstructorType::PartialVector { size }) => {
|
||||
let scalar = lexer.next_scalar_generic()?;
|
||||
Ok(Some(ast::ConstructorType::Vector { size, scalar }))
|
||||
let (ty, ty_span) = self.singular_generic(lexer, ctx)?;
|
||||
Ok(Some(ast::ConstructorType::Vector { size, ty, ty_span }))
|
||||
}
|
||||
(Token::Paren('<'), ast::ConstructorType::PartialMatrix { columns, rows }) => {
|
||||
let (scalar, span) = lexer.next_scalar_generic_with_span()?;
|
||||
match scalar.kind {
|
||||
crate::ScalarKind::Float => Ok(Some(ast::ConstructorType::Matrix {
|
||||
columns,
|
||||
rows,
|
||||
width: scalar.width,
|
||||
})),
|
||||
_ => Err(Error::BadMatrixScalarKind(span, scalar)),
|
||||
}
|
||||
let (ty, ty_span) = self.singular_generic(lexer, ctx)?;
|
||||
Ok(Some(ast::ConstructorType::Matrix {
|
||||
columns,
|
||||
rows,
|
||||
ty,
|
||||
ty_span,
|
||||
}))
|
||||
}
|
||||
(Token::Paren('<'), ast::ConstructorType::PartialArray) => {
|
||||
lexer.expect_generic_paren('<')?;
|
||||
@ -570,11 +585,7 @@ impl Parser {
|
||||
let expr = match name {
|
||||
// bitcast looks like a function call, but it's an operator and must be handled differently.
|
||||
"bitcast" => {
|
||||
lexer.expect_generic_paren('<')?;
|
||||
let start = lexer.start_byte_offset();
|
||||
let to = self.type_decl(lexer, ctx)?;
|
||||
let span = lexer.span_from(start);
|
||||
lexer.expect_generic_paren('>')?;
|
||||
let (to, span) = self.singular_generic(lexer, ctx)?;
|
||||
|
||||
lexer.open_arguments()?;
|
||||
let expr = self.general_expression(lexer, ctx)?;
|
||||
@ -1058,21 +1069,34 @@ impl Parser {
|
||||
Ok(members)
|
||||
}
|
||||
|
||||
fn matrix_scalar_type<'a>(
|
||||
/// Parses `<T>`, returning T and span of T
|
||||
fn singular_generic<'a>(
|
||||
&mut self,
|
||||
lexer: &mut Lexer<'a>,
|
||||
ctx: &mut ExpressionContext<'a, '_, '_>,
|
||||
) -> Result<(Handle<ast::Type<'a>>, Span), Error<'a>> {
|
||||
lexer.expect_generic_paren('<')?;
|
||||
let start = lexer.start_byte_offset();
|
||||
let ty = self.type_decl(lexer, ctx)?;
|
||||
let span = lexer.span_from(start);
|
||||
lexer.expect_generic_paren('>')?;
|
||||
Ok((ty, span))
|
||||
}
|
||||
|
||||
fn matrix_with_type<'a>(
|
||||
&mut self,
|
||||
lexer: &mut Lexer<'a>,
|
||||
ctx: &mut ExpressionContext<'a, '_, '_>,
|
||||
columns: crate::VectorSize,
|
||||
rows: crate::VectorSize,
|
||||
) -> Result<ast::Type<'a>, Error<'a>> {
|
||||
let (scalar, span) = lexer.next_scalar_generic_with_span()?;
|
||||
match scalar.kind {
|
||||
crate::ScalarKind::Float => Ok(ast::Type::Matrix {
|
||||
columns,
|
||||
rows,
|
||||
width: scalar.width,
|
||||
}),
|
||||
_ => Err(Error::BadMatrixScalarKind(span, scalar)),
|
||||
}
|
||||
let (ty, ty_span) = self.singular_generic(lexer, ctx)?;
|
||||
Ok(ast::Type::Matrix {
|
||||
columns,
|
||||
rows,
|
||||
ty,
|
||||
ty_span,
|
||||
})
|
||||
}
|
||||
|
||||
fn type_decl_impl<'a>(
|
||||
@ -1087,151 +1111,154 @@ impl Parser {
|
||||
|
||||
Ok(Some(match word {
|
||||
"vec2" => {
|
||||
let scalar = lexer.next_scalar_generic()?;
|
||||
let (ty, ty_span) = self.singular_generic(lexer, ctx)?;
|
||||
ast::Type::Vector {
|
||||
size: crate::VectorSize::Bi,
|
||||
scalar,
|
||||
ty,
|
||||
ty_span,
|
||||
}
|
||||
}
|
||||
"vec2i" => ast::Type::Vector {
|
||||
size: crate::VectorSize::Bi,
|
||||
scalar: Scalar {
|
||||
kind: crate::ScalarKind::Sint,
|
||||
width: 4,
|
||||
},
|
||||
ty: ctx.new_scalar(Scalar::I32),
|
||||
ty_span: Span::UNDEFINED,
|
||||
},
|
||||
"vec2u" => ast::Type::Vector {
|
||||
size: crate::VectorSize::Bi,
|
||||
scalar: Scalar {
|
||||
kind: crate::ScalarKind::Uint,
|
||||
width: 4,
|
||||
},
|
||||
ty: ctx.new_scalar(Scalar::U32),
|
||||
ty_span: Span::UNDEFINED,
|
||||
},
|
||||
"vec2f" => ast::Type::Vector {
|
||||
size: crate::VectorSize::Bi,
|
||||
scalar: Scalar::F32,
|
||||
ty: ctx.new_scalar(Scalar::F32),
|
||||
ty_span: Span::UNDEFINED,
|
||||
},
|
||||
"vec3" => {
|
||||
let scalar = lexer.next_scalar_generic()?;
|
||||
let (ty, ty_span) = self.singular_generic(lexer, ctx)?;
|
||||
ast::Type::Vector {
|
||||
size: crate::VectorSize::Tri,
|
||||
scalar,
|
||||
ty,
|
||||
ty_span,
|
||||
}
|
||||
}
|
||||
"vec3i" => ast::Type::Vector {
|
||||
size: crate::VectorSize::Tri,
|
||||
scalar: Scalar {
|
||||
kind: crate::ScalarKind::Sint,
|
||||
width: 4,
|
||||
},
|
||||
ty: ctx.new_scalar(Scalar::I32),
|
||||
ty_span: Span::UNDEFINED,
|
||||
},
|
||||
"vec3u" => ast::Type::Vector {
|
||||
size: crate::VectorSize::Tri,
|
||||
scalar: Scalar {
|
||||
kind: crate::ScalarKind::Uint,
|
||||
width: 4,
|
||||
},
|
||||
ty: ctx.new_scalar(Scalar::U32),
|
||||
ty_span: Span::UNDEFINED,
|
||||
},
|
||||
"vec3f" => ast::Type::Vector {
|
||||
size: crate::VectorSize::Tri,
|
||||
scalar: Scalar::F32,
|
||||
ty: ctx.new_scalar(Scalar::F32),
|
||||
ty_span: Span::UNDEFINED,
|
||||
},
|
||||
"vec4" => {
|
||||
let scalar = lexer.next_scalar_generic()?;
|
||||
let (ty, ty_span) = self.singular_generic(lexer, ctx)?;
|
||||
ast::Type::Vector {
|
||||
size: crate::VectorSize::Quad,
|
||||
scalar,
|
||||
ty,
|
||||
ty_span,
|
||||
}
|
||||
}
|
||||
"vec4i" => ast::Type::Vector {
|
||||
size: crate::VectorSize::Quad,
|
||||
scalar: Scalar {
|
||||
kind: crate::ScalarKind::Sint,
|
||||
width: 4,
|
||||
},
|
||||
ty: ctx.new_scalar(Scalar::I32),
|
||||
ty_span: Span::UNDEFINED,
|
||||
},
|
||||
"vec4u" => ast::Type::Vector {
|
||||
size: crate::VectorSize::Quad,
|
||||
scalar: Scalar {
|
||||
kind: crate::ScalarKind::Uint,
|
||||
width: 4,
|
||||
},
|
||||
ty: ctx.new_scalar(Scalar::U32),
|
||||
ty_span: Span::UNDEFINED,
|
||||
},
|
||||
"vec4f" => ast::Type::Vector {
|
||||
size: crate::VectorSize::Quad,
|
||||
scalar: Scalar::F32,
|
||||
ty: ctx.new_scalar(Scalar::F32),
|
||||
ty_span: Span::UNDEFINED,
|
||||
},
|
||||
"mat2x2" => {
|
||||
self.matrix_scalar_type(lexer, crate::VectorSize::Bi, crate::VectorSize::Bi)?
|
||||
self.matrix_with_type(lexer, ctx, crate::VectorSize::Bi, crate::VectorSize::Bi)?
|
||||
}
|
||||
"mat2x2f" => ast::Type::Matrix {
|
||||
columns: crate::VectorSize::Bi,
|
||||
rows: crate::VectorSize::Bi,
|
||||
width: 4,
|
||||
ty: ctx.new_scalar(Scalar::F32),
|
||||
ty_span: Span::UNDEFINED,
|
||||
},
|
||||
"mat2x3" => {
|
||||
self.matrix_scalar_type(lexer, crate::VectorSize::Bi, crate::VectorSize::Tri)?
|
||||
self.matrix_with_type(lexer, ctx, crate::VectorSize::Bi, crate::VectorSize::Tri)?
|
||||
}
|
||||
"mat2x3f" => ast::Type::Matrix {
|
||||
columns: crate::VectorSize::Bi,
|
||||
rows: crate::VectorSize::Tri,
|
||||
width: 4,
|
||||
ty: ctx.new_scalar(Scalar::F32),
|
||||
ty_span: Span::UNDEFINED,
|
||||
},
|
||||
"mat2x4" => {
|
||||
self.matrix_scalar_type(lexer, crate::VectorSize::Bi, crate::VectorSize::Quad)?
|
||||
self.matrix_with_type(lexer, ctx, crate::VectorSize::Bi, crate::VectorSize::Quad)?
|
||||
}
|
||||
"mat2x4f" => ast::Type::Matrix {
|
||||
columns: crate::VectorSize::Bi,
|
||||
rows: crate::VectorSize::Quad,
|
||||
width: 4,
|
||||
ty: ctx.new_scalar(Scalar::F32),
|
||||
ty_span: Span::UNDEFINED,
|
||||
},
|
||||
"mat3x2" => {
|
||||
self.matrix_scalar_type(lexer, crate::VectorSize::Tri, crate::VectorSize::Bi)?
|
||||
self.matrix_with_type(lexer, ctx, crate::VectorSize::Tri, crate::VectorSize::Bi)?
|
||||
}
|
||||
"mat3x2f" => ast::Type::Matrix {
|
||||
columns: crate::VectorSize::Tri,
|
||||
rows: crate::VectorSize::Bi,
|
||||
width: 4,
|
||||
ty: ctx.new_scalar(Scalar::F32),
|
||||
ty_span: Span::UNDEFINED,
|
||||
},
|
||||
"mat3x3" => {
|
||||
self.matrix_scalar_type(lexer, crate::VectorSize::Tri, crate::VectorSize::Tri)?
|
||||
self.matrix_with_type(lexer, ctx, crate::VectorSize::Tri, crate::VectorSize::Tri)?
|
||||
}
|
||||
"mat3x3f" => ast::Type::Matrix {
|
||||
columns: crate::VectorSize::Tri,
|
||||
rows: crate::VectorSize::Tri,
|
||||
width: 4,
|
||||
ty: ctx.new_scalar(Scalar::F32),
|
||||
ty_span: Span::UNDEFINED,
|
||||
},
|
||||
"mat3x4" => {
|
||||
self.matrix_scalar_type(lexer, crate::VectorSize::Tri, crate::VectorSize::Quad)?
|
||||
self.matrix_with_type(lexer, ctx, crate::VectorSize::Tri, crate::VectorSize::Quad)?
|
||||
}
|
||||
"mat3x4f" => ast::Type::Matrix {
|
||||
columns: crate::VectorSize::Tri,
|
||||
rows: crate::VectorSize::Quad,
|
||||
width: 4,
|
||||
ty: ctx.new_scalar(Scalar::F32),
|
||||
ty_span: Span::UNDEFINED,
|
||||
},
|
||||
"mat4x2" => {
|
||||
self.matrix_scalar_type(lexer, crate::VectorSize::Quad, crate::VectorSize::Bi)?
|
||||
self.matrix_with_type(lexer, ctx, crate::VectorSize::Quad, crate::VectorSize::Bi)?
|
||||
}
|
||||
"mat4x2f" => ast::Type::Matrix {
|
||||
columns: crate::VectorSize::Quad,
|
||||
rows: crate::VectorSize::Bi,
|
||||
width: 4,
|
||||
ty: ctx.new_scalar(Scalar::F32),
|
||||
ty_span: Span::UNDEFINED,
|
||||
},
|
||||
"mat4x3" => {
|
||||
self.matrix_scalar_type(lexer, crate::VectorSize::Quad, crate::VectorSize::Tri)?
|
||||
self.matrix_with_type(lexer, ctx, crate::VectorSize::Quad, crate::VectorSize::Tri)?
|
||||
}
|
||||
"mat4x3f" => ast::Type::Matrix {
|
||||
columns: crate::VectorSize::Quad,
|
||||
rows: crate::VectorSize::Tri,
|
||||
width: 4,
|
||||
ty: ctx.new_scalar(Scalar::F32),
|
||||
ty_span: Span::UNDEFINED,
|
||||
},
|
||||
"mat4x4" => {
|
||||
self.matrix_scalar_type(lexer, crate::VectorSize::Quad, crate::VectorSize::Quad)?
|
||||
self.matrix_with_type(lexer, ctx, crate::VectorSize::Quad, crate::VectorSize::Quad)?
|
||||
}
|
||||
"mat4x4f" => ast::Type::Matrix {
|
||||
columns: crate::VectorSize::Quad,
|
||||
rows: crate::VectorSize::Quad,
|
||||
width: 4,
|
||||
ty: ctx.new_scalar(Scalar::F32),
|
||||
ty_span: Span::UNDEFINED,
|
||||
},
|
||||
"atomic" => {
|
||||
let scalar = lexer.next_scalar_generic()?;
|
||||
|
@ -2,6 +2,8 @@ alias FVec3 = vec3<f32>;
|
||||
alias IVec3 = vec3i;
|
||||
alias Mat2 = mat2x2<f32>;
|
||||
alias Mat3 = mat3x3f;
|
||||
alias I32 = i32;
|
||||
alias F32 = f32;
|
||||
|
||||
fn main() {
|
||||
let a = FVec3(0.0, 0.0, 0.0);
|
||||
@ -12,4 +14,7 @@ fn main() {
|
||||
|
||||
let f = Mat2(1.0, 2.0, 3.0, 4.0);
|
||||
let g = Mat3(a, a, a);
|
||||
|
||||
let h = vec2<I32>();
|
||||
let i = mat2x2<F32>();
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -26,7 +26,7 @@ layout(std430) buffer Bar_block_0Fragment {
|
||||
AlignedWrapper data[];
|
||||
} _group_0_binding_0_fs;
|
||||
|
||||
layout(std430) buffer type_12_block_1Fragment { ivec2 _group_0_binding_2_fs; };
|
||||
layout(std430) buffer type_13_block_1Fragment { ivec2 _group_0_binding_2_fs; };
|
||||
|
||||
layout(location = 0) out vec4 _fs2p_location0;
|
||||
|
||||
|
@ -28,7 +28,7 @@ layout(std430) buffer Bar_block_0Vertex {
|
||||
|
||||
uniform Baz_block_1Vertex { Baz _group_0_binding_1_vs; };
|
||||
|
||||
layout(std430) buffer type_12_block_2Vertex { ivec2 _group_0_binding_2_vs; };
|
||||
layout(std430) buffer type_13_block_2Vertex { ivec2 _group_0_binding_2_vs; };
|
||||
|
||||
uniform MatCx2InArray_block_3Vertex { MatCx2InArray _group_0_binding_3_vs; };
|
||||
|
||||
|
@ -28,7 +28,7 @@ uniform Globals_block_0Fragment { Globals _group_0_binding_0_fs; };
|
||||
|
||||
uniform Entity_block_1Fragment { Entity _group_1_binding_0_fs; };
|
||||
|
||||
layout(std430) readonly buffer type_6_block_2Fragment { Light _group_0_binding_1_fs[]; };
|
||||
layout(std430) readonly buffer type_8_block_2Fragment { Light _group_0_binding_1_fs[]; };
|
||||
|
||||
uniform highp sampler2DArrayShadow _group_0_binding_2_fs;
|
||||
|
||||
|
@ -28,7 +28,7 @@ uniform Globals_block_0Fragment { Globals _group_0_binding_0_fs; };
|
||||
|
||||
uniform Entity_block_1Fragment { Entity _group_1_binding_0_fs; };
|
||||
|
||||
uniform type_7_block_2Fragment { Light _group_0_binding_1_fs[10]; };
|
||||
uniform type_9_block_2Fragment { Light _group_0_binding_1_fs[10]; };
|
||||
|
||||
uniform highp sampler2DArrayShadow _group_0_binding_2_fs;
|
||||
|
||||
|
@ -64,6 +64,13 @@
|
||||
span: 8,
|
||||
),
|
||||
),
|
||||
(
|
||||
name: None,
|
||||
inner: Scalar((
|
||||
kind: Float,
|
||||
width: 4,
|
||||
)),
|
||||
),
|
||||
(
|
||||
name: None,
|
||||
inner: Matrix(
|
||||
@ -89,7 +96,7 @@
|
||||
(
|
||||
name: None,
|
||||
inner: Array(
|
||||
base: 6,
|
||||
base: 7,
|
||||
size: Constant(2),
|
||||
stride: 16,
|
||||
),
|
||||
@ -104,7 +111,7 @@
|
||||
(
|
||||
name: None,
|
||||
inner: Array(
|
||||
base: 8,
|
||||
base: 9,
|
||||
size: Constant(10),
|
||||
stride: 4,
|
||||
),
|
||||
@ -122,7 +129,7 @@
|
||||
(
|
||||
name: None,
|
||||
inner: Array(
|
||||
base: 10,
|
||||
base: 11,
|
||||
size: Constant(2),
|
||||
stride: 8,
|
||||
),
|
||||
@ -141,37 +148,37 @@
|
||||
members: [
|
||||
(
|
||||
name: Some("_matrix"),
|
||||
ty: 5,
|
||||
ty: 6,
|
||||
binding: None,
|
||||
offset: 0,
|
||||
),
|
||||
(
|
||||
name: Some("matrix_array"),
|
||||
ty: 7,
|
||||
ty: 8,
|
||||
binding: None,
|
||||
offset: 64,
|
||||
),
|
||||
(
|
||||
name: Some("atom"),
|
||||
ty: 8,
|
||||
ty: 9,
|
||||
binding: None,
|
||||
offset: 96,
|
||||
),
|
||||
(
|
||||
name: Some("atom_arr"),
|
||||
ty: 9,
|
||||
ty: 10,
|
||||
binding: None,
|
||||
offset: 100,
|
||||
),
|
||||
(
|
||||
name: Some("arr"),
|
||||
ty: 11,
|
||||
ty: 12,
|
||||
binding: None,
|
||||
offset: 144,
|
||||
),
|
||||
(
|
||||
name: Some("data"),
|
||||
ty: 12,
|
||||
ty: 13,
|
||||
binding: None,
|
||||
offset: 160,
|
||||
),
|
||||
@ -196,7 +203,7 @@
|
||||
members: [
|
||||
(
|
||||
name: Some("m"),
|
||||
ty: 14,
|
||||
ty: 15,
|
||||
binding: None,
|
||||
offset: 0,
|
||||
),
|
||||
@ -228,7 +235,7 @@
|
||||
(
|
||||
name: None,
|
||||
inner: Array(
|
||||
base: 17,
|
||||
base: 18,
|
||||
size: Constant(2),
|
||||
stride: 32,
|
||||
),
|
||||
@ -239,7 +246,7 @@
|
||||
members: [
|
||||
(
|
||||
name: Some("am"),
|
||||
ty: 18,
|
||||
ty: 19,
|
||||
binding: None,
|
||||
offset: 0,
|
||||
),
|
||||
@ -247,24 +254,17 @@
|
||||
span: 64,
|
||||
),
|
||||
),
|
||||
(
|
||||
name: None,
|
||||
inner: Scalar((
|
||||
kind: Float,
|
||||
width: 4,
|
||||
)),
|
||||
),
|
||||
(
|
||||
name: None,
|
||||
inner: Pointer(
|
||||
base: 20,
|
||||
base: 5,
|
||||
space: Function,
|
||||
),
|
||||
),
|
||||
(
|
||||
name: None,
|
||||
inner: Array(
|
||||
base: 20,
|
||||
base: 5,
|
||||
size: Constant(10),
|
||||
stride: 4,
|
||||
),
|
||||
@ -342,7 +342,7 @@
|
||||
group: 0,
|
||||
binding: 0,
|
||||
)),
|
||||
ty: 13,
|
||||
ty: 14,
|
||||
init: None,
|
||||
),
|
||||
(
|
||||
@ -352,7 +352,7 @@
|
||||
group: 0,
|
||||
binding: 1,
|
||||
)),
|
||||
ty: 15,
|
||||
ty: 16,
|
||||
init: None,
|
||||
),
|
||||
(
|
||||
@ -364,7 +364,7 @@
|
||||
group: 0,
|
||||
binding: 2,
|
||||
)),
|
||||
ty: 16,
|
||||
ty: 17,
|
||||
init: None,
|
||||
),
|
||||
(
|
||||
@ -374,7 +374,7 @@
|
||||
group: 0,
|
||||
binding: 3,
|
||||
)),
|
||||
ty: 19,
|
||||
ty: 20,
|
||||
init: None,
|
||||
),
|
||||
],
|
||||
@ -414,7 +414,7 @@
|
||||
),
|
||||
(
|
||||
name: Some("t"),
|
||||
ty: 15,
|
||||
ty: 16,
|
||||
init: Some(48),
|
||||
),
|
||||
],
|
||||
@ -557,7 +557,7 @@
|
||||
value: 45,
|
||||
),
|
||||
Compose(
|
||||
ty: 14,
|
||||
ty: 15,
|
||||
components: [
|
||||
42,
|
||||
44,
|
||||
@ -565,7 +565,7 @@
|
||||
],
|
||||
),
|
||||
Compose(
|
||||
ty: 15,
|
||||
ty: 16,
|
||||
components: [
|
||||
47,
|
||||
],
|
||||
@ -600,7 +600,7 @@
|
||||
value: 58,
|
||||
),
|
||||
Compose(
|
||||
ty: 14,
|
||||
ty: 15,
|
||||
components: [
|
||||
55,
|
||||
57,
|
||||
@ -900,7 +900,7 @@
|
||||
),
|
||||
(
|
||||
name: Some("t"),
|
||||
ty: 19,
|
||||
ty: 20,
|
||||
init: Some(52),
|
||||
),
|
||||
],
|
||||
@ -1063,9 +1063,9 @@
|
||||
Load(
|
||||
pointer: 49,
|
||||
),
|
||||
ZeroValue(18),
|
||||
ZeroValue(19),
|
||||
Compose(
|
||||
ty: 19,
|
||||
ty: 20,
|
||||
components: [
|
||||
51,
|
||||
],
|
||||
@ -1084,7 +1084,7 @@
|
||||
base: 53,
|
||||
index: 0,
|
||||
),
|
||||
ZeroValue(18),
|
||||
ZeroValue(19),
|
||||
AccessIndex(
|
||||
base: 53,
|
||||
index: 0,
|
||||
@ -1114,7 +1114,7 @@
|
||||
value: 67,
|
||||
),
|
||||
Compose(
|
||||
ty: 17,
|
||||
ty: 18,
|
||||
components: [
|
||||
62,
|
||||
64,
|
||||
@ -1502,7 +1502,7 @@
|
||||
),
|
||||
],
|
||||
result: Some((
|
||||
ty: 20,
|
||||
ty: 5,
|
||||
binding: None,
|
||||
)),
|
||||
local_variables: [],
|
||||
@ -1535,7 +1535,7 @@
|
||||
),
|
||||
],
|
||||
result: Some((
|
||||
ty: 20,
|
||||
ty: 5,
|
||||
binding: None,
|
||||
)),
|
||||
local_variables: [],
|
||||
@ -1680,7 +1680,7 @@
|
||||
local_variables: [
|
||||
(
|
||||
name: Some("foo"),
|
||||
ty: 20,
|
||||
ty: 5,
|
||||
init: Some(1),
|
||||
),
|
||||
(
|
||||
@ -2017,7 +2017,7 @@
|
||||
value: 13,
|
||||
),
|
||||
Compose(
|
||||
ty: 5,
|
||||
ty: 6,
|
||||
components: [
|
||||
8,
|
||||
10,
|
||||
@ -2041,7 +2041,7 @@
|
||||
value: 20,
|
||||
),
|
||||
Compose(
|
||||
ty: 11,
|
||||
ty: 12,
|
||||
components: [
|
||||
19,
|
||||
21,
|
||||
@ -2062,7 +2062,7 @@
|
||||
),
|
||||
Literal(I32(1)),
|
||||
GlobalVariable(3),
|
||||
ZeroValue(16),
|
||||
ZeroValue(17),
|
||||
Literal(F32(0.0)),
|
||||
Splat(
|
||||
size: Quad,
|
||||
|
@ -64,6 +64,13 @@
|
||||
span: 8,
|
||||
),
|
||||
),
|
||||
(
|
||||
name: None,
|
||||
inner: Scalar((
|
||||
kind: Float,
|
||||
width: 4,
|
||||
)),
|
||||
),
|
||||
(
|
||||
name: None,
|
||||
inner: Matrix(
|
||||
@ -89,7 +96,7 @@
|
||||
(
|
||||
name: None,
|
||||
inner: Array(
|
||||
base: 6,
|
||||
base: 7,
|
||||
size: Constant(2),
|
||||
stride: 16,
|
||||
),
|
||||
@ -104,7 +111,7 @@
|
||||
(
|
||||
name: None,
|
||||
inner: Array(
|
||||
base: 8,
|
||||
base: 9,
|
||||
size: Constant(10),
|
||||
stride: 4,
|
||||
),
|
||||
@ -122,7 +129,7 @@
|
||||
(
|
||||
name: None,
|
||||
inner: Array(
|
||||
base: 10,
|
||||
base: 11,
|
||||
size: Constant(2),
|
||||
stride: 8,
|
||||
),
|
||||
@ -141,37 +148,37 @@
|
||||
members: [
|
||||
(
|
||||
name: Some("_matrix"),
|
||||
ty: 5,
|
||||
ty: 6,
|
||||
binding: None,
|
||||
offset: 0,
|
||||
),
|
||||
(
|
||||
name: Some("matrix_array"),
|
||||
ty: 7,
|
||||
ty: 8,
|
||||
binding: None,
|
||||
offset: 64,
|
||||
),
|
||||
(
|
||||
name: Some("atom"),
|
||||
ty: 8,
|
||||
ty: 9,
|
||||
binding: None,
|
||||
offset: 96,
|
||||
),
|
||||
(
|
||||
name: Some("atom_arr"),
|
||||
ty: 9,
|
||||
ty: 10,
|
||||
binding: None,
|
||||
offset: 100,
|
||||
),
|
||||
(
|
||||
name: Some("arr"),
|
||||
ty: 11,
|
||||
ty: 12,
|
||||
binding: None,
|
||||
offset: 144,
|
||||
),
|
||||
(
|
||||
name: Some("data"),
|
||||
ty: 12,
|
||||
ty: 13,
|
||||
binding: None,
|
||||
offset: 160,
|
||||
),
|
||||
@ -196,7 +203,7 @@
|
||||
members: [
|
||||
(
|
||||
name: Some("m"),
|
||||
ty: 14,
|
||||
ty: 15,
|
||||
binding: None,
|
||||
offset: 0,
|
||||
),
|
||||
@ -228,7 +235,7 @@
|
||||
(
|
||||
name: None,
|
||||
inner: Array(
|
||||
base: 17,
|
||||
base: 18,
|
||||
size: Constant(2),
|
||||
stride: 32,
|
||||
),
|
||||
@ -239,7 +246,7 @@
|
||||
members: [
|
||||
(
|
||||
name: Some("am"),
|
||||
ty: 18,
|
||||
ty: 19,
|
||||
binding: None,
|
||||
offset: 0,
|
||||
),
|
||||
@ -247,24 +254,17 @@
|
||||
span: 64,
|
||||
),
|
||||
),
|
||||
(
|
||||
name: None,
|
||||
inner: Scalar((
|
||||
kind: Float,
|
||||
width: 4,
|
||||
)),
|
||||
),
|
||||
(
|
||||
name: None,
|
||||
inner: Pointer(
|
||||
base: 20,
|
||||
base: 5,
|
||||
space: Function,
|
||||
),
|
||||
),
|
||||
(
|
||||
name: None,
|
||||
inner: Array(
|
||||
base: 20,
|
||||
base: 5,
|
||||
size: Constant(10),
|
||||
stride: 4,
|
||||
),
|
||||
@ -342,7 +342,7 @@
|
||||
group: 0,
|
||||
binding: 0,
|
||||
)),
|
||||
ty: 13,
|
||||
ty: 14,
|
||||
init: None,
|
||||
),
|
||||
(
|
||||
@ -352,7 +352,7 @@
|
||||
group: 0,
|
||||
binding: 1,
|
||||
)),
|
||||
ty: 15,
|
||||
ty: 16,
|
||||
init: None,
|
||||
),
|
||||
(
|
||||
@ -364,7 +364,7 @@
|
||||
group: 0,
|
||||
binding: 2,
|
||||
)),
|
||||
ty: 16,
|
||||
ty: 17,
|
||||
init: None,
|
||||
),
|
||||
(
|
||||
@ -374,7 +374,7 @@
|
||||
group: 0,
|
||||
binding: 3,
|
||||
)),
|
||||
ty: 19,
|
||||
ty: 20,
|
||||
init: None,
|
||||
),
|
||||
],
|
||||
@ -414,7 +414,7 @@
|
||||
),
|
||||
(
|
||||
name: Some("t"),
|
||||
ty: 15,
|
||||
ty: 16,
|
||||
init: Some(48),
|
||||
),
|
||||
],
|
||||
@ -557,7 +557,7 @@
|
||||
value: 45,
|
||||
),
|
||||
Compose(
|
||||
ty: 14,
|
||||
ty: 15,
|
||||
components: [
|
||||
42,
|
||||
44,
|
||||
@ -565,7 +565,7 @@
|
||||
],
|
||||
),
|
||||
Compose(
|
||||
ty: 15,
|
||||
ty: 16,
|
||||
components: [
|
||||
47,
|
||||
],
|
||||
@ -600,7 +600,7 @@
|
||||
value: 58,
|
||||
),
|
||||
Compose(
|
||||
ty: 14,
|
||||
ty: 15,
|
||||
components: [
|
||||
55,
|
||||
57,
|
||||
@ -900,7 +900,7 @@
|
||||
),
|
||||
(
|
||||
name: Some("t"),
|
||||
ty: 19,
|
||||
ty: 20,
|
||||
init: Some(52),
|
||||
),
|
||||
],
|
||||
@ -1063,9 +1063,9 @@
|
||||
Load(
|
||||
pointer: 49,
|
||||
),
|
||||
ZeroValue(18),
|
||||
ZeroValue(19),
|
||||
Compose(
|
||||
ty: 19,
|
||||
ty: 20,
|
||||
components: [
|
||||
51,
|
||||
],
|
||||
@ -1084,7 +1084,7 @@
|
||||
base: 53,
|
||||
index: 0,
|
||||
),
|
||||
ZeroValue(18),
|
||||
ZeroValue(19),
|
||||
AccessIndex(
|
||||
base: 53,
|
||||
index: 0,
|
||||
@ -1114,7 +1114,7 @@
|
||||
value: 67,
|
||||
),
|
||||
Compose(
|
||||
ty: 17,
|
||||
ty: 18,
|
||||
components: [
|
||||
62,
|
||||
64,
|
||||
@ -1502,7 +1502,7 @@
|
||||
),
|
||||
],
|
||||
result: Some((
|
||||
ty: 20,
|
||||
ty: 5,
|
||||
binding: None,
|
||||
)),
|
||||
local_variables: [],
|
||||
@ -1535,7 +1535,7 @@
|
||||
),
|
||||
],
|
||||
result: Some((
|
||||
ty: 20,
|
||||
ty: 5,
|
||||
binding: None,
|
||||
)),
|
||||
local_variables: [],
|
||||
@ -1680,7 +1680,7 @@
|
||||
local_variables: [
|
||||
(
|
||||
name: Some("foo"),
|
||||
ty: 20,
|
||||
ty: 5,
|
||||
init: Some(1),
|
||||
),
|
||||
(
|
||||
@ -2017,7 +2017,7 @@
|
||||
value: 13,
|
||||
),
|
||||
Compose(
|
||||
ty: 5,
|
||||
ty: 6,
|
||||
components: [
|
||||
8,
|
||||
10,
|
||||
@ -2041,7 +2041,7 @@
|
||||
value: 20,
|
||||
),
|
||||
Compose(
|
||||
ty: 11,
|
||||
ty: 12,
|
||||
components: [
|
||||
19,
|
||||
21,
|
||||
@ -2062,7 +2062,7 @@
|
||||
),
|
||||
Literal(I32(1)),
|
||||
GlobalVariable(3),
|
||||
ZeroValue(16),
|
||||
ZeroValue(17),
|
||||
Literal(F32(0.0)),
|
||||
Splat(
|
||||
size: Quad,
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
using metal::uint;
|
||||
|
||||
struct type_5 {
|
||||
struct type_7 {
|
||||
float inner[2];
|
||||
};
|
||||
struct S {
|
||||
@ -32,12 +32,12 @@ constant metal::int2 ivis_ai = metal::int2(1);
|
||||
constant metal::uint2 ivus_ai = metal::uint2(1u);
|
||||
constant metal::float2 ivfs_ai = metal::float2(1.0);
|
||||
constant metal::float2 ivfs_af = metal::float2(1.0);
|
||||
constant type_5 iafafaf = type_5 {1.0, 2.0};
|
||||
constant type_5 iafaiai = type_5 {1.0, 2.0};
|
||||
constant type_5 iafpafaf = type_5 {1.0, 2.0};
|
||||
constant type_5 iafpaiaf = type_5 {1.0, 2.0};
|
||||
constant type_5 iafpafai = type_5 {1.0, 2.0};
|
||||
constant type_5 xafpafaf = type_5 {1.0, 2.0};
|
||||
constant type_7 iafafaf = type_7 {1.0, 2.0};
|
||||
constant type_7 iafaiai = type_7 {1.0, 2.0};
|
||||
constant type_7 iafpafaf = type_7 {1.0, 2.0};
|
||||
constant type_7 iafpaiaf = type_7 {1.0, 2.0};
|
||||
constant type_7 iafpafai = type_7 {1.0, 2.0};
|
||||
constant type_7 xafpafaf = type_7 {1.0, 2.0};
|
||||
constant S s_f_i_u = S {1.0, 1, 1u};
|
||||
constant S s_f_iai = S {1.0, 1, 1u};
|
||||
constant S s_fai_u = S {1.0, 1, 1u};
|
||||
|
@ -4,10 +4,10 @@
|
||||
|
||||
using metal::uint;
|
||||
|
||||
struct type_5 {
|
||||
struct type_7 {
|
||||
float inner[2];
|
||||
};
|
||||
struct type_7 {
|
||||
struct type_8 {
|
||||
int inner[2];
|
||||
};
|
||||
|
||||
@ -35,17 +35,17 @@ void all_constant_arguments(
|
||||
metal::uint2 xvus_ai = metal::uint2(1u);
|
||||
metal::float2 xvfs_ai = metal::float2(1.0);
|
||||
metal::float2 xvfs_af = metal::float2(1.0);
|
||||
type_5 xafafaf = type_5 {1.0, 2.0};
|
||||
type_5 xaf_faf = type_5 {1.0, 2.0};
|
||||
type_5 xafaf_f = type_5 {1.0, 2.0};
|
||||
type_5 xafaiai = type_5 {1.0, 2.0};
|
||||
type_7 xai_iai = type_7 {1, 2};
|
||||
type_7 xaiai_i = type_7 {1, 2};
|
||||
type_7 xaipaiai = type_7 {1, 2};
|
||||
type_5 xafpaiai = type_5 {1.0, 2.0};
|
||||
type_5 xafpaiaf = type_5 {1.0, 2.0};
|
||||
type_5 xafpafai = type_5 {1.0, 2.0};
|
||||
type_5 xafpafaf = type_5 {1.0, 2.0};
|
||||
type_7 xafafaf = type_7 {1.0, 2.0};
|
||||
type_7 xaf_faf = type_7 {1.0, 2.0};
|
||||
type_7 xafaf_f = type_7 {1.0, 2.0};
|
||||
type_7 xafaiai = type_7 {1.0, 2.0};
|
||||
type_8 xai_iai = type_8 {1, 2};
|
||||
type_8 xaiai_i = type_8 {1, 2};
|
||||
type_8 xaipaiai = type_8 {1, 2};
|
||||
type_7 xafpaiai = type_7 {1.0, 2.0};
|
||||
type_7 xafpaiaf = type_7 {1.0, 2.0};
|
||||
type_7 xafpafai = type_7 {1.0, 2.0};
|
||||
type_7 xafpafaf = type_7 {1.0, 2.0};
|
||||
}
|
||||
|
||||
void mixed_constant_and_runtime_arguments(
|
||||
@ -61,18 +61,18 @@ void mixed_constant_and_runtime_arguments(
|
||||
metal::float2x2 xmfpai_faiai_1 = {};
|
||||
metal::float2x2 xmfpaiai_fai_1 = {};
|
||||
metal::float2x2 xmfpaiaiai_f_1 = {};
|
||||
type_5 xaf_faf_1 = {};
|
||||
type_5 xafaf_f_1 = {};
|
||||
type_5 xaf_fai = {};
|
||||
type_5 xafai_f = {};
|
||||
type_7 xai_iai_1 = {};
|
||||
type_7 xaiai_i_1 = {};
|
||||
type_5 xafp_faf = {};
|
||||
type_5 xafpaf_f = {};
|
||||
type_5 xafp_fai = {};
|
||||
type_5 xafpai_f = {};
|
||||
type_7 xaip_iai = {};
|
||||
type_7 xaipai_i = {};
|
||||
type_7 xaf_faf_1 = {};
|
||||
type_7 xafaf_f_1 = {};
|
||||
type_7 xaf_fai = {};
|
||||
type_7 xafai_f = {};
|
||||
type_8 xai_iai_1 = {};
|
||||
type_8 xaiai_i_1 = {};
|
||||
type_7 xafp_faf = {};
|
||||
type_7 xafpaf_f = {};
|
||||
type_7 xafp_fai = {};
|
||||
type_7 xafpai_f = {};
|
||||
type_8 xaip_iai = {};
|
||||
type_8 xaipai_i = {};
|
||||
uint _e3 = u;
|
||||
xvupuai_1 = metal::uint2(_e3, 43u);
|
||||
uint _e7 = u;
|
||||
@ -90,28 +90,28 @@ void mixed_constant_and_runtime_arguments(
|
||||
float _e43 = f;
|
||||
xmfpaiaiai_f_1 = metal::float2x2(metal::float2(1.0, 2.0), metal::float2(3.0, _e43));
|
||||
float _e51 = f;
|
||||
xaf_faf_1 = type_5 {_e51, 2.0};
|
||||
xaf_faf_1 = type_7 {_e51, 2.0};
|
||||
float _e55 = f;
|
||||
xafaf_f_1 = type_5 {1.0, _e55};
|
||||
xafaf_f_1 = type_7 {1.0, _e55};
|
||||
float _e59 = f;
|
||||
xaf_fai = type_5 {_e59, 2.0};
|
||||
xaf_fai = type_7 {_e59, 2.0};
|
||||
float _e63 = f;
|
||||
xafai_f = type_5 {1.0, _e63};
|
||||
xafai_f = type_7 {1.0, _e63};
|
||||
int _e67 = i;
|
||||
xai_iai_1 = type_7 {_e67, 2};
|
||||
xai_iai_1 = type_8 {_e67, 2};
|
||||
int _e71 = i;
|
||||
xaiai_i_1 = type_7 {1, _e71};
|
||||
xaiai_i_1 = type_8 {1, _e71};
|
||||
float _e75 = f;
|
||||
xafp_faf = type_5 {_e75, 2.0};
|
||||
xafp_faf = type_7 {_e75, 2.0};
|
||||
float _e79 = f;
|
||||
xafpaf_f = type_5 {1.0, _e79};
|
||||
xafpaf_f = type_7 {1.0, _e79};
|
||||
float _e83 = f;
|
||||
xafp_fai = type_5 {_e83, 2.0};
|
||||
xafp_fai = type_7 {_e83, 2.0};
|
||||
float _e87 = f;
|
||||
xafpai_f = type_5 {1.0, _e87};
|
||||
xafpai_f = type_7 {1.0, _e87};
|
||||
int _e91 = i;
|
||||
xaip_iai = type_7 {_e91, 2};
|
||||
xaip_iai = type_8 {_e91, 2};
|
||||
int _e95 = i;
|
||||
xaipai_i = type_7 {1, _e95};
|
||||
xaipai_i = type_8 {1, _e95};
|
||||
return;
|
||||
}
|
||||
|
@ -17,33 +17,33 @@ struct GlobalConst {
|
||||
struct AlignedWrapper {
|
||||
int value;
|
||||
};
|
||||
struct type_5 {
|
||||
struct type_6 {
|
||||
metal::float2x2 inner[2];
|
||||
};
|
||||
struct type_7 {
|
||||
struct type_8 {
|
||||
metal::atomic_int inner[10];
|
||||
};
|
||||
struct type_9 {
|
||||
struct type_10 {
|
||||
metal::uint2 inner[2];
|
||||
};
|
||||
typedef AlignedWrapper type_10[1];
|
||||
typedef AlignedWrapper type_11[1];
|
||||
struct Bar {
|
||||
metal::float4x3 _matrix;
|
||||
type_5 matrix_array;
|
||||
type_6 matrix_array;
|
||||
metal::atomic_int atom;
|
||||
type_7 atom_arr;
|
||||
type_8 atom_arr;
|
||||
char _pad4[4];
|
||||
type_9 arr;
|
||||
type_10 data;
|
||||
type_10 arr;
|
||||
type_11 data;
|
||||
};
|
||||
struct Baz {
|
||||
metal::float3x2 m;
|
||||
};
|
||||
struct type_14 {
|
||||
struct type_15 {
|
||||
metal::float4x2 inner[2];
|
||||
};
|
||||
struct MatCx2InArray {
|
||||
type_14 am;
|
||||
type_15 am;
|
||||
};
|
||||
struct type_17 {
|
||||
float inner[10];
|
||||
@ -98,10 +98,10 @@ void test_matrix_within_array_within_struct_accesses(
|
||||
constant MatCx2InArray& nested_mat_cx2_
|
||||
) {
|
||||
int idx_1 = 1;
|
||||
MatCx2InArray t_1 = MatCx2InArray {type_14 {}};
|
||||
MatCx2InArray t_1 = MatCx2InArray {type_15 {}};
|
||||
int _e3 = idx_1;
|
||||
idx_1 = _e3 - 1;
|
||||
type_14 l0_1 = nested_mat_cx2_.am;
|
||||
type_15 l0_1 = nested_mat_cx2_.am;
|
||||
metal::float4x2 l1_1 = nested_mat_cx2_.am.inner[0];
|
||||
metal::float2 l2_1 = nested_mat_cx2_.am.inner[0][0];
|
||||
int _e20 = idx_1;
|
||||
@ -116,7 +116,7 @@ void test_matrix_within_array_within_struct_accesses(
|
||||
float l7_ = nested_mat_cx2_.am.inner[0][_e46][_e48];
|
||||
int _e55 = idx_1;
|
||||
idx_1 = _e55 + 1;
|
||||
t_1.am = type_14 {};
|
||||
t_1.am = type_15 {};
|
||||
t_1.am.inner[0] = metal::float4x2(metal::float2(8.0), metal::float2(7.0), metal::float2(6.0), metal::float2(5.0));
|
||||
t_1.am.inner[0][0] = metal::float2(9.0);
|
||||
int _e77 = idx_1;
|
||||
@ -179,7 +179,7 @@ vertex foo_vertOutput foo_vert(
|
||||
test_matrix_within_struct_accesses(baz);
|
||||
test_matrix_within_array_within_struct_accesses(nested_mat_cx2_);
|
||||
metal::float4x3 _matrix = bar._matrix;
|
||||
type_9 arr_1 = bar.arr;
|
||||
type_10 arr_1 = bar.arr;
|
||||
float b = bar._matrix[3u].x;
|
||||
int a_1 = bar.data[(1 + (_buffer_sizes.size1 - 160 - 8) / 8) - 2u].value;
|
||||
metal::int2 c = qux;
|
||||
@ -202,7 +202,7 @@ fragment foo_fragOutput foo_frag(
|
||||
) {
|
||||
bar._matrix[1].z = 1.0;
|
||||
bar._matrix = metal::float4x3(metal::float3(0.0), metal::float3(1.0), metal::float3(2.0), metal::float3(3.0));
|
||||
bar.arr = type_9 {metal::uint2(0u), metal::uint2(1u)};
|
||||
bar.arr = type_10 {metal::uint2(0u), metal::uint2(1u)};
|
||||
bar.data[1].value = 1;
|
||||
qux = metal::int2 {};
|
||||
return foo_fragOutput { metal::float4(0.0) };
|
||||
|
@ -8,7 +8,7 @@ struct Foo {
|
||||
metal::float4 a;
|
||||
int b;
|
||||
};
|
||||
struct type_5 {
|
||||
struct type_6 {
|
||||
metal::float2x2 inner[1];
|
||||
};
|
||||
struct type_10 {
|
||||
@ -19,7 +19,7 @@ struct type_11 {
|
||||
};
|
||||
constant metal::float3 const2_ = metal::float3(0.0, 1.0, 2.0);
|
||||
constant metal::float2x2 const3_ = metal::float2x2(metal::float2(0.0, 1.0), metal::float2(2.0, 3.0));
|
||||
constant type_5 const4_ = type_5 {metal::float2x2(metal::float2(0.0, 1.0), metal::float2(2.0, 3.0))};
|
||||
constant type_6 const4_ = type_6 {metal::float2x2(metal::float2(0.0, 1.0), metal::float2(2.0, 3.0))};
|
||||
constant bool cz0_ = bool {};
|
||||
constant int cz1_ = int {};
|
||||
constant uint cz2_ = uint {};
|
||||
|
@ -10,17 +10,17 @@ struct DefaultConstructible {
|
||||
}
|
||||
};
|
||||
|
||||
struct type_1 {
|
||||
struct type_2 {
|
||||
metal::float4 inner[10];
|
||||
};
|
||||
struct InStorage {
|
||||
type_1 a;
|
||||
type_2 a;
|
||||
};
|
||||
struct type_2 {
|
||||
struct type_3 {
|
||||
metal::float4 inner[20];
|
||||
};
|
||||
struct InUniform {
|
||||
type_2 a;
|
||||
type_3 a;
|
||||
};
|
||||
struct type_5 {
|
||||
float inner[30];
|
||||
|
@ -26,8 +26,8 @@ struct Light {
|
||||
metal::float4 pos;
|
||||
metal::float4 color;
|
||||
};
|
||||
typedef Light type_6[1];
|
||||
struct type_7 {
|
||||
typedef Light type_8[1];
|
||||
struct type_9 {
|
||||
Light inner[10];
|
||||
};
|
||||
constant metal::float3 c_ambient = metal::float3(0.05, 0.05, 0.05);
|
||||
@ -91,7 +91,7 @@ fragment fs_mainOutput fs_main(
|
||||
, metal::float4 proj_position [[position]]
|
||||
, constant Globals& u_globals [[user(fake0)]]
|
||||
, constant Entity& u_entity [[user(fake0)]]
|
||||
, device type_6 const& s_lights [[user(fake0)]]
|
||||
, device type_8 const& s_lights [[user(fake0)]]
|
||||
, metal::depth2d_array<float, metal::access::sample> t_shadow [[user(fake0)]]
|
||||
, metal::sampler sampler_shadow [[user(fake0)]]
|
||||
, constant _mslBufferSizes& _buffer_sizes [[user(fake0)]]
|
||||
@ -142,7 +142,7 @@ fragment fs_main_without_storageOutput fs_main_without_storage(
|
||||
, metal::float4 proj_position_1 [[position]]
|
||||
, constant Globals& u_globals [[user(fake0)]]
|
||||
, constant Entity& u_entity [[user(fake0)]]
|
||||
, constant type_7& u_lights [[user(fake0)]]
|
||||
, constant type_9& u_lights [[user(fake0)]]
|
||||
, metal::depth2d_array<float, metal::access::sample> t_shadow [[user(fake0)]]
|
||||
, metal::sampler sampler_shadow [[user(fake0)]]
|
||||
) {
|
||||
|
@ -11,36 +11,36 @@ OpMemberDecorate %12 0 Offset 0
|
||||
OpMemberDecorate %12 1 Offset 4
|
||||
OpMemberDecorate %12 2 Offset 8
|
||||
%2 = OpTypeVoid
|
||||
%4 = OpTypeInt 32 0
|
||||
%3 = OpTypeVector %4 2
|
||||
%6 = OpTypeFloat 32
|
||||
%5 = OpTypeVector %6 2
|
||||
%7 = OpTypeMatrix %5 2
|
||||
%3 = OpTypeInt 32 0
|
||||
%4 = OpTypeVector %3 2
|
||||
%5 = OpTypeFloat 32
|
||||
%6 = OpTypeVector %5 2
|
||||
%7 = OpTypeMatrix %6 2
|
||||
%9 = OpTypeInt 32 1
|
||||
%8 = OpTypeVector %9 2
|
||||
%11 = OpConstant %4 2
|
||||
%10 = OpTypeArray %6 %11
|
||||
%12 = OpTypeStruct %6 %9 %4
|
||||
%13 = OpTypeVector %6 3
|
||||
%14 = OpConstant %4 42
|
||||
%15 = OpConstant %4 43
|
||||
%16 = OpConstantComposite %3 %14 %15
|
||||
%17 = OpConstant %6 44.0
|
||||
%18 = OpConstant %6 45.0
|
||||
%19 = OpConstantComposite %5 %17 %18
|
||||
%20 = OpConstant %6 1.0
|
||||
%21 = OpConstant %6 2.0
|
||||
%22 = OpConstantComposite %5 %20 %21
|
||||
%23 = OpConstant %6 3.0
|
||||
%24 = OpConstant %6 4.0
|
||||
%25 = OpConstantComposite %5 %23 %24
|
||||
%11 = OpConstant %3 2
|
||||
%10 = OpTypeArray %5 %11
|
||||
%12 = OpTypeStruct %5 %9 %3
|
||||
%13 = OpTypeVector %5 3
|
||||
%14 = OpConstant %3 42
|
||||
%15 = OpConstant %3 43
|
||||
%16 = OpConstantComposite %4 %14 %15
|
||||
%17 = OpConstant %5 44.0
|
||||
%18 = OpConstant %5 45.0
|
||||
%19 = OpConstantComposite %6 %17 %18
|
||||
%20 = OpConstant %5 1.0
|
||||
%21 = OpConstant %5 2.0
|
||||
%22 = OpConstantComposite %6 %20 %21
|
||||
%23 = OpConstant %5 3.0
|
||||
%24 = OpConstant %5 4.0
|
||||
%25 = OpConstantComposite %6 %23 %24
|
||||
%26 = OpConstantComposite %7 %22 %25
|
||||
%27 = OpConstant %9 1
|
||||
%28 = OpConstantComposite %8 %27 %27
|
||||
%29 = OpConstantComposite %5 %20 %20
|
||||
%30 = OpConstant %4 1
|
||||
%31 = OpConstantComposite %3 %30 %30
|
||||
%29 = OpConstantComposite %6 %20 %20
|
||||
%30 = OpConstant %3 1
|
||||
%31 = OpConstantComposite %4 %30 %30
|
||||
%32 = OpConstantComposite %10 %20 %21
|
||||
%33 = OpConstantComposite %12 %20 %27 %30
|
||||
%34 = OpConstantComposite %13 %20 %21 %23
|
||||
%35 = OpConstantComposite %5 %21 %23
|
||||
%35 = OpConstantComposite %6 %21 %23
|
@ -9,48 +9,48 @@ OpMemoryModel Logical GLSL450
|
||||
OpDecorate %10 ArrayStride 4
|
||||
OpDecorate %12 ArrayStride 4
|
||||
%2 = OpTypeVoid
|
||||
%4 = OpTypeInt 32 1
|
||||
%3 = OpTypeVector %4 2
|
||||
%6 = OpTypeInt 32 0
|
||||
%5 = OpTypeVector %6 2
|
||||
%8 = OpTypeFloat 32
|
||||
%7 = OpTypeVector %8 2
|
||||
%9 = OpTypeMatrix %7 2
|
||||
%11 = OpConstant %6 2
|
||||
%10 = OpTypeArray %8 %11
|
||||
%12 = OpTypeArray %4 %11
|
||||
%13 = OpConstant %4 42
|
||||
%14 = OpConstant %4 43
|
||||
%15 = OpConstantComposite %3 %13 %14
|
||||
%16 = OpConstant %6 44
|
||||
%17 = OpConstant %6 45
|
||||
%18 = OpConstantComposite %5 %16 %17
|
||||
%19 = OpConstant %8 46.0
|
||||
%20 = OpConstant %8 47.0
|
||||
%21 = OpConstantComposite %7 %19 %20
|
||||
%22 = OpConstant %6 42
|
||||
%23 = OpConstant %6 43
|
||||
%24 = OpConstantComposite %5 %22 %23
|
||||
%25 = OpConstant %8 1.0
|
||||
%26 = OpConstant %8 2.0
|
||||
%27 = OpConstantComposite %7 %25 %26
|
||||
%28 = OpConstant %8 3.0
|
||||
%29 = OpConstant %8 4.0
|
||||
%30 = OpConstantComposite %7 %28 %29
|
||||
%3 = OpTypeInt 32 1
|
||||
%4 = OpTypeVector %3 2
|
||||
%5 = OpTypeInt 32 0
|
||||
%6 = OpTypeVector %5 2
|
||||
%7 = OpTypeFloat 32
|
||||
%8 = OpTypeVector %7 2
|
||||
%9 = OpTypeMatrix %8 2
|
||||
%11 = OpConstant %5 2
|
||||
%10 = OpTypeArray %7 %11
|
||||
%12 = OpTypeArray %3 %11
|
||||
%13 = OpConstant %3 42
|
||||
%14 = OpConstant %3 43
|
||||
%15 = OpConstantComposite %4 %13 %14
|
||||
%16 = OpConstant %5 44
|
||||
%17 = OpConstant %5 45
|
||||
%18 = OpConstantComposite %6 %16 %17
|
||||
%19 = OpConstant %7 46.0
|
||||
%20 = OpConstant %7 47.0
|
||||
%21 = OpConstantComposite %8 %19 %20
|
||||
%22 = OpConstant %5 42
|
||||
%23 = OpConstant %5 43
|
||||
%24 = OpConstantComposite %6 %22 %23
|
||||
%25 = OpConstant %7 1.0
|
||||
%26 = OpConstant %7 2.0
|
||||
%27 = OpConstantComposite %8 %25 %26
|
||||
%28 = OpConstant %7 3.0
|
||||
%29 = OpConstant %7 4.0
|
||||
%30 = OpConstantComposite %8 %28 %29
|
||||
%31 = OpConstantComposite %9 %27 %30
|
||||
%32 = OpConstant %4 1
|
||||
%33 = OpConstantComposite %3 %32 %32
|
||||
%34 = OpConstantComposite %7 %25 %25
|
||||
%35 = OpConstant %6 1
|
||||
%36 = OpConstantComposite %5 %35 %35
|
||||
%32 = OpConstant %3 1
|
||||
%33 = OpConstantComposite %4 %32 %32
|
||||
%34 = OpConstantComposite %8 %25 %25
|
||||
%35 = OpConstant %5 1
|
||||
%36 = OpConstantComposite %6 %35 %35
|
||||
%37 = OpConstantComposite %10 %25 %26
|
||||
%38 = OpConstant %4 2
|
||||
%38 = OpConstant %3 2
|
||||
%39 = OpConstantComposite %12 %32 %38
|
||||
%41 = OpTypePointer Private %3
|
||||
%41 = OpTypePointer Private %4
|
||||
%40 = OpVariable %41 Private %15
|
||||
%43 = OpTypePointer Private %5
|
||||
%43 = OpTypePointer Private %6
|
||||
%42 = OpVariable %43 Private %18
|
||||
%45 = OpTypePointer Private %7
|
||||
%45 = OpTypePointer Private %8
|
||||
%44 = OpVariable %45 Private %21
|
||||
%46 = OpVariable %43 Private %24
|
||||
%47 = OpVariable %43 Private %24
|
||||
@ -77,22 +77,22 @@ OpDecorate %12 ArrayStride 4
|
||||
%68 = OpVariable %63 Private %37
|
||||
%69 = OpVariable %63 Private %37
|
||||
%72 = OpTypeFunction %2
|
||||
%74 = OpTypePointer Function %3
|
||||
%76 = OpTypePointer Function %5
|
||||
%78 = OpTypePointer Function %7
|
||||
%74 = OpTypePointer Function %4
|
||||
%76 = OpTypePointer Function %6
|
||||
%78 = OpTypePointer Function %8
|
||||
%84 = OpTypePointer Function %9
|
||||
%100 = OpTypePointer Function %10
|
||||
%105 = OpTypePointer Function %12
|
||||
%116 = OpTypePointer Function %6
|
||||
%117 = OpConstantNull %6
|
||||
%119 = OpTypePointer Function %4
|
||||
%120 = OpConstantNull %4
|
||||
%122 = OpTypePointer Function %8
|
||||
%123 = OpConstantNull %8
|
||||
%125 = OpConstantNull %5
|
||||
%127 = OpConstantNull %5
|
||||
%129 = OpConstantNull %5
|
||||
%131 = OpConstantNull %5
|
||||
%116 = OpTypePointer Function %5
|
||||
%117 = OpConstantNull %5
|
||||
%119 = OpTypePointer Function %3
|
||||
%120 = OpConstantNull %3
|
||||
%122 = OpTypePointer Function %7
|
||||
%123 = OpConstantNull %7
|
||||
%125 = OpConstantNull %6
|
||||
%127 = OpConstantNull %6
|
||||
%129 = OpConstantNull %6
|
||||
%131 = OpConstantNull %6
|
||||
%133 = OpConstantNull %9
|
||||
%135 = OpConstantNull %9
|
||||
%137 = OpConstantNull %9
|
||||
@ -175,68 +175,68 @@ OpFunctionEnd
|
||||
%121 = OpVariable %122 Function %123
|
||||
OpBranch %164
|
||||
%164 = OpLabel
|
||||
%165 = OpLoad %6 %115
|
||||
%166 = OpCompositeConstruct %5 %165 %23
|
||||
%165 = OpLoad %5 %115
|
||||
%166 = OpCompositeConstruct %6 %165 %23
|
||||
OpStore %124 %166
|
||||
%167 = OpLoad %6 %115
|
||||
%168 = OpCompositeConstruct %5 %22 %167
|
||||
%167 = OpLoad %5 %115
|
||||
%168 = OpCompositeConstruct %6 %22 %167
|
||||
OpStore %126 %168
|
||||
%169 = OpLoad %6 %115
|
||||
%170 = OpCompositeConstruct %5 %169 %23
|
||||
%169 = OpLoad %5 %115
|
||||
%170 = OpCompositeConstruct %6 %169 %23
|
||||
OpStore %128 %170
|
||||
%171 = OpLoad %6 %115
|
||||
%172 = OpCompositeConstruct %5 %22 %171
|
||||
%171 = OpLoad %5 %115
|
||||
%172 = OpCompositeConstruct %6 %22 %171
|
||||
OpStore %130 %172
|
||||
%173 = OpLoad %8 %121
|
||||
%174 = OpCompositeConstruct %7 %173 %26
|
||||
%173 = OpLoad %7 %121
|
||||
%174 = OpCompositeConstruct %8 %173 %26
|
||||
%175 = OpCompositeConstruct %9 %174 %30
|
||||
OpStore %132 %175
|
||||
%176 = OpLoad %8 %121
|
||||
%177 = OpCompositeConstruct %7 %25 %176
|
||||
%176 = OpLoad %7 %121
|
||||
%177 = OpCompositeConstruct %8 %25 %176
|
||||
%178 = OpCompositeConstruct %9 %177 %30
|
||||
OpStore %134 %178
|
||||
%179 = OpLoad %8 %121
|
||||
%180 = OpCompositeConstruct %7 %179 %29
|
||||
%179 = OpLoad %7 %121
|
||||
%180 = OpCompositeConstruct %8 %179 %29
|
||||
%181 = OpCompositeConstruct %9 %27 %180
|
||||
OpStore %136 %181
|
||||
%182 = OpLoad %8 %121
|
||||
%183 = OpCompositeConstruct %7 %28 %182
|
||||
%182 = OpLoad %7 %121
|
||||
%183 = OpCompositeConstruct %8 %28 %182
|
||||
%184 = OpCompositeConstruct %9 %27 %183
|
||||
OpStore %138 %184
|
||||
%185 = OpLoad %8 %121
|
||||
%185 = OpLoad %7 %121
|
||||
%186 = OpCompositeConstruct %10 %185 %26
|
||||
OpStore %140 %186
|
||||
%187 = OpLoad %8 %121
|
||||
%187 = OpLoad %7 %121
|
||||
%188 = OpCompositeConstruct %10 %25 %187
|
||||
OpStore %142 %188
|
||||
%189 = OpLoad %8 %121
|
||||
%189 = OpLoad %7 %121
|
||||
%190 = OpCompositeConstruct %10 %189 %26
|
||||
OpStore %144 %190
|
||||
%191 = OpLoad %8 %121
|
||||
%191 = OpLoad %7 %121
|
||||
%192 = OpCompositeConstruct %10 %25 %191
|
||||
OpStore %146 %192
|
||||
%193 = OpLoad %4 %118
|
||||
%193 = OpLoad %3 %118
|
||||
%194 = OpCompositeConstruct %12 %193 %38
|
||||
OpStore %148 %194
|
||||
%195 = OpLoad %4 %118
|
||||
%195 = OpLoad %3 %118
|
||||
%196 = OpCompositeConstruct %12 %32 %195
|
||||
OpStore %150 %196
|
||||
%197 = OpLoad %8 %121
|
||||
%197 = OpLoad %7 %121
|
||||
%198 = OpCompositeConstruct %10 %197 %26
|
||||
OpStore %152 %198
|
||||
%199 = OpLoad %8 %121
|
||||
%199 = OpLoad %7 %121
|
||||
%200 = OpCompositeConstruct %10 %25 %199
|
||||
OpStore %154 %200
|
||||
%201 = OpLoad %8 %121
|
||||
%201 = OpLoad %7 %121
|
||||
%202 = OpCompositeConstruct %10 %201 %26
|
||||
OpStore %156 %202
|
||||
%203 = OpLoad %8 %121
|
||||
%203 = OpLoad %7 %121
|
||||
%204 = OpCompositeConstruct %10 %25 %203
|
||||
OpStore %158 %204
|
||||
%205 = OpLoad %4 %118
|
||||
%205 = OpLoad %3 %118
|
||||
%206 = OpCompositeConstruct %12 %205 %38
|
||||
OpStore %160 %206
|
||||
%207 = OpLoad %4 %118
|
||||
%207 = OpLoad %3 %118
|
||||
%208 = OpCompositeConstruct %12 %32 %207
|
||||
OpStore %162 %208
|
||||
OpReturn
|
||||
|
@ -108,10 +108,10 @@ OpDecorate %272 Location 0
|
||||
%5 = OpTypeInt 32 1
|
||||
%6 = OpTypeStruct %3 %4 %5
|
||||
%7 = OpTypeStruct %5
|
||||
%10 = OpTypeFloat 32
|
||||
%9 = OpTypeVector %10 3
|
||||
%8 = OpTypeMatrix %9 4
|
||||
%12 = OpTypeVector %10 2
|
||||
%8 = OpTypeFloat 32
|
||||
%10 = OpTypeVector %8 3
|
||||
%9 = OpTypeMatrix %10 4
|
||||
%12 = OpTypeVector %8 2
|
||||
%11 = OpTypeMatrix %12 2
|
||||
%14 = OpConstant %3 2
|
||||
%13 = OpTypeArray %11 %14
|
||||
@ -120,18 +120,18 @@ OpDecorate %272 Location 0
|
||||
%17 = OpTypeVector %3 2
|
||||
%18 = OpTypeArray %17 %14
|
||||
%19 = OpTypeRuntimeArray %7
|
||||
%20 = OpTypeStruct %8 %13 %5 %15 %18 %19
|
||||
%20 = OpTypeStruct %9 %13 %5 %15 %18 %19
|
||||
%21 = OpTypeMatrix %12 3
|
||||
%22 = OpTypeStruct %21
|
||||
%23 = OpTypeVector %5 2
|
||||
%24 = OpTypeMatrix %12 4
|
||||
%25 = OpTypeArray %24 %14
|
||||
%26 = OpTypeStruct %25
|
||||
%27 = OpTypePointer Function %10
|
||||
%28 = OpTypeArray %10 %16
|
||||
%27 = OpTypePointer Function %8
|
||||
%28 = OpTypeArray %8 %16
|
||||
%30 = OpConstant %3 5
|
||||
%29 = OpTypeArray %28 %30
|
||||
%31 = OpTypeVector %10 4
|
||||
%31 = OpTypeVector %8 4
|
||||
%32 = OpTypeArray %5 %30
|
||||
%33 = OpTypePointer Function %3
|
||||
%34 = OpTypeArray %31 %14
|
||||
@ -156,44 +156,44 @@ OpDecorate %272 Location 0
|
||||
%55 = OpTypeFunction %2
|
||||
%56 = OpTypePointer Uniform %22
|
||||
%58 = OpConstant %5 1
|
||||
%59 = OpConstant %10 1.0
|
||||
%59 = OpConstant %8 1.0
|
||||
%60 = OpConstantComposite %12 %59 %59
|
||||
%61 = OpConstant %10 2.0
|
||||
%61 = OpConstant %8 2.0
|
||||
%62 = OpConstantComposite %12 %61 %61
|
||||
%63 = OpConstant %10 3.0
|
||||
%63 = OpConstant %8 3.0
|
||||
%64 = OpConstantComposite %12 %63 %63
|
||||
%65 = OpConstantComposite %21 %60 %62 %64
|
||||
%66 = OpConstantComposite %22 %65
|
||||
%67 = OpConstant %10 6.0
|
||||
%67 = OpConstant %8 6.0
|
||||
%68 = OpConstantComposite %12 %67 %67
|
||||
%69 = OpConstant %10 5.0
|
||||
%69 = OpConstant %8 5.0
|
||||
%70 = OpConstantComposite %12 %69 %69
|
||||
%71 = OpConstant %10 4.0
|
||||
%71 = OpConstant %8 4.0
|
||||
%72 = OpConstantComposite %12 %71 %71
|
||||
%73 = OpConstantComposite %21 %68 %70 %72
|
||||
%74 = OpConstant %10 9.0
|
||||
%74 = OpConstant %8 9.0
|
||||
%75 = OpConstantComposite %12 %74 %74
|
||||
%76 = OpConstant %10 90.0
|
||||
%76 = OpConstant %8 90.0
|
||||
%77 = OpConstantComposite %12 %76 %76
|
||||
%78 = OpConstant %10 10.0
|
||||
%79 = OpConstant %10 20.0
|
||||
%80 = OpConstant %10 30.0
|
||||
%81 = OpConstant %10 40.0
|
||||
%78 = OpConstant %8 10.0
|
||||
%79 = OpConstant %8 20.0
|
||||
%80 = OpConstant %8 30.0
|
||||
%81 = OpConstant %8 40.0
|
||||
%83 = OpTypePointer Function %5
|
||||
%85 = OpTypePointer Function %22
|
||||
%89 = OpTypePointer Uniform %21
|
||||
%92 = OpTypePointer Uniform %12
|
||||
%98 = OpTypePointer Uniform %10
|
||||
%98 = OpTypePointer Uniform %8
|
||||
%99 = OpConstant %3 1
|
||||
%114 = OpTypePointer Function %21
|
||||
%116 = OpTypePointer Function %12
|
||||
%120 = OpTypePointer Function %10
|
||||
%120 = OpTypePointer Function %8
|
||||
%131 = OpTypePointer Uniform %26
|
||||
%133 = OpConstantNull %25
|
||||
%134 = OpConstantComposite %26 %133
|
||||
%135 = OpConstant %10 8.0
|
||||
%135 = OpConstant %8 8.0
|
||||
%136 = OpConstantComposite %12 %135 %135
|
||||
%137 = OpConstant %10 7.0
|
||||
%137 = OpConstant %8 7.0
|
||||
%138 = OpConstantComposite %12 %137 %137
|
||||
%139 = OpConstantComposite %24 %136 %138 %68 %70
|
||||
%142 = OpTypePointer Function %26
|
||||
@ -201,8 +201,8 @@ OpDecorate %272 Location 0
|
||||
%149 = OpTypePointer Uniform %24
|
||||
%171 = OpTypePointer Function %25
|
||||
%173 = OpTypePointer Function %24
|
||||
%189 = OpTypeFunction %10 %27
|
||||
%195 = OpTypeFunction %10 %29
|
||||
%189 = OpTypeFunction %8 %27
|
||||
%195 = OpTypeFunction %8 %29
|
||||
%202 = OpTypeFunction %2 %33
|
||||
%203 = OpConstant %3 42
|
||||
%208 = OpTypeFunction %2 %35
|
||||
@ -214,7 +214,7 @@ OpDecorate %272 Location 0
|
||||
%218 = OpTypePointer Output %31
|
||||
%217 = OpVariable %218 Output
|
||||
%221 = OpTypePointer StorageBuffer %23
|
||||
%224 = OpConstant %10 0.0
|
||||
%224 = OpConstant %8 0.0
|
||||
%225 = OpConstant %3 3
|
||||
%226 = OpConstant %5 3
|
||||
%227 = OpConstant %5 4
|
||||
@ -223,21 +223,21 @@ OpDecorate %272 Location 0
|
||||
%230 = OpConstantNull %29
|
||||
%233 = OpTypePointer Function %32
|
||||
%234 = OpConstantNull %32
|
||||
%239 = OpTypePointer StorageBuffer %8
|
||||
%239 = OpTypePointer StorageBuffer %9
|
||||
%242 = OpTypePointer StorageBuffer %18
|
||||
%243 = OpConstant %3 4
|
||||
%246 = OpTypePointer StorageBuffer %9
|
||||
%247 = OpTypePointer StorageBuffer %10
|
||||
%246 = OpTypePointer StorageBuffer %10
|
||||
%247 = OpTypePointer StorageBuffer %8
|
||||
%250 = OpTypePointer StorageBuffer %19
|
||||
%253 = OpTypePointer StorageBuffer %7
|
||||
%254 = OpTypePointer StorageBuffer %5
|
||||
%266 = OpTypeVector %5 4
|
||||
%272 = OpVariable %218 Output
|
||||
%275 = OpConstantComposite %9 %224 %224 %224
|
||||
%276 = OpConstantComposite %9 %59 %59 %59
|
||||
%277 = OpConstantComposite %9 %61 %61 %61
|
||||
%278 = OpConstantComposite %9 %63 %63 %63
|
||||
%279 = OpConstantComposite %8 %275 %276 %277 %278
|
||||
%275 = OpConstantComposite %10 %224 %224 %224
|
||||
%276 = OpConstantComposite %10 %59 %59 %59
|
||||
%277 = OpConstantComposite %10 %61 %61 %61
|
||||
%278 = OpConstantComposite %10 %63 %63 %63
|
||||
%279 = OpConstantComposite %9 %275 %276 %277 %278
|
||||
%280 = OpConstantComposite %17 %36 %36
|
||||
%281 = OpConstantComposite %17 %99 %99
|
||||
%282 = OpConstantComposite %18 %280 %281
|
||||
@ -265,17 +265,17 @@ OpStore %82 %88
|
||||
%96 = OpAccessChain %92 %57 %36 %95
|
||||
%97 = OpLoad %12 %96
|
||||
%100 = OpAccessChain %98 %57 %36 %36 %99
|
||||
%101 = OpLoad %10 %100
|
||||
%101 = OpLoad %8 %100
|
||||
%102 = OpLoad %5 %82
|
||||
%103 = OpAccessChain %98 %57 %36 %36 %102
|
||||
%104 = OpLoad %10 %103
|
||||
%104 = OpLoad %8 %103
|
||||
%105 = OpLoad %5 %82
|
||||
%106 = OpAccessChain %98 %57 %36 %105 %99
|
||||
%107 = OpLoad %10 %106
|
||||
%107 = OpLoad %8 %106
|
||||
%108 = OpLoad %5 %82
|
||||
%109 = OpLoad %5 %82
|
||||
%110 = OpAccessChain %98 %57 %36 %108 %109
|
||||
%111 = OpLoad %10 %110
|
||||
%111 = OpLoad %8 %110
|
||||
%112 = OpLoad %5 %82
|
||||
%113 = OpIAdd %5 %112 %58
|
||||
OpStore %82 %113
|
||||
@ -320,17 +320,17 @@ OpStore %140 %145
|
||||
%155 = OpAccessChain %92 %132 %36 %36 %154
|
||||
%156 = OpLoad %12 %155
|
||||
%157 = OpAccessChain %98 %132 %36 %36 %36 %99
|
||||
%158 = OpLoad %10 %157
|
||||
%158 = OpLoad %8 %157
|
||||
%159 = OpLoad %5 %140
|
||||
%160 = OpAccessChain %98 %132 %36 %36 %36 %159
|
||||
%161 = OpLoad %10 %160
|
||||
%161 = OpLoad %8 %160
|
||||
%162 = OpLoad %5 %140
|
||||
%163 = OpAccessChain %98 %132 %36 %36 %162 %99
|
||||
%164 = OpLoad %10 %163
|
||||
%164 = OpLoad %8 %163
|
||||
%165 = OpLoad %5 %140
|
||||
%166 = OpLoad %5 %140
|
||||
%167 = OpAccessChain %98 %132 %36 %36 %165 %166
|
||||
%168 = OpLoad %10 %167
|
||||
%168 = OpLoad %8 %167
|
||||
%169 = OpLoad %5 %140
|
||||
%170 = OpIAdd %5 %169 %58
|
||||
OpStore %140 %170
|
||||
@ -357,21 +357,21 @@ OpStore %182 %80
|
||||
OpStore %185 %81
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%188 = OpFunction %10 None %189
|
||||
%188 = OpFunction %8 None %189
|
||||
%187 = OpFunctionParameter %27
|
||||
%186 = OpLabel
|
||||
OpBranch %190
|
||||
%190 = OpLabel
|
||||
%191 = OpLoad %10 %187
|
||||
%191 = OpLoad %8 %187
|
||||
OpReturnValue %191
|
||||
OpFunctionEnd
|
||||
%194 = OpFunction %10 None %195
|
||||
%194 = OpFunction %8 None %195
|
||||
%193 = OpFunctionParameter %29
|
||||
%192 = OpLabel
|
||||
OpBranch %196
|
||||
%196 = OpLabel
|
||||
%197 = OpCompositeExtract %28 %193 4
|
||||
%198 = OpCompositeExtract %10 %197 9
|
||||
%198 = OpCompositeExtract %8 %197 9
|
||||
OpReturnValue %198
|
||||
OpFunctionEnd
|
||||
%201 = OpFunction %2 None %202
|
||||
@ -400,22 +400,22 @@ OpFunctionEnd
|
||||
%223 = OpAccessChain %131 %50 %36
|
||||
OpBranch %235
|
||||
%235 = OpLabel
|
||||
%236 = OpLoad %10 %231
|
||||
%236 = OpLoad %8 %231
|
||||
OpStore %231 %59
|
||||
%237 = OpFunctionCall %2 %54
|
||||
%238 = OpFunctionCall %2 %130
|
||||
%240 = OpAccessChain %239 %42 %36
|
||||
%241 = OpLoad %8 %240
|
||||
%241 = OpLoad %9 %240
|
||||
%244 = OpAccessChain %242 %42 %243
|
||||
%245 = OpLoad %18 %244
|
||||
%248 = OpAccessChain %247 %42 %36 %225 %36
|
||||
%249 = OpLoad %10 %248
|
||||
%249 = OpLoad %8 %248
|
||||
%251 = OpArrayLength %3 %42 5
|
||||
%252 = OpISub %3 %251 %14
|
||||
%255 = OpAccessChain %254 %42 %30 %252 %36
|
||||
%256 = OpLoad %5 %255
|
||||
%257 = OpLoad %23 %222
|
||||
%258 = OpFunctionCall %10 %188 %231
|
||||
%258 = OpFunctionCall %8 %188 %231
|
||||
%259 = OpConvertFToS %5 %249
|
||||
%260 = OpCompositeConstruct %32 %256 %259 %226 %227 %228
|
||||
OpStore %232 %260
|
||||
@ -424,10 +424,10 @@ OpStore %232 %260
|
||||
OpStore %262 %229
|
||||
%263 = OpAccessChain %83 %232 %216
|
||||
%264 = OpLoad %5 %263
|
||||
%265 = OpFunctionCall %10 %194 %230
|
||||
%265 = OpFunctionCall %8 %194 %230
|
||||
%267 = OpCompositeConstruct %266 %264 %264 %264 %264
|
||||
%268 = OpConvertSToF %31 %267
|
||||
%269 = OpMatrixTimesVector %9 %241 %268
|
||||
%269 = OpMatrixTimesVector %10 %241 %268
|
||||
%270 = OpCompositeConstruct %31 %269 %61
|
||||
OpStore %217 %270
|
||||
OpReturn
|
||||
|
@ -61,10 +61,10 @@ OpDecorate %18 Binding 2
|
||||
OpDecorate %20 BuiltIn GlobalInvocationId
|
||||
%2 = OpTypeVoid
|
||||
%3 = OpTypeInt 32 0
|
||||
%5 = OpTypeFloat 32
|
||||
%4 = OpTypeVector %5 2
|
||||
%6 = OpTypeStruct %4 %4
|
||||
%7 = OpTypeStruct %5 %5 %5 %5 %5 %5 %5
|
||||
%4 = OpTypeFloat 32
|
||||
%5 = OpTypeVector %4 2
|
||||
%6 = OpTypeStruct %5 %5
|
||||
%7 = OpTypeStruct %4 %4 %4 %4 %4 %4 %4
|
||||
%8 = OpTypeRuntimeArray %6
|
||||
%9 = OpTypeStruct %8
|
||||
%10 = OpTypeVector %3 3
|
||||
@ -81,32 +81,32 @@ OpDecorate %20 BuiltIn GlobalInvocationId
|
||||
%24 = OpTypeFunction %2
|
||||
%25 = OpTypePointer Uniform %7
|
||||
%26 = OpConstant %3 0
|
||||
%28 = OpConstant %5 0.0
|
||||
%29 = OpConstantComposite %4 %28 %28
|
||||
%28 = OpConstant %4 0.0
|
||||
%29 = OpConstantComposite %5 %28 %28
|
||||
%30 = OpConstant %11 0
|
||||
%31 = OpConstant %11 1
|
||||
%32 = OpConstant %3 1
|
||||
%33 = OpConstant %5 0.1
|
||||
%34 = OpConstant %5 -1.0
|
||||
%35 = OpConstant %5 1.0
|
||||
%37 = OpTypePointer Function %4
|
||||
%38 = OpConstantNull %4
|
||||
%40 = OpConstantNull %4
|
||||
%33 = OpConstant %4 0.1
|
||||
%34 = OpConstant %4 -1.0
|
||||
%35 = OpConstant %4 1.0
|
||||
%37 = OpTypePointer Function %5
|
||||
%38 = OpConstantNull %5
|
||||
%40 = OpConstantNull %5
|
||||
%45 = OpTypePointer Function %11
|
||||
%48 = OpConstantNull %4
|
||||
%50 = OpConstantNull %4
|
||||
%48 = OpConstantNull %5
|
||||
%50 = OpConstantNull %5
|
||||
%52 = OpTypePointer Function %3
|
||||
%55 = OpTypeBool
|
||||
%59 = OpTypePointer StorageBuffer %8
|
||||
%60 = OpTypePointer StorageBuffer %6
|
||||
%61 = OpTypePointer StorageBuffer %4
|
||||
%87 = OpTypePointer Uniform %5
|
||||
%61 = OpTypePointer StorageBuffer %5
|
||||
%87 = OpTypePointer Uniform %4
|
||||
%101 = OpConstant %3 2
|
||||
%115 = OpConstant %3 3
|
||||
%150 = OpConstant %3 4
|
||||
%156 = OpConstant %3 5
|
||||
%162 = OpConstant %3 6
|
||||
%179 = OpTypePointer Function %5
|
||||
%179 = OpTypePointer Function %4
|
||||
%23 = OpFunction %2 None %24
|
||||
%19 = OpLabel
|
||||
%51 = OpVariable %52 Function %26
|
||||
@ -131,10 +131,10 @@ OpBranchConditional %56 %58 %57
|
||||
OpReturn
|
||||
%57 = OpLabel
|
||||
%62 = OpAccessChain %61 %16 %26 %54 %26
|
||||
%63 = OpLoad %4 %62
|
||||
%63 = OpLoad %5 %62
|
||||
OpStore %36 %63
|
||||
%64 = OpAccessChain %61 %16 %26 %54 %32
|
||||
%65 = OpLoad %4 %64
|
||||
%65 = OpLoad %5 %64
|
||||
OpStore %39 %65
|
||||
OpBranch %66
|
||||
%66 = OpLabel
|
||||
@ -157,59 +157,59 @@ OpBranch %69
|
||||
%76 = OpLabel
|
||||
%78 = OpLoad %3 %51
|
||||
%79 = OpAccessChain %61 %16 %26 %78 %26
|
||||
%80 = OpLoad %4 %79
|
||||
%80 = OpLoad %5 %79
|
||||
OpStore %47 %80
|
||||
%81 = OpLoad %3 %51
|
||||
%82 = OpAccessChain %61 %16 %26 %81 %32
|
||||
%83 = OpLoad %4 %82
|
||||
%83 = OpLoad %5 %82
|
||||
OpStore %49 %83
|
||||
%84 = OpLoad %4 %47
|
||||
%85 = OpLoad %4 %36
|
||||
%86 = OpExtInst %5 %1 Distance %84 %85
|
||||
%84 = OpLoad %5 %47
|
||||
%85 = OpLoad %5 %36
|
||||
%86 = OpExtInst %4 %1 Distance %84 %85
|
||||
%88 = OpAccessChain %87 %27 %32
|
||||
%89 = OpLoad %5 %88
|
||||
%89 = OpLoad %4 %88
|
||||
%90 = OpFOrdLessThan %55 %86 %89
|
||||
OpSelectionMerge %91 None
|
||||
OpBranchConditional %90 %92 %91
|
||||
%92 = OpLabel
|
||||
%93 = OpLoad %4 %41
|
||||
%94 = OpLoad %4 %47
|
||||
%95 = OpFAdd %4 %93 %94
|
||||
%93 = OpLoad %5 %41
|
||||
%94 = OpLoad %5 %47
|
||||
%95 = OpFAdd %5 %93 %94
|
||||
OpStore %41 %95
|
||||
%96 = OpLoad %11 %44
|
||||
%97 = OpIAdd %11 %96 %31
|
||||
OpStore %44 %97
|
||||
OpBranch %91
|
||||
%91 = OpLabel
|
||||
%98 = OpLoad %4 %47
|
||||
%99 = OpLoad %4 %36
|
||||
%100 = OpExtInst %5 %1 Distance %98 %99
|
||||
%98 = OpLoad %5 %47
|
||||
%99 = OpLoad %5 %36
|
||||
%100 = OpExtInst %4 %1 Distance %98 %99
|
||||
%102 = OpAccessChain %87 %27 %101
|
||||
%103 = OpLoad %5 %102
|
||||
%103 = OpLoad %4 %102
|
||||
%104 = OpFOrdLessThan %55 %100 %103
|
||||
OpSelectionMerge %105 None
|
||||
OpBranchConditional %104 %106 %105
|
||||
%106 = OpLabel
|
||||
%107 = OpLoad %4 %43
|
||||
%108 = OpLoad %4 %47
|
||||
%109 = OpLoad %4 %36
|
||||
%110 = OpFSub %4 %108 %109
|
||||
%111 = OpFSub %4 %107 %110
|
||||
%107 = OpLoad %5 %43
|
||||
%108 = OpLoad %5 %47
|
||||
%109 = OpLoad %5 %36
|
||||
%110 = OpFSub %5 %108 %109
|
||||
%111 = OpFSub %5 %107 %110
|
||||
OpStore %43 %111
|
||||
OpBranch %105
|
||||
%105 = OpLabel
|
||||
%112 = OpLoad %4 %47
|
||||
%113 = OpLoad %4 %36
|
||||
%114 = OpExtInst %5 %1 Distance %112 %113
|
||||
%112 = OpLoad %5 %47
|
||||
%113 = OpLoad %5 %36
|
||||
%114 = OpExtInst %4 %1 Distance %112 %113
|
||||
%116 = OpAccessChain %87 %27 %115
|
||||
%117 = OpLoad %5 %116
|
||||
%117 = OpLoad %4 %116
|
||||
%118 = OpFOrdLessThan %55 %114 %117
|
||||
OpSelectionMerge %119 None
|
||||
OpBranchConditional %118 %120 %119
|
||||
%120 = OpLabel
|
||||
%121 = OpLoad %4 %42
|
||||
%122 = OpLoad %4 %49
|
||||
%123 = OpFAdd %4 %121 %122
|
||||
%121 = OpLoad %5 %42
|
||||
%122 = OpLoad %5 %49
|
||||
%123 = OpFAdd %5 %121 %122
|
||||
OpStore %42 %123
|
||||
%124 = OpLoad %11 %46
|
||||
%125 = OpIAdd %11 %124 %31
|
||||
@ -228,13 +228,13 @@ OpBranch %66
|
||||
OpSelectionMerge %130 None
|
||||
OpBranchConditional %129 %131 %130
|
||||
%131 = OpLabel
|
||||
%132 = OpLoad %4 %41
|
||||
%132 = OpLoad %5 %41
|
||||
%133 = OpLoad %11 %44
|
||||
%134 = OpConvertSToF %5 %133
|
||||
%135 = OpCompositeConstruct %4 %134 %134
|
||||
%136 = OpFDiv %4 %132 %135
|
||||
%137 = OpLoad %4 %36
|
||||
%138 = OpFSub %4 %136 %137
|
||||
%134 = OpConvertSToF %4 %133
|
||||
%135 = OpCompositeConstruct %5 %134 %134
|
||||
%136 = OpFDiv %5 %132 %135
|
||||
%137 = OpLoad %5 %36
|
||||
%138 = OpFSub %5 %136 %137
|
||||
OpStore %41 %138
|
||||
OpBranch %130
|
||||
%130 = OpLabel
|
||||
@ -243,47 +243,47 @@ OpBranch %130
|
||||
OpSelectionMerge %141 None
|
||||
OpBranchConditional %140 %142 %141
|
||||
%142 = OpLabel
|
||||
%143 = OpLoad %4 %42
|
||||
%143 = OpLoad %5 %42
|
||||
%144 = OpLoad %11 %46
|
||||
%145 = OpConvertSToF %5 %144
|
||||
%146 = OpCompositeConstruct %4 %145 %145
|
||||
%147 = OpFDiv %4 %143 %146
|
||||
%145 = OpConvertSToF %4 %144
|
||||
%146 = OpCompositeConstruct %5 %145 %145
|
||||
%147 = OpFDiv %5 %143 %146
|
||||
OpStore %42 %147
|
||||
OpBranch %141
|
||||
%141 = OpLabel
|
||||
%148 = OpLoad %4 %39
|
||||
%149 = OpLoad %4 %41
|
||||
%148 = OpLoad %5 %39
|
||||
%149 = OpLoad %5 %41
|
||||
%151 = OpAccessChain %87 %27 %150
|
||||
%152 = OpLoad %5 %151
|
||||
%153 = OpVectorTimesScalar %4 %149 %152
|
||||
%154 = OpFAdd %4 %148 %153
|
||||
%155 = OpLoad %4 %43
|
||||
%152 = OpLoad %4 %151
|
||||
%153 = OpVectorTimesScalar %5 %149 %152
|
||||
%154 = OpFAdd %5 %148 %153
|
||||
%155 = OpLoad %5 %43
|
||||
%157 = OpAccessChain %87 %27 %156
|
||||
%158 = OpLoad %5 %157
|
||||
%159 = OpVectorTimesScalar %4 %155 %158
|
||||
%160 = OpFAdd %4 %154 %159
|
||||
%161 = OpLoad %4 %42
|
||||
%158 = OpLoad %4 %157
|
||||
%159 = OpVectorTimesScalar %5 %155 %158
|
||||
%160 = OpFAdd %5 %154 %159
|
||||
%161 = OpLoad %5 %42
|
||||
%163 = OpAccessChain %87 %27 %162
|
||||
%164 = OpLoad %5 %163
|
||||
%165 = OpVectorTimesScalar %4 %161 %164
|
||||
%166 = OpFAdd %4 %160 %165
|
||||
%164 = OpLoad %4 %163
|
||||
%165 = OpVectorTimesScalar %5 %161 %164
|
||||
%166 = OpFAdd %5 %160 %165
|
||||
OpStore %39 %166
|
||||
%167 = OpLoad %4 %39
|
||||
%168 = OpExtInst %4 %1 Normalize %167
|
||||
%169 = OpLoad %4 %39
|
||||
%170 = OpExtInst %5 %1 Length %169
|
||||
%171 = OpExtInst %5 %1 FClamp %170 %28 %33
|
||||
%172 = OpVectorTimesScalar %4 %168 %171
|
||||
%167 = OpLoad %5 %39
|
||||
%168 = OpExtInst %5 %1 Normalize %167
|
||||
%169 = OpLoad %5 %39
|
||||
%170 = OpExtInst %4 %1 Length %169
|
||||
%171 = OpExtInst %4 %1 FClamp %170 %28 %33
|
||||
%172 = OpVectorTimesScalar %5 %168 %171
|
||||
OpStore %39 %172
|
||||
%173 = OpLoad %4 %36
|
||||
%174 = OpLoad %4 %39
|
||||
%173 = OpLoad %5 %36
|
||||
%174 = OpLoad %5 %39
|
||||
%175 = OpAccessChain %87 %27 %26
|
||||
%176 = OpLoad %5 %175
|
||||
%177 = OpVectorTimesScalar %4 %174 %176
|
||||
%178 = OpFAdd %4 %173 %177
|
||||
%176 = OpLoad %4 %175
|
||||
%177 = OpVectorTimesScalar %5 %174 %176
|
||||
%178 = OpFAdd %5 %173 %177
|
||||
OpStore %36 %178
|
||||
%180 = OpAccessChain %179 %36 %26
|
||||
%181 = OpLoad %5 %180
|
||||
%181 = OpLoad %4 %180
|
||||
%182 = OpFOrdLessThan %55 %181 %34
|
||||
OpSelectionMerge %183 None
|
||||
OpBranchConditional %182 %184 %183
|
||||
@ -293,7 +293,7 @@ OpStore %185 %35
|
||||
OpBranch %183
|
||||
%183 = OpLabel
|
||||
%186 = OpAccessChain %179 %36 %26
|
||||
%187 = OpLoad %5 %186
|
||||
%187 = OpLoad %4 %186
|
||||
%188 = OpFOrdGreaterThan %55 %187 %35
|
||||
OpSelectionMerge %189 None
|
||||
OpBranchConditional %188 %190 %189
|
||||
@ -303,7 +303,7 @@ OpStore %191 %34
|
||||
OpBranch %189
|
||||
%189 = OpLabel
|
||||
%192 = OpAccessChain %179 %36 %32
|
||||
%193 = OpLoad %5 %192
|
||||
%193 = OpLoad %4 %192
|
||||
%194 = OpFOrdLessThan %55 %193 %34
|
||||
OpSelectionMerge %195 None
|
||||
OpBranchConditional %194 %196 %195
|
||||
@ -313,7 +313,7 @@ OpStore %197 %35
|
||||
OpBranch %195
|
||||
%195 = OpLabel
|
||||
%198 = OpAccessChain %179 %36 %32
|
||||
%199 = OpLoad %5 %198
|
||||
%199 = OpLoad %4 %198
|
||||
%200 = OpFOrdGreaterThan %55 %199 %35
|
||||
OpSelectionMerge %201 None
|
||||
OpBranchConditional %200 %202 %201
|
||||
@ -322,10 +322,10 @@ OpBranchConditional %200 %202 %201
|
||||
OpStore %203 %34
|
||||
OpBranch %201
|
||||
%201 = OpLabel
|
||||
%204 = OpLoad %4 %36
|
||||
%204 = OpLoad %5 %36
|
||||
%205 = OpAccessChain %61 %18 %26 %54 %26
|
||||
OpStore %205 %204
|
||||
%206 = OpLoad %4 %39
|
||||
%206 = OpLoad %5 %39
|
||||
%207 = OpAccessChain %61 %18 %26 %54 %32
|
||||
OpStore %207 %206
|
||||
OpReturn
|
||||
|
@ -11,25 +11,25 @@ OpExecutionMode %100 LocalSize 2 3 1
|
||||
%3 = OpTypeInt 32 0
|
||||
%4 = OpTypeInt 32 1
|
||||
%5 = OpTypeVector %4 4
|
||||
%7 = OpTypeFloat 32
|
||||
%6 = OpTypeVector %7 4
|
||||
%8 = OpTypeVector %7 2
|
||||
%6 = OpTypeFloat 32
|
||||
%7 = OpTypeVector %6 4
|
||||
%8 = OpTypeVector %6 2
|
||||
%10 = OpTypeBool
|
||||
%9 = OpTypeVector %10 2
|
||||
%11 = OpConstant %3 2
|
||||
%12 = OpConstant %4 3
|
||||
%13 = OpConstant %4 4
|
||||
%14 = OpConstant %4 8
|
||||
%15 = OpConstant %7 3.141
|
||||
%16 = OpConstant %7 6.282
|
||||
%17 = OpConstant %7 0.44444445
|
||||
%18 = OpConstant %7 0.0
|
||||
%19 = OpConstantComposite %6 %17 %18 %18 %18
|
||||
%15 = OpConstant %6 3.141
|
||||
%16 = OpConstant %6 6.282
|
||||
%17 = OpConstant %6 0.44444445
|
||||
%18 = OpConstant %6 0.0
|
||||
%19 = OpConstantComposite %7 %17 %18 %18 %18
|
||||
%20 = OpConstant %4 0
|
||||
%21 = OpConstant %4 1
|
||||
%22 = OpConstant %4 2
|
||||
%23 = OpConstant %7 4.0
|
||||
%24 = OpConstant %7 5.0
|
||||
%23 = OpConstant %6 4.0
|
||||
%24 = OpConstant %6 5.0
|
||||
%25 = OpConstantComposite %8 %23 %24
|
||||
%26 = OpConstantTrue %10
|
||||
%27 = OpConstantFalse %10
|
||||
@ -46,10 +46,10 @@ OpExecutionMode %100 LocalSize 2 3 1
|
||||
%57 = OpConstantNull %5
|
||||
%68 = OpConstant %4 -4
|
||||
%69 = OpConstantComposite %5 %68 %68 %68 %68
|
||||
%78 = OpConstant %7 1.0
|
||||
%79 = OpConstant %7 2.0
|
||||
%80 = OpConstantComposite %6 %79 %78 %78 %78
|
||||
%82 = OpTypePointer Function %6
|
||||
%78 = OpConstant %6 1.0
|
||||
%79 = OpConstant %6 2.0
|
||||
%80 = OpConstantComposite %7 %79 %78 %78 %78
|
||||
%82 = OpTypePointer Function %7
|
||||
%87 = OpTypeFunction %3 %4
|
||||
%88 = OpConstant %3 10
|
||||
%89 = OpConstant %3 20
|
||||
|
@ -13,12 +13,12 @@ OpDecorate %10 ArrayStride 16
|
||||
OpDecorate %15 ArrayStride 32
|
||||
OpDecorate %17 ArrayStride 4
|
||||
%2 = OpTypeVoid
|
||||
%4 = OpTypeFloat 32
|
||||
%3 = OpTypeVector %4 4
|
||||
%3 = OpTypeFloat 32
|
||||
%4 = OpTypeVector %3 4
|
||||
%5 = OpTypeInt 32 1
|
||||
%6 = OpTypeStruct %3 %5
|
||||
%7 = OpTypeVector %4 3
|
||||
%9 = OpTypeVector %4 2
|
||||
%6 = OpTypeStruct %4 %5
|
||||
%7 = OpTypeVector %3 3
|
||||
%9 = OpTypeVector %3 2
|
||||
%8 = OpTypeMatrix %9 2
|
||||
%12 = OpTypeInt 32 0
|
||||
%11 = OpConstant %12 1
|
||||
@ -29,13 +29,13 @@ OpDecorate %17 ArrayStride 4
|
||||
%15 = OpTypeArray %6 %16
|
||||
%18 = OpConstant %12 4
|
||||
%17 = OpTypeArray %5 %18
|
||||
%19 = OpTypeMatrix %3 4
|
||||
%19 = OpTypeMatrix %4 4
|
||||
%20 = OpTypeMatrix %7 2
|
||||
%21 = OpConstant %4 0.0
|
||||
%22 = OpConstant %4 1.0
|
||||
%23 = OpConstant %4 2.0
|
||||
%21 = OpConstant %3 0.0
|
||||
%22 = OpConstant %3 1.0
|
||||
%23 = OpConstant %3 2.0
|
||||
%24 = OpConstantComposite %7 %21 %22 %23
|
||||
%25 = OpConstant %4 3.0
|
||||
%25 = OpConstant %3 3.0
|
||||
%26 = OpConstantComposite %9 %21 %22
|
||||
%27 = OpConstantComposite %9 %23 %25
|
||||
%28 = OpConstantComposite %8 %26 %27
|
||||
@ -43,7 +43,7 @@ OpDecorate %17 ArrayStride 4
|
||||
%30 = OpConstantNull %13
|
||||
%31 = OpConstantNull %5
|
||||
%32 = OpConstantNull %12
|
||||
%33 = OpConstantNull %4
|
||||
%33 = OpConstantNull %3
|
||||
%34 = OpConstantNull %14
|
||||
%35 = OpConstantNull %8
|
||||
%36 = OpConstantNull %15
|
||||
@ -54,14 +54,14 @@ OpDecorate %17 ArrayStride 4
|
||||
%41 = OpConstant %5 3
|
||||
%42 = OpConstantComposite %17 %38 %39 %40 %41
|
||||
%45 = OpTypeFunction %2
|
||||
%46 = OpConstantComposite %3 %22 %22 %22 %22
|
||||
%46 = OpConstantComposite %4 %22 %22 %22 %22
|
||||
%47 = OpConstantComposite %6 %46 %39
|
||||
%48 = OpConstantComposite %9 %22 %21
|
||||
%49 = OpConstantComposite %8 %48 %26
|
||||
%50 = OpConstantComposite %3 %22 %21 %21 %21
|
||||
%51 = OpConstantComposite %3 %21 %22 %21 %21
|
||||
%52 = OpConstantComposite %3 %21 %21 %22 %21
|
||||
%53 = OpConstantComposite %3 %21 %21 %21 %22
|
||||
%50 = OpConstantComposite %4 %22 %21 %21 %21
|
||||
%51 = OpConstantComposite %4 %21 %22 %21 %21
|
||||
%52 = OpConstantComposite %4 %21 %21 %22 %21
|
||||
%53 = OpConstantComposite %4 %21 %21 %21 %22
|
||||
%54 = OpConstantComposite %19 %50 %51 %52 %53
|
||||
%55 = OpConstant %12 0
|
||||
%56 = OpConstantComposite %14 %55 %55
|
||||
|
@ -7653,17 +7653,17 @@ OpDecorate %578 Location 0
|
||||
OpDecorate %580 Location 1
|
||||
OpDecorate %582 Location 0
|
||||
%2 = OpTypeVoid
|
||||
%5 = OpTypeFloat 32
|
||||
%4 = OpTypeVector %5 3
|
||||
%6 = OpTypeVector %5 2
|
||||
%7 = OpTypeVector %5 4
|
||||
%4 = OpTypeFloat 32
|
||||
%5 = OpTypeVector %4 3
|
||||
%6 = OpTypeVector %4 2
|
||||
%7 = OpTypeVector %4 4
|
||||
%8 = OpTypeInt 32 0
|
||||
%9 = OpTypeMatrix %6 2
|
||||
%10 = OpTypeVector %8 2
|
||||
%12 = OpTypeInt 32 1
|
||||
%11 = OpTypeVector %12 2
|
||||
%13 = OpTypeStruct %10 %11 %6
|
||||
%14 = OpTypeStruct %4 %4
|
||||
%14 = OpTypeStruct %5 %5
|
||||
%15 = OpTypeRuntimeArray %14
|
||||
%16 = OpTypeStruct %15
|
||||
%17 = OpTypeRuntimeArray %8
|
||||
@ -7674,9 +7674,9 @@ OpDecorate %582 Location 0
|
||||
%22 = OpTypeStruct %8 %8
|
||||
%23 = OpTypeMatrix %7 4
|
||||
%24 = OpTypeStruct %7 %23
|
||||
%25 = OpTypeStruct %4 %4
|
||||
%26 = OpTypeStruct %7 %4 %4
|
||||
%27 = OpTypeImage %5 2D 0 0 0 1 Unknown
|
||||
%25 = OpTypeStruct %5 %5
|
||||
%26 = OpTypeStruct %7 %5 %5
|
||||
%27 = OpTypeImage %4 2D 0 0 0 1 Unknown
|
||||
%28 = OpTypeSampler
|
||||
%30 = OpTypeStruct %13
|
||||
%31 = OpTypePointer Uniform %30
|
||||
@ -7700,67 +7700,67 @@ OpDecorate %582 Location 0
|
||||
%47 = OpVariable %48 UniformConstant
|
||||
%49 = OpVariable %46 UniformConstant
|
||||
%50 = OpVariable %48 UniformConstant
|
||||
%54 = OpTypeFunction %4 %4
|
||||
%55 = OpConstant %5 34.0
|
||||
%56 = OpConstant %5 1.0
|
||||
%57 = OpConstantComposite %4 %56 %56 %56
|
||||
%58 = OpConstant %5 289.0
|
||||
%59 = OpConstantComposite %4 %58 %58 %58
|
||||
%68 = OpTypeFunction %5 %6
|
||||
%69 = OpConstant %5 0.21132487
|
||||
%70 = OpConstant %5 0.36602542
|
||||
%71 = OpConstant %5 -0.57735026
|
||||
%72 = OpConstant %5 0.024390243
|
||||
%54 = OpTypeFunction %5 %5
|
||||
%55 = OpConstant %4 34.0
|
||||
%56 = OpConstant %4 1.0
|
||||
%57 = OpConstantComposite %5 %56 %56 %56
|
||||
%58 = OpConstant %4 289.0
|
||||
%59 = OpConstantComposite %5 %58 %58 %58
|
||||
%68 = OpTypeFunction %4 %6
|
||||
%69 = OpConstant %4 0.21132487
|
||||
%70 = OpConstant %4 0.36602542
|
||||
%71 = OpConstant %4 -0.57735026
|
||||
%72 = OpConstant %4 0.024390243
|
||||
%73 = OpConstantComposite %7 %69 %70 %71 %72
|
||||
%74 = OpConstant %5 0.0
|
||||
%74 = OpConstant %4 0.0
|
||||
%75 = OpConstantComposite %6 %56 %74
|
||||
%76 = OpConstantComposite %6 %74 %56
|
||||
%77 = OpConstantComposite %6 %58 %58
|
||||
%78 = OpConstant %5 0.5
|
||||
%79 = OpConstantComposite %4 %78 %78 %78
|
||||
%80 = OpConstantComposite %4 %74 %74 %74
|
||||
%81 = OpConstant %5 2.0
|
||||
%82 = OpConstant %5 0.85373473
|
||||
%83 = OpConstant %5 1.7928429
|
||||
%84 = OpConstantComposite %4 %83 %83 %83
|
||||
%85 = OpConstant %5 130.0
|
||||
%78 = OpConstant %4 0.5
|
||||
%79 = OpConstantComposite %5 %78 %78 %78
|
||||
%80 = OpConstantComposite %5 %74 %74 %74
|
||||
%81 = OpConstant %4 2.0
|
||||
%82 = OpConstant %4 0.85373473
|
||||
%83 = OpConstant %4 1.7928429
|
||||
%84 = OpConstantComposite %5 %83 %83 %83
|
||||
%85 = OpConstant %4 130.0
|
||||
%87 = OpTypePointer Function %6
|
||||
%88 = OpConstantNull %6
|
||||
%90 = OpConstantNull %6
|
||||
%92 = OpTypePointer Function %7
|
||||
%93 = OpConstantNull %7
|
||||
%95 = OpTypePointer Function %4
|
||||
%96 = OpConstantNull %4
|
||||
%95 = OpTypePointer Function %5
|
||||
%96 = OpConstantNull %5
|
||||
%112 = OpTypeBool
|
||||
%115 = OpTypeVector %112 2
|
||||
%125 = OpTypePointer Function %5
|
||||
%125 = OpTypePointer Function %4
|
||||
%126 = OpConstant %8 1
|
||||
%135 = OpConstant %8 0
|
||||
%205 = OpConstant %8 5
|
||||
%206 = OpConstant %5 0.01
|
||||
%207 = OpConstant %5 100.0
|
||||
%206 = OpConstant %4 0.01
|
||||
%207 = OpConstant %4 100.0
|
||||
%208 = OpConstantComposite %6 %207 %207
|
||||
%209 = OpConstant %5 0.87758255
|
||||
%210 = OpConstant %5 0.47942555
|
||||
%209 = OpConstant %4 0.87758255
|
||||
%210 = OpConstant %4 0.47942555
|
||||
%211 = OpConstantComposite %6 %209 %210
|
||||
%213 = OpConstantNull %6
|
||||
%215 = OpTypePointer Function %5
|
||||
%215 = OpTypePointer Function %4
|
||||
%218 = OpTypePointer Function %8
|
||||
%258 = OpTypeFunction %4 %6 %6
|
||||
%258 = OpTypeFunction %5 %6 %6
|
||||
%271 = OpTypeFunction %14 %6 %6
|
||||
%272 = OpConstant %5 0.1
|
||||
%272 = OpConstant %4 0.1
|
||||
%273 = OpConstantComposite %6 %272 %74
|
||||
%274 = OpConstantComposite %6 %74 %272
|
||||
%275 = OpConstant %5 -0.1
|
||||
%275 = OpConstant %4 -0.1
|
||||
%276 = OpConstantComposite %6 %275 %74
|
||||
%277 = OpConstantComposite %6 %74 %275
|
||||
%304 = OpTypeFunction %6 %8 %10 %11
|
||||
%321 = OpTypeFunction %4 %6
|
||||
%322 = OpConstant %5 23.0
|
||||
%323 = OpConstant %5 32.0
|
||||
%321 = OpTypeFunction %5 %6
|
||||
%322 = OpConstant %4 23.0
|
||||
%323 = OpConstant %4 32.0
|
||||
%324 = OpConstantComposite %6 %322 %323
|
||||
%325 = OpConstant %5 -43.0
|
||||
%326 = OpConstant %5 3.0
|
||||
%325 = OpConstant %4 -43.0
|
||||
%326 = OpConstant %4 3.0
|
||||
%327 = OpConstantComposite %6 %325 %326
|
||||
%343 = OpTypePointer Input %19
|
||||
%342 = OpVariable %343 Input
|
||||
@ -7787,7 +7787,7 @@ OpDecorate %582 Location 0
|
||||
%414 = OpTypePointer Output %6
|
||||
%413 = OpVariable %414 Output
|
||||
%416 = OpTypePointer Uniform %20
|
||||
%418 = OpConstant %5 -1.0
|
||||
%418 = OpConstant %4 -1.0
|
||||
%419 = OpConstantComposite %6 %418 %418
|
||||
%434 = OpTypePointer Uniform %8
|
||||
%455 = OpVariable %407 Input
|
||||
@ -7797,12 +7797,12 @@ OpDecorate %582 Location 0
|
||||
%460 = OpVariable %461 Input
|
||||
%463 = OpVariable %410 Output
|
||||
%464 = OpVariable %410 Output
|
||||
%467 = OpConstant %5 6.0
|
||||
%550 = OpTypePointer Input %4
|
||||
%467 = OpConstant %4 6.0
|
||||
%550 = OpTypePointer Input %5
|
||||
%549 = OpVariable %550 Input
|
||||
%552 = OpVariable %550 Input
|
||||
%554 = OpVariable %412 Output
|
||||
%556 = OpTypePointer Output %4
|
||||
%556 = OpTypePointer Output %5
|
||||
%555 = OpVariable %556 Output
|
||||
%557 = OpVariable %556 Output
|
||||
%559 = OpTypePointer Uniform %24
|
||||
@ -7812,30 +7812,30 @@ OpDecorate %582 Location 0
|
||||
%580 = OpVariable %550 Input
|
||||
%582 = OpVariable %412 Output
|
||||
%585 = OpTypePointer Uniform %25
|
||||
%587 = OpConstantComposite %4 %272 %272 %272
|
||||
%588 = OpConstant %5 0.7
|
||||
%589 = OpConstantComposite %4 %78 %272 %588
|
||||
%590 = OpConstant %5 0.2
|
||||
%591 = OpConstantComposite %4 %590 %590 %590
|
||||
%593 = OpConstantNull %4
|
||||
%608 = OpTypePointer Uniform %4
|
||||
%587 = OpConstantComposite %5 %272 %272 %272
|
||||
%588 = OpConstant %4 0.7
|
||||
%589 = OpConstantComposite %5 %78 %272 %588
|
||||
%590 = OpConstant %4 0.2
|
||||
%591 = OpConstantComposite %5 %590 %590 %590
|
||||
%593 = OpConstantNull %5
|
||||
%608 = OpTypePointer Uniform %5
|
||||
%617 = OpTypePointer Uniform %7
|
||||
%53 = OpFunction %4 None %54
|
||||
%52 = OpFunctionParameter %4
|
||||
%53 = OpFunction %5 None %54
|
||||
%52 = OpFunctionParameter %5
|
||||
%51 = OpLabel
|
||||
OpBranch %60
|
||||
%60 = OpLabel
|
||||
OpLine %3 5734 52
|
||||
%61 = OpVectorTimesScalar %4 %52 %55
|
||||
%61 = OpVectorTimesScalar %5 %52 %55
|
||||
OpLine %3 5734 63
|
||||
OpLine %3 5734 50
|
||||
%62 = OpFAdd %4 %61 %57
|
||||
%63 = OpFMul %4 %62 %52
|
||||
%62 = OpFAdd %5 %61 %57
|
||||
%63 = OpFMul %5 %62 %52
|
||||
OpLine %3 5734 49
|
||||
%64 = OpFRem %4 %63 %59
|
||||
%64 = OpFRem %5 %63 %59
|
||||
OpReturnValue %64
|
||||
OpFunctionEnd
|
||||
%67 = OpFunction %5 None %68
|
||||
%67 = OpFunction %4 None %68
|
||||
%66 = OpFunctionParameter %6
|
||||
%65 = OpLabel
|
||||
%89 = OpVariable %87 Function %90
|
||||
@ -7847,7 +7847,7 @@ OpBranch %97
|
||||
OpLine %3 5737 13
|
||||
OpLine %3 5738 24
|
||||
%98 = OpVectorShuffle %6 %73 %73 1 1
|
||||
%99 = OpDot %5 %66 %98
|
||||
%99 = OpDot %4 %66 %98
|
||||
%100 = OpCompositeConstruct %6 %99 %99
|
||||
%101 = OpFAdd %6 %66 %100
|
||||
%102 = OpExtInst %6 %1 Floor %101
|
||||
@ -7858,13 +7858,13 @@ OpLine %3 5739 14
|
||||
%104 = OpFSub %6 %66 %103
|
||||
%105 = OpLoad %6 %86
|
||||
%106 = OpVectorShuffle %6 %73 %73 0 0
|
||||
%107 = OpDot %5 %105 %106
|
||||
%107 = OpDot %4 %105 %106
|
||||
%108 = OpCompositeConstruct %6 %107 %107
|
||||
%109 = OpFAdd %6 %104 %108
|
||||
OpLine %3 5741 32
|
||||
OpLine %3 5741 25
|
||||
%110 = OpCompositeExtract %5 %109 0
|
||||
%111 = OpCompositeExtract %5 %109 1
|
||||
%110 = OpCompositeExtract %4 %109 0
|
||||
%111 = OpCompositeExtract %4 %109 1
|
||||
%113 = OpFOrdLessThan %112 %110 %111
|
||||
%116 = OpCompositeConstruct %115 %113 %113
|
||||
%114 = OpSelect %6 %116 %76 %75
|
||||
@ -7888,101 +7888,101 @@ OpLine %3 5743 5
|
||||
OpStore %86 %124
|
||||
OpLine %3 5744 31
|
||||
%127 = OpAccessChain %125 %86 %126
|
||||
%128 = OpLoad %5 %127
|
||||
%128 = OpLoad %4 %127
|
||||
OpLine %3 5744 51
|
||||
%129 = OpAccessChain %125 %89 %126
|
||||
%130 = OpLoad %5 %129
|
||||
%130 = OpLoad %4 %129
|
||||
OpLine %3 5744 31
|
||||
%131 = OpCompositeConstruct %4 %74 %130 %56
|
||||
%132 = OpCompositeConstruct %4 %128 %128 %128
|
||||
%133 = OpFAdd %4 %132 %131
|
||||
%131 = OpCompositeConstruct %5 %74 %130 %56
|
||||
%132 = OpCompositeConstruct %5 %128 %128 %128
|
||||
%133 = OpFAdd %5 %132 %131
|
||||
OpLine %3 5744 22
|
||||
%134 = OpFunctionCall %4 %53 %133
|
||||
%134 = OpFunctionCall %5 %53 %133
|
||||
OpLine %3 5744 22
|
||||
%136 = OpAccessChain %125 %86 %135
|
||||
%137 = OpLoad %5 %136
|
||||
%138 = OpCompositeConstruct %4 %137 %137 %137
|
||||
%139 = OpFAdd %4 %134 %138
|
||||
%137 = OpLoad %4 %136
|
||||
%138 = OpCompositeConstruct %5 %137 %137 %137
|
||||
%139 = OpFAdd %5 %134 %138
|
||||
OpLine %3 5744 84
|
||||
%140 = OpAccessChain %125 %89 %135
|
||||
%141 = OpLoad %5 %140
|
||||
%141 = OpLoad %4 %140
|
||||
OpLine %3 5744 22
|
||||
%142 = OpCompositeConstruct %4 %74 %141 %56
|
||||
%143 = OpFAdd %4 %139 %142
|
||||
%142 = OpCompositeConstruct %5 %74 %141 %56
|
||||
%143 = OpFAdd %5 %139 %142
|
||||
OpLine %3 5744 13
|
||||
%144 = OpFunctionCall %4 %53 %143
|
||||
%144 = OpFunctionCall %5 %53 %143
|
||||
OpLine %3 5745 28
|
||||
%145 = OpDot %5 %109 %109
|
||||
%145 = OpDot %4 %109 %109
|
||||
%146 = OpLoad %7 %91
|
||||
%147 = OpVectorShuffle %6 %146 %146 0 1
|
||||
%148 = OpLoad %7 %91
|
||||
%149 = OpVectorShuffle %6 %148 %148 0 1
|
||||
%150 = OpDot %5 %147 %149
|
||||
%150 = OpDot %4 %147 %149
|
||||
%151 = OpLoad %7 %91
|
||||
%152 = OpVectorShuffle %6 %151 %151 2 3
|
||||
%153 = OpLoad %7 %91
|
||||
%154 = OpVectorShuffle %6 %153 %153 2 3
|
||||
%155 = OpDot %5 %152 %154
|
||||
%156 = OpCompositeConstruct %4 %145 %150 %155
|
||||
%155 = OpDot %4 %152 %154
|
||||
%156 = OpCompositeConstruct %5 %145 %150 %155
|
||||
OpLine %3 5745 28
|
||||
%157 = OpFSub %4 %79 %156
|
||||
%157 = OpFSub %5 %79 %156
|
||||
OpLine %3 5745 24
|
||||
%158 = OpExtInst %4 %1 FMax %157 %80
|
||||
%158 = OpExtInst %5 %1 FMax %157 %80
|
||||
OpLine %3 5745 5
|
||||
OpStore %94 %158
|
||||
OpLine %3 5746 9
|
||||
%159 = OpLoad %4 %94
|
||||
%160 = OpLoad %4 %94
|
||||
%161 = OpFMul %4 %159 %160
|
||||
%159 = OpLoad %5 %94
|
||||
%160 = OpLoad %5 %94
|
||||
%161 = OpFMul %5 %159 %160
|
||||
OpLine %3 5746 5
|
||||
OpStore %94 %161
|
||||
OpLine %3 5747 9
|
||||
%162 = OpLoad %4 %94
|
||||
%163 = OpLoad %4 %94
|
||||
%164 = OpFMul %4 %162 %163
|
||||
%162 = OpLoad %5 %94
|
||||
%163 = OpLoad %5 %94
|
||||
%164 = OpFMul %5 %162 %163
|
||||
OpLine %3 5747 5
|
||||
OpStore %94 %164
|
||||
OpLine %3 5748 18
|
||||
%165 = OpVectorShuffle %4 %73 %73 3 3 3
|
||||
%166 = OpFMul %4 %144 %165
|
||||
%167 = OpExtInst %4 %1 Fract %166
|
||||
%165 = OpVectorShuffle %5 %73 %73 3 3 3
|
||||
%166 = OpFMul %5 %144 %165
|
||||
%167 = OpExtInst %5 %1 Fract %166
|
||||
OpLine %3 5748 13
|
||||
%168 = OpVectorTimesScalar %4 %167 %81
|
||||
%168 = OpVectorTimesScalar %5 %167 %81
|
||||
OpLine %3 5748 37
|
||||
OpLine %3 5748 13
|
||||
%169 = OpFSub %4 %168 %57
|
||||
%169 = OpFSub %5 %168 %57
|
||||
OpLine %3 5749 13
|
||||
%170 = OpExtInst %4 %1 FAbs %169
|
||||
%170 = OpExtInst %5 %1 FAbs %169
|
||||
OpLine %3 5749 22
|
||||
OpLine %3 5749 13
|
||||
%171 = OpFSub %4 %170 %79
|
||||
%171 = OpFSub %5 %170 %79
|
||||
OpLine %3 7169 24
|
||||
OpLine %3 7169 14
|
||||
%172 = OpFAdd %4 %169 %79
|
||||
%173 = OpExtInst %4 %1 Floor %172
|
||||
%172 = OpFAdd %5 %169 %79
|
||||
%173 = OpExtInst %5 %1 Floor %172
|
||||
OpLine %3 7170 14
|
||||
%174 = OpFSub %4 %169 %173
|
||||
%174 = OpFSub %5 %169 %173
|
||||
OpLine %3 1 1
|
||||
%175 = OpLoad %4 %94
|
||||
%175 = OpLoad %5 %94
|
||||
OpLine %3 7171 53
|
||||
%176 = OpFMul %4 %174 %174
|
||||
%177 = OpFMul %4 %171 %171
|
||||
%178 = OpFAdd %4 %176 %177
|
||||
%176 = OpFMul %5 %174 %174
|
||||
%177 = OpFMul %5 %171 %171
|
||||
%178 = OpFAdd %5 %176 %177
|
||||
OpLine %3 7171 14
|
||||
%179 = OpVectorTimesScalar %4 %178 %82
|
||||
%179 = OpVectorTimesScalar %5 %178 %82
|
||||
OpLine %3 7171 9
|
||||
%180 = OpFSub %4 %84 %179
|
||||
%181 = OpFMul %4 %175 %180
|
||||
%180 = OpFSub %5 %84 %179
|
||||
%181 = OpFMul %5 %175 %180
|
||||
OpLine %3 7171 5
|
||||
OpStore %94 %181
|
||||
OpLine %3 7172 13
|
||||
%182 = OpCompositeExtract %5 %174 0
|
||||
%183 = OpCompositeExtract %5 %109 0
|
||||
%184 = OpFMul %5 %182 %183
|
||||
%185 = OpCompositeExtract %5 %171 0
|
||||
%186 = OpCompositeExtract %5 %109 1
|
||||
%187 = OpFMul %5 %185 %186
|
||||
%188 = OpFAdd %5 %184 %187
|
||||
%182 = OpCompositeExtract %4 %174 0
|
||||
%183 = OpCompositeExtract %4 %109 0
|
||||
%184 = OpFMul %4 %182 %183
|
||||
%185 = OpCompositeExtract %4 %171 0
|
||||
%186 = OpCompositeExtract %4 %109 1
|
||||
%187 = OpFMul %4 %185 %186
|
||||
%188 = OpFAdd %4 %184 %187
|
||||
%189 = OpVectorShuffle %6 %174 %174 1 2
|
||||
%190 = OpLoad %7 %91
|
||||
%191 = OpVectorShuffle %6 %190 %190 0 2
|
||||
@ -7992,15 +7992,15 @@ OpLine %3 7172 13
|
||||
%195 = OpVectorShuffle %6 %194 %194 1 3
|
||||
%196 = OpFMul %6 %193 %195
|
||||
%197 = OpFAdd %6 %192 %196
|
||||
%198 = OpCompositeConstruct %4 %188 %197
|
||||
%198 = OpCompositeConstruct %5 %188 %197
|
||||
OpLine %3 7173 19
|
||||
%199 = OpLoad %4 %94
|
||||
%200 = OpDot %5 %199 %198
|
||||
%199 = OpLoad %5 %94
|
||||
%200 = OpDot %4 %199 %198
|
||||
OpLine %3 7173 12
|
||||
%201 = OpFMul %5 %85 %200
|
||||
%201 = OpFMul %4 %85 %200
|
||||
OpReturnValue %201
|
||||
OpFunctionEnd
|
||||
%204 = OpFunction %5 None %68
|
||||
%204 = OpFunction %4 None %68
|
||||
%203 = OpFunctionParameter %6
|
||||
%202 = OpLabel
|
||||
%214 = OpVariable %215 Function %74
|
||||
@ -8016,11 +8016,11 @@ OpStore %212 %220
|
||||
OpLine %3 7182 17
|
||||
OpLine %3 7183 14
|
||||
OpLine %3 7184 15
|
||||
%221 = OpCompositeExtract %5 %211 0
|
||||
%222 = OpCompositeExtract %5 %211 1
|
||||
%223 = OpCompositeExtract %5 %211 1
|
||||
%224 = OpFNegate %5 %223
|
||||
%225 = OpCompositeExtract %5 %211 0
|
||||
%221 = OpCompositeExtract %4 %211 0
|
||||
%222 = OpCompositeExtract %4 %211 1
|
||||
%223 = OpCompositeExtract %4 %211 1
|
||||
%224 = OpFNegate %4 %223
|
||||
%225 = OpCompositeExtract %4 %211 0
|
||||
%226 = OpCompositeConstruct %6 %221 %222
|
||||
%227 = OpCompositeConstruct %6 %224 %225
|
||||
%228 = OpCompositeConstruct %9 %226 %227
|
||||
@ -8042,14 +8042,14 @@ OpBranch %230
|
||||
OpBranch %237
|
||||
%237 = OpLabel
|
||||
OpLine %3 1 1
|
||||
%239 = OpLoad %5 %214
|
||||
%240 = OpLoad %5 %216
|
||||
%239 = OpLoad %4 %214
|
||||
%240 = OpLoad %4 %216
|
||||
%241 = OpLoad %6 %212
|
||||
OpLine %3 7187 21
|
||||
%242 = OpFunctionCall %5 %67 %241
|
||||
%242 = OpFunctionCall %4 %67 %241
|
||||
OpLine %3 7187 13
|
||||
%243 = OpFMul %5 %240 %242
|
||||
%244 = OpFAdd %5 %239 %243
|
||||
%243 = OpFMul %4 %240 %242
|
||||
%244 = OpFAdd %4 %239 %243
|
||||
OpLine %3 7187 9
|
||||
OpStore %214 %244
|
||||
OpLine %3 7188 13
|
||||
@ -8061,9 +8061,9 @@ OpLine %3 7188 13
|
||||
OpLine %3 7188 9
|
||||
OpStore %212 %248
|
||||
OpLine %3 1 1
|
||||
%249 = OpLoad %5 %216
|
||||
%249 = OpLoad %4 %216
|
||||
OpLine %3 7189 13
|
||||
%250 = OpFMul %5 %249 %78
|
||||
%250 = OpFMul %4 %249 %78
|
||||
OpLine %3 7189 9
|
||||
OpStore %216 %250
|
||||
OpBranch %238
|
||||
@ -8079,25 +8079,25 @@ OpStore %217 %252
|
||||
OpBranch %229
|
||||
%230 = OpLabel
|
||||
OpLine %3 1 1
|
||||
%253 = OpLoad %5 %214
|
||||
%253 = OpLoad %4 %214
|
||||
OpReturnValue %253
|
||||
OpFunctionEnd
|
||||
%257 = OpFunction %4 None %258
|
||||
%257 = OpFunction %5 None %258
|
||||
%255 = OpFunctionParameter %6
|
||||
%256 = OpFunctionParameter %6
|
||||
%254 = OpLabel
|
||||
OpBranch %259
|
||||
%259 = OpLabel
|
||||
OpLine %3 7220 9
|
||||
%260 = OpCompositeExtract %5 %255 0
|
||||
%261 = OpCompositeExtract %5 %256 0
|
||||
%262 = OpCompositeExtract %5 %256 1
|
||||
%260 = OpCompositeExtract %4 %255 0
|
||||
%261 = OpCompositeExtract %4 %256 0
|
||||
%262 = OpCompositeExtract %4 %256 1
|
||||
OpLine %3 7221 49
|
||||
%263 = OpFunctionCall %5 %204 %255
|
||||
%263 = OpFunctionCall %4 %204 %255
|
||||
OpLine %3 7219 12
|
||||
%264 = OpExtInst %5 %1 FMix %261 %262 %263
|
||||
%265 = OpCompositeExtract %5 %255 1
|
||||
%266 = OpCompositeConstruct %4 %260 %264 %265
|
||||
%264 = OpExtInst %4 %1 FMix %261 %262 %263
|
||||
%265 = OpCompositeExtract %4 %255 1
|
||||
%266 = OpCompositeConstruct %5 %260 %264 %265
|
||||
OpReturnValue %266
|
||||
OpFunctionEnd
|
||||
%270 = OpFunction %14 None %271
|
||||
@ -8107,41 +8107,41 @@ OpFunctionEnd
|
||||
OpBranch %278
|
||||
%278 = OpLabel
|
||||
OpLine %3 7227 13
|
||||
%279 = OpFunctionCall %4 %257 %268 %269
|
||||
%279 = OpFunctionCall %5 %257 %268 %269
|
||||
OpLine %3 7229 29
|
||||
%280 = OpFAdd %6 %268 %273
|
||||
OpLine %3 7229 15
|
||||
%281 = OpFunctionCall %4 %257 %280 %269
|
||||
%281 = OpFunctionCall %5 %257 %280 %269
|
||||
OpLine %3 7229 15
|
||||
%282 = OpFSub %4 %281 %279
|
||||
%282 = OpFSub %5 %281 %279
|
||||
OpLine %3 7230 29
|
||||
%283 = OpFAdd %6 %268 %274
|
||||
OpLine %3 7230 15
|
||||
%284 = OpFunctionCall %4 %257 %283 %269
|
||||
%284 = OpFunctionCall %5 %257 %283 %269
|
||||
OpLine %3 7230 15
|
||||
%285 = OpFSub %4 %284 %279
|
||||
%285 = OpFSub %5 %284 %279
|
||||
OpLine %3 7231 29
|
||||
%286 = OpFAdd %6 %268 %276
|
||||
OpLine %3 7231 15
|
||||
%287 = OpFunctionCall %4 %257 %286 %269
|
||||
%287 = OpFunctionCall %5 %257 %286 %269
|
||||
OpLine %3 7231 15
|
||||
%288 = OpFSub %4 %287 %279
|
||||
%288 = OpFSub %5 %287 %279
|
||||
OpLine %3 7232 29
|
||||
%289 = OpFAdd %6 %268 %277
|
||||
OpLine %3 7232 15
|
||||
%290 = OpFunctionCall %4 %257 %289 %269
|
||||
%290 = OpFunctionCall %5 %257 %289 %269
|
||||
OpLine %3 7232 15
|
||||
%291 = OpFSub %4 %290 %279
|
||||
%291 = OpFSub %5 %290 %279
|
||||
OpLine %3 7234 14
|
||||
%292 = OpExtInst %4 %1 Cross %285 %282
|
||||
%293 = OpExtInst %4 %1 Normalize %292
|
||||
%292 = OpExtInst %5 %1 Cross %285 %282
|
||||
%293 = OpExtInst %5 %1 Normalize %292
|
||||
OpLine %3 7235 14
|
||||
%294 = OpExtInst %4 %1 Cross %291 %288
|
||||
%295 = OpExtInst %4 %1 Normalize %294
|
||||
%294 = OpExtInst %5 %1 Cross %291 %288
|
||||
%295 = OpExtInst %5 %1 Normalize %294
|
||||
OpLine %3 7237 14
|
||||
%296 = OpFAdd %4 %293 %295
|
||||
%296 = OpFAdd %5 %293 %295
|
||||
OpLine %3 7237 13
|
||||
%297 = OpVectorTimesScalar %4 %296 %78
|
||||
%297 = OpVectorTimesScalar %5 %296 %78
|
||||
OpLine %3 7239 12
|
||||
%298 = OpCompositeConstruct %14 %279 %297
|
||||
OpReturnValue %298
|
||||
@ -8154,50 +8154,50 @@ OpFunctionEnd
|
||||
OpBranch %305
|
||||
%305 = OpLabel
|
||||
OpLine %3 7244 9
|
||||
%306 = OpConvertUToF %5 %300
|
||||
%306 = OpConvertUToF %4 %300
|
||||
%307 = OpCompositeExtract %8 %301 0
|
||||
OpLine %3 7244 9
|
||||
%308 = OpIAdd %8 %307 %126
|
||||
%309 = OpConvertUToF %5 %308
|
||||
%310 = OpFRem %5 %306 %309
|
||||
%309 = OpConvertUToF %4 %308
|
||||
%310 = OpFRem %4 %306 %309
|
||||
%311 = OpCompositeExtract %8 %301 0
|
||||
OpLine %3 7243 12
|
||||
%312 = OpIAdd %8 %311 %126
|
||||
%313 = OpUDiv %8 %300 %312
|
||||
%314 = OpConvertUToF %5 %313
|
||||
%314 = OpConvertUToF %4 %313
|
||||
%315 = OpCompositeConstruct %6 %310 %314
|
||||
%316 = OpConvertSToF %6 %302
|
||||
%317 = OpFAdd %6 %315 %316
|
||||
OpReturnValue %317
|
||||
OpFunctionEnd
|
||||
%320 = OpFunction %4 None %321
|
||||
%320 = OpFunction %5 None %321
|
||||
%319 = OpFunctionParameter %6
|
||||
%318 = OpLabel
|
||||
OpBranch %328
|
||||
%328 = OpLabel
|
||||
OpLine %3 7413 9
|
||||
%329 = OpFunctionCall %5 %67 %319
|
||||
%329 = OpFunctionCall %4 %67 %319
|
||||
OpLine %3 7413 9
|
||||
%330 = OpFMul %5 %329 %78
|
||||
%330 = OpFMul %4 %329 %78
|
||||
OpLine %3 7413 9
|
||||
%331 = OpFAdd %5 %330 %78
|
||||
%331 = OpFAdd %4 %330 %78
|
||||
OpLine %3 7414 17
|
||||
%332 = OpFAdd %6 %319 %324
|
||||
OpLine %3 7414 9
|
||||
%333 = OpFunctionCall %5 %67 %332
|
||||
%333 = OpFunctionCall %4 %67 %332
|
||||
OpLine %3 7414 9
|
||||
%334 = OpFMul %5 %333 %78
|
||||
%334 = OpFMul %4 %333 %78
|
||||
OpLine %3 7414 9
|
||||
%335 = OpFAdd %5 %334 %78
|
||||
%335 = OpFAdd %4 %334 %78
|
||||
OpLine %3 7415 17
|
||||
%336 = OpFAdd %6 %319 %327
|
||||
OpLine %3 7415 9
|
||||
%337 = OpFunctionCall %5 %67 %336
|
||||
%337 = OpFunctionCall %4 %67 %336
|
||||
OpLine %3 7415 9
|
||||
%338 = OpFMul %5 %337 %78
|
||||
%338 = OpFMul %4 %337 %78
|
||||
OpLine %3 7412 12
|
||||
%339 = OpFAdd %5 %338 %78
|
||||
%340 = OpCompositeConstruct %4 %331 %335 %339
|
||||
%339 = OpFAdd %4 %338 %78
|
||||
%340 = OpCompositeConstruct %5 %331 %335 %339
|
||||
OpReturnValue %340
|
||||
OpFunctionEnd
|
||||
%345 = OpFunction %2 None %346
|
||||
@ -8310,14 +8310,14 @@ OpLine %3 7304 18
|
||||
%422 = OpUDiv %8 %421 %351
|
||||
OpLine %3 7304 13
|
||||
%423 = OpUMod %8 %422 %350
|
||||
%424 = OpConvertUToF %5 %423
|
||||
%424 = OpConvertUToF %4 %423
|
||||
OpLine %3 7305 19
|
||||
%425 = OpIAdd %8 %408 %126
|
||||
OpLine %3 7305 18
|
||||
%426 = OpUDiv %8 %425 %351
|
||||
OpLine %3 7305 13
|
||||
%427 = OpUMod %8 %426 %350
|
||||
%428 = OpConvertUToF %5 %427
|
||||
%428 = OpConvertUToF %4 %427
|
||||
OpLine %3 7306 14
|
||||
%429 = OpCompositeConstruct %6 %424 %428
|
||||
OpLine %3 7308 30
|
||||
@ -8327,19 +8327,19 @@ OpLine %3 7308 30
|
||||
OpLine %3 7308 20
|
||||
%432 = OpCompositeConstruct %7 %431 %74 %56
|
||||
OpLine %3 7311 21
|
||||
%433 = OpCompositeExtract %5 %429 0
|
||||
%433 = OpCompositeExtract %4 %429 0
|
||||
OpLine %3 7311 21
|
||||
%435 = OpAccessChain %434 %417 %351
|
||||
%436 = OpLoad %8 %435
|
||||
%437 = OpConvertUToF %5 %436
|
||||
%438 = OpFMul %5 %433 %437
|
||||
%439 = OpCompositeExtract %5 %429 1
|
||||
%437 = OpConvertUToF %4 %436
|
||||
%438 = OpFMul %4 %433 %437
|
||||
%439 = OpCompositeExtract %4 %429 1
|
||||
OpLine %3 7311 17
|
||||
%440 = OpAccessChain %434 %417 %351
|
||||
%441 = OpLoad %8 %440
|
||||
%442 = OpConvertUToF %5 %441
|
||||
%443 = OpFMul %5 %439 %442
|
||||
%444 = OpFAdd %5 %438 %443
|
||||
%442 = OpConvertUToF %4 %441
|
||||
%443 = OpFMul %4 %439 %442
|
||||
%444 = OpFAdd %4 %438 %443
|
||||
%445 = OpConvertFToU %8 %444
|
||||
OpLine %3 7311 17
|
||||
%446 = OpAccessChain %434 %417 %352
|
||||
@ -8368,14 +8368,14 @@ OpBranch %470
|
||||
%470 = OpLabel
|
||||
OpLine %3 7324 17
|
||||
%471 = OpCompositeExtract %6 %454 2
|
||||
%472 = OpCompositeExtract %5 %471 0
|
||||
%472 = OpCompositeExtract %4 %471 0
|
||||
OpLine %3 7324 17
|
||||
%473 = OpAccessChain %434 %466 %351
|
||||
%474 = OpLoad %8 %473
|
||||
%475 = OpConvertUToF %5 %474
|
||||
%476 = OpFMul %5 %472 %475
|
||||
%475 = OpConvertUToF %4 %474
|
||||
%476 = OpFMul %4 %472 %475
|
||||
%477 = OpCompositeExtract %6 %454 2
|
||||
%478 = OpCompositeExtract %5 %477 1
|
||||
%478 = OpCompositeExtract %4 %477 1
|
||||
OpLine %3 7324 70
|
||||
%479 = OpAccessChain %434 %466 %351
|
||||
%480 = OpLoad %8 %479
|
||||
@ -8383,19 +8383,19 @@ OpLine %3 7324 13
|
||||
%481 = OpAccessChain %434 %466 %351
|
||||
%482 = OpLoad %8 %481
|
||||
%483 = OpIMul %8 %480 %482
|
||||
%484 = OpConvertUToF %5 %483
|
||||
%485 = OpFMul %5 %478 %484
|
||||
%486 = OpFAdd %5 %476 %485
|
||||
%484 = OpConvertUToF %4 %483
|
||||
%485 = OpFMul %4 %478 %484
|
||||
%486 = OpFAdd %4 %476 %485
|
||||
%487 = OpConvertFToU %8 %486
|
||||
OpLine %3 7324 13
|
||||
%488 = OpAccessChain %434 %466 %352
|
||||
%489 = OpLoad %8 %488
|
||||
%490 = OpIAdd %8 %487 %489
|
||||
OpLine %3 7325 32
|
||||
%491 = OpConvertUToF %5 %490
|
||||
%491 = OpConvertUToF %4 %490
|
||||
OpLine %3 7325 22
|
||||
%492 = OpFDiv %5 %491 %467
|
||||
%493 = OpExtInst %5 %1 Floor %492
|
||||
%492 = OpFDiv %4 %491 %467
|
||||
%493 = OpExtInst %4 %1 Floor %492
|
||||
%494 = OpConvertFToU %8 %493
|
||||
OpLine %3 7326 22
|
||||
%495 = OpUMod %8 %490 %349
|
||||
@ -8417,43 +8417,43 @@ OpSelectionMerge %504 None
|
||||
OpSwitch %495 %511 0 %505 1 %506 2 %507 3 %508 4 %509 5 %510
|
||||
%505 = OpLabel
|
||||
OpLine %3 7334 37
|
||||
%512 = OpCompositeExtract %4 %503 0
|
||||
%513 = OpCompositeExtract %5 %512 0
|
||||
%512 = OpCompositeExtract %5 %503 0
|
||||
%513 = OpCompositeExtract %4 %512 0
|
||||
OpLine %3 7334 20
|
||||
OpStore %468 %513
|
||||
OpBranch %504
|
||||
%506 = OpLabel
|
||||
OpLine %3 7335 37
|
||||
%514 = OpCompositeExtract %4 %503 0
|
||||
%515 = OpCompositeExtract %5 %514 1
|
||||
%514 = OpCompositeExtract %5 %503 0
|
||||
%515 = OpCompositeExtract %4 %514 1
|
||||
OpLine %3 7335 20
|
||||
OpStore %468 %515
|
||||
OpBranch %504
|
||||
%507 = OpLabel
|
||||
OpLine %3 7336 37
|
||||
%516 = OpCompositeExtract %4 %503 0
|
||||
%517 = OpCompositeExtract %5 %516 2
|
||||
%516 = OpCompositeExtract %5 %503 0
|
||||
%517 = OpCompositeExtract %4 %516 2
|
||||
OpLine %3 7336 20
|
||||
OpStore %468 %517
|
||||
OpBranch %504
|
||||
%508 = OpLabel
|
||||
OpLine %3 7337 37
|
||||
%518 = OpCompositeExtract %4 %503 1
|
||||
%519 = OpCompositeExtract %5 %518 0
|
||||
%518 = OpCompositeExtract %5 %503 1
|
||||
%519 = OpCompositeExtract %4 %518 0
|
||||
OpLine %3 7337 20
|
||||
OpStore %468 %519
|
||||
OpBranch %504
|
||||
%509 = OpLabel
|
||||
OpLine %3 7338 37
|
||||
%520 = OpCompositeExtract %4 %503 1
|
||||
%521 = OpCompositeExtract %5 %520 1
|
||||
%520 = OpCompositeExtract %5 %503 1
|
||||
%521 = OpCompositeExtract %4 %520 1
|
||||
OpLine %3 7338 20
|
||||
OpStore %468 %521
|
||||
OpBranch %504
|
||||
%510 = OpLabel
|
||||
OpLine %3 7339 37
|
||||
%522 = OpCompositeExtract %4 %503 1
|
||||
%523 = OpCompositeExtract %5 %522 2
|
||||
%522 = OpCompositeExtract %5 %503 1
|
||||
%523 = OpCompositeExtract %4 %522 2
|
||||
OpLine %3 7339 20
|
||||
OpStore %468 %523
|
||||
OpBranch %504
|
||||
@ -8502,7 +8502,7 @@ OpLine %3 7356 13
|
||||
OpLine %3 7356 5
|
||||
OpStore %469 %540
|
||||
OpLine %3 7365 27
|
||||
%541 = OpLoad %5 %468
|
||||
%541 = OpLoad %4 %468
|
||||
%542 = OpBitcast %8 %541
|
||||
OpLine %3 7366 12
|
||||
%543 = OpLoad %8 %469
|
||||
@ -8515,8 +8515,8 @@ OpReturn
|
||||
OpFunctionEnd
|
||||
%558 = OpFunction %2 None %346
|
||||
%547 = OpLabel
|
||||
%551 = OpLoad %4 %549
|
||||
%553 = OpLoad %4 %552
|
||||
%551 = OpLoad %5 %549
|
||||
%553 = OpLoad %5 %552
|
||||
%548 = OpCompositeConstruct %14 %551 %553
|
||||
%560 = OpAccessChain %559 %39 %135
|
||||
OpBranch %561
|
||||
@ -8524,20 +8524,20 @@ OpBranch %561
|
||||
OpLine %3 7397 25
|
||||
%563 = OpAccessChain %562 %560 %126
|
||||
%564 = OpLoad %23 %563
|
||||
%565 = OpCompositeExtract %4 %548 0
|
||||
%565 = OpCompositeExtract %5 %548 0
|
||||
OpLine %3 7397 25
|
||||
%566 = OpCompositeConstruct %7 %565 %56
|
||||
%567 = OpMatrixTimesVector %7 %564 %566
|
||||
OpLine %3 7398 18
|
||||
%568 = OpCompositeExtract %4 %548 1
|
||||
%568 = OpCompositeExtract %5 %548 1
|
||||
OpLine %3 7399 12
|
||||
%569 = OpCompositeExtract %4 %548 0
|
||||
%569 = OpCompositeExtract %5 %548 0
|
||||
%570 = OpCompositeConstruct %26 %567 %568 %569
|
||||
%571 = OpCompositeExtract %7 %570 0
|
||||
OpStore %554 %571
|
||||
%572 = OpCompositeExtract %4 %570 1
|
||||
%572 = OpCompositeExtract %5 %570 1
|
||||
OpStore %555 %572
|
||||
%573 = OpCompositeExtract %4 %570 2
|
||||
%573 = OpCompositeExtract %5 %570 2
|
||||
OpStore %557 %573
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
@ -8545,8 +8545,8 @@ OpFunctionEnd
|
||||
%574 = OpLabel
|
||||
%592 = OpVariable %95 Function %593
|
||||
%577 = OpLoad %7 %576
|
||||
%579 = OpLoad %4 %578
|
||||
%581 = OpLoad %4 %580
|
||||
%579 = OpLoad %5 %578
|
||||
%581 = OpLoad %5 %580
|
||||
%575 = OpCompositeConstruct %26 %577 %579 %581
|
||||
%584 = OpAccessChain %559 %39 %135
|
||||
%586 = OpAccessChain %585 %42 %135
|
||||
@ -8554,70 +8554,70 @@ OpBranch %594
|
||||
%594 = OpLabel
|
||||
OpLine %3 7421 28
|
||||
OpLine %3 7421 17
|
||||
%595 = OpCompositeExtract %4 %575 2
|
||||
%596 = OpExtInst %4 %1 Fract %595
|
||||
%597 = OpExtInst %4 %1 SmoothStep %80 %587 %596
|
||||
%595 = OpCompositeExtract %5 %575 2
|
||||
%596 = OpExtInst %5 %1 Fract %595
|
||||
%597 = OpExtInst %5 %1 SmoothStep %80 %587 %596
|
||||
OpLine %3 7421 5
|
||||
OpStore %592 %597
|
||||
OpLine %3 7422 17
|
||||
OpLine %3 7422 13
|
||||
%598 = OpAccessChain %125 %592 %135
|
||||
%599 = OpLoad %5 %598
|
||||
%599 = OpLoad %4 %598
|
||||
%600 = OpAccessChain %125 %592 %126
|
||||
%601 = OpLoad %5 %600
|
||||
%602 = OpFMul %5 %599 %601
|
||||
%601 = OpLoad %4 %600
|
||||
%602 = OpFMul %4 %599 %601
|
||||
%603 = OpAccessChain %125 %592 %350
|
||||
%604 = OpLoad %5 %603
|
||||
%605 = OpFMul %5 %602 %604
|
||||
%606 = OpCompositeConstruct %4 %605 %605 %605
|
||||
%607 = OpExtInst %4 %1 FMix %589 %591 %606
|
||||
%604 = OpLoad %4 %603
|
||||
%605 = OpFMul %4 %602 %604
|
||||
%606 = OpCompositeConstruct %5 %605 %605 %605
|
||||
%607 = OpExtInst %5 %1 FMix %589 %591 %606
|
||||
OpLine %3 7422 5
|
||||
OpStore %592 %607
|
||||
OpLine %3 7425 25
|
||||
%609 = OpAccessChain %608 %586 %126
|
||||
%610 = OpLoad %4 %609
|
||||
%611 = OpVectorTimesScalar %4 %610 %272
|
||||
%610 = OpLoad %5 %609
|
||||
%611 = OpVectorTimesScalar %5 %610 %272
|
||||
OpLine %3 7427 21
|
||||
%612 = OpAccessChain %608 %586 %135
|
||||
%613 = OpLoad %4 %612
|
||||
%614 = OpCompositeExtract %4 %575 2
|
||||
%615 = OpFSub %4 %613 %614
|
||||
%616 = OpExtInst %4 %1 Normalize %615
|
||||
%613 = OpLoad %5 %612
|
||||
%614 = OpCompositeExtract %5 %575 2
|
||||
%615 = OpFSub %5 %613 %614
|
||||
%616 = OpExtInst %5 %1 Normalize %615
|
||||
OpLine %3 7428 20
|
||||
%618 = OpAccessChain %617 %584 %135
|
||||
%619 = OpLoad %7 %618
|
||||
%620 = OpVectorShuffle %4 %619 %619 0 1 2
|
||||
%621 = OpCompositeExtract %4 %575 2
|
||||
%622 = OpFSub %4 %620 %621
|
||||
%623 = OpExtInst %4 %1 Normalize %622
|
||||
%620 = OpVectorShuffle %5 %619 %619 0 1 2
|
||||
%621 = OpCompositeExtract %5 %575 2
|
||||
%622 = OpFSub %5 %620 %621
|
||||
%623 = OpExtInst %5 %1 Normalize %622
|
||||
OpLine %3 7429 20
|
||||
%624 = OpFAdd %4 %623 %616
|
||||
%625 = OpExtInst %4 %1 Normalize %624
|
||||
%624 = OpFAdd %5 %623 %616
|
||||
%625 = OpExtInst %5 %1 Normalize %624
|
||||
OpLine %3 7431 32
|
||||
%626 = OpCompositeExtract %4 %575 1
|
||||
%627 = OpDot %5 %626 %616
|
||||
%626 = OpCompositeExtract %5 %575 1
|
||||
%627 = OpDot %4 %626 %616
|
||||
OpLine %3 7431 28
|
||||
%628 = OpExtInst %5 %1 FMax %627 %74
|
||||
%628 = OpExtInst %4 %1 FMax %627 %74
|
||||
OpLine %3 7432 25
|
||||
%629 = OpAccessChain %608 %586 %126
|
||||
%630 = OpLoad %4 %629
|
||||
%631 = OpVectorTimesScalar %4 %630 %628
|
||||
%630 = OpLoad %5 %629
|
||||
%631 = OpVectorTimesScalar %5 %630 %628
|
||||
OpLine %3 7434 37
|
||||
%632 = OpCompositeExtract %4 %575 1
|
||||
%633 = OpDot %5 %632 %625
|
||||
%632 = OpCompositeExtract %5 %575 1
|
||||
%633 = OpDot %4 %632 %625
|
||||
OpLine %3 7434 33
|
||||
%634 = OpExtInst %5 %1 FMax %633 %74
|
||||
%634 = OpExtInst %4 %1 FMax %633 %74
|
||||
OpLine %3 7434 29
|
||||
%635 = OpExtInst %5 %1 Pow %634 %323
|
||||
%635 = OpExtInst %4 %1 Pow %634 %323
|
||||
OpLine %3 7435 26
|
||||
%636 = OpAccessChain %608 %586 %126
|
||||
%637 = OpLoad %4 %636
|
||||
%638 = OpVectorTimesScalar %4 %637 %635
|
||||
%637 = OpLoad %5 %636
|
||||
%638 = OpVectorTimesScalar %5 %637 %635
|
||||
OpLine %3 7437 18
|
||||
%639 = OpFAdd %4 %611 %631
|
||||
%640 = OpFAdd %4 %639 %638
|
||||
%641 = OpLoad %4 %592
|
||||
%642 = OpFMul %4 %640 %641
|
||||
%639 = OpFAdd %5 %611 %631
|
||||
%640 = OpFAdd %5 %639 %638
|
||||
%641 = OpLoad %5 %592
|
||||
%642 = OpFMul %5 %640 %641
|
||||
OpLine %3 7439 12
|
||||
%643 = OpCompositeConstruct %7 %642 %56
|
||||
OpStore %582 %643
|
||||
|
@ -72,24 +72,24 @@ OpDecorate %43 BuiltIn FragCoord
|
||||
OpDecorate %46 Location 0
|
||||
OpDecorate %48 Location 0
|
||||
%2 = OpTypeVoid
|
||||
%5 = OpTypeFloat 32
|
||||
%4 = OpTypeVector %5 3
|
||||
%6 = OpTypeStruct %4 %4
|
||||
%7 = OpTypeVector %5 4
|
||||
%8 = OpTypeStruct %7 %4
|
||||
%4 = OpTypeFloat 32
|
||||
%5 = OpTypeVector %4 3
|
||||
%6 = OpTypeStruct %5 %5
|
||||
%7 = OpTypeVector %4 4
|
||||
%8 = OpTypeStruct %7 %5
|
||||
%9 = OpTypeInt 32 1
|
||||
%13 = OpTypePointer Input %4
|
||||
%13 = OpTypePointer Input %5
|
||||
%12 = OpVariable %13 Input
|
||||
%15 = OpVariable %13 Input
|
||||
%18 = OpTypePointer Output %7
|
||||
%17 = OpVariable %18 Output
|
||||
%20 = OpTypePointer Output %4
|
||||
%20 = OpTypePointer Output %5
|
||||
%19 = OpVariable %20 Output
|
||||
%22 = OpTypeFunction %2
|
||||
%23 = OpConstant %5 1.0
|
||||
%23 = OpConstant %4 1.0
|
||||
%25 = OpTypePointer Function %8
|
||||
%26 = OpConstantNull %8
|
||||
%28 = OpTypePointer Function %4
|
||||
%28 = OpTypePointer Function %5
|
||||
%31 = OpTypeInt 32 0
|
||||
%30 = OpConstant %31 1
|
||||
%33 = OpTypePointer Function %7
|
||||
@ -100,30 +100,30 @@ OpDecorate %48 Location 0
|
||||
%48 = OpVariable %18 Output
|
||||
%50 = OpConstant %9 0
|
||||
%51 = OpConstant %9 10
|
||||
%52 = OpConstant %5 0.001
|
||||
%53 = OpConstant %5 0.002
|
||||
%52 = OpConstant %4 0.001
|
||||
%53 = OpConstant %4 0.002
|
||||
%54 = OpConstant %9 1
|
||||
%56 = OpConstantNull %4
|
||||
%56 = OpConstantNull %5
|
||||
%58 = OpTypePointer Function %9
|
||||
%60 = OpTypePointer Function %5
|
||||
%61 = OpConstantNull %5
|
||||
%60 = OpTypePointer Function %4
|
||||
%61 = OpConstantNull %4
|
||||
%69 = OpTypeBool
|
||||
%77 = OpTypePointer Function %5
|
||||
%77 = OpTypePointer Function %4
|
||||
%21 = OpFunction %2 None %22
|
||||
%10 = OpLabel
|
||||
%24 = OpVariable %25 Function %26
|
||||
%14 = OpLoad %4 %12
|
||||
%16 = OpLoad %4 %15
|
||||
%14 = OpLoad %5 %12
|
||||
%16 = OpLoad %5 %15
|
||||
%11 = OpCompositeConstruct %6 %14 %16
|
||||
OpBranch %27
|
||||
%27 = OpLabel
|
||||
OpLine %3 16 5
|
||||
%29 = OpCompositeExtract %4 %11 1
|
||||
%29 = OpCompositeExtract %5 %11 1
|
||||
OpLine %3 16 5
|
||||
%32 = OpAccessChain %28 %24 %30
|
||||
OpStore %32 %29
|
||||
OpLine %3 17 5
|
||||
%34 = OpCompositeExtract %4 %11 0
|
||||
%34 = OpCompositeExtract %5 %11 0
|
||||
OpLine %3 17 25
|
||||
%35 = OpCompositeConstruct %7 %34 %23
|
||||
OpLine %3 17 5
|
||||
@ -133,7 +133,7 @@ OpLine %3 1 1
|
||||
%38 = OpLoad %8 %24
|
||||
%39 = OpCompositeExtract %7 %38 0
|
||||
OpStore %17 %39
|
||||
%40 = OpCompositeExtract %4 %38 1
|
||||
%40 = OpCompositeExtract %5 %38 1
|
||||
OpStore %19 %40
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
@ -143,12 +143,12 @@ OpFunctionEnd
|
||||
%57 = OpVariable %58 Function %50
|
||||
%59 = OpVariable %60 Function %61
|
||||
%45 = OpLoad %7 %43
|
||||
%47 = OpLoad %4 %46
|
||||
%47 = OpLoad %5 %46
|
||||
%42 = OpCompositeConstruct %8 %45 %47
|
||||
OpBranch %62
|
||||
%62 = OpLabel
|
||||
OpLine %3 25 17
|
||||
%63 = OpCompositeExtract %4 %42 1
|
||||
%63 = OpCompositeExtract %5 %42 1
|
||||
OpLine %3 25 5
|
||||
OpStore %55 %63
|
||||
OpBranch %64
|
||||
@ -171,26 +171,26 @@ OpBranch %73
|
||||
%73 = OpLabel
|
||||
OpLine %3 27 18
|
||||
%75 = OpLoad %9 %57
|
||||
%76 = OpConvertSToF %5 %75
|
||||
%76 = OpConvertSToF %4 %75
|
||||
OpLine %3 27 9
|
||||
OpStore %59 %76
|
||||
OpLine %3 28 9
|
||||
%78 = OpLoad %5 %59
|
||||
%78 = OpLoad %4 %59
|
||||
OpLine %3 28 9
|
||||
%79 = OpFMul %5 %78 %52
|
||||
%79 = OpFMul %4 %78 %52
|
||||
%80 = OpAccessChain %77 %55 %36
|
||||
%81 = OpLoad %5 %80
|
||||
%82 = OpFAdd %5 %81 %79
|
||||
%81 = OpLoad %4 %80
|
||||
%82 = OpFAdd %4 %81 %79
|
||||
OpLine %3 28 9
|
||||
%83 = OpAccessChain %77 %55 %36
|
||||
OpStore %83 %82
|
||||
OpLine %3 29 9
|
||||
%84 = OpLoad %5 %59
|
||||
%84 = OpLoad %4 %59
|
||||
OpLine %3 29 9
|
||||
%85 = OpFMul %5 %84 %53
|
||||
%85 = OpFMul %4 %84 %53
|
||||
%86 = OpAccessChain %77 %55 %30
|
||||
%87 = OpLoad %5 %86
|
||||
%88 = OpFAdd %5 %87 %85
|
||||
%87 = OpLoad %4 %86
|
||||
%88 = OpFAdd %4 %87 %85
|
||||
OpLine %3 29 9
|
||||
%89 = OpAccessChain %77 %55 %30
|
||||
OpStore %89 %88
|
||||
@ -206,7 +206,7 @@ OpStore %57 %91
|
||||
OpBranch %64
|
||||
%65 = OpLabel
|
||||
OpLine %3 1 1
|
||||
%92 = OpLoad %4 %55
|
||||
%92 = OpLoad %5 %55
|
||||
OpLine %3 32 12
|
||||
%93 = OpCompositeConstruct %7 %92 %23
|
||||
OpStore %48 %93
|
||||
|
@ -488,17 +488,17 @@ OpDecorate %578 Location 0
|
||||
OpDecorate %580 Location 1
|
||||
OpDecorate %582 Location 0
|
||||
%2 = OpTypeVoid
|
||||
%5 = OpTypeFloat 32
|
||||
%4 = OpTypeVector %5 3
|
||||
%6 = OpTypeVector %5 2
|
||||
%7 = OpTypeVector %5 4
|
||||
%4 = OpTypeFloat 32
|
||||
%5 = OpTypeVector %4 3
|
||||
%6 = OpTypeVector %4 2
|
||||
%7 = OpTypeVector %4 4
|
||||
%8 = OpTypeInt 32 0
|
||||
%9 = OpTypeMatrix %6 2
|
||||
%10 = OpTypeVector %8 2
|
||||
%12 = OpTypeInt 32 1
|
||||
%11 = OpTypeVector %12 2
|
||||
%13 = OpTypeStruct %10 %11 %6
|
||||
%14 = OpTypeStruct %4 %4
|
||||
%14 = OpTypeStruct %5 %5
|
||||
%15 = OpTypeRuntimeArray %14
|
||||
%16 = OpTypeStruct %15
|
||||
%17 = OpTypeRuntimeArray %8
|
||||
@ -509,9 +509,9 @@ OpDecorate %582 Location 0
|
||||
%22 = OpTypeStruct %8 %8
|
||||
%23 = OpTypeMatrix %7 4
|
||||
%24 = OpTypeStruct %7 %23
|
||||
%25 = OpTypeStruct %4 %4
|
||||
%26 = OpTypeStruct %7 %4 %4
|
||||
%27 = OpTypeImage %5 2D 0 0 0 1 Unknown
|
||||
%25 = OpTypeStruct %5 %5
|
||||
%26 = OpTypeStruct %7 %5 %5
|
||||
%27 = OpTypeImage %4 2D 0 0 0 1 Unknown
|
||||
%28 = OpTypeSampler
|
||||
%30 = OpTypeStruct %13
|
||||
%31 = OpTypePointer Uniform %30
|
||||
@ -535,67 +535,67 @@ OpDecorate %582 Location 0
|
||||
%47 = OpVariable %48 UniformConstant
|
||||
%49 = OpVariable %46 UniformConstant
|
||||
%50 = OpVariable %48 UniformConstant
|
||||
%54 = OpTypeFunction %4 %4
|
||||
%55 = OpConstant %5 34.0
|
||||
%56 = OpConstant %5 1.0
|
||||
%57 = OpConstantComposite %4 %56 %56 %56
|
||||
%58 = OpConstant %5 289.0
|
||||
%59 = OpConstantComposite %4 %58 %58 %58
|
||||
%68 = OpTypeFunction %5 %6
|
||||
%69 = OpConstant %5 0.21132487
|
||||
%70 = OpConstant %5 0.36602542
|
||||
%71 = OpConstant %5 -0.57735026
|
||||
%72 = OpConstant %5 0.024390243
|
||||
%54 = OpTypeFunction %5 %5
|
||||
%55 = OpConstant %4 34.0
|
||||
%56 = OpConstant %4 1.0
|
||||
%57 = OpConstantComposite %5 %56 %56 %56
|
||||
%58 = OpConstant %4 289.0
|
||||
%59 = OpConstantComposite %5 %58 %58 %58
|
||||
%68 = OpTypeFunction %4 %6
|
||||
%69 = OpConstant %4 0.21132487
|
||||
%70 = OpConstant %4 0.36602542
|
||||
%71 = OpConstant %4 -0.57735026
|
||||
%72 = OpConstant %4 0.024390243
|
||||
%73 = OpConstantComposite %7 %69 %70 %71 %72
|
||||
%74 = OpConstant %5 0.0
|
||||
%74 = OpConstant %4 0.0
|
||||
%75 = OpConstantComposite %6 %56 %74
|
||||
%76 = OpConstantComposite %6 %74 %56
|
||||
%77 = OpConstantComposite %6 %58 %58
|
||||
%78 = OpConstant %5 0.5
|
||||
%79 = OpConstantComposite %4 %78 %78 %78
|
||||
%80 = OpConstantComposite %4 %74 %74 %74
|
||||
%81 = OpConstant %5 2.0
|
||||
%82 = OpConstant %5 0.85373473
|
||||
%83 = OpConstant %5 1.7928429
|
||||
%84 = OpConstantComposite %4 %83 %83 %83
|
||||
%85 = OpConstant %5 130.0
|
||||
%78 = OpConstant %4 0.5
|
||||
%79 = OpConstantComposite %5 %78 %78 %78
|
||||
%80 = OpConstantComposite %5 %74 %74 %74
|
||||
%81 = OpConstant %4 2.0
|
||||
%82 = OpConstant %4 0.85373473
|
||||
%83 = OpConstant %4 1.7928429
|
||||
%84 = OpConstantComposite %5 %83 %83 %83
|
||||
%85 = OpConstant %4 130.0
|
||||
%87 = OpTypePointer Function %6
|
||||
%88 = OpConstantNull %6
|
||||
%90 = OpConstantNull %6
|
||||
%92 = OpTypePointer Function %7
|
||||
%93 = OpConstantNull %7
|
||||
%95 = OpTypePointer Function %4
|
||||
%96 = OpConstantNull %4
|
||||
%95 = OpTypePointer Function %5
|
||||
%96 = OpConstantNull %5
|
||||
%112 = OpTypeBool
|
||||
%115 = OpTypeVector %112 2
|
||||
%125 = OpTypePointer Function %5
|
||||
%125 = OpTypePointer Function %4
|
||||
%126 = OpConstant %8 1
|
||||
%135 = OpConstant %8 0
|
||||
%205 = OpConstant %8 5
|
||||
%206 = OpConstant %5 0.01
|
||||
%207 = OpConstant %5 100.0
|
||||
%206 = OpConstant %4 0.01
|
||||
%207 = OpConstant %4 100.0
|
||||
%208 = OpConstantComposite %6 %207 %207
|
||||
%209 = OpConstant %5 0.87758255
|
||||
%210 = OpConstant %5 0.47942555
|
||||
%209 = OpConstant %4 0.87758255
|
||||
%210 = OpConstant %4 0.47942555
|
||||
%211 = OpConstantComposite %6 %209 %210
|
||||
%213 = OpConstantNull %6
|
||||
%215 = OpTypePointer Function %5
|
||||
%215 = OpTypePointer Function %4
|
||||
%218 = OpTypePointer Function %8
|
||||
%258 = OpTypeFunction %4 %6 %6
|
||||
%258 = OpTypeFunction %5 %6 %6
|
||||
%271 = OpTypeFunction %14 %6 %6
|
||||
%272 = OpConstant %5 0.1
|
||||
%272 = OpConstant %4 0.1
|
||||
%273 = OpConstantComposite %6 %272 %74
|
||||
%274 = OpConstantComposite %6 %74 %272
|
||||
%275 = OpConstant %5 -0.1
|
||||
%275 = OpConstant %4 -0.1
|
||||
%276 = OpConstantComposite %6 %275 %74
|
||||
%277 = OpConstantComposite %6 %74 %275
|
||||
%304 = OpTypeFunction %6 %8 %10 %11
|
||||
%321 = OpTypeFunction %4 %6
|
||||
%322 = OpConstant %5 23.0
|
||||
%323 = OpConstant %5 32.0
|
||||
%321 = OpTypeFunction %5 %6
|
||||
%322 = OpConstant %4 23.0
|
||||
%323 = OpConstant %4 32.0
|
||||
%324 = OpConstantComposite %6 %322 %323
|
||||
%325 = OpConstant %5 -43.0
|
||||
%326 = OpConstant %5 3.0
|
||||
%325 = OpConstant %4 -43.0
|
||||
%326 = OpConstant %4 3.0
|
||||
%327 = OpConstantComposite %6 %325 %326
|
||||
%343 = OpTypePointer Input %19
|
||||
%342 = OpVariable %343 Input
|
||||
@ -622,7 +622,7 @@ OpDecorate %582 Location 0
|
||||
%414 = OpTypePointer Output %6
|
||||
%413 = OpVariable %414 Output
|
||||
%416 = OpTypePointer Uniform %20
|
||||
%418 = OpConstant %5 -1.0
|
||||
%418 = OpConstant %4 -1.0
|
||||
%419 = OpConstantComposite %6 %418 %418
|
||||
%434 = OpTypePointer Uniform %8
|
||||
%455 = OpVariable %407 Input
|
||||
@ -632,12 +632,12 @@ OpDecorate %582 Location 0
|
||||
%460 = OpVariable %461 Input
|
||||
%463 = OpVariable %410 Output
|
||||
%464 = OpVariable %410 Output
|
||||
%467 = OpConstant %5 6.0
|
||||
%550 = OpTypePointer Input %4
|
||||
%467 = OpConstant %4 6.0
|
||||
%550 = OpTypePointer Input %5
|
||||
%549 = OpVariable %550 Input
|
||||
%552 = OpVariable %550 Input
|
||||
%554 = OpVariable %412 Output
|
||||
%556 = OpTypePointer Output %4
|
||||
%556 = OpTypePointer Output %5
|
||||
%555 = OpVariable %556 Output
|
||||
%557 = OpVariable %556 Output
|
||||
%559 = OpTypePointer Uniform %24
|
||||
@ -647,30 +647,30 @@ OpDecorate %582 Location 0
|
||||
%580 = OpVariable %550 Input
|
||||
%582 = OpVariable %412 Output
|
||||
%585 = OpTypePointer Uniform %25
|
||||
%587 = OpConstantComposite %4 %272 %272 %272
|
||||
%588 = OpConstant %5 0.7
|
||||
%589 = OpConstantComposite %4 %78 %272 %588
|
||||
%590 = OpConstant %5 0.2
|
||||
%591 = OpConstantComposite %4 %590 %590 %590
|
||||
%593 = OpConstantNull %4
|
||||
%608 = OpTypePointer Uniform %4
|
||||
%587 = OpConstantComposite %5 %272 %272 %272
|
||||
%588 = OpConstant %4 0.7
|
||||
%589 = OpConstantComposite %5 %78 %272 %588
|
||||
%590 = OpConstant %4 0.2
|
||||
%591 = OpConstantComposite %5 %590 %590 %590
|
||||
%593 = OpConstantNull %5
|
||||
%608 = OpTypePointer Uniform %5
|
||||
%617 = OpTypePointer Uniform %7
|
||||
%53 = OpFunction %4 None %54
|
||||
%52 = OpFunctionParameter %4
|
||||
%53 = OpFunction %5 None %54
|
||||
%52 = OpFunctionParameter %5
|
||||
%51 = OpLabel
|
||||
OpBranch %60
|
||||
%60 = OpLabel
|
||||
OpLine %3 10 52
|
||||
%61 = OpVectorTimesScalar %4 %52 %55
|
||||
%61 = OpVectorTimesScalar %5 %52 %55
|
||||
OpLine %3 10 63
|
||||
OpLine %3 10 50
|
||||
%62 = OpFAdd %4 %61 %57
|
||||
%63 = OpFMul %4 %62 %52
|
||||
%62 = OpFAdd %5 %61 %57
|
||||
%63 = OpFMul %5 %62 %52
|
||||
OpLine %3 10 49
|
||||
%64 = OpFRem %4 %63 %59
|
||||
%64 = OpFRem %5 %63 %59
|
||||
OpReturnValue %64
|
||||
OpFunctionEnd
|
||||
%67 = OpFunction %5 None %68
|
||||
%67 = OpFunction %4 None %68
|
||||
%66 = OpFunctionParameter %6
|
||||
%65 = OpLabel
|
||||
%89 = OpVariable %87 Function %90
|
||||
@ -682,7 +682,7 @@ OpBranch %97
|
||||
OpLine %3 13 13
|
||||
OpLine %3 14 24
|
||||
%98 = OpVectorShuffle %6 %73 %73 1 1
|
||||
%99 = OpDot %5 %66 %98
|
||||
%99 = OpDot %4 %66 %98
|
||||
%100 = OpCompositeConstruct %6 %99 %99
|
||||
%101 = OpFAdd %6 %66 %100
|
||||
%102 = OpExtInst %6 %1 Floor %101
|
||||
@ -693,13 +693,13 @@ OpLine %3 15 14
|
||||
%104 = OpFSub %6 %66 %103
|
||||
%105 = OpLoad %6 %86
|
||||
%106 = OpVectorShuffle %6 %73 %73 0 0
|
||||
%107 = OpDot %5 %105 %106
|
||||
%107 = OpDot %4 %105 %106
|
||||
%108 = OpCompositeConstruct %6 %107 %107
|
||||
%109 = OpFAdd %6 %104 %108
|
||||
OpLine %3 17 32
|
||||
OpLine %3 17 25
|
||||
%110 = OpCompositeExtract %5 %109 0
|
||||
%111 = OpCompositeExtract %5 %109 1
|
||||
%110 = OpCompositeExtract %4 %109 0
|
||||
%111 = OpCompositeExtract %4 %109 1
|
||||
%113 = OpFOrdLessThan %112 %110 %111
|
||||
%116 = OpCompositeConstruct %115 %113 %113
|
||||
%114 = OpSelect %6 %116 %76 %75
|
||||
@ -723,101 +723,101 @@ OpLine %3 19 5
|
||||
OpStore %86 %124
|
||||
OpLine %3 20 31
|
||||
%127 = OpAccessChain %125 %86 %126
|
||||
%128 = OpLoad %5 %127
|
||||
%128 = OpLoad %4 %127
|
||||
OpLine %3 20 51
|
||||
%129 = OpAccessChain %125 %89 %126
|
||||
%130 = OpLoad %5 %129
|
||||
%130 = OpLoad %4 %129
|
||||
OpLine %3 20 31
|
||||
%131 = OpCompositeConstruct %4 %74 %130 %56
|
||||
%132 = OpCompositeConstruct %4 %128 %128 %128
|
||||
%133 = OpFAdd %4 %132 %131
|
||||
%131 = OpCompositeConstruct %5 %74 %130 %56
|
||||
%132 = OpCompositeConstruct %5 %128 %128 %128
|
||||
%133 = OpFAdd %5 %132 %131
|
||||
OpLine %3 20 22
|
||||
%134 = OpFunctionCall %4 %53 %133
|
||||
%134 = OpFunctionCall %5 %53 %133
|
||||
OpLine %3 20 22
|
||||
%136 = OpAccessChain %125 %86 %135
|
||||
%137 = OpLoad %5 %136
|
||||
%138 = OpCompositeConstruct %4 %137 %137 %137
|
||||
%139 = OpFAdd %4 %134 %138
|
||||
%137 = OpLoad %4 %136
|
||||
%138 = OpCompositeConstruct %5 %137 %137 %137
|
||||
%139 = OpFAdd %5 %134 %138
|
||||
OpLine %3 20 84
|
||||
%140 = OpAccessChain %125 %89 %135
|
||||
%141 = OpLoad %5 %140
|
||||
%141 = OpLoad %4 %140
|
||||
OpLine %3 20 22
|
||||
%142 = OpCompositeConstruct %4 %74 %141 %56
|
||||
%143 = OpFAdd %4 %139 %142
|
||||
%142 = OpCompositeConstruct %5 %74 %141 %56
|
||||
%143 = OpFAdd %5 %139 %142
|
||||
OpLine %3 20 13
|
||||
%144 = OpFunctionCall %4 %53 %143
|
||||
%144 = OpFunctionCall %5 %53 %143
|
||||
OpLine %3 21 28
|
||||
%145 = OpDot %5 %109 %109
|
||||
%145 = OpDot %4 %109 %109
|
||||
%146 = OpLoad %7 %91
|
||||
%147 = OpVectorShuffle %6 %146 %146 0 1
|
||||
%148 = OpLoad %7 %91
|
||||
%149 = OpVectorShuffle %6 %148 %148 0 1
|
||||
%150 = OpDot %5 %147 %149
|
||||
%150 = OpDot %4 %147 %149
|
||||
%151 = OpLoad %7 %91
|
||||
%152 = OpVectorShuffle %6 %151 %151 2 3
|
||||
%153 = OpLoad %7 %91
|
||||
%154 = OpVectorShuffle %6 %153 %153 2 3
|
||||
%155 = OpDot %5 %152 %154
|
||||
%156 = OpCompositeConstruct %4 %145 %150 %155
|
||||
%155 = OpDot %4 %152 %154
|
||||
%156 = OpCompositeConstruct %5 %145 %150 %155
|
||||
OpLine %3 21 28
|
||||
%157 = OpFSub %4 %79 %156
|
||||
%157 = OpFSub %5 %79 %156
|
||||
OpLine %3 21 24
|
||||
%158 = OpExtInst %4 %1 FMax %157 %80
|
||||
%158 = OpExtInst %5 %1 FMax %157 %80
|
||||
OpLine %3 21 5
|
||||
OpStore %94 %158
|
||||
OpLine %3 22 9
|
||||
%159 = OpLoad %4 %94
|
||||
%160 = OpLoad %4 %94
|
||||
%161 = OpFMul %4 %159 %160
|
||||
%159 = OpLoad %5 %94
|
||||
%160 = OpLoad %5 %94
|
||||
%161 = OpFMul %5 %159 %160
|
||||
OpLine %3 22 5
|
||||
OpStore %94 %161
|
||||
OpLine %3 23 9
|
||||
%162 = OpLoad %4 %94
|
||||
%163 = OpLoad %4 %94
|
||||
%164 = OpFMul %4 %162 %163
|
||||
%162 = OpLoad %5 %94
|
||||
%163 = OpLoad %5 %94
|
||||
%164 = OpFMul %5 %162 %163
|
||||
OpLine %3 23 5
|
||||
OpStore %94 %164
|
||||
OpLine %3 24 18
|
||||
%165 = OpVectorShuffle %4 %73 %73 3 3 3
|
||||
%166 = OpFMul %4 %144 %165
|
||||
%167 = OpExtInst %4 %1 Fract %166
|
||||
%165 = OpVectorShuffle %5 %73 %73 3 3 3
|
||||
%166 = OpFMul %5 %144 %165
|
||||
%167 = OpExtInst %5 %1 Fract %166
|
||||
OpLine %3 24 13
|
||||
%168 = OpVectorTimesScalar %4 %167 %81
|
||||
%168 = OpVectorTimesScalar %5 %167 %81
|
||||
OpLine %3 24 37
|
||||
OpLine %3 24 13
|
||||
%169 = OpFSub %4 %168 %57
|
||||
%169 = OpFSub %5 %168 %57
|
||||
OpLine %3 25 13
|
||||
%170 = OpExtInst %4 %1 FAbs %169
|
||||
%170 = OpExtInst %5 %1 FAbs %169
|
||||
OpLine %3 25 22
|
||||
OpLine %3 25 13
|
||||
%171 = OpFSub %4 %170 %79
|
||||
%171 = OpFSub %5 %170 %79
|
||||
OpLine %3 26 24
|
||||
OpLine %3 26 14
|
||||
%172 = OpFAdd %4 %169 %79
|
||||
%173 = OpExtInst %4 %1 Floor %172
|
||||
%172 = OpFAdd %5 %169 %79
|
||||
%173 = OpExtInst %5 %1 Floor %172
|
||||
OpLine %3 27 14
|
||||
%174 = OpFSub %4 %169 %173
|
||||
%174 = OpFSub %5 %169 %173
|
||||
OpLine %3 1 1
|
||||
%175 = OpLoad %4 %94
|
||||
%175 = OpLoad %5 %94
|
||||
OpLine %3 28 53
|
||||
%176 = OpFMul %4 %174 %174
|
||||
%177 = OpFMul %4 %171 %171
|
||||
%178 = OpFAdd %4 %176 %177
|
||||
%176 = OpFMul %5 %174 %174
|
||||
%177 = OpFMul %5 %171 %171
|
||||
%178 = OpFAdd %5 %176 %177
|
||||
OpLine %3 28 14
|
||||
%179 = OpVectorTimesScalar %4 %178 %82
|
||||
%179 = OpVectorTimesScalar %5 %178 %82
|
||||
OpLine %3 28 9
|
||||
%180 = OpFSub %4 %84 %179
|
||||
%181 = OpFMul %4 %175 %180
|
||||
%180 = OpFSub %5 %84 %179
|
||||
%181 = OpFMul %5 %175 %180
|
||||
OpLine %3 28 5
|
||||
OpStore %94 %181
|
||||
OpLine %3 29 13
|
||||
%182 = OpCompositeExtract %5 %174 0
|
||||
%183 = OpCompositeExtract %5 %109 0
|
||||
%184 = OpFMul %5 %182 %183
|
||||
%185 = OpCompositeExtract %5 %171 0
|
||||
%186 = OpCompositeExtract %5 %109 1
|
||||
%187 = OpFMul %5 %185 %186
|
||||
%188 = OpFAdd %5 %184 %187
|
||||
%182 = OpCompositeExtract %4 %174 0
|
||||
%183 = OpCompositeExtract %4 %109 0
|
||||
%184 = OpFMul %4 %182 %183
|
||||
%185 = OpCompositeExtract %4 %171 0
|
||||
%186 = OpCompositeExtract %4 %109 1
|
||||
%187 = OpFMul %4 %185 %186
|
||||
%188 = OpFAdd %4 %184 %187
|
||||
%189 = OpVectorShuffle %6 %174 %174 1 2
|
||||
%190 = OpLoad %7 %91
|
||||
%191 = OpVectorShuffle %6 %190 %190 0 2
|
||||
@ -827,15 +827,15 @@ OpLine %3 29 13
|
||||
%195 = OpVectorShuffle %6 %194 %194 1 3
|
||||
%196 = OpFMul %6 %193 %195
|
||||
%197 = OpFAdd %6 %192 %196
|
||||
%198 = OpCompositeConstruct %4 %188 %197
|
||||
%198 = OpCompositeConstruct %5 %188 %197
|
||||
OpLine %3 30 19
|
||||
%199 = OpLoad %4 %94
|
||||
%200 = OpDot %5 %199 %198
|
||||
%199 = OpLoad %5 %94
|
||||
%200 = OpDot %4 %199 %198
|
||||
OpLine %3 30 12
|
||||
%201 = OpFMul %5 %85 %200
|
||||
%201 = OpFMul %4 %85 %200
|
||||
OpReturnValue %201
|
||||
OpFunctionEnd
|
||||
%204 = OpFunction %5 None %68
|
||||
%204 = OpFunction %4 None %68
|
||||
%203 = OpFunctionParameter %6
|
||||
%202 = OpLabel
|
||||
%214 = OpVariable %215 Function %74
|
||||
@ -851,11 +851,11 @@ OpStore %212 %220
|
||||
OpLine %3 39 17
|
||||
OpLine %3 40 14
|
||||
OpLine %3 41 15
|
||||
%221 = OpCompositeExtract %5 %211 0
|
||||
%222 = OpCompositeExtract %5 %211 1
|
||||
%223 = OpCompositeExtract %5 %211 1
|
||||
%224 = OpFNegate %5 %223
|
||||
%225 = OpCompositeExtract %5 %211 0
|
||||
%221 = OpCompositeExtract %4 %211 0
|
||||
%222 = OpCompositeExtract %4 %211 1
|
||||
%223 = OpCompositeExtract %4 %211 1
|
||||
%224 = OpFNegate %4 %223
|
||||
%225 = OpCompositeExtract %4 %211 0
|
||||
%226 = OpCompositeConstruct %6 %221 %222
|
||||
%227 = OpCompositeConstruct %6 %224 %225
|
||||
%228 = OpCompositeConstruct %9 %226 %227
|
||||
@ -877,14 +877,14 @@ OpBranch %230
|
||||
OpBranch %237
|
||||
%237 = OpLabel
|
||||
OpLine %3 1 1
|
||||
%239 = OpLoad %5 %214
|
||||
%240 = OpLoad %5 %216
|
||||
%239 = OpLoad %4 %214
|
||||
%240 = OpLoad %4 %216
|
||||
%241 = OpLoad %6 %212
|
||||
OpLine %3 44 21
|
||||
%242 = OpFunctionCall %5 %67 %241
|
||||
%242 = OpFunctionCall %4 %67 %241
|
||||
OpLine %3 44 13
|
||||
%243 = OpFMul %5 %240 %242
|
||||
%244 = OpFAdd %5 %239 %243
|
||||
%243 = OpFMul %4 %240 %242
|
||||
%244 = OpFAdd %4 %239 %243
|
||||
OpLine %3 44 9
|
||||
OpStore %214 %244
|
||||
OpLine %3 45 13
|
||||
@ -896,9 +896,9 @@ OpLine %3 45 13
|
||||
OpLine %3 45 9
|
||||
OpStore %212 %248
|
||||
OpLine %3 1 1
|
||||
%249 = OpLoad %5 %216
|
||||
%249 = OpLoad %4 %216
|
||||
OpLine %3 46 13
|
||||
%250 = OpFMul %5 %249 %78
|
||||
%250 = OpFMul %4 %249 %78
|
||||
OpLine %3 46 9
|
||||
OpStore %216 %250
|
||||
OpBranch %238
|
||||
@ -914,25 +914,25 @@ OpStore %217 %252
|
||||
OpBranch %229
|
||||
%230 = OpLabel
|
||||
OpLine %3 1 1
|
||||
%253 = OpLoad %5 %214
|
||||
%253 = OpLoad %4 %214
|
||||
OpReturnValue %253
|
||||
OpFunctionEnd
|
||||
%257 = OpFunction %4 None %258
|
||||
%257 = OpFunction %5 None %258
|
||||
%255 = OpFunctionParameter %6
|
||||
%256 = OpFunctionParameter %6
|
||||
%254 = OpLabel
|
||||
OpBranch %259
|
||||
%259 = OpLabel
|
||||
OpLine %3 77 9
|
||||
%260 = OpCompositeExtract %5 %255 0
|
||||
%261 = OpCompositeExtract %5 %256 0
|
||||
%262 = OpCompositeExtract %5 %256 1
|
||||
%260 = OpCompositeExtract %4 %255 0
|
||||
%261 = OpCompositeExtract %4 %256 0
|
||||
%262 = OpCompositeExtract %4 %256 1
|
||||
OpLine %3 78 49
|
||||
%263 = OpFunctionCall %5 %204 %255
|
||||
%263 = OpFunctionCall %4 %204 %255
|
||||
OpLine %3 76 12
|
||||
%264 = OpExtInst %5 %1 FMix %261 %262 %263
|
||||
%265 = OpCompositeExtract %5 %255 1
|
||||
%266 = OpCompositeConstruct %4 %260 %264 %265
|
||||
%264 = OpExtInst %4 %1 FMix %261 %262 %263
|
||||
%265 = OpCompositeExtract %4 %255 1
|
||||
%266 = OpCompositeConstruct %5 %260 %264 %265
|
||||
OpReturnValue %266
|
||||
OpFunctionEnd
|
||||
%270 = OpFunction %14 None %271
|
||||
@ -942,41 +942,41 @@ OpFunctionEnd
|
||||
OpBranch %278
|
||||
%278 = OpLabel
|
||||
OpLine %3 84 13
|
||||
%279 = OpFunctionCall %4 %257 %268 %269
|
||||
%279 = OpFunctionCall %5 %257 %268 %269
|
||||
OpLine %3 86 29
|
||||
%280 = OpFAdd %6 %268 %273
|
||||
OpLine %3 86 15
|
||||
%281 = OpFunctionCall %4 %257 %280 %269
|
||||
%281 = OpFunctionCall %5 %257 %280 %269
|
||||
OpLine %3 86 15
|
||||
%282 = OpFSub %4 %281 %279
|
||||
%282 = OpFSub %5 %281 %279
|
||||
OpLine %3 87 29
|
||||
%283 = OpFAdd %6 %268 %274
|
||||
OpLine %3 87 15
|
||||
%284 = OpFunctionCall %4 %257 %283 %269
|
||||
%284 = OpFunctionCall %5 %257 %283 %269
|
||||
OpLine %3 87 15
|
||||
%285 = OpFSub %4 %284 %279
|
||||
%285 = OpFSub %5 %284 %279
|
||||
OpLine %3 88 29
|
||||
%286 = OpFAdd %6 %268 %276
|
||||
OpLine %3 88 15
|
||||
%287 = OpFunctionCall %4 %257 %286 %269
|
||||
%287 = OpFunctionCall %5 %257 %286 %269
|
||||
OpLine %3 88 15
|
||||
%288 = OpFSub %4 %287 %279
|
||||
%288 = OpFSub %5 %287 %279
|
||||
OpLine %3 89 29
|
||||
%289 = OpFAdd %6 %268 %277
|
||||
OpLine %3 89 15
|
||||
%290 = OpFunctionCall %4 %257 %289 %269
|
||||
%290 = OpFunctionCall %5 %257 %289 %269
|
||||
OpLine %3 89 15
|
||||
%291 = OpFSub %4 %290 %279
|
||||
%291 = OpFSub %5 %290 %279
|
||||
OpLine %3 91 14
|
||||
%292 = OpExtInst %4 %1 Cross %285 %282
|
||||
%293 = OpExtInst %4 %1 Normalize %292
|
||||
%292 = OpExtInst %5 %1 Cross %285 %282
|
||||
%293 = OpExtInst %5 %1 Normalize %292
|
||||
OpLine %3 92 14
|
||||
%294 = OpExtInst %4 %1 Cross %291 %288
|
||||
%295 = OpExtInst %4 %1 Normalize %294
|
||||
%294 = OpExtInst %5 %1 Cross %291 %288
|
||||
%295 = OpExtInst %5 %1 Normalize %294
|
||||
OpLine %3 94 14
|
||||
%296 = OpFAdd %4 %293 %295
|
||||
%296 = OpFAdd %5 %293 %295
|
||||
OpLine %3 94 13
|
||||
%297 = OpVectorTimesScalar %4 %296 %78
|
||||
%297 = OpVectorTimesScalar %5 %296 %78
|
||||
OpLine %3 96 12
|
||||
%298 = OpCompositeConstruct %14 %279 %297
|
||||
OpReturnValue %298
|
||||
@ -989,50 +989,50 @@ OpFunctionEnd
|
||||
OpBranch %305
|
||||
%305 = OpLabel
|
||||
OpLine %3 101 9
|
||||
%306 = OpConvertUToF %5 %300
|
||||
%306 = OpConvertUToF %4 %300
|
||||
%307 = OpCompositeExtract %8 %301 0
|
||||
OpLine %3 101 9
|
||||
%308 = OpIAdd %8 %307 %126
|
||||
%309 = OpConvertUToF %5 %308
|
||||
%310 = OpFRem %5 %306 %309
|
||||
%309 = OpConvertUToF %4 %308
|
||||
%310 = OpFRem %4 %306 %309
|
||||
%311 = OpCompositeExtract %8 %301 0
|
||||
OpLine %3 100 12
|
||||
%312 = OpIAdd %8 %311 %126
|
||||
%313 = OpUDiv %8 %300 %312
|
||||
%314 = OpConvertUToF %5 %313
|
||||
%314 = OpConvertUToF %4 %313
|
||||
%315 = OpCompositeConstruct %6 %310 %314
|
||||
%316 = OpConvertSToF %6 %302
|
||||
%317 = OpFAdd %6 %315 %316
|
||||
OpReturnValue %317
|
||||
OpFunctionEnd
|
||||
%320 = OpFunction %4 None %321
|
||||
%320 = OpFunction %5 None %321
|
||||
%319 = OpFunctionParameter %6
|
||||
%318 = OpLabel
|
||||
OpBranch %328
|
||||
%328 = OpLabel
|
||||
OpLine %3 270 9
|
||||
%329 = OpFunctionCall %5 %67 %319
|
||||
%329 = OpFunctionCall %4 %67 %319
|
||||
OpLine %3 270 9
|
||||
%330 = OpFMul %5 %329 %78
|
||||
%330 = OpFMul %4 %329 %78
|
||||
OpLine %3 270 9
|
||||
%331 = OpFAdd %5 %330 %78
|
||||
%331 = OpFAdd %4 %330 %78
|
||||
OpLine %3 271 17
|
||||
%332 = OpFAdd %6 %319 %324
|
||||
OpLine %3 271 9
|
||||
%333 = OpFunctionCall %5 %67 %332
|
||||
%333 = OpFunctionCall %4 %67 %332
|
||||
OpLine %3 271 9
|
||||
%334 = OpFMul %5 %333 %78
|
||||
%334 = OpFMul %4 %333 %78
|
||||
OpLine %3 271 9
|
||||
%335 = OpFAdd %5 %334 %78
|
||||
%335 = OpFAdd %4 %334 %78
|
||||
OpLine %3 272 17
|
||||
%336 = OpFAdd %6 %319 %327
|
||||
OpLine %3 272 9
|
||||
%337 = OpFunctionCall %5 %67 %336
|
||||
%337 = OpFunctionCall %4 %67 %336
|
||||
OpLine %3 272 9
|
||||
%338 = OpFMul %5 %337 %78
|
||||
%338 = OpFMul %4 %337 %78
|
||||
OpLine %3 269 12
|
||||
%339 = OpFAdd %5 %338 %78
|
||||
%340 = OpCompositeConstruct %4 %331 %335 %339
|
||||
%339 = OpFAdd %4 %338 %78
|
||||
%340 = OpCompositeConstruct %5 %331 %335 %339
|
||||
OpReturnValue %340
|
||||
OpFunctionEnd
|
||||
%345 = OpFunction %2 None %346
|
||||
@ -1145,14 +1145,14 @@ OpLine %3 161 18
|
||||
%422 = OpUDiv %8 %421 %351
|
||||
OpLine %3 161 13
|
||||
%423 = OpUMod %8 %422 %350
|
||||
%424 = OpConvertUToF %5 %423
|
||||
%424 = OpConvertUToF %4 %423
|
||||
OpLine %3 162 19
|
||||
%425 = OpIAdd %8 %408 %126
|
||||
OpLine %3 162 18
|
||||
%426 = OpUDiv %8 %425 %351
|
||||
OpLine %3 162 13
|
||||
%427 = OpUMod %8 %426 %350
|
||||
%428 = OpConvertUToF %5 %427
|
||||
%428 = OpConvertUToF %4 %427
|
||||
OpLine %3 163 14
|
||||
%429 = OpCompositeConstruct %6 %424 %428
|
||||
OpLine %3 165 30
|
||||
@ -1162,19 +1162,19 @@ OpLine %3 165 30
|
||||
OpLine %3 165 20
|
||||
%432 = OpCompositeConstruct %7 %431 %74 %56
|
||||
OpLine %3 168 21
|
||||
%433 = OpCompositeExtract %5 %429 0
|
||||
%433 = OpCompositeExtract %4 %429 0
|
||||
OpLine %3 168 21
|
||||
%435 = OpAccessChain %434 %417 %351
|
||||
%436 = OpLoad %8 %435
|
||||
%437 = OpConvertUToF %5 %436
|
||||
%438 = OpFMul %5 %433 %437
|
||||
%439 = OpCompositeExtract %5 %429 1
|
||||
%437 = OpConvertUToF %4 %436
|
||||
%438 = OpFMul %4 %433 %437
|
||||
%439 = OpCompositeExtract %4 %429 1
|
||||
OpLine %3 168 17
|
||||
%440 = OpAccessChain %434 %417 %351
|
||||
%441 = OpLoad %8 %440
|
||||
%442 = OpConvertUToF %5 %441
|
||||
%443 = OpFMul %5 %439 %442
|
||||
%444 = OpFAdd %5 %438 %443
|
||||
%442 = OpConvertUToF %4 %441
|
||||
%443 = OpFMul %4 %439 %442
|
||||
%444 = OpFAdd %4 %438 %443
|
||||
%445 = OpConvertFToU %8 %444
|
||||
OpLine %3 168 17
|
||||
%446 = OpAccessChain %434 %417 %352
|
||||
@ -1203,14 +1203,14 @@ OpBranch %470
|
||||
%470 = OpLabel
|
||||
OpLine %3 181 17
|
||||
%471 = OpCompositeExtract %6 %454 2
|
||||
%472 = OpCompositeExtract %5 %471 0
|
||||
%472 = OpCompositeExtract %4 %471 0
|
||||
OpLine %3 181 17
|
||||
%473 = OpAccessChain %434 %466 %351
|
||||
%474 = OpLoad %8 %473
|
||||
%475 = OpConvertUToF %5 %474
|
||||
%476 = OpFMul %5 %472 %475
|
||||
%475 = OpConvertUToF %4 %474
|
||||
%476 = OpFMul %4 %472 %475
|
||||
%477 = OpCompositeExtract %6 %454 2
|
||||
%478 = OpCompositeExtract %5 %477 1
|
||||
%478 = OpCompositeExtract %4 %477 1
|
||||
OpLine %3 181 70
|
||||
%479 = OpAccessChain %434 %466 %351
|
||||
%480 = OpLoad %8 %479
|
||||
@ -1218,19 +1218,19 @@ OpLine %3 181 13
|
||||
%481 = OpAccessChain %434 %466 %351
|
||||
%482 = OpLoad %8 %481
|
||||
%483 = OpIMul %8 %480 %482
|
||||
%484 = OpConvertUToF %5 %483
|
||||
%485 = OpFMul %5 %478 %484
|
||||
%486 = OpFAdd %5 %476 %485
|
||||
%484 = OpConvertUToF %4 %483
|
||||
%485 = OpFMul %4 %478 %484
|
||||
%486 = OpFAdd %4 %476 %485
|
||||
%487 = OpConvertFToU %8 %486
|
||||
OpLine %3 181 13
|
||||
%488 = OpAccessChain %434 %466 %352
|
||||
%489 = OpLoad %8 %488
|
||||
%490 = OpIAdd %8 %487 %489
|
||||
OpLine %3 182 32
|
||||
%491 = OpConvertUToF %5 %490
|
||||
%491 = OpConvertUToF %4 %490
|
||||
OpLine %3 182 22
|
||||
%492 = OpFDiv %5 %491 %467
|
||||
%493 = OpExtInst %5 %1 Floor %492
|
||||
%492 = OpFDiv %4 %491 %467
|
||||
%493 = OpExtInst %4 %1 Floor %492
|
||||
%494 = OpConvertFToU %8 %493
|
||||
OpLine %3 183 22
|
||||
%495 = OpUMod %8 %490 %349
|
||||
@ -1252,43 +1252,43 @@ OpSelectionMerge %504 None
|
||||
OpSwitch %495 %511 0 %505 1 %506 2 %507 3 %508 4 %509 5 %510
|
||||
%505 = OpLabel
|
||||
OpLine %3 191 37
|
||||
%512 = OpCompositeExtract %4 %503 0
|
||||
%513 = OpCompositeExtract %5 %512 0
|
||||
%512 = OpCompositeExtract %5 %503 0
|
||||
%513 = OpCompositeExtract %4 %512 0
|
||||
OpLine %3 191 20
|
||||
OpStore %468 %513
|
||||
OpBranch %504
|
||||
%506 = OpLabel
|
||||
OpLine %3 192 37
|
||||
%514 = OpCompositeExtract %4 %503 0
|
||||
%515 = OpCompositeExtract %5 %514 1
|
||||
%514 = OpCompositeExtract %5 %503 0
|
||||
%515 = OpCompositeExtract %4 %514 1
|
||||
OpLine %3 192 20
|
||||
OpStore %468 %515
|
||||
OpBranch %504
|
||||
%507 = OpLabel
|
||||
OpLine %3 193 37
|
||||
%516 = OpCompositeExtract %4 %503 0
|
||||
%517 = OpCompositeExtract %5 %516 2
|
||||
%516 = OpCompositeExtract %5 %503 0
|
||||
%517 = OpCompositeExtract %4 %516 2
|
||||
OpLine %3 193 20
|
||||
OpStore %468 %517
|
||||
OpBranch %504
|
||||
%508 = OpLabel
|
||||
OpLine %3 194 37
|
||||
%518 = OpCompositeExtract %4 %503 1
|
||||
%519 = OpCompositeExtract %5 %518 0
|
||||
%518 = OpCompositeExtract %5 %503 1
|
||||
%519 = OpCompositeExtract %4 %518 0
|
||||
OpLine %3 194 20
|
||||
OpStore %468 %519
|
||||
OpBranch %504
|
||||
%509 = OpLabel
|
||||
OpLine %3 195 37
|
||||
%520 = OpCompositeExtract %4 %503 1
|
||||
%521 = OpCompositeExtract %5 %520 1
|
||||
%520 = OpCompositeExtract %5 %503 1
|
||||
%521 = OpCompositeExtract %4 %520 1
|
||||
OpLine %3 195 20
|
||||
OpStore %468 %521
|
||||
OpBranch %504
|
||||
%510 = OpLabel
|
||||
OpLine %3 196 37
|
||||
%522 = OpCompositeExtract %4 %503 1
|
||||
%523 = OpCompositeExtract %5 %522 2
|
||||
%522 = OpCompositeExtract %5 %503 1
|
||||
%523 = OpCompositeExtract %4 %522 2
|
||||
OpLine %3 196 20
|
||||
OpStore %468 %523
|
||||
OpBranch %504
|
||||
@ -1337,7 +1337,7 @@ OpLine %3 213 13
|
||||
OpLine %3 213 5
|
||||
OpStore %469 %540
|
||||
OpLine %3 222 27
|
||||
%541 = OpLoad %5 %468
|
||||
%541 = OpLoad %4 %468
|
||||
%542 = OpBitcast %8 %541
|
||||
OpLine %3 223 12
|
||||
%543 = OpLoad %8 %469
|
||||
@ -1350,8 +1350,8 @@ OpReturn
|
||||
OpFunctionEnd
|
||||
%558 = OpFunction %2 None %346
|
||||
%547 = OpLabel
|
||||
%551 = OpLoad %4 %549
|
||||
%553 = OpLoad %4 %552
|
||||
%551 = OpLoad %5 %549
|
||||
%553 = OpLoad %5 %552
|
||||
%548 = OpCompositeConstruct %14 %551 %553
|
||||
%560 = OpAccessChain %559 %39 %135
|
||||
OpBranch %561
|
||||
@ -1359,20 +1359,20 @@ OpBranch %561
|
||||
OpLine %3 254 25
|
||||
%563 = OpAccessChain %562 %560 %126
|
||||
%564 = OpLoad %23 %563
|
||||
%565 = OpCompositeExtract %4 %548 0
|
||||
%565 = OpCompositeExtract %5 %548 0
|
||||
OpLine %3 254 25
|
||||
%566 = OpCompositeConstruct %7 %565 %56
|
||||
%567 = OpMatrixTimesVector %7 %564 %566
|
||||
OpLine %3 255 18
|
||||
%568 = OpCompositeExtract %4 %548 1
|
||||
%568 = OpCompositeExtract %5 %548 1
|
||||
OpLine %3 256 12
|
||||
%569 = OpCompositeExtract %4 %548 0
|
||||
%569 = OpCompositeExtract %5 %548 0
|
||||
%570 = OpCompositeConstruct %26 %567 %568 %569
|
||||
%571 = OpCompositeExtract %7 %570 0
|
||||
OpStore %554 %571
|
||||
%572 = OpCompositeExtract %4 %570 1
|
||||
%572 = OpCompositeExtract %5 %570 1
|
||||
OpStore %555 %572
|
||||
%573 = OpCompositeExtract %4 %570 2
|
||||
%573 = OpCompositeExtract %5 %570 2
|
||||
OpStore %557 %573
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
@ -1380,8 +1380,8 @@ OpFunctionEnd
|
||||
%574 = OpLabel
|
||||
%592 = OpVariable %95 Function %593
|
||||
%577 = OpLoad %7 %576
|
||||
%579 = OpLoad %4 %578
|
||||
%581 = OpLoad %4 %580
|
||||
%579 = OpLoad %5 %578
|
||||
%581 = OpLoad %5 %580
|
||||
%575 = OpCompositeConstruct %26 %577 %579 %581
|
||||
%584 = OpAccessChain %559 %39 %135
|
||||
%586 = OpAccessChain %585 %42 %135
|
||||
@ -1389,70 +1389,70 @@ OpBranch %594
|
||||
%594 = OpLabel
|
||||
OpLine %3 278 28
|
||||
OpLine %3 278 17
|
||||
%595 = OpCompositeExtract %4 %575 2
|
||||
%596 = OpExtInst %4 %1 Fract %595
|
||||
%597 = OpExtInst %4 %1 SmoothStep %80 %587 %596
|
||||
%595 = OpCompositeExtract %5 %575 2
|
||||
%596 = OpExtInst %5 %1 Fract %595
|
||||
%597 = OpExtInst %5 %1 SmoothStep %80 %587 %596
|
||||
OpLine %3 278 5
|
||||
OpStore %592 %597
|
||||
OpLine %3 279 17
|
||||
OpLine %3 279 13
|
||||
%598 = OpAccessChain %125 %592 %135
|
||||
%599 = OpLoad %5 %598
|
||||
%599 = OpLoad %4 %598
|
||||
%600 = OpAccessChain %125 %592 %126
|
||||
%601 = OpLoad %5 %600
|
||||
%602 = OpFMul %5 %599 %601
|
||||
%601 = OpLoad %4 %600
|
||||
%602 = OpFMul %4 %599 %601
|
||||
%603 = OpAccessChain %125 %592 %350
|
||||
%604 = OpLoad %5 %603
|
||||
%605 = OpFMul %5 %602 %604
|
||||
%606 = OpCompositeConstruct %4 %605 %605 %605
|
||||
%607 = OpExtInst %4 %1 FMix %589 %591 %606
|
||||
%604 = OpLoad %4 %603
|
||||
%605 = OpFMul %4 %602 %604
|
||||
%606 = OpCompositeConstruct %5 %605 %605 %605
|
||||
%607 = OpExtInst %5 %1 FMix %589 %591 %606
|
||||
OpLine %3 279 5
|
||||
OpStore %592 %607
|
||||
OpLine %3 282 25
|
||||
%609 = OpAccessChain %608 %586 %126
|
||||
%610 = OpLoad %4 %609
|
||||
%611 = OpVectorTimesScalar %4 %610 %272
|
||||
%610 = OpLoad %5 %609
|
||||
%611 = OpVectorTimesScalar %5 %610 %272
|
||||
OpLine %3 284 21
|
||||
%612 = OpAccessChain %608 %586 %135
|
||||
%613 = OpLoad %4 %612
|
||||
%614 = OpCompositeExtract %4 %575 2
|
||||
%615 = OpFSub %4 %613 %614
|
||||
%616 = OpExtInst %4 %1 Normalize %615
|
||||
%613 = OpLoad %5 %612
|
||||
%614 = OpCompositeExtract %5 %575 2
|
||||
%615 = OpFSub %5 %613 %614
|
||||
%616 = OpExtInst %5 %1 Normalize %615
|
||||
OpLine %3 285 20
|
||||
%618 = OpAccessChain %617 %584 %135
|
||||
%619 = OpLoad %7 %618
|
||||
%620 = OpVectorShuffle %4 %619 %619 0 1 2
|
||||
%621 = OpCompositeExtract %4 %575 2
|
||||
%622 = OpFSub %4 %620 %621
|
||||
%623 = OpExtInst %4 %1 Normalize %622
|
||||
%620 = OpVectorShuffle %5 %619 %619 0 1 2
|
||||
%621 = OpCompositeExtract %5 %575 2
|
||||
%622 = OpFSub %5 %620 %621
|
||||
%623 = OpExtInst %5 %1 Normalize %622
|
||||
OpLine %3 286 20
|
||||
%624 = OpFAdd %4 %623 %616
|
||||
%625 = OpExtInst %4 %1 Normalize %624
|
||||
%624 = OpFAdd %5 %623 %616
|
||||
%625 = OpExtInst %5 %1 Normalize %624
|
||||
OpLine %3 288 32
|
||||
%626 = OpCompositeExtract %4 %575 1
|
||||
%627 = OpDot %5 %626 %616
|
||||
%626 = OpCompositeExtract %5 %575 1
|
||||
%627 = OpDot %4 %626 %616
|
||||
OpLine %3 288 28
|
||||
%628 = OpExtInst %5 %1 FMax %627 %74
|
||||
%628 = OpExtInst %4 %1 FMax %627 %74
|
||||
OpLine %3 289 25
|
||||
%629 = OpAccessChain %608 %586 %126
|
||||
%630 = OpLoad %4 %629
|
||||
%631 = OpVectorTimesScalar %4 %630 %628
|
||||
%630 = OpLoad %5 %629
|
||||
%631 = OpVectorTimesScalar %5 %630 %628
|
||||
OpLine %3 291 37
|
||||
%632 = OpCompositeExtract %4 %575 1
|
||||
%633 = OpDot %5 %632 %625
|
||||
%632 = OpCompositeExtract %5 %575 1
|
||||
%633 = OpDot %4 %632 %625
|
||||
OpLine %3 291 33
|
||||
%634 = OpExtInst %5 %1 FMax %633 %74
|
||||
%634 = OpExtInst %4 %1 FMax %633 %74
|
||||
OpLine %3 291 29
|
||||
%635 = OpExtInst %5 %1 Pow %634 %323
|
||||
%635 = OpExtInst %4 %1 Pow %634 %323
|
||||
OpLine %3 292 26
|
||||
%636 = OpAccessChain %608 %586 %126
|
||||
%637 = OpLoad %4 %636
|
||||
%638 = OpVectorTimesScalar %4 %637 %635
|
||||
%637 = OpLoad %5 %636
|
||||
%638 = OpVectorTimesScalar %5 %637 %635
|
||||
OpLine %3 294 18
|
||||
%639 = OpFAdd %4 %611 %631
|
||||
%640 = OpFAdd %4 %639 %638
|
||||
%641 = OpLoad %4 %592
|
||||
%642 = OpFMul %4 %640 %641
|
||||
%639 = OpFAdd %5 %611 %631
|
||||
%640 = OpFAdd %5 %639 %638
|
||||
%641 = OpLoad %5 %592
|
||||
%642 = OpFMul %5 %640 %641
|
||||
OpLine %3 296 12
|
||||
%643 = OpCompositeConstruct %7 %642 %56
|
||||
OpStore %582 %643
|
||||
|
@ -34,25 +34,25 @@ OpDecorate %76 Location 3
|
||||
OpDecorate %78 Location 4
|
||||
OpDecorate %80 Location 5
|
||||
%2 = OpTypeVoid
|
||||
%4 = OpTypeFloat 32
|
||||
%3 = OpTypeVector %4 4
|
||||
%6 = OpTypeInt 32 1
|
||||
%5 = OpTypeVector %6 4
|
||||
%8 = OpTypeInt 32 0
|
||||
%7 = OpTypeVector %8 4
|
||||
%9 = OpTypeVector %4 3
|
||||
%10 = OpTypeVector %6 3
|
||||
%11 = OpTypeVector %8 3
|
||||
%12 = OpTypeStruct %3 %5 %7 %9 %10 %11
|
||||
%13 = OpTypeVector %4 2
|
||||
%14 = OpTypeVector %6 2
|
||||
%15 = OpTypeVector %8 2
|
||||
%16 = OpTypeStruct %13 %14 %15 %4 %6 %8
|
||||
%19 = OpTypePointer Output %3
|
||||
%3 = OpTypeFloat 32
|
||||
%4 = OpTypeVector %3 4
|
||||
%5 = OpTypeInt 32 1
|
||||
%6 = OpTypeVector %5 4
|
||||
%7 = OpTypeInt 32 0
|
||||
%8 = OpTypeVector %7 4
|
||||
%9 = OpTypeVector %3 3
|
||||
%10 = OpTypeVector %5 3
|
||||
%11 = OpTypeVector %7 3
|
||||
%12 = OpTypeStruct %4 %6 %8 %9 %10 %11
|
||||
%13 = OpTypeVector %3 2
|
||||
%14 = OpTypeVector %5 2
|
||||
%15 = OpTypeVector %7 2
|
||||
%16 = OpTypeStruct %13 %14 %15 %3 %5 %7
|
||||
%19 = OpTypePointer Output %4
|
||||
%18 = OpVariable %19 Output
|
||||
%21 = OpTypePointer Output %5
|
||||
%21 = OpTypePointer Output %6
|
||||
%20 = OpVariable %21 Output
|
||||
%23 = OpTypePointer Output %7
|
||||
%23 = OpTypePointer Output %8
|
||||
%22 = OpVariable %23 Output
|
||||
%25 = OpTypePointer Output %9
|
||||
%24 = OpVariable %25 Output
|
||||
@ -61,39 +61,39 @@ OpDecorate %80 Location 5
|
||||
%29 = OpTypePointer Output %11
|
||||
%28 = OpVariable %29 Output
|
||||
%31 = OpTypeFunction %2
|
||||
%32 = OpConstant %4 0.0
|
||||
%33 = OpConstantComposite %3 %32 %32 %32 %32
|
||||
%34 = OpConstant %6 0
|
||||
%35 = OpConstantComposite %5 %34 %34 %34 %34
|
||||
%36 = OpConstant %8 0
|
||||
%37 = OpConstantComposite %7 %36 %36 %36 %36
|
||||
%32 = OpConstant %3 0.0
|
||||
%33 = OpConstantComposite %4 %32 %32 %32 %32
|
||||
%34 = OpConstant %5 0
|
||||
%35 = OpConstantComposite %6 %34 %34 %34 %34
|
||||
%36 = OpConstant %7 0
|
||||
%37 = OpConstantComposite %8 %36 %36 %36 %36
|
||||
%38 = OpConstantComposite %9 %32 %32 %32
|
||||
%39 = OpConstantComposite %10 %34 %34 %34
|
||||
%40 = OpConstantComposite %11 %36 %36 %36
|
||||
%42 = OpTypePointer Function %12
|
||||
%43 = OpConstantNull %12
|
||||
%45 = OpTypePointer Function %3
|
||||
%47 = OpTypePointer Function %5
|
||||
%48 = OpConstant %8 1
|
||||
%50 = OpTypePointer Function %7
|
||||
%51 = OpConstant %8 2
|
||||
%45 = OpTypePointer Function %4
|
||||
%47 = OpTypePointer Function %6
|
||||
%48 = OpConstant %7 1
|
||||
%50 = OpTypePointer Function %8
|
||||
%51 = OpConstant %7 2
|
||||
%53 = OpTypePointer Function %9
|
||||
%54 = OpConstant %8 3
|
||||
%54 = OpConstant %7 3
|
||||
%56 = OpTypePointer Function %10
|
||||
%57 = OpConstant %8 4
|
||||
%57 = OpConstant %7 4
|
||||
%59 = OpTypePointer Function %11
|
||||
%60 = OpConstant %8 5
|
||||
%60 = OpConstant %7 5
|
||||
%71 = OpTypePointer Output %13
|
||||
%70 = OpVariable %71 Output
|
||||
%73 = OpTypePointer Output %14
|
||||
%72 = OpVariable %73 Output
|
||||
%75 = OpTypePointer Output %15
|
||||
%74 = OpVariable %75 Output
|
||||
%77 = OpTypePointer Output %4
|
||||
%77 = OpTypePointer Output %3
|
||||
%76 = OpVariable %77 Output
|
||||
%79 = OpTypePointer Output %6
|
||||
%79 = OpTypePointer Output %5
|
||||
%78 = OpVariable %79 Output
|
||||
%81 = OpTypePointer Output %8
|
||||
%81 = OpTypePointer Output %7
|
||||
%80 = OpVariable %81 Output
|
||||
%83 = OpConstantComposite %13 %32 %32
|
||||
%84 = OpConstantComposite %14 %34 %34
|
||||
@ -103,9 +103,9 @@ OpDecorate %80 Location 5
|
||||
%90 = OpTypePointer Function %13
|
||||
%92 = OpTypePointer Function %14
|
||||
%94 = OpTypePointer Function %15
|
||||
%96 = OpTypePointer Function %4
|
||||
%98 = OpTypePointer Function %6
|
||||
%100 = OpTypePointer Function %8
|
||||
%96 = OpTypePointer Function %3
|
||||
%98 = OpTypePointer Function %5
|
||||
%100 = OpTypePointer Function %7
|
||||
%30 = OpFunction %2 None %31
|
||||
%17 = OpLabel
|
||||
%41 = OpVariable %42 Function %43
|
||||
@ -124,11 +124,11 @@ OpStore %58 %39
|
||||
%61 = OpAccessChain %59 %41 %60
|
||||
OpStore %61 %40
|
||||
%62 = OpLoad %12 %41
|
||||
%63 = OpCompositeExtract %3 %62 0
|
||||
%63 = OpCompositeExtract %4 %62 0
|
||||
OpStore %18 %63
|
||||
%64 = OpCompositeExtract %5 %62 1
|
||||
%64 = OpCompositeExtract %6 %62 1
|
||||
OpStore %20 %64
|
||||
%65 = OpCompositeExtract %7 %62 2
|
||||
%65 = OpCompositeExtract %8 %62 2
|
||||
OpStore %22 %65
|
||||
%66 = OpCompositeExtract %9 %62 3
|
||||
OpStore %24 %66
|
||||
@ -162,11 +162,11 @@ OpStore %70 %103
|
||||
OpStore %72 %104
|
||||
%105 = OpCompositeExtract %15 %102 2
|
||||
OpStore %74 %105
|
||||
%106 = OpCompositeExtract %4 %102 3
|
||||
%106 = OpCompositeExtract %3 %102 3
|
||||
OpStore %76 %106
|
||||
%107 = OpCompositeExtract %6 %102 4
|
||||
%107 = OpCompositeExtract %5 %102 4
|
||||
OpStore %78 %107
|
||||
%108 = OpCompositeExtract %8 %102 5
|
||||
%108 = OpCompositeExtract %7 %102 5
|
||||
OpStore %80 %108
|
||||
OpReturn
|
||||
OpFunctionEnd
|
@ -21,11 +21,11 @@ OpDecorate %22 BuiltIn LocalInvocationIndex
|
||||
OpDecorate %25 BuiltIn WorkgroupId
|
||||
OpDecorate %27 BuiltIn NumWorkgroups
|
||||
%2 = OpTypeVoid
|
||||
%4 = OpTypeFloat 32
|
||||
%3 = OpTypeVector %4 4
|
||||
%5 = OpTypeStruct %3 %4
|
||||
%3 = OpTypeFloat 32
|
||||
%4 = OpTypeVector %3 4
|
||||
%5 = OpTypeStruct %4 %3
|
||||
%6 = OpTypeInt 32 0
|
||||
%7 = OpTypeStruct %4 %6 %4
|
||||
%7 = OpTypeStruct %3 %6 %3
|
||||
%8 = OpTypeBool
|
||||
%10 = OpConstant %6 1
|
||||
%9 = OpTypeArray %6 %10
|
||||
|
@ -30,38 +30,38 @@ OpDecorate %30 BuiltIn FragDepth
|
||||
OpDecorate %32 BuiltIn SampleMask
|
||||
OpDecorate %34 Location 0
|
||||
%2 = OpTypeVoid
|
||||
%4 = OpTypeFloat 32
|
||||
%3 = OpTypeVector %4 4
|
||||
%5 = OpTypeStruct %3 %4
|
||||
%3 = OpTypeFloat 32
|
||||
%4 = OpTypeVector %3 4
|
||||
%5 = OpTypeStruct %4 %3
|
||||
%6 = OpTypeInt 32 0
|
||||
%7 = OpTypeStruct %4 %6 %4
|
||||
%7 = OpTypeStruct %3 %6 %3
|
||||
%8 = OpTypeBool
|
||||
%10 = OpConstant %6 1
|
||||
%9 = OpTypeArray %6 %10
|
||||
%11 = OpTypeVector %6 3
|
||||
%12 = OpTypeStruct %6
|
||||
%13 = OpTypeStruct %6
|
||||
%17 = OpTypePointer Input %3
|
||||
%17 = OpTypePointer Input %4
|
||||
%16 = OpVariable %17 Input
|
||||
%20 = OpTypePointer Input %4
|
||||
%20 = OpTypePointer Input %3
|
||||
%19 = OpVariable %20 Input
|
||||
%23 = OpTypePointer Input %8
|
||||
%22 = OpVariable %23 Input
|
||||
%26 = OpTypePointer Input %6
|
||||
%25 = OpVariable %26 Input
|
||||
%28 = OpVariable %26 Input
|
||||
%31 = OpTypePointer Output %4
|
||||
%31 = OpTypePointer Output %3
|
||||
%30 = OpVariable %31 Output
|
||||
%33 = OpTypePointer Output %6
|
||||
%32 = OpVariable %33 Output
|
||||
%34 = OpVariable %31 Output
|
||||
%36 = OpTypeFunction %2
|
||||
%37 = OpConstant %4 0.0
|
||||
%38 = OpConstant %4 1.0
|
||||
%37 = OpConstant %3 0.0
|
||||
%38 = OpConstant %3 1.0
|
||||
%35 = OpFunction %2 None %36
|
||||
%14 = OpLabel
|
||||
%18 = OpLoad %3 %16
|
||||
%21 = OpLoad %4 %19
|
||||
%18 = OpLoad %4 %16
|
||||
%21 = OpLoad %3 %19
|
||||
%15 = OpCompositeConstruct %5 %18 %21
|
||||
%24 = OpLoad %8 %22
|
||||
%27 = OpLoad %6 %25
|
||||
@ -70,17 +70,17 @@ OpBranch %39
|
||||
%39 = OpLabel
|
||||
%40 = OpShiftLeftLogical %6 %10 %27
|
||||
%41 = OpBitwiseAnd %6 %29 %40
|
||||
%42 = OpSelect %4 %24 %38 %37
|
||||
%43 = OpCompositeExtract %4 %15 1
|
||||
%42 = OpSelect %3 %24 %38 %37
|
||||
%43 = OpCompositeExtract %3 %15 1
|
||||
%44 = OpCompositeConstruct %7 %43 %41 %42
|
||||
%45 = OpCompositeExtract %4 %44 0
|
||||
%45 = OpCompositeExtract %3 %44 0
|
||||
OpStore %30 %45
|
||||
%46 = OpLoad %4 %30
|
||||
%47 = OpExtInst %4 %1 FClamp %46 %37 %38
|
||||
%46 = OpLoad %3 %30
|
||||
%47 = OpExtInst %3 %1 FClamp %46 %37 %38
|
||||
OpStore %30 %47
|
||||
%48 = OpCompositeExtract %6 %44 1
|
||||
OpStore %32 %48
|
||||
%49 = OpCompositeExtract %4 %44 2
|
||||
%49 = OpCompositeExtract %3 %44 2
|
||||
OpStore %34 %49
|
||||
OpReturn
|
||||
OpFunctionEnd
|
@ -22,11 +22,11 @@ OpDecorate %22 BuiltIn Position
|
||||
OpDecorate %24 Location 1
|
||||
OpDecorate %26 BuiltIn PointSize
|
||||
%2 = OpTypeVoid
|
||||
%4 = OpTypeFloat 32
|
||||
%3 = OpTypeVector %4 4
|
||||
%5 = OpTypeStruct %3 %4
|
||||
%3 = OpTypeFloat 32
|
||||
%4 = OpTypeVector %3 4
|
||||
%5 = OpTypeStruct %4 %3
|
||||
%6 = OpTypeInt 32 0
|
||||
%7 = OpTypeStruct %4 %6 %4
|
||||
%7 = OpTypeStruct %3 %6 %3
|
||||
%8 = OpTypeBool
|
||||
%10 = OpConstant %6 1
|
||||
%9 = OpTypeArray %6 %10
|
||||
@ -37,15 +37,15 @@ OpDecorate %26 BuiltIn PointSize
|
||||
%15 = OpVariable %16 Input
|
||||
%18 = OpVariable %16 Input
|
||||
%20 = OpVariable %16 Input
|
||||
%23 = OpTypePointer Output %3
|
||||
%23 = OpTypePointer Output %4
|
||||
%22 = OpVariable %23 Output
|
||||
%25 = OpTypePointer Output %4
|
||||
%25 = OpTypePointer Output %3
|
||||
%24 = OpVariable %25 Output
|
||||
%27 = OpTypePointer Output %4
|
||||
%27 = OpTypePointer Output %3
|
||||
%26 = OpVariable %27 Output
|
||||
%28 = OpConstant %4 1.0
|
||||
%28 = OpConstant %3 1.0
|
||||
%30 = OpTypeFunction %2
|
||||
%31 = OpConstantComposite %3 %28 %28 %28 %28
|
||||
%31 = OpConstantComposite %4 %28 %28 %28 %28
|
||||
%29 = OpFunction %2 None %30
|
||||
%14 = OpLabel
|
||||
%17 = OpLoad %6 %15
|
||||
@ -56,11 +56,11 @@ OpBranch %32
|
||||
%32 = OpLabel
|
||||
%33 = OpIAdd %6 %17 %19
|
||||
%34 = OpIAdd %6 %33 %21
|
||||
%35 = OpConvertUToF %4 %34
|
||||
%35 = OpConvertUToF %3 %34
|
||||
%36 = OpCompositeConstruct %5 %31 %35
|
||||
%37 = OpCompositeExtract %3 %36 0
|
||||
%37 = OpCompositeExtract %4 %36 0
|
||||
OpStore %22 %37
|
||||
%38 = OpCompositeExtract %4 %36 1
|
||||
%38 = OpCompositeExtract %3 %36 1
|
||||
OpStore %24 %38
|
||||
OpReturn
|
||||
OpFunctionEnd
|
@ -20,11 +20,11 @@ OpDecorate %22 Invariant
|
||||
OpDecorate %22 BuiltIn Position
|
||||
OpDecorate %24 BuiltIn PointSize
|
||||
%2 = OpTypeVoid
|
||||
%4 = OpTypeFloat 32
|
||||
%3 = OpTypeVector %4 4
|
||||
%5 = OpTypeStruct %3 %4
|
||||
%3 = OpTypeFloat 32
|
||||
%4 = OpTypeVector %3 4
|
||||
%5 = OpTypeStruct %4 %3
|
||||
%6 = OpTypeInt 32 0
|
||||
%7 = OpTypeStruct %4 %6 %4
|
||||
%7 = OpTypeStruct %3 %6 %3
|
||||
%8 = OpTypeBool
|
||||
%10 = OpConstant %6 1
|
||||
%9 = OpTypeArray %6 %10
|
||||
@ -34,14 +34,14 @@ OpDecorate %24 BuiltIn PointSize
|
||||
%17 = OpTypePointer Input %6
|
||||
%16 = OpVariable %17 Input
|
||||
%20 = OpVariable %17 Input
|
||||
%23 = OpTypePointer Output %3
|
||||
%23 = OpTypePointer Output %4
|
||||
%22 = OpVariable %23 Output
|
||||
%25 = OpTypePointer Output %4
|
||||
%25 = OpTypePointer Output %3
|
||||
%24 = OpVariable %25 Output
|
||||
%26 = OpConstant %4 1.0
|
||||
%26 = OpConstant %3 1.0
|
||||
%28 = OpTypeFunction %2
|
||||
%29 = OpConstant %6 2
|
||||
%30 = OpConstant %4 0.0
|
||||
%30 = OpConstant %3 0.0
|
||||
%32 = OpTypePointer Function %6
|
||||
%27 = OpFunction %2 None %28
|
||||
%14 = OpLabel
|
||||
@ -54,12 +54,12 @@ OpStore %24 %26
|
||||
OpBranch %33
|
||||
%33 = OpLabel
|
||||
%34 = OpCompositeExtract %6 %15 0
|
||||
%35 = OpConvertUToF %4 %34
|
||||
%35 = OpConvertUToF %3 %34
|
||||
%36 = OpCompositeExtract %6 %19 0
|
||||
%37 = OpConvertUToF %4 %36
|
||||
%37 = OpConvertUToF %3 %36
|
||||
%38 = OpLoad %6 %31
|
||||
%39 = OpConvertUToF %4 %38
|
||||
%40 = OpCompositeConstruct %3 %35 %37 %39 %30
|
||||
%39 = OpConvertUToF %3 %38
|
||||
%40 = OpCompositeConstruct %4 %35 %37 %39 %30
|
||||
OpStore %22 %40
|
||||
OpReturn
|
||||
OpFunctionEnd
|
@ -95,19 +95,19 @@ OpDecorate %117 Centroid
|
||||
OpDecorate %119 Location 9
|
||||
OpDecorate %119 Sample
|
||||
%2 = OpTypeVoid
|
||||
%4 = OpTypeFloat 32
|
||||
%3 = OpTypeVector %4 4
|
||||
%3 = OpTypeFloat 32
|
||||
%4 = OpTypeVector %3 4
|
||||
%5 = OpTypeInt 32 0
|
||||
%6 = OpTypeVector %4 2
|
||||
%7 = OpTypeVector %4 3
|
||||
%8 = OpTypeStruct %3 %5 %5 %5 %4 %6 %7 %3 %4 %4
|
||||
%11 = OpTypePointer Output %3
|
||||
%6 = OpTypeVector %3 2
|
||||
%7 = OpTypeVector %3 3
|
||||
%8 = OpTypeStruct %4 %5 %5 %5 %3 %6 %7 %4 %3 %3
|
||||
%11 = OpTypePointer Output %4
|
||||
%10 = OpVariable %11 Output
|
||||
%13 = OpTypePointer Output %5
|
||||
%12 = OpVariable %13 Output
|
||||
%14 = OpVariable %13 Output
|
||||
%15 = OpVariable %13 Output
|
||||
%17 = OpTypePointer Output %4
|
||||
%17 = OpTypePointer Output %3
|
||||
%16 = OpVariable %17 Output
|
||||
%19 = OpTypePointer Output %6
|
||||
%18 = OpVariable %19 Output
|
||||
@ -116,55 +116,55 @@ OpDecorate %119 Sample
|
||||
%22 = OpVariable %11 Output
|
||||
%23 = OpVariable %17 Output
|
||||
%24 = OpVariable %17 Output
|
||||
%26 = OpTypePointer Output %4
|
||||
%26 = OpTypePointer Output %3
|
||||
%25 = OpVariable %26 Output
|
||||
%27 = OpConstant %4 1.0
|
||||
%27 = OpConstant %3 1.0
|
||||
%29 = OpTypeFunction %2
|
||||
%30 = OpConstant %4 2.0
|
||||
%31 = OpConstant %4 4.0
|
||||
%32 = OpConstant %4 5.0
|
||||
%33 = OpConstant %4 6.0
|
||||
%34 = OpConstantComposite %3 %30 %31 %32 %33
|
||||
%30 = OpConstant %3 2.0
|
||||
%31 = OpConstant %3 4.0
|
||||
%32 = OpConstant %3 5.0
|
||||
%33 = OpConstant %3 6.0
|
||||
%34 = OpConstantComposite %4 %30 %31 %32 %33
|
||||
%35 = OpConstant %5 8
|
||||
%36 = OpConstant %5 9
|
||||
%37 = OpConstant %5 10
|
||||
%38 = OpConstant %4 27.0
|
||||
%39 = OpConstant %4 64.0
|
||||
%40 = OpConstant %4 125.0
|
||||
%38 = OpConstant %3 27.0
|
||||
%39 = OpConstant %3 64.0
|
||||
%40 = OpConstant %3 125.0
|
||||
%41 = OpConstantComposite %6 %39 %40
|
||||
%42 = OpConstant %4 216.0
|
||||
%43 = OpConstant %4 343.0
|
||||
%44 = OpConstant %4 512.0
|
||||
%42 = OpConstant %3 216.0
|
||||
%43 = OpConstant %3 343.0
|
||||
%44 = OpConstant %3 512.0
|
||||
%45 = OpConstantComposite %7 %42 %43 %44
|
||||
%46 = OpConstant %4 729.0
|
||||
%47 = OpConstant %4 1000.0
|
||||
%48 = OpConstant %4 1331.0
|
||||
%49 = OpConstant %4 1728.0
|
||||
%50 = OpConstantComposite %3 %46 %47 %48 %49
|
||||
%51 = OpConstant %4 2197.0
|
||||
%52 = OpConstant %4 2744.0
|
||||
%46 = OpConstant %3 729.0
|
||||
%47 = OpConstant %3 1000.0
|
||||
%48 = OpConstant %3 1331.0
|
||||
%49 = OpConstant %3 1728.0
|
||||
%50 = OpConstantComposite %4 %46 %47 %48 %49
|
||||
%51 = OpConstant %3 2197.0
|
||||
%52 = OpConstant %3 2744.0
|
||||
%54 = OpTypePointer Function %8
|
||||
%55 = OpConstantNull %8
|
||||
%57 = OpTypePointer Function %3
|
||||
%57 = OpTypePointer Function %4
|
||||
%58 = OpConstant %5 0
|
||||
%60 = OpTypePointer Function %5
|
||||
%61 = OpConstant %5 1
|
||||
%63 = OpConstant %5 2
|
||||
%65 = OpConstant %5 3
|
||||
%67 = OpTypePointer Function %4
|
||||
%67 = OpTypePointer Function %3
|
||||
%68 = OpConstant %5 4
|
||||
%70 = OpTypePointer Function %6
|
||||
%71 = OpConstant %5 5
|
||||
%73 = OpTypePointer Function %7
|
||||
%74 = OpConstant %5 6
|
||||
%76 = OpConstant %5 7
|
||||
%97 = OpTypePointer Input %3
|
||||
%97 = OpTypePointer Input %4
|
||||
%96 = OpVariable %97 Input
|
||||
%100 = OpTypePointer Input %5
|
||||
%99 = OpVariable %100 Input
|
||||
%102 = OpVariable %100 Input
|
||||
%104 = OpVariable %100 Input
|
||||
%107 = OpTypePointer Input %4
|
||||
%107 = OpTypePointer Input %3
|
||||
%106 = OpVariable %107 Input
|
||||
%110 = OpTypePointer Input %6
|
||||
%109 = OpVariable %110 Input
|
||||
@ -200,11 +200,11 @@ OpStore %78 %51
|
||||
%79 = OpAccessChain %67 %53 %36
|
||||
OpStore %79 %52
|
||||
%80 = OpLoad %8 %53
|
||||
%81 = OpCompositeExtract %3 %80 0
|
||||
%81 = OpCompositeExtract %4 %80 0
|
||||
OpStore %10 %81
|
||||
%82 = OpAccessChain %26 %10 %61
|
||||
%83 = OpLoad %4 %82
|
||||
%84 = OpFNegate %4 %83
|
||||
%83 = OpLoad %3 %82
|
||||
%84 = OpFNegate %3 %83
|
||||
OpStore %82 %84
|
||||
%85 = OpCompositeExtract %5 %80 1
|
||||
OpStore %12 %85
|
||||
@ -212,32 +212,32 @@ OpStore %12 %85
|
||||
OpStore %14 %86
|
||||
%87 = OpCompositeExtract %5 %80 3
|
||||
OpStore %15 %87
|
||||
%88 = OpCompositeExtract %4 %80 4
|
||||
%88 = OpCompositeExtract %3 %80 4
|
||||
OpStore %16 %88
|
||||
%89 = OpCompositeExtract %6 %80 5
|
||||
OpStore %18 %89
|
||||
%90 = OpCompositeExtract %7 %80 6
|
||||
OpStore %20 %90
|
||||
%91 = OpCompositeExtract %3 %80 7
|
||||
%91 = OpCompositeExtract %4 %80 7
|
||||
OpStore %22 %91
|
||||
%92 = OpCompositeExtract %4 %80 8
|
||||
%92 = OpCompositeExtract %3 %80 8
|
||||
OpStore %23 %92
|
||||
%93 = OpCompositeExtract %4 %80 9
|
||||
%93 = OpCompositeExtract %3 %80 9
|
||||
OpStore %24 %93
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%121 = OpFunction %2 None %29
|
||||
%94 = OpLabel
|
||||
%98 = OpLoad %3 %96
|
||||
%98 = OpLoad %4 %96
|
||||
%101 = OpLoad %5 %99
|
||||
%103 = OpLoad %5 %102
|
||||
%105 = OpLoad %5 %104
|
||||
%108 = OpLoad %4 %106
|
||||
%108 = OpLoad %3 %106
|
||||
%111 = OpLoad %6 %109
|
||||
%114 = OpLoad %7 %112
|
||||
%116 = OpLoad %3 %115
|
||||
%118 = OpLoad %4 %117
|
||||
%120 = OpLoad %4 %119
|
||||
%116 = OpLoad %4 %115
|
||||
%118 = OpLoad %3 %117
|
||||
%120 = OpLoad %3 %119
|
||||
%95 = OpCompositeConstruct %8 %98 %101 %103 %105 %108 %111 %114 %116 %118 %120
|
||||
OpBranch %122
|
||||
%122 = OpLabel
|
||||
|
@ -87,18 +87,18 @@ OpDecorate %111 Centroid
|
||||
OpDecorate %113 Location 9
|
||||
OpDecorate %113 Sample
|
||||
%2 = OpTypeVoid
|
||||
%4 = OpTypeFloat 32
|
||||
%3 = OpTypeVector %4 4
|
||||
%3 = OpTypeFloat 32
|
||||
%4 = OpTypeVector %3 4
|
||||
%5 = OpTypeInt 32 0
|
||||
%6 = OpTypeVector %4 2
|
||||
%7 = OpTypeVector %4 3
|
||||
%8 = OpTypeStruct %3 %5 %5 %4 %6 %7 %3 %4 %4
|
||||
%11 = OpTypePointer Output %3
|
||||
%6 = OpTypeVector %3 2
|
||||
%7 = OpTypeVector %3 3
|
||||
%8 = OpTypeStruct %4 %5 %5 %3 %6 %7 %4 %3 %3
|
||||
%11 = OpTypePointer Output %4
|
||||
%10 = OpVariable %11 Output
|
||||
%13 = OpTypePointer Output %5
|
||||
%12 = OpVariable %13 Output
|
||||
%14 = OpVariable %13 Output
|
||||
%16 = OpTypePointer Output %4
|
||||
%16 = OpTypePointer Output %3
|
||||
%15 = OpVariable %16 Output
|
||||
%18 = OpTypePointer Output %6
|
||||
%17 = OpVariable %18 Output
|
||||
@ -107,40 +107,40 @@ OpDecorate %113 Sample
|
||||
%21 = OpVariable %11 Output
|
||||
%22 = OpVariable %16 Output
|
||||
%23 = OpVariable %16 Output
|
||||
%25 = OpTypePointer Output %4
|
||||
%25 = OpTypePointer Output %3
|
||||
%24 = OpVariable %25 Output
|
||||
%26 = OpConstant %4 1.0
|
||||
%26 = OpConstant %3 1.0
|
||||
%28 = OpTypeFunction %2
|
||||
%29 = OpConstant %4 2.0
|
||||
%30 = OpConstant %4 4.0
|
||||
%31 = OpConstant %4 5.0
|
||||
%32 = OpConstant %4 6.0
|
||||
%33 = OpConstantComposite %3 %29 %30 %31 %32
|
||||
%29 = OpConstant %3 2.0
|
||||
%30 = OpConstant %3 4.0
|
||||
%31 = OpConstant %3 5.0
|
||||
%32 = OpConstant %3 6.0
|
||||
%33 = OpConstantComposite %4 %29 %30 %31 %32
|
||||
%34 = OpConstant %5 8
|
||||
%35 = OpConstant %5 10
|
||||
%36 = OpConstant %4 27.0
|
||||
%37 = OpConstant %4 64.0
|
||||
%38 = OpConstant %4 125.0
|
||||
%36 = OpConstant %3 27.0
|
||||
%37 = OpConstant %3 64.0
|
||||
%38 = OpConstant %3 125.0
|
||||
%39 = OpConstantComposite %6 %37 %38
|
||||
%40 = OpConstant %4 216.0
|
||||
%41 = OpConstant %4 343.0
|
||||
%42 = OpConstant %4 512.0
|
||||
%40 = OpConstant %3 216.0
|
||||
%41 = OpConstant %3 343.0
|
||||
%42 = OpConstant %3 512.0
|
||||
%43 = OpConstantComposite %7 %40 %41 %42
|
||||
%44 = OpConstant %4 729.0
|
||||
%45 = OpConstant %4 1000.0
|
||||
%46 = OpConstant %4 1331.0
|
||||
%47 = OpConstant %4 1728.0
|
||||
%48 = OpConstantComposite %3 %44 %45 %46 %47
|
||||
%49 = OpConstant %4 2197.0
|
||||
%50 = OpConstant %4 2744.0
|
||||
%44 = OpConstant %3 729.0
|
||||
%45 = OpConstant %3 1000.0
|
||||
%46 = OpConstant %3 1331.0
|
||||
%47 = OpConstant %3 1728.0
|
||||
%48 = OpConstantComposite %4 %44 %45 %46 %47
|
||||
%49 = OpConstant %3 2197.0
|
||||
%50 = OpConstant %3 2744.0
|
||||
%52 = OpTypePointer Function %8
|
||||
%53 = OpConstantNull %8
|
||||
%55 = OpTypePointer Function %3
|
||||
%55 = OpTypePointer Function %4
|
||||
%56 = OpConstant %5 0
|
||||
%58 = OpTypePointer Function %5
|
||||
%59 = OpConstant %5 1
|
||||
%61 = OpConstant %5 2
|
||||
%63 = OpTypePointer Function %4
|
||||
%63 = OpTypePointer Function %3
|
||||
%64 = OpConstant %5 3
|
||||
%66 = OpTypePointer Function %6
|
||||
%67 = OpConstant %5 4
|
||||
@ -148,12 +148,12 @@ OpDecorate %113 Sample
|
||||
%70 = OpConstant %5 5
|
||||
%72 = OpConstant %5 6
|
||||
%74 = OpConstant %5 7
|
||||
%93 = OpTypePointer Input %3
|
||||
%93 = OpTypePointer Input %4
|
||||
%92 = OpVariable %93 Input
|
||||
%96 = OpTypePointer Input %5
|
||||
%95 = OpVariable %96 Input
|
||||
%98 = OpVariable %96 Input
|
||||
%101 = OpTypePointer Input %4
|
||||
%101 = OpTypePointer Input %3
|
||||
%100 = OpVariable %101 Input
|
||||
%104 = OpTypePointer Input %6
|
||||
%103 = OpVariable %104 Input
|
||||
@ -187,41 +187,41 @@ OpStore %75 %49
|
||||
%76 = OpAccessChain %63 %51 %34
|
||||
OpStore %76 %50
|
||||
%77 = OpLoad %8 %51
|
||||
%78 = OpCompositeExtract %3 %77 0
|
||||
%78 = OpCompositeExtract %4 %77 0
|
||||
OpStore %10 %78
|
||||
%79 = OpAccessChain %25 %10 %59
|
||||
%80 = OpLoad %4 %79
|
||||
%81 = OpFNegate %4 %80
|
||||
%80 = OpLoad %3 %79
|
||||
%81 = OpFNegate %3 %80
|
||||
OpStore %79 %81
|
||||
%82 = OpCompositeExtract %5 %77 1
|
||||
OpStore %12 %82
|
||||
%83 = OpCompositeExtract %5 %77 2
|
||||
OpStore %14 %83
|
||||
%84 = OpCompositeExtract %4 %77 3
|
||||
%84 = OpCompositeExtract %3 %77 3
|
||||
OpStore %15 %84
|
||||
%85 = OpCompositeExtract %6 %77 4
|
||||
OpStore %17 %85
|
||||
%86 = OpCompositeExtract %7 %77 5
|
||||
OpStore %19 %86
|
||||
%87 = OpCompositeExtract %3 %77 6
|
||||
%87 = OpCompositeExtract %4 %77 6
|
||||
OpStore %21 %87
|
||||
%88 = OpCompositeExtract %4 %77 7
|
||||
%88 = OpCompositeExtract %3 %77 7
|
||||
OpStore %22 %88
|
||||
%89 = OpCompositeExtract %4 %77 8
|
||||
%89 = OpCompositeExtract %3 %77 8
|
||||
OpStore %23 %89
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%115 = OpFunction %2 None %28
|
||||
%90 = OpLabel
|
||||
%94 = OpLoad %3 %92
|
||||
%94 = OpLoad %4 %92
|
||||
%97 = OpLoad %5 %95
|
||||
%99 = OpLoad %5 %98
|
||||
%102 = OpLoad %4 %100
|
||||
%102 = OpLoad %3 %100
|
||||
%105 = OpLoad %6 %103
|
||||
%108 = OpLoad %7 %106
|
||||
%110 = OpLoad %3 %109
|
||||
%112 = OpLoad %4 %111
|
||||
%114 = OpLoad %4 %113
|
||||
%110 = OpLoad %4 %109
|
||||
%112 = OpLoad %3 %111
|
||||
%114 = OpLoad %3 %113
|
||||
%91 = OpCompositeConstruct %8 %94 %97 %99 %102 %105 %108 %110 %112 %114
|
||||
OpBranch %116
|
||||
%116 = OpLabel
|
||||
|
@ -18,27 +18,27 @@ OpMemberDecorate %14 1 Offset 4
|
||||
OpMemberDecorate %15 0 Offset 0
|
||||
OpMemberDecorate %15 1 Offset 16
|
||||
%2 = OpTypeVoid
|
||||
%4 = OpTypeFloat 32
|
||||
%3 = OpTypeVector %4 4
|
||||
%3 = OpTypeFloat 32
|
||||
%4 = OpTypeVector %3 4
|
||||
%6 = OpTypeInt 32 1
|
||||
%5 = OpTypeVector %6 4
|
||||
%7 = OpTypeVector %6 2
|
||||
%9 = OpTypeInt 32 0
|
||||
%8 = OpTypeVector %9 2
|
||||
%10 = OpTypeVector %4 2
|
||||
%11 = OpTypeStruct %4 %4
|
||||
%10 = OpTypeVector %3 2
|
||||
%11 = OpTypeStruct %3 %3
|
||||
%12 = OpTypeStruct %10 %10
|
||||
%13 = OpTypeStruct %3 %3
|
||||
%14 = OpTypeStruct %4 %6
|
||||
%15 = OpTypeStruct %3 %5
|
||||
%13 = OpTypeStruct %4 %4
|
||||
%14 = OpTypeStruct %3 %6
|
||||
%15 = OpTypeStruct %4 %5
|
||||
%18 = OpTypeFunction %2
|
||||
%19 = OpConstant %4 1.0
|
||||
%20 = OpConstant %4 0.0
|
||||
%21 = OpConstantComposite %3 %20 %20 %20 %20
|
||||
%19 = OpConstant %3 1.0
|
||||
%20 = OpConstant %3 0.0
|
||||
%21 = OpConstantComposite %4 %20 %20 %20 %20
|
||||
%22 = OpConstant %6 -1
|
||||
%23 = OpConstantComposite %5 %22 %22 %22 %22
|
||||
%24 = OpConstant %4 -1.0
|
||||
%25 = OpConstantComposite %3 %24 %24 %24 %24
|
||||
%24 = OpConstant %3 -1.0
|
||||
%25 = OpConstantComposite %4 %24 %24 %24 %24
|
||||
%26 = OpConstantNull %7
|
||||
%27 = OpConstant %9 4294967295
|
||||
%28 = OpConstantComposite %7 %22 %22
|
||||
@ -53,26 +53,26 @@ OpMemberDecorate %15 1 Offset 16
|
||||
%37 = OpConstant %9 31
|
||||
%38 = OpConstantComposite %8 %37 %37
|
||||
%39 = OpConstant %6 2
|
||||
%40 = OpConstant %4 2.0
|
||||
%40 = OpConstant %3 2.0
|
||||
%41 = OpConstantComposite %10 %19 %40
|
||||
%42 = OpConstant %6 3
|
||||
%43 = OpConstant %6 4
|
||||
%44 = OpConstantComposite %7 %42 %43
|
||||
%45 = OpConstant %4 1.5
|
||||
%45 = OpConstant %3 1.5
|
||||
%46 = OpConstantComposite %10 %45 %45
|
||||
%47 = OpConstantComposite %3 %45 %45 %45 %45
|
||||
%54 = OpConstantComposite %3 %19 %19 %19 %19
|
||||
%47 = OpConstantComposite %4 %45 %45 %45 %45
|
||||
%54 = OpConstantComposite %4 %19 %19 %19 %19
|
||||
%57 = OpConstantNull %6
|
||||
%17 = OpFunction %2 None %18
|
||||
%16 = OpLabel
|
||||
OpBranch %48
|
||||
%48 = OpLabel
|
||||
%49 = OpExtInst %4 %1 Degrees %19
|
||||
%50 = OpExtInst %4 %1 Radians %19
|
||||
%51 = OpExtInst %3 %1 Degrees %21
|
||||
%52 = OpExtInst %3 %1 Radians %21
|
||||
%53 = OpExtInst %3 %1 FClamp %21 %21 %54
|
||||
%55 = OpExtInst %3 %1 Refract %21 %21 %19
|
||||
%49 = OpExtInst %3 %1 Degrees %19
|
||||
%50 = OpExtInst %3 %1 Radians %19
|
||||
%51 = OpExtInst %4 %1 Degrees %21
|
||||
%52 = OpExtInst %4 %1 Radians %21
|
||||
%53 = OpExtInst %4 %1 FClamp %21 %21 %54
|
||||
%55 = OpExtInst %4 %1 Refract %21 %21 %19
|
||||
%58 = OpCompositeExtract %6 %26 0
|
||||
%59 = OpCompositeExtract %6 %26 0
|
||||
%60 = OpIMul %6 %58 %59
|
||||
@ -81,23 +81,23 @@ OpBranch %48
|
||||
%63 = OpCompositeExtract %6 %26 1
|
||||
%64 = OpIMul %6 %62 %63
|
||||
%56 = OpIAdd %6 %61 %64
|
||||
%65 = OpExtInst %4 %1 Ldexp %19 %39
|
||||
%65 = OpExtInst %3 %1 Ldexp %19 %39
|
||||
%66 = OpExtInst %10 %1 Ldexp %41 %44
|
||||
%67 = OpExtInst %11 %1 ModfStruct %45
|
||||
%68 = OpExtInst %11 %1 ModfStruct %45
|
||||
%69 = OpCompositeExtract %4 %68 0
|
||||
%69 = OpCompositeExtract %3 %68 0
|
||||
%70 = OpExtInst %11 %1 ModfStruct %45
|
||||
%71 = OpCompositeExtract %4 %70 1
|
||||
%71 = OpCompositeExtract %3 %70 1
|
||||
%72 = OpExtInst %12 %1 ModfStruct %46
|
||||
%73 = OpExtInst %13 %1 ModfStruct %47
|
||||
%74 = OpCompositeExtract %3 %73 1
|
||||
%75 = OpCompositeExtract %4 %74 0
|
||||
%74 = OpCompositeExtract %4 %73 1
|
||||
%75 = OpCompositeExtract %3 %74 0
|
||||
%76 = OpExtInst %12 %1 ModfStruct %46
|
||||
%77 = OpCompositeExtract %10 %76 0
|
||||
%78 = OpCompositeExtract %4 %77 1
|
||||
%78 = OpCompositeExtract %3 %77 1
|
||||
%79 = OpExtInst %14 %1 FrexpStruct %45
|
||||
%80 = OpExtInst %14 %1 FrexpStruct %45
|
||||
%81 = OpCompositeExtract %4 %80 0
|
||||
%81 = OpCompositeExtract %3 %80 0
|
||||
%82 = OpExtInst %14 %1 FrexpStruct %45
|
||||
%83 = OpCompositeExtract %6 %82 1
|
||||
%84 = OpExtInst %15 %1 FrexpStruct %47
|
||||
|
@ -9,47 +9,47 @@ OpEntryPoint GLCompute %374 "main" %371
|
||||
OpExecutionMode %374 LocalSize 1 1 1
|
||||
OpDecorate %371 BuiltIn WorkgroupId
|
||||
%2 = OpTypeVoid
|
||||
%4 = OpTypeFloat 32
|
||||
%3 = OpTypeVector %4 4
|
||||
%6 = OpTypeInt 32 1
|
||||
%5 = OpTypeVector %6 4
|
||||
%3 = OpTypeFloat 32
|
||||
%4 = OpTypeVector %3 4
|
||||
%5 = OpTypeInt 32 1
|
||||
%6 = OpTypeVector %5 4
|
||||
%8 = OpTypeBool
|
||||
%7 = OpTypeVector %8 4
|
||||
%9 = OpTypeVector %4 2
|
||||
%10 = OpTypeVector %4 3
|
||||
%9 = OpTypeVector %3 2
|
||||
%10 = OpTypeVector %3 3
|
||||
%11 = OpTypeMatrix %10 3
|
||||
%12 = OpTypeMatrix %10 4
|
||||
%13 = OpTypeMatrix %3 3
|
||||
%14 = OpTypeVector %6 3
|
||||
%13 = OpTypeMatrix %4 3
|
||||
%14 = OpTypeVector %5 3
|
||||
%16 = OpTypeInt 32 0
|
||||
%15 = OpTypeVector %16 3
|
||||
%17 = OpConstant %4 1.0
|
||||
%18 = OpConstantComposite %3 %17 %17 %17 %17
|
||||
%19 = OpConstant %4 0.0
|
||||
%20 = OpConstantComposite %3 %19 %19 %19 %19
|
||||
%21 = OpConstant %4 0.5
|
||||
%22 = OpConstantComposite %3 %21 %21 %21 %21
|
||||
%23 = OpConstant %6 1
|
||||
%24 = OpConstantComposite %5 %23 %23 %23 %23
|
||||
%27 = OpTypeFunction %3
|
||||
%17 = OpConstant %3 1.0
|
||||
%18 = OpConstantComposite %4 %17 %17 %17 %17
|
||||
%19 = OpConstant %3 0.0
|
||||
%20 = OpConstantComposite %4 %19 %19 %19 %19
|
||||
%21 = OpConstant %3 0.5
|
||||
%22 = OpConstantComposite %4 %21 %21 %21 %21
|
||||
%23 = OpConstant %5 1
|
||||
%24 = OpConstantComposite %6 %23 %23 %23 %23
|
||||
%27 = OpTypeFunction %4
|
||||
%28 = OpConstantTrue %8
|
||||
%29 = OpConstant %6 0
|
||||
%29 = OpConstant %5 0
|
||||
%30 = OpConstantFalse %8
|
||||
%31 = OpConstantComposite %7 %30 %30 %30 %30
|
||||
%32 = OpConstant %4 0.1
|
||||
%33 = OpConstantComposite %5 %29 %29 %29 %29
|
||||
%57 = OpTypeFunction %3 %4 %6
|
||||
%58 = OpConstant %4 2.0
|
||||
%32 = OpConstant %3 0.1
|
||||
%33 = OpConstantComposite %6 %29 %29 %29 %29
|
||||
%57 = OpTypeFunction %4 %3 %5
|
||||
%58 = OpConstant %3 2.0
|
||||
%59 = OpConstantComposite %9 %58 %58
|
||||
%60 = OpConstant %4 4.0
|
||||
%60 = OpConstant %3 4.0
|
||||
%61 = OpConstantComposite %9 %60 %60
|
||||
%62 = OpConstant %4 8.0
|
||||
%62 = OpConstant %3 8.0
|
||||
%63 = OpConstantComposite %9 %62 %62
|
||||
%64 = OpConstant %6 2
|
||||
%65 = OpConstantComposite %5 %64 %64 %64 %64
|
||||
%64 = OpConstant %5 2
|
||||
%65 = OpConstantComposite %6 %64 %64 %64 %64
|
||||
%78 = OpTypeFunction %9
|
||||
%79 = OpConstantComposite %9 %17 %17
|
||||
%80 = OpConstant %4 3.0
|
||||
%80 = OpConstant %3 3.0
|
||||
%81 = OpConstantComposite %9 %80 %80
|
||||
%83 = OpTypePointer Function %9
|
||||
%95 = OpTypeFunction %10 %10
|
||||
@ -65,13 +65,13 @@ OpDecorate %371 BuiltIn WorkgroupId
|
||||
%110 = OpConstantComposite %7 %30 %30 %30 %30
|
||||
%122 = OpConstant %16 1
|
||||
%123 = OpConstant %16 2
|
||||
%124 = OpTypeVector %6 2
|
||||
%124 = OpTypeVector %5 2
|
||||
%125 = OpConstantComposite %124 %23 %23
|
||||
%126 = OpConstantComposite %124 %64 %64
|
||||
%127 = OpConstantComposite %15 %123 %123 %123
|
||||
%128 = OpConstantComposite %15 %122 %122 %122
|
||||
%129 = OpConstantComposite %3 %58 %58 %58 %58
|
||||
%130 = OpConstantComposite %3 %17 %17 %17 %17
|
||||
%129 = OpConstantComposite %4 %58 %58 %58 %58
|
||||
%130 = OpConstantComposite %4 %17 %17 %17 %17
|
||||
%131 = OpTypeVector %16 2
|
||||
%132 = OpConstantComposite %131 %123 %123
|
||||
%133 = OpConstantComposite %131 %122 %122
|
||||
@ -80,40 +80,40 @@ OpDecorate %371 BuiltIn WorkgroupId
|
||||
%136 = OpConstantComposite %10 %58 %58 %58
|
||||
%137 = OpConstantNull %13
|
||||
%301 = OpConstantNull %14
|
||||
%303 = OpTypePointer Function %6
|
||||
%304 = OpConstantNull %6
|
||||
%303 = OpTypePointer Function %5
|
||||
%304 = OpConstantNull %5
|
||||
%306 = OpTypePointer Function %14
|
||||
%334 = OpTypePointer Function %6
|
||||
%334 = OpTypePointer Function %5
|
||||
%372 = OpTypePointer Input %15
|
||||
%371 = OpVariable %372 Input
|
||||
%375 = OpConstantComposite %10 %17 %17 %17
|
||||
%26 = OpFunction %3 None %27
|
||||
%26 = OpFunction %4 None %27
|
||||
%25 = OpLabel
|
||||
OpBranch %34
|
||||
%34 = OpLabel
|
||||
%35 = OpSelect %6 %28 %23 %29
|
||||
%35 = OpSelect %5 %28 %23 %29
|
||||
%37 = OpCompositeConstruct %7 %28 %28 %28 %28
|
||||
%36 = OpSelect %3 %37 %18 %20
|
||||
%38 = OpSelect %3 %31 %20 %18
|
||||
%39 = OpExtInst %3 %1 FMix %20 %18 %22
|
||||
%41 = OpCompositeConstruct %3 %32 %32 %32 %32
|
||||
%40 = OpExtInst %3 %1 FMix %20 %18 %41
|
||||
%42 = OpBitcast %4 %23
|
||||
%43 = OpBitcast %3 %24
|
||||
%44 = OpCompositeConstruct %5 %35 %35 %35 %35
|
||||
%45 = OpIAdd %5 %44 %33
|
||||
%46 = OpConvertSToF %3 %45
|
||||
%47 = OpFAdd %3 %46 %36
|
||||
%48 = OpFAdd %3 %47 %39
|
||||
%49 = OpFAdd %3 %48 %40
|
||||
%50 = OpCompositeConstruct %3 %42 %42 %42 %42
|
||||
%51 = OpFAdd %3 %49 %50
|
||||
%52 = OpFAdd %3 %51 %43
|
||||
%36 = OpSelect %4 %37 %18 %20
|
||||
%38 = OpSelect %4 %31 %20 %18
|
||||
%39 = OpExtInst %4 %1 FMix %20 %18 %22
|
||||
%41 = OpCompositeConstruct %4 %32 %32 %32 %32
|
||||
%40 = OpExtInst %4 %1 FMix %20 %18 %41
|
||||
%42 = OpBitcast %3 %23
|
||||
%43 = OpBitcast %4 %24
|
||||
%44 = OpCompositeConstruct %6 %35 %35 %35 %35
|
||||
%45 = OpIAdd %6 %44 %33
|
||||
%46 = OpConvertSToF %4 %45
|
||||
%47 = OpFAdd %4 %46 %36
|
||||
%48 = OpFAdd %4 %47 %39
|
||||
%49 = OpFAdd %4 %48 %40
|
||||
%50 = OpCompositeConstruct %4 %42 %42 %42 %42
|
||||
%51 = OpFAdd %4 %49 %50
|
||||
%52 = OpFAdd %4 %51 %43
|
||||
OpReturnValue %52
|
||||
OpFunctionEnd
|
||||
%56 = OpFunction %3 None %57
|
||||
%54 = OpFunctionParameter %4
|
||||
%55 = OpFunctionParameter %6
|
||||
%56 = OpFunction %4 None %57
|
||||
%54 = OpFunctionParameter %3
|
||||
%55 = OpFunctionParameter %5
|
||||
%53 = OpLabel
|
||||
OpBranch %66
|
||||
%66 = OpLabel
|
||||
@ -121,11 +121,11 @@ OpBranch %66
|
||||
%68 = OpFAdd %9 %59 %67
|
||||
%69 = OpFSub %9 %68 %61
|
||||
%70 = OpFDiv %9 %69 %63
|
||||
%71 = OpCompositeConstruct %5 %55 %55 %55 %55
|
||||
%72 = OpSRem %5 %71 %65
|
||||
%73 = OpVectorShuffle %3 %70 %70 0 1 0 1
|
||||
%74 = OpConvertSToF %3 %72
|
||||
%75 = OpFAdd %3 %73 %74
|
||||
%71 = OpCompositeConstruct %6 %55 %55 %55 %55
|
||||
%72 = OpSRem %6 %71 %65
|
||||
%73 = OpVectorShuffle %4 %70 %70 0 1 0 1
|
||||
%74 = OpConvertSToF %4 %72
|
||||
%75 = OpFAdd %4 %73 %74
|
||||
OpReturnValue %75
|
||||
OpFunctionEnd
|
||||
%77 = OpFunction %9 None %78
|
||||
@ -172,39 +172,39 @@ OpFunctionEnd
|
||||
%120 = OpLabel
|
||||
OpBranch %138
|
||||
%138 = OpLabel
|
||||
%139 = OpFNegate %4 %17
|
||||
%139 = OpFNegate %3 %17
|
||||
%140 = OpSNegate %124 %125
|
||||
%141 = OpFNegate %9 %79
|
||||
%142 = OpIAdd %6 %64 %23
|
||||
%142 = OpIAdd %5 %64 %23
|
||||
%143 = OpIAdd %16 %123 %122
|
||||
%144 = OpFAdd %4 %58 %17
|
||||
%144 = OpFAdd %3 %58 %17
|
||||
%145 = OpIAdd %124 %126 %125
|
||||
%146 = OpIAdd %15 %127 %128
|
||||
%147 = OpFAdd %3 %129 %130
|
||||
%148 = OpISub %6 %64 %23
|
||||
%147 = OpFAdd %4 %129 %130
|
||||
%148 = OpISub %5 %64 %23
|
||||
%149 = OpISub %16 %123 %122
|
||||
%150 = OpFSub %4 %58 %17
|
||||
%150 = OpFSub %3 %58 %17
|
||||
%151 = OpISub %124 %126 %125
|
||||
%152 = OpISub %15 %127 %128
|
||||
%153 = OpFSub %3 %129 %130
|
||||
%154 = OpIMul %6 %64 %23
|
||||
%153 = OpFSub %4 %129 %130
|
||||
%154 = OpIMul %5 %64 %23
|
||||
%155 = OpIMul %16 %123 %122
|
||||
%156 = OpFMul %4 %58 %17
|
||||
%156 = OpFMul %3 %58 %17
|
||||
%157 = OpIMul %124 %126 %125
|
||||
%158 = OpIMul %15 %127 %128
|
||||
%159 = OpFMul %3 %129 %130
|
||||
%160 = OpSDiv %6 %64 %23
|
||||
%159 = OpFMul %4 %129 %130
|
||||
%160 = OpSDiv %5 %64 %23
|
||||
%161 = OpUDiv %16 %123 %122
|
||||
%162 = OpFDiv %4 %58 %17
|
||||
%162 = OpFDiv %3 %58 %17
|
||||
%163 = OpSDiv %124 %126 %125
|
||||
%164 = OpUDiv %15 %127 %128
|
||||
%165 = OpFDiv %3 %129 %130
|
||||
%166 = OpSRem %6 %64 %23
|
||||
%165 = OpFDiv %4 %129 %130
|
||||
%166 = OpSRem %5 %64 %23
|
||||
%167 = OpUMod %16 %123 %122
|
||||
%168 = OpFRem %4 %58 %17
|
||||
%168 = OpFRem %3 %58 %17
|
||||
%169 = OpSRem %124 %126 %125
|
||||
%170 = OpUMod %15 %127 %128
|
||||
%171 = OpFRem %3 %129 %130
|
||||
%171 = OpFRem %4 %129 %130
|
||||
OpBranch %172
|
||||
%172 = OpLabel
|
||||
%174 = OpIAdd %124 %126 %125
|
||||
@ -266,7 +266,7 @@ OpBranch %173
|
||||
%228 = OpMatrixTimesScalar %11 %134 %17
|
||||
%229 = OpMatrixTimesScalar %11 %134 %58
|
||||
%230 = OpMatrixTimesVector %10 %135 %130
|
||||
%231 = OpVectorTimesMatrix %3 %136 %135
|
||||
%231 = OpVectorTimesMatrix %4 %136 %135
|
||||
%232 = OpMatrixTimesMatrix %11 %135 %137
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
@ -274,27 +274,27 @@ OpFunctionEnd
|
||||
%233 = OpLabel
|
||||
OpBranch %235
|
||||
%235 = OpLabel
|
||||
%236 = OpNot %6 %23
|
||||
%236 = OpNot %5 %23
|
||||
%237 = OpNot %16 %122
|
||||
%238 = OpNot %124 %125
|
||||
%239 = OpNot %15 %128
|
||||
%240 = OpBitwiseOr %6 %64 %23
|
||||
%240 = OpBitwiseOr %5 %64 %23
|
||||
%241 = OpBitwiseOr %16 %123 %122
|
||||
%242 = OpBitwiseOr %124 %126 %125
|
||||
%243 = OpBitwiseOr %15 %127 %128
|
||||
%244 = OpBitwiseAnd %6 %64 %23
|
||||
%244 = OpBitwiseAnd %5 %64 %23
|
||||
%245 = OpBitwiseAnd %16 %123 %122
|
||||
%246 = OpBitwiseAnd %124 %126 %125
|
||||
%247 = OpBitwiseAnd %15 %127 %128
|
||||
%248 = OpBitwiseXor %6 %64 %23
|
||||
%248 = OpBitwiseXor %5 %64 %23
|
||||
%249 = OpBitwiseXor %16 %123 %122
|
||||
%250 = OpBitwiseXor %124 %126 %125
|
||||
%251 = OpBitwiseXor %15 %127 %128
|
||||
%252 = OpShiftLeftLogical %6 %64 %122
|
||||
%252 = OpShiftLeftLogical %5 %64 %122
|
||||
%253 = OpShiftLeftLogical %16 %123 %122
|
||||
%254 = OpShiftLeftLogical %124 %126 %133
|
||||
%255 = OpShiftLeftLogical %15 %127 %128
|
||||
%256 = OpShiftRightArithmetic %6 %64 %122
|
||||
%256 = OpShiftRightArithmetic %5 %64 %122
|
||||
%257 = OpShiftRightLogical %16 %123 %122
|
||||
%258 = OpShiftRightArithmetic %124 %126 %133
|
||||
%259 = OpShiftRightLogical %15 %127 %128
|
||||
@ -349,52 +349,52 @@ OpFunctionEnd
|
||||
OpBranch %307
|
||||
%307 = OpLabel
|
||||
OpStore %302 %23
|
||||
%308 = OpLoad %6 %302
|
||||
%309 = OpIAdd %6 %308 %23
|
||||
%308 = OpLoad %5 %302
|
||||
%309 = OpIAdd %5 %308 %23
|
||||
OpStore %302 %309
|
||||
%310 = OpLoad %6 %302
|
||||
%311 = OpISub %6 %310 %23
|
||||
%310 = OpLoad %5 %302
|
||||
%311 = OpISub %5 %310 %23
|
||||
OpStore %302 %311
|
||||
%312 = OpLoad %6 %302
|
||||
%313 = OpLoad %6 %302
|
||||
%314 = OpIMul %6 %313 %312
|
||||
%312 = OpLoad %5 %302
|
||||
%313 = OpLoad %5 %302
|
||||
%314 = OpIMul %5 %313 %312
|
||||
OpStore %302 %314
|
||||
%315 = OpLoad %6 %302
|
||||
%316 = OpLoad %6 %302
|
||||
%317 = OpSDiv %6 %316 %315
|
||||
%315 = OpLoad %5 %302
|
||||
%316 = OpLoad %5 %302
|
||||
%317 = OpSDiv %5 %316 %315
|
||||
OpStore %302 %317
|
||||
%318 = OpLoad %6 %302
|
||||
%319 = OpSRem %6 %318 %23
|
||||
%318 = OpLoad %5 %302
|
||||
%319 = OpSRem %5 %318 %23
|
||||
OpStore %302 %319
|
||||
%320 = OpLoad %6 %302
|
||||
%321 = OpBitwiseAnd %6 %320 %29
|
||||
%320 = OpLoad %5 %302
|
||||
%321 = OpBitwiseAnd %5 %320 %29
|
||||
OpStore %302 %321
|
||||
%322 = OpLoad %6 %302
|
||||
%323 = OpBitwiseOr %6 %322 %29
|
||||
%322 = OpLoad %5 %302
|
||||
%323 = OpBitwiseOr %5 %322 %29
|
||||
OpStore %302 %323
|
||||
%324 = OpLoad %6 %302
|
||||
%325 = OpBitwiseXor %6 %324 %29
|
||||
%324 = OpLoad %5 %302
|
||||
%325 = OpBitwiseXor %5 %324 %29
|
||||
OpStore %302 %325
|
||||
%326 = OpLoad %6 %302
|
||||
%327 = OpShiftLeftLogical %6 %326 %123
|
||||
%326 = OpLoad %5 %302
|
||||
%327 = OpShiftLeftLogical %5 %326 %123
|
||||
OpStore %302 %327
|
||||
%328 = OpLoad %6 %302
|
||||
%329 = OpShiftRightArithmetic %6 %328 %122
|
||||
%328 = OpLoad %5 %302
|
||||
%329 = OpShiftRightArithmetic %5 %328 %122
|
||||
OpStore %302 %329
|
||||
%330 = OpLoad %6 %302
|
||||
%331 = OpIAdd %6 %330 %23
|
||||
%330 = OpLoad %5 %302
|
||||
%331 = OpIAdd %5 %330 %23
|
||||
OpStore %302 %331
|
||||
%332 = OpLoad %6 %302
|
||||
%333 = OpISub %6 %332 %23
|
||||
%332 = OpLoad %5 %302
|
||||
%333 = OpISub %5 %332 %23
|
||||
OpStore %302 %333
|
||||
%335 = OpAccessChain %334 %305 %23
|
||||
%336 = OpLoad %6 %335
|
||||
%337 = OpIAdd %6 %336 %23
|
||||
%336 = OpLoad %5 %335
|
||||
%337 = OpIAdd %5 %336 %23
|
||||
%338 = OpAccessChain %334 %305 %23
|
||||
OpStore %338 %337
|
||||
%339 = OpAccessChain %334 %305 %23
|
||||
%340 = OpLoad %6 %339
|
||||
%341 = OpISub %6 %340 %23
|
||||
%340 = OpLoad %5 %339
|
||||
%341 = OpISub %5 %340 %23
|
||||
%342 = OpAccessChain %334 %305 %23
|
||||
OpStore %342 %341
|
||||
OpReturn
|
||||
@ -403,30 +403,30 @@ OpFunctionEnd
|
||||
%343 = OpLabel
|
||||
OpBranch %345
|
||||
%345 = OpLabel
|
||||
%346 = OpSNegate %6 %23
|
||||
%347 = OpSNegate %6 %23
|
||||
%348 = OpSNegate %6 %347
|
||||
%349 = OpSNegate %6 %23
|
||||
%350 = OpSNegate %6 %349
|
||||
%351 = OpSNegate %6 %23
|
||||
%352 = OpSNegate %6 %351
|
||||
%353 = OpSNegate %6 %23
|
||||
%354 = OpSNegate %6 %353
|
||||
%355 = OpSNegate %6 %354
|
||||
%356 = OpSNegate %6 %23
|
||||
%357 = OpSNegate %6 %356
|
||||
%358 = OpSNegate %6 %357
|
||||
%359 = OpSNegate %6 %358
|
||||
%360 = OpSNegate %6 %23
|
||||
%361 = OpSNegate %6 %360
|
||||
%362 = OpSNegate %6 %361
|
||||
%363 = OpSNegate %6 %362
|
||||
%364 = OpSNegate %6 %363
|
||||
%365 = OpSNegate %6 %23
|
||||
%366 = OpSNegate %6 %365
|
||||
%367 = OpSNegate %6 %366
|
||||
%368 = OpSNegate %6 %367
|
||||
%369 = OpSNegate %6 %368
|
||||
%346 = OpSNegate %5 %23
|
||||
%347 = OpSNegate %5 %23
|
||||
%348 = OpSNegate %5 %347
|
||||
%349 = OpSNegate %5 %23
|
||||
%350 = OpSNegate %5 %349
|
||||
%351 = OpSNegate %5 %23
|
||||
%352 = OpSNegate %5 %351
|
||||
%353 = OpSNegate %5 %23
|
||||
%354 = OpSNegate %5 %353
|
||||
%355 = OpSNegate %5 %354
|
||||
%356 = OpSNegate %5 %23
|
||||
%357 = OpSNegate %5 %356
|
||||
%358 = OpSNegate %5 %357
|
||||
%359 = OpSNegate %5 %358
|
||||
%360 = OpSNegate %5 %23
|
||||
%361 = OpSNegate %5 %360
|
||||
%362 = OpSNegate %5 %361
|
||||
%363 = OpSNegate %5 %362
|
||||
%364 = OpSNegate %5 %363
|
||||
%365 = OpSNegate %5 %23
|
||||
%366 = OpSNegate %5 %365
|
||||
%367 = OpSNegate %5 %366
|
||||
%368 = OpSNegate %5 %367
|
||||
%369 = OpSNegate %5 %368
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%374 = OpFunction %2 None %104
|
||||
@ -434,12 +434,12 @@ OpFunctionEnd
|
||||
%373 = OpLoad %15 %371
|
||||
OpBranch %376
|
||||
%376 = OpLabel
|
||||
%377 = OpFunctionCall %3 %26
|
||||
%377 = OpFunctionCall %4 %26
|
||||
%378 = OpCompositeExtract %16 %373 0
|
||||
%379 = OpConvertUToF %4 %378
|
||||
%379 = OpConvertUToF %3 %378
|
||||
%380 = OpCompositeExtract %16 %373 1
|
||||
%381 = OpBitcast %6 %380
|
||||
%382 = OpFunctionCall %3 %56 %379 %381
|
||||
%381 = OpBitcast %5 %380
|
||||
%382 = OpFunctionCall %4 %56 %379 %381
|
||||
%383 = OpFunctionCall %10 %94 %375
|
||||
%384 = OpFunctionCall %2 %103
|
||||
%385 = OpFunctionCall %2 %121
|
||||
|
@ -45,17 +45,17 @@ OpDecorate %21 Block
|
||||
OpMemberDecorate %21 0 Offset 0
|
||||
OpDecorate %24 BuiltIn Position
|
||||
%2 = OpTypeVoid
|
||||
%4 = OpTypeFloat 32
|
||||
%3 = OpTypeVector %4 3
|
||||
%5 = OpTypeStruct %3
|
||||
%6 = OpTypeStruct %5 %4
|
||||
%3 = OpTypeFloat 32
|
||||
%4 = OpTypeVector %3 3
|
||||
%5 = OpTypeStruct %4
|
||||
%6 = OpTypeStruct %5 %3
|
||||
%9 = OpTypeInt 32 0
|
||||
%8 = OpConstant %9 2
|
||||
%7 = OpTypeArray %3 %8
|
||||
%10 = OpTypeStruct %7 %4
|
||||
%11 = OpTypeMatrix %3 4
|
||||
%12 = OpTypeStruct %11 %4
|
||||
%13 = OpTypeVector %4 4
|
||||
%7 = OpTypeArray %4 %8
|
||||
%10 = OpTypeStruct %7 %3
|
||||
%11 = OpTypeMatrix %4 4
|
||||
%12 = OpTypeStruct %11 %3
|
||||
%13 = OpTypeVector %3 4
|
||||
%15 = OpTypeStruct %6
|
||||
%16 = OpTypePointer Uniform %15
|
||||
%14 = OpVariable %16 Uniform
|
||||
@ -72,9 +72,9 @@ OpDecorate %24 BuiltIn Position
|
||||
%29 = OpConstant %9 0
|
||||
%31 = OpTypePointer Uniform %10
|
||||
%33 = OpTypePointer Uniform %12
|
||||
%35 = OpConstant %4 1.0
|
||||
%35 = OpConstant %3 1.0
|
||||
%36 = OpConstantComposite %13 %35 %35 %35 %35
|
||||
%38 = OpTypePointer Uniform %4
|
||||
%38 = OpTypePointer Uniform %3
|
||||
%39 = OpConstant %9 1
|
||||
%26 = OpFunction %2 None %27
|
||||
%23 = OpLabel
|
||||
@ -84,13 +84,13 @@ OpDecorate %24 BuiltIn Position
|
||||
OpBranch %37
|
||||
%37 = OpLabel
|
||||
%40 = OpAccessChain %38 %30 %39
|
||||
%41 = OpLoad %4 %40
|
||||
%41 = OpLoad %3 %40
|
||||
%42 = OpVectorTimesScalar %13 %36 %41
|
||||
%43 = OpAccessChain %38 %32 %39
|
||||
%44 = OpLoad %4 %43
|
||||
%44 = OpLoad %3 %43
|
||||
%45 = OpVectorTimesScalar %13 %42 %44
|
||||
%46 = OpAccessChain %38 %34 %39
|
||||
%47 = OpLoad %4 %46
|
||||
%47 = OpLoad %3 %46
|
||||
%48 = OpVectorTimesScalar %13 %45 %47
|
||||
OpStore %24 %48
|
||||
OpReturn
|
||||
|
@ -24,20 +24,20 @@ OpDecorate %7 Block
|
||||
OpDecorate %8 DescriptorSet 0
|
||||
OpDecorate %8 Binding 0
|
||||
%2 = OpTypeVoid
|
||||
%4 = OpTypeInt 32 1
|
||||
%3 = OpTypeVector %4 2
|
||||
%3 = OpTypeInt 32 1
|
||||
%4 = OpTypeVector %3 2
|
||||
%5 = OpTypeInt 32 0
|
||||
%6 = OpTypeRuntimeArray %5
|
||||
%7 = OpTypeStruct %6
|
||||
%9 = OpTypePointer StorageBuffer %7
|
||||
%8 = OpVariable %9 StorageBuffer
|
||||
%12 = OpTypeFunction %2
|
||||
%13 = OpConstant %4 10
|
||||
%15 = OpTypePointer Function %3
|
||||
%16 = OpConstantNull %3
|
||||
%18 = OpTypePointer Function %4
|
||||
%13 = OpConstant %3 10
|
||||
%15 = OpTypePointer Function %4
|
||||
%16 = OpConstantNull %4
|
||||
%18 = OpTypePointer Function %3
|
||||
%19 = OpConstant %5 0
|
||||
%25 = OpTypeFunction %2 %4 %5
|
||||
%25 = OpTypeFunction %2 %3 %5
|
||||
%27 = OpTypePointer StorageBuffer %6
|
||||
%28 = OpTypePointer StorageBuffer %5
|
||||
%11 = OpFunction %2 None %12
|
||||
@ -50,7 +50,7 @@ OpStore %20 %13
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%24 = OpFunction %2 None %25
|
||||
%22 = OpFunctionParameter %4
|
||||
%22 = OpFunctionParameter %3
|
||||
%23 = OpFunctionParameter %5
|
||||
%21 = OpLabel
|
||||
OpBranch %26
|
||||
@ -63,7 +63,7 @@ OpStore %32 %31
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%36 = OpFunction %2 None %25
|
||||
%34 = OpFunctionParameter %4
|
||||
%34 = OpFunctionParameter %3
|
||||
%35 = OpFunctionParameter %5
|
||||
%33 = OpLabel
|
||||
OpBranch %37
|
||||
|
@ -41,24 +41,24 @@ OpMemberDecorate %25 0 Offset 0
|
||||
OpDecorate %27 DescriptorSet 0
|
||||
OpDecorate %27 Binding 2
|
||||
%2 = OpTypeVoid
|
||||
%4 = OpTypeFloat 32
|
||||
%3 = OpTypeVector %4 4
|
||||
%3 = OpTypeFloat 32
|
||||
%4 = OpTypeVector %3 4
|
||||
%7 = OpTypeInt 32 0
|
||||
%6 = OpConstant %7 10
|
||||
%5 = OpTypeArray %3 %6
|
||||
%5 = OpTypeArray %4 %6
|
||||
%8 = OpTypeStruct %5
|
||||
%10 = OpConstant %7 20
|
||||
%9 = OpTypeArray %3 %10
|
||||
%9 = OpTypeArray %4 %10
|
||||
%11 = OpTypeStruct %9
|
||||
%12 = OpTypeImage %4 2D 0 1 0 1 Unknown
|
||||
%12 = OpTypeImage %3 2D 0 1 0 1 Unknown
|
||||
%14 = OpConstant %7 30
|
||||
%13 = OpTypeArray %4 %14
|
||||
%13 = OpTypeArray %3 %14
|
||||
%16 = OpConstant %7 40
|
||||
%15 = OpTypeArray %4 %16
|
||||
%18 = OpTypeInt 32 1
|
||||
%17 = OpTypeVector %18 2
|
||||
%15 = OpTypeArray %3 %16
|
||||
%17 = OpTypeInt 32 1
|
||||
%18 = OpTypeVector %17 2
|
||||
%20 = OpConstant %7 2
|
||||
%19 = OpTypeArray %3 %20
|
||||
%19 = OpTypeArray %4 %20
|
||||
%22 = OpTypeStruct %8
|
||||
%23 = OpTypePointer StorageBuffer %22
|
||||
%21 = OpVariable %23 StorageBuffer
|
||||
@ -72,35 +72,35 @@ OpDecorate %27 Binding 2
|
||||
%32 = OpTypePointer Private %15
|
||||
%33 = OpConstantNull %15
|
||||
%31 = OpVariable %32 Private %33
|
||||
%39 = OpTypeFunction %3 %17 %18 %18
|
||||
%39 = OpTypeFunction %4 %18 %17 %17
|
||||
%40 = OpTypePointer StorageBuffer %8
|
||||
%41 = OpConstant %7 0
|
||||
%43 = OpTypePointer Uniform %11
|
||||
%46 = OpConstant %4 0.707
|
||||
%47 = OpConstant %4 0.0
|
||||
%48 = OpConstant %4 1.0
|
||||
%49 = OpConstantComposite %3 %46 %47 %47 %48
|
||||
%50 = OpConstantComposite %3 %47 %46 %47 %48
|
||||
%46 = OpConstant %3 0.707
|
||||
%47 = OpConstant %3 0.0
|
||||
%48 = OpConstant %3 1.0
|
||||
%49 = OpConstantComposite %4 %46 %47 %47 %48
|
||||
%50 = OpConstantComposite %4 %47 %46 %47 %48
|
||||
%51 = OpConstantComposite %19 %49 %50
|
||||
%53 = OpTypePointer Function %19
|
||||
%55 = OpTypePointer StorageBuffer %5
|
||||
%56 = OpTypePointer StorageBuffer %3
|
||||
%56 = OpTypePointer StorageBuffer %4
|
||||
%59 = OpTypePointer Uniform %9
|
||||
%60 = OpTypePointer Uniform %3
|
||||
%64 = OpTypeVector %18 3
|
||||
%60 = OpTypePointer Uniform %4
|
||||
%64 = OpTypeVector %17 3
|
||||
%66 = OpTypeBool
|
||||
%67 = OpConstantNull %3
|
||||
%67 = OpConstantNull %4
|
||||
%73 = OpTypeVector %66 3
|
||||
%80 = OpTypePointer Workgroup %4
|
||||
%80 = OpTypePointer Workgroup %3
|
||||
%81 = OpConstant %7 29
|
||||
%87 = OpTypePointer Private %4
|
||||
%87 = OpTypePointer Private %3
|
||||
%88 = OpConstant %7 39
|
||||
%94 = OpTypePointer Function %3
|
||||
%94 = OpTypePointer Function %4
|
||||
%95 = OpConstant %7 1
|
||||
%38 = OpFunction %3 None %39
|
||||
%35 = OpFunctionParameter %17
|
||||
%36 = OpFunctionParameter %18
|
||||
%37 = OpFunctionParameter %18
|
||||
%38 = OpFunction %4 None %39
|
||||
%35 = OpFunctionParameter %18
|
||||
%36 = OpFunctionParameter %17
|
||||
%37 = OpFunctionParameter %17
|
||||
%34 = OpLabel
|
||||
%52 = OpVariable %53 Function %51
|
||||
%42 = OpAccessChain %40 %21 %41
|
||||
@ -109,12 +109,12 @@ OpDecorate %27 Binding 2
|
||||
OpBranch %54
|
||||
%54 = OpLabel
|
||||
%57 = OpAccessChain %56 %42 %41 %36
|
||||
%58 = OpLoad %3 %57
|
||||
%58 = OpLoad %4 %57
|
||||
%61 = OpAccessChain %60 %44 %41 %36
|
||||
%62 = OpLoad %3 %61
|
||||
%63 = OpFAdd %3 %58 %62
|
||||
%62 = OpLoad %4 %61
|
||||
%63 = OpFAdd %4 %58 %62
|
||||
%65 = OpCompositeConstruct %64 %35 %36
|
||||
%68 = OpImageQueryLevels %18 %45
|
||||
%68 = OpImageQueryLevels %17 %45
|
||||
%69 = OpULessThan %66 %37 %68
|
||||
OpSelectionMerge %70 None
|
||||
OpBranchConditional %69 %71 %70
|
||||
@ -124,24 +124,24 @@ OpBranchConditional %69 %71 %70
|
||||
%75 = OpAll %66 %74
|
||||
OpBranchConditional %75 %76 %70
|
||||
%76 = OpLabel
|
||||
%77 = OpImageFetch %3 %45 %65 Lod %37
|
||||
%77 = OpImageFetch %4 %45 %65 Lod %37
|
||||
OpBranch %70
|
||||
%70 = OpLabel
|
||||
%78 = OpPhi %3 %67 %54 %67 %71 %77 %76
|
||||
%79 = OpFAdd %3 %63 %78
|
||||
%78 = OpPhi %4 %67 %54 %67 %71 %77 %76
|
||||
%79 = OpFAdd %4 %63 %78
|
||||
%82 = OpExtInst %7 %1 UMin %36 %81
|
||||
%83 = OpAccessChain %80 %29 %82
|
||||
%84 = OpLoad %4 %83
|
||||
%85 = OpCompositeConstruct %3 %84 %84 %84 %84
|
||||
%86 = OpFAdd %3 %79 %85
|
||||
%84 = OpLoad %3 %83
|
||||
%85 = OpCompositeConstruct %4 %84 %84 %84 %84
|
||||
%86 = OpFAdd %4 %79 %85
|
||||
%89 = OpExtInst %7 %1 UMin %36 %88
|
||||
%90 = OpAccessChain %87 %31 %89
|
||||
%91 = OpLoad %4 %90
|
||||
%92 = OpCompositeConstruct %3 %91 %91 %91 %91
|
||||
%93 = OpFAdd %3 %86 %92
|
||||
%91 = OpLoad %3 %90
|
||||
%92 = OpCompositeConstruct %4 %91 %91 %91 %91
|
||||
%93 = OpFAdd %4 %86 %92
|
||||
%96 = OpExtInst %7 %1 UMin %36 %95
|
||||
%97 = OpAccessChain %94 %52 %96
|
||||
%98 = OpLoad %3 %97
|
||||
%99 = OpFAdd %3 %93 %98
|
||||
%98 = OpLoad %4 %97
|
||||
%99 = OpFAdd %4 %93 %98
|
||||
OpReturnValue %99
|
||||
OpFunctionEnd
|
@ -39,44 +39,44 @@ OpDecorate %17 Binding 1
|
||||
OpDecorate %18 Block
|
||||
OpMemberDecorate %18 0 Offset 0
|
||||
%2 = OpTypeVoid
|
||||
%4 = OpTypeFloat 32
|
||||
%3 = OpTypeVector %4 3
|
||||
%3 = OpTypeFloat 32
|
||||
%4 = OpTypeVector %3 3
|
||||
%5 = OpTypeAccelerationStructureNV
|
||||
%6 = OpTypeInt 32 0
|
||||
%7 = OpTypeVector %4 2
|
||||
%7 = OpTypeVector %3 2
|
||||
%8 = OpTypeBool
|
||||
%9 = OpTypeMatrix %3 4
|
||||
%10 = OpTypeStruct %6 %4 %6 %6 %6 %6 %6 %7 %8 %9 %9
|
||||
%9 = OpTypeMatrix %4 4
|
||||
%10 = OpTypeStruct %6 %3 %6 %6 %6 %6 %6 %7 %8 %9 %9
|
||||
%11 = OpTypeRayQueryKHR
|
||||
%12 = OpTypeStruct %6 %6 %4 %4 %3 %3
|
||||
%13 = OpTypeStruct %6 %3
|
||||
%14 = OpTypeVector %4 4
|
||||
%12 = OpTypeStruct %6 %6 %3 %3 %4 %4
|
||||
%13 = OpTypeStruct %6 %4
|
||||
%14 = OpTypeVector %3 4
|
||||
%16 = OpTypePointer UniformConstant %5
|
||||
%15 = OpVariable %16 UniformConstant
|
||||
%18 = OpTypeStruct %13
|
||||
%19 = OpTypePointer StorageBuffer %18
|
||||
%17 = OpVariable %19 StorageBuffer
|
||||
%26 = OpTypeFunction %10 %3 %3 %16
|
||||
%26 = OpTypeFunction %10 %4 %4 %16
|
||||
%27 = OpConstant %6 4
|
||||
%28 = OpConstant %6 255
|
||||
%29 = OpConstant %4 0.1
|
||||
%30 = OpConstant %4 100.0
|
||||
%29 = OpConstant %3 0.1
|
||||
%30 = OpConstant %3 100.0
|
||||
%32 = OpTypePointer Function %11
|
||||
%50 = OpConstant %6 1
|
||||
%67 = OpTypeFunction %3 %3 %10
|
||||
%68 = OpConstant %4 1.0
|
||||
%69 = OpConstant %4 2.4
|
||||
%70 = OpConstant %4 0.0
|
||||
%67 = OpTypeFunction %4 %4 %10
|
||||
%68 = OpConstant %3 1.0
|
||||
%69 = OpConstant %3 2.4
|
||||
%70 = OpConstant %3 0.0
|
||||
%85 = OpTypeFunction %2
|
||||
%87 = OpTypePointer StorageBuffer %13
|
||||
%88 = OpConstant %6 0
|
||||
%90 = OpConstantComposite %3 %70 %70 %70
|
||||
%91 = OpConstantComposite %3 %70 %68 %70
|
||||
%90 = OpConstantComposite %4 %70 %70 %70
|
||||
%91 = OpConstantComposite %4 %70 %68 %70
|
||||
%94 = OpTypePointer StorageBuffer %6
|
||||
%99 = OpTypePointer StorageBuffer %3
|
||||
%99 = OpTypePointer StorageBuffer %4
|
||||
%25 = OpFunction %10 None %26
|
||||
%21 = OpFunctionParameter %3
|
||||
%22 = OpFunctionParameter %3
|
||||
%21 = OpFunctionParameter %4
|
||||
%22 = OpFunctionParameter %4
|
||||
%23 = OpFunctionParameter %16
|
||||
%20 = OpLabel
|
||||
%31 = OpVariable %32 Function
|
||||
@ -86,10 +86,10 @@ OpBranch %33
|
||||
%34 = OpCompositeConstruct %12 %27 %28 %29 %30 %21 %22
|
||||
%35 = OpCompositeExtract %6 %34 0
|
||||
%36 = OpCompositeExtract %6 %34 1
|
||||
%37 = OpCompositeExtract %4 %34 2
|
||||
%38 = OpCompositeExtract %4 %34 3
|
||||
%39 = OpCompositeExtract %3 %34 4
|
||||
%40 = OpCompositeExtract %3 %34 5
|
||||
%37 = OpCompositeExtract %3 %34 2
|
||||
%38 = OpCompositeExtract %3 %34 3
|
||||
%39 = OpCompositeExtract %4 %34 4
|
||||
%40 = OpCompositeExtract %4 %34 5
|
||||
OpRayQueryInitializeKHR %31 %24 %35 %36 %39 %37 %40 %38
|
||||
OpBranch %41
|
||||
%41 = OpLabel
|
||||
@ -116,7 +116,7 @@ OpBranch %41
|
||||
%54 = OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR %6 %31 %50
|
||||
%55 = OpRayQueryGetIntersectionGeometryIndexKHR %6 %31 %50
|
||||
%56 = OpRayQueryGetIntersectionPrimitiveIndexKHR %6 %31 %50
|
||||
%57 = OpRayQueryGetIntersectionTKHR %4 %31 %50
|
||||
%57 = OpRayQueryGetIntersectionTKHR %3 %31 %50
|
||||
%58 = OpRayQueryGetIntersectionBarycentricsKHR %7 %31 %50
|
||||
%59 = OpRayQueryGetIntersectionFrontFaceKHR %8 %31 %50
|
||||
%60 = OpRayQueryGetIntersectionObjectToWorldKHR %9 %31 %50
|
||||
@ -124,23 +124,23 @@ OpBranch %41
|
||||
%62 = OpCompositeConstruct %10 %51 %57 %52 %53 %54 %55 %56 %58 %59 %60 %61
|
||||
OpReturnValue %62
|
||||
OpFunctionEnd
|
||||
%66 = OpFunction %3 None %67
|
||||
%64 = OpFunctionParameter %3
|
||||
%66 = OpFunction %4 None %67
|
||||
%64 = OpFunctionParameter %4
|
||||
%65 = OpFunctionParameter %10
|
||||
%63 = OpLabel
|
||||
OpBranch %71
|
||||
%71 = OpLabel
|
||||
%72 = OpCompositeExtract %9 %65 10
|
||||
%73 = OpCompositeConstruct %14 %64 %68
|
||||
%74 = OpMatrixTimesVector %3 %72 %73
|
||||
%74 = OpMatrixTimesVector %4 %72 %73
|
||||
%75 = OpVectorShuffle %7 %74 %74 0 1
|
||||
%76 = OpExtInst %7 %1 Normalize %75
|
||||
%77 = OpVectorTimesScalar %7 %76 %69
|
||||
%78 = OpCompositeExtract %9 %65 9
|
||||
%79 = OpCompositeConstruct %14 %77 %70 %68
|
||||
%80 = OpMatrixTimesVector %3 %78 %79
|
||||
%81 = OpFSub %3 %64 %80
|
||||
%82 = OpExtInst %3 %1 Normalize %81
|
||||
%80 = OpMatrixTimesVector %4 %78 %79
|
||||
%81 = OpFSub %4 %64 %80
|
||||
%82 = OpExtInst %4 %1 Normalize %81
|
||||
OpReturnValue %82
|
||||
OpFunctionEnd
|
||||
%84 = OpFunction %2 None %85
|
||||
@ -155,9 +155,9 @@ OpBranch %92
|
||||
%97 = OpSelect %6 %96 %50 %88
|
||||
%98 = OpAccessChain %94 %89 %88
|
||||
OpStore %98 %97
|
||||
%100 = OpCompositeExtract %4 %93 1
|
||||
%101 = OpVectorTimesScalar %3 %91 %100
|
||||
%102 = OpFunctionCall %3 %66 %101 %93
|
||||
%100 = OpCompositeExtract %3 %93 1
|
||||
%101 = OpVectorTimesScalar %4 %91 %100
|
||||
%102 = OpFunctionCall %4 %66 %101 %93
|
||||
%103 = OpAccessChain %99 %89 %50
|
||||
OpStore %103 %102
|
||||
OpReturn
|
||||
|
@ -108,26 +108,26 @@ OpDecorate %205 Location 0
|
||||
OpDecorate %207 Location 1
|
||||
OpDecorate %209 Location 0
|
||||
%2 = OpTypeVoid
|
||||
%5 = OpTypeFloat 32
|
||||
%4 = OpTypeVector %5 4
|
||||
%3 = OpTypeMatrix %4 4
|
||||
%7 = OpTypeInt 32 0
|
||||
%6 = OpTypeVector %7 4
|
||||
%8 = OpTypeStruct %3 %6
|
||||
%9 = OpTypeStruct %3 %4
|
||||
%10 = OpTypeVector %5 3
|
||||
%11 = OpTypeStruct %4 %10 %4
|
||||
%3 = OpTypeFloat 32
|
||||
%5 = OpTypeVector %3 4
|
||||
%4 = OpTypeMatrix %5 4
|
||||
%6 = OpTypeInt 32 0
|
||||
%7 = OpTypeVector %6 4
|
||||
%8 = OpTypeStruct %4 %7
|
||||
%9 = OpTypeStruct %4 %5
|
||||
%10 = OpTypeVector %3 3
|
||||
%11 = OpTypeStruct %5 %10 %5
|
||||
%13 = OpTypeInt 32 1
|
||||
%12 = OpTypeVector %13 4
|
||||
%14 = OpTypeMatrix %10 3
|
||||
%15 = OpTypeStruct %3 %4 %4
|
||||
%15 = OpTypeStruct %4 %5 %5
|
||||
%16 = OpTypeRuntimeArray %15
|
||||
%18 = OpConstant %7 10
|
||||
%18 = OpConstant %6 10
|
||||
%17 = OpTypeArray %15 %18
|
||||
%19 = OpTypeImage %5 2D 1 1 0 1 Unknown
|
||||
%19 = OpTypeImage %3 2D 1 1 0 1 Unknown
|
||||
%20 = OpTypeSampler
|
||||
%21 = OpTypeVector %5 2
|
||||
%22 = OpConstant %5 0.05
|
||||
%21 = OpTypeVector %3 2
|
||||
%22 = OpConstant %3 0.05
|
||||
%23 = OpConstantComposite %10 %22 %22 %22
|
||||
%25 = OpTypeStruct %8
|
||||
%26 = OpTypePointer Uniform %25
|
||||
@ -145,11 +145,11 @@ OpDecorate %209 Location 0
|
||||
%36 = OpVariable %37 UniformConstant
|
||||
%39 = OpTypePointer UniformConstant %20
|
||||
%38 = OpVariable %39 UniformConstant
|
||||
%44 = OpTypeFunction %5 %7 %4
|
||||
%47 = OpConstant %5 0.0
|
||||
%48 = OpConstant %5 1.0
|
||||
%49 = OpConstant %5 0.5
|
||||
%50 = OpConstant %5 -0.5
|
||||
%44 = OpTypeFunction %3 %6 %5
|
||||
%47 = OpConstant %3 0.0
|
||||
%48 = OpConstant %3 1.0
|
||||
%49 = OpConstant %3 0.5
|
||||
%50 = OpConstant %3 -0.5
|
||||
%51 = OpConstantComposite %21 %49 %50
|
||||
%52 = OpConstantComposite %21 %49 %49
|
||||
%55 = OpTypeBool
|
||||
@ -157,70 +157,70 @@ OpDecorate %209 Location 0
|
||||
%75 = OpTypePointer Input %12
|
||||
%74 = OpVariable %75 Input
|
||||
%77 = OpVariable %75 Input
|
||||
%80 = OpTypePointer Output %4
|
||||
%80 = OpTypePointer Output %5
|
||||
%79 = OpVariable %80 Output
|
||||
%82 = OpTypePointer Output %10
|
||||
%81 = OpVariable %82 Output
|
||||
%83 = OpVariable %80 Output
|
||||
%85 = OpTypeFunction %2
|
||||
%86 = OpTypePointer Uniform %8
|
||||
%87 = OpConstant %7 0
|
||||
%87 = OpConstant %6 0
|
||||
%89 = OpTypePointer Uniform %9
|
||||
%92 = OpTypePointer Function %11
|
||||
%93 = OpConstantNull %11
|
||||
%95 = OpTypePointer Uniform %3
|
||||
%95 = OpTypePointer Uniform %4
|
||||
%102 = OpTypePointer Function %10
|
||||
%110 = OpTypeVector %13 3
|
||||
%114 = OpConstant %7 1
|
||||
%116 = OpTypePointer Function %4
|
||||
%117 = OpConstant %7 2
|
||||
%125 = OpTypePointer Output %5
|
||||
%134 = OpTypePointer Input %4
|
||||
%114 = OpConstant %6 1
|
||||
%116 = OpTypePointer Function %5
|
||||
%117 = OpConstant %6 2
|
||||
%125 = OpTypePointer Output %3
|
||||
%134 = OpTypePointer Input %5
|
||||
%133 = OpVariable %134 Input
|
||||
%137 = OpTypePointer Input %10
|
||||
%136 = OpVariable %137 Input
|
||||
%139 = OpVariable %134 Input
|
||||
%141 = OpVariable %80 Output
|
||||
%145 = OpTypePointer StorageBuffer %16
|
||||
%151 = OpTypePointer Function %7
|
||||
%160 = OpTypePointer Uniform %6
|
||||
%161 = OpTypePointer Uniform %7
|
||||
%151 = OpTypePointer Function %6
|
||||
%160 = OpTypePointer Uniform %7
|
||||
%161 = OpTypePointer Uniform %6
|
||||
%171 = OpTypePointer StorageBuffer %15
|
||||
%197 = OpTypePointer Uniform %4
|
||||
%197 = OpTypePointer Uniform %5
|
||||
%203 = OpVariable %134 Input
|
||||
%205 = OpVariable %137 Input
|
||||
%207 = OpVariable %134 Input
|
||||
%209 = OpVariable %80 Output
|
||||
%213 = OpTypePointer Uniform %17
|
||||
%236 = OpTypePointer Uniform %15
|
||||
%43 = OpFunction %5 None %44
|
||||
%41 = OpFunctionParameter %7
|
||||
%42 = OpFunctionParameter %4
|
||||
%43 = OpFunction %3 None %44
|
||||
%41 = OpFunctionParameter %6
|
||||
%42 = OpFunctionParameter %5
|
||||
%40 = OpLabel
|
||||
%45 = OpLoad %19 %36
|
||||
%46 = OpLoad %20 %38
|
||||
OpBranch %53
|
||||
%53 = OpLabel
|
||||
%54 = OpCompositeExtract %5 %42 3
|
||||
%54 = OpCompositeExtract %3 %42 3
|
||||
%56 = OpFOrdLessThanEqual %55 %54 %47
|
||||
OpSelectionMerge %57 None
|
||||
OpBranchConditional %56 %58 %57
|
||||
%58 = OpLabel
|
||||
OpReturnValue %48
|
||||
%57 = OpLabel
|
||||
%59 = OpCompositeExtract %5 %42 3
|
||||
%60 = OpFDiv %5 %48 %59
|
||||
%59 = OpCompositeExtract %3 %42 3
|
||||
%60 = OpFDiv %3 %48 %59
|
||||
%61 = OpVectorShuffle %21 %42 %42 0 1
|
||||
%62 = OpFMul %21 %61 %51
|
||||
%63 = OpVectorTimesScalar %21 %62 %60
|
||||
%64 = OpFAdd %21 %63 %52
|
||||
%65 = OpBitcast %13 %41
|
||||
%66 = OpCompositeExtract %5 %42 2
|
||||
%67 = OpFMul %5 %66 %60
|
||||
%69 = OpConvertSToF %5 %65
|
||||
%66 = OpCompositeExtract %3 %42 2
|
||||
%67 = OpFMul %3 %66 %60
|
||||
%69 = OpConvertSToF %3 %65
|
||||
%70 = OpCompositeConstruct %10 %64 %69
|
||||
%71 = OpSampledImage %68 %45 %46
|
||||
%72 = OpImageSampleDrefExplicitLod %5 %71 %70 %67 Lod %47
|
||||
%72 = OpImageSampleDrefExplicitLod %3 %71 %70 %67 Lod %47
|
||||
OpReturnValue %72
|
||||
OpFunctionEnd
|
||||
%84 = OpFunction %2 None %85
|
||||
@ -233,16 +233,16 @@ OpFunctionEnd
|
||||
OpBranch %94
|
||||
%94 = OpLabel
|
||||
%96 = OpAccessChain %95 %90 %87
|
||||
%97 = OpLoad %3 %96
|
||||
%97 = OpLoad %4 %96
|
||||
%98 = OpAccessChain %95 %90 %87
|
||||
%99 = OpLoad %3 %98
|
||||
%100 = OpConvertSToF %4 %76
|
||||
%101 = OpMatrixTimesVector %4 %99 %100
|
||||
%103 = OpCompositeExtract %4 %97 0
|
||||
%99 = OpLoad %4 %98
|
||||
%100 = OpConvertSToF %5 %76
|
||||
%101 = OpMatrixTimesVector %5 %99 %100
|
||||
%103 = OpCompositeExtract %5 %97 0
|
||||
%104 = OpVectorShuffle %10 %103 %103 0 1 2
|
||||
%105 = OpCompositeExtract %4 %97 1
|
||||
%105 = OpCompositeExtract %5 %97 1
|
||||
%106 = OpVectorShuffle %10 %105 %105 0 1 2
|
||||
%107 = OpCompositeExtract %4 %97 2
|
||||
%107 = OpCompositeExtract %5 %97 2
|
||||
%108 = OpVectorShuffle %10 %107 %107 0 1 2
|
||||
%109 = OpCompositeConstruct %14 %104 %106 %108
|
||||
%111 = OpVectorShuffle %110 %78 %78 0 1 2
|
||||
@ -253,20 +253,20 @@ OpStore %115 %113
|
||||
%118 = OpAccessChain %116 %91 %117
|
||||
OpStore %118 %101
|
||||
%119 = OpAccessChain %95 %88 %87
|
||||
%120 = OpLoad %3 %119
|
||||
%121 = OpMatrixTimesVector %4 %120 %101
|
||||
%120 = OpLoad %4 %119
|
||||
%121 = OpMatrixTimesVector %5 %120 %101
|
||||
%122 = OpAccessChain %116 %91 %87
|
||||
OpStore %122 %121
|
||||
%123 = OpLoad %11 %91
|
||||
%124 = OpCompositeExtract %4 %123 0
|
||||
%124 = OpCompositeExtract %5 %123 0
|
||||
OpStore %79 %124
|
||||
%126 = OpAccessChain %125 %79 %114
|
||||
%127 = OpLoad %5 %126
|
||||
%128 = OpFNegate %5 %127
|
||||
%127 = OpLoad %3 %126
|
||||
%128 = OpFNegate %3 %127
|
||||
OpStore %126 %128
|
||||
%129 = OpCompositeExtract %10 %123 1
|
||||
OpStore %81 %129
|
||||
%130 = OpCompositeExtract %4 %123 2
|
||||
%130 = OpCompositeExtract %5 %123 2
|
||||
OpStore %83 %130
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
@ -274,9 +274,9 @@ OpFunctionEnd
|
||||
%131 = OpLabel
|
||||
%149 = OpVariable %102 Function %23
|
||||
%150 = OpVariable %151 Function %87
|
||||
%135 = OpLoad %4 %133
|
||||
%135 = OpLoad %5 %133
|
||||
%138 = OpLoad %10 %136
|
||||
%140 = OpLoad %4 %139
|
||||
%140 = OpLoad %5 %139
|
||||
%132 = OpCompositeConstruct %11 %135 %138 %140
|
||||
%143 = OpAccessChain %86 %24 %87
|
||||
%144 = OpAccessChain %89 %27 %87
|
||||
@ -292,10 +292,10 @@ OpBranch %155
|
||||
OpLoopMerge %156 %158 None
|
||||
OpBranch %157
|
||||
%157 = OpLabel
|
||||
%159 = OpLoad %7 %150
|
||||
%159 = OpLoad %6 %150
|
||||
%162 = OpAccessChain %161 %143 %114 %87
|
||||
%163 = OpLoad %7 %162
|
||||
%164 = OpExtInst %7 %1 UMin %163 %18
|
||||
%163 = OpLoad %6 %162
|
||||
%164 = OpExtInst %6 %1 UMin %163 %18
|
||||
%165 = OpULessThan %55 %159 %164
|
||||
OpSelectionMerge %166 None
|
||||
OpBranchConditional %165 %166 %167
|
||||
@ -304,24 +304,24 @@ OpBranch %156
|
||||
%166 = OpLabel
|
||||
OpBranch %168
|
||||
%168 = OpLabel
|
||||
%170 = OpLoad %7 %150
|
||||
%170 = OpLoad %6 %150
|
||||
%172 = OpAccessChain %171 %146 %170
|
||||
%173 = OpLoad %15 %172
|
||||
%174 = OpLoad %7 %150
|
||||
%175 = OpCompositeExtract %3 %173 0
|
||||
%176 = OpCompositeExtract %4 %132 2
|
||||
%177 = OpMatrixTimesVector %4 %175 %176
|
||||
%178 = OpFunctionCall %5 %43 %174 %177
|
||||
%179 = OpCompositeExtract %4 %173 1
|
||||
%174 = OpLoad %6 %150
|
||||
%175 = OpCompositeExtract %4 %173 0
|
||||
%176 = OpCompositeExtract %5 %132 2
|
||||
%177 = OpMatrixTimesVector %5 %175 %176
|
||||
%178 = OpFunctionCall %3 %43 %174 %177
|
||||
%179 = OpCompositeExtract %5 %173 1
|
||||
%180 = OpVectorShuffle %10 %179 %179 0 1 2
|
||||
%181 = OpCompositeExtract %4 %132 2
|
||||
%181 = OpCompositeExtract %5 %132 2
|
||||
%182 = OpVectorShuffle %10 %181 %181 0 1 2
|
||||
%183 = OpFSub %10 %180 %182
|
||||
%184 = OpExtInst %10 %1 Normalize %183
|
||||
%185 = OpDot %5 %154 %184
|
||||
%186 = OpExtInst %5 %1 FMax %47 %185
|
||||
%187 = OpFMul %5 %178 %186
|
||||
%188 = OpCompositeExtract %4 %173 2
|
||||
%185 = OpDot %3 %154 %184
|
||||
%186 = OpExtInst %3 %1 FMax %47 %185
|
||||
%187 = OpFMul %3 %178 %186
|
||||
%188 = OpCompositeExtract %5 %173 2
|
||||
%189 = OpVectorShuffle %10 %188 %188 0 1 2
|
||||
%190 = OpVectorTimesScalar %10 %189 %187
|
||||
%191 = OpLoad %10 %149
|
||||
@ -331,16 +331,16 @@ OpBranch %169
|
||||
%169 = OpLabel
|
||||
OpBranch %158
|
||||
%158 = OpLabel
|
||||
%193 = OpLoad %7 %150
|
||||
%194 = OpIAdd %7 %193 %114
|
||||
%193 = OpLoad %6 %150
|
||||
%194 = OpIAdd %6 %193 %114
|
||||
OpStore %150 %194
|
||||
OpBranch %155
|
||||
%156 = OpLabel
|
||||
%195 = OpLoad %10 %149
|
||||
%196 = OpCompositeConstruct %4 %195 %48
|
||||
%196 = OpCompositeConstruct %5 %195 %48
|
||||
%198 = OpAccessChain %197 %144 %114
|
||||
%199 = OpLoad %4 %198
|
||||
%200 = OpFMul %4 %196 %199
|
||||
%199 = OpLoad %5 %198
|
||||
%200 = OpFMul %5 %196 %199
|
||||
OpStore %141 %200
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
@ -348,9 +348,9 @@ OpFunctionEnd
|
||||
%201 = OpLabel
|
||||
%217 = OpVariable %102 Function %23
|
||||
%218 = OpVariable %151 Function %87
|
||||
%204 = OpLoad %4 %203
|
||||
%204 = OpLoad %5 %203
|
||||
%206 = OpLoad %10 %205
|
||||
%208 = OpLoad %4 %207
|
||||
%208 = OpLoad %5 %207
|
||||
%202 = OpCompositeConstruct %11 %204 %206 %208
|
||||
%211 = OpAccessChain %86 %24 %87
|
||||
%212 = OpAccessChain %89 %27 %87
|
||||
@ -366,10 +366,10 @@ OpBranch %222
|
||||
OpLoopMerge %223 %225 None
|
||||
OpBranch %224
|
||||
%224 = OpLabel
|
||||
%226 = OpLoad %7 %218
|
||||
%226 = OpLoad %6 %218
|
||||
%227 = OpAccessChain %161 %211 %114 %87
|
||||
%228 = OpLoad %7 %227
|
||||
%229 = OpExtInst %7 %1 UMin %228 %18
|
||||
%228 = OpLoad %6 %227
|
||||
%229 = OpExtInst %6 %1 UMin %228 %18
|
||||
%230 = OpULessThan %55 %226 %229
|
||||
OpSelectionMerge %231 None
|
||||
OpBranchConditional %230 %231 %232
|
||||
@ -378,24 +378,24 @@ OpBranch %223
|
||||
%231 = OpLabel
|
||||
OpBranch %233
|
||||
%233 = OpLabel
|
||||
%235 = OpLoad %7 %218
|
||||
%235 = OpLoad %6 %218
|
||||
%237 = OpAccessChain %236 %214 %235
|
||||
%238 = OpLoad %15 %237
|
||||
%239 = OpLoad %7 %218
|
||||
%240 = OpCompositeExtract %3 %238 0
|
||||
%241 = OpCompositeExtract %4 %202 2
|
||||
%242 = OpMatrixTimesVector %4 %240 %241
|
||||
%243 = OpFunctionCall %5 %43 %239 %242
|
||||
%244 = OpCompositeExtract %4 %238 1
|
||||
%239 = OpLoad %6 %218
|
||||
%240 = OpCompositeExtract %4 %238 0
|
||||
%241 = OpCompositeExtract %5 %202 2
|
||||
%242 = OpMatrixTimesVector %5 %240 %241
|
||||
%243 = OpFunctionCall %3 %43 %239 %242
|
||||
%244 = OpCompositeExtract %5 %238 1
|
||||
%245 = OpVectorShuffle %10 %244 %244 0 1 2
|
||||
%246 = OpCompositeExtract %4 %202 2
|
||||
%246 = OpCompositeExtract %5 %202 2
|
||||
%247 = OpVectorShuffle %10 %246 %246 0 1 2
|
||||
%248 = OpFSub %10 %245 %247
|
||||
%249 = OpExtInst %10 %1 Normalize %248
|
||||
%250 = OpDot %5 %221 %249
|
||||
%251 = OpExtInst %5 %1 FMax %47 %250
|
||||
%252 = OpFMul %5 %243 %251
|
||||
%253 = OpCompositeExtract %4 %238 2
|
||||
%250 = OpDot %3 %221 %249
|
||||
%251 = OpExtInst %3 %1 FMax %47 %250
|
||||
%252 = OpFMul %3 %243 %251
|
||||
%253 = OpCompositeExtract %5 %238 2
|
||||
%254 = OpVectorShuffle %10 %253 %253 0 1 2
|
||||
%255 = OpVectorTimesScalar %10 %254 %252
|
||||
%256 = OpLoad %10 %217
|
||||
@ -405,16 +405,16 @@ OpBranch %234
|
||||
%234 = OpLabel
|
||||
OpBranch %225
|
||||
%225 = OpLabel
|
||||
%258 = OpLoad %7 %218
|
||||
%259 = OpIAdd %7 %258 %114
|
||||
%258 = OpLoad %6 %218
|
||||
%259 = OpIAdd %6 %258 %114
|
||||
OpStore %218 %259
|
||||
OpBranch %222
|
||||
%223 = OpLabel
|
||||
%260 = OpLoad %10 %217
|
||||
%261 = OpCompositeConstruct %4 %260 %48
|
||||
%261 = OpCompositeConstruct %5 %260 %48
|
||||
%262 = OpAccessChain %197 %212 %114
|
||||
%263 = OpLoad %4 %262
|
||||
%264 = OpFMul %4 %261 %263
|
||||
%263 = OpLoad %5 %262
|
||||
%264 = OpFMul %5 %261 %263
|
||||
OpStore %209 %264
|
||||
OpReturn
|
||||
OpFunctionEnd
|
@ -52,11 +52,11 @@ OpDecorate %73 Location 1
|
||||
OpDecorate %75 Location 2
|
||||
OpDecorate %77 BuiltIn Position
|
||||
%2 = OpTypeVoid
|
||||
%4 = OpTypeFloat 32
|
||||
%3 = OpTypeVector %4 3
|
||||
%5 = OpTypeStruct %3 %4
|
||||
%6 = OpTypeVector %4 4
|
||||
%7 = OpTypeStruct %4 %3 %4
|
||||
%3 = OpTypeFloat 32
|
||||
%4 = OpTypeVector %3 3
|
||||
%5 = OpTypeStruct %4 %3
|
||||
%6 = OpTypeVector %3 4
|
||||
%7 = OpTypeStruct %3 %4 %3
|
||||
%9 = OpTypeStruct %5
|
||||
%10 = OpTypePointer Uniform %9
|
||||
%8 = OpVariable %10 Uniform
|
||||
@ -69,14 +69,14 @@ OpDecorate %77 BuiltIn Position
|
||||
%18 = OpTypeStruct %7
|
||||
%19 = OpTypePointer StorageBuffer %18
|
||||
%17 = OpVariable %19 StorageBuffer
|
||||
%23 = OpTypePointer Input %3
|
||||
%23 = OpTypePointer Input %4
|
||||
%22 = OpVariable %23 Input
|
||||
%26 = OpTypePointer Input %4
|
||||
%26 = OpTypePointer Input %3
|
||||
%25 = OpVariable %26 Input
|
||||
%29 = OpTypePointer Output %6
|
||||
%28 = OpVariable %29 Output
|
||||
%31 = OpTypeFunction %2
|
||||
%32 = OpConstant %4 0.0
|
||||
%32 = OpConstant %3 0.0
|
||||
%33 = OpConstantComposite %6 %32 %32 %32 %32
|
||||
%37 = OpVariable %23 Input
|
||||
%39 = OpVariable %26 Input
|
||||
@ -101,8 +101,8 @@ OpDecorate %77 BuiltIn Position
|
||||
%88 = OpConstantNull %7
|
||||
%30 = OpFunction %2 None %31
|
||||
%20 = OpLabel
|
||||
%24 = OpLoad %3 %22
|
||||
%27 = OpLoad %4 %25
|
||||
%24 = OpLoad %4 %22
|
||||
%27 = OpLoad %3 %25
|
||||
%21 = OpCompositeConstruct %5 %24 %27
|
||||
OpBranch %34
|
||||
%34 = OpLabel
|
||||
@ -111,8 +111,8 @@ OpReturn
|
||||
OpFunctionEnd
|
||||
%42 = OpFunction %2 None %31
|
||||
%35 = OpLabel
|
||||
%38 = OpLoad %3 %37
|
||||
%40 = OpLoad %4 %39
|
||||
%38 = OpLoad %4 %37
|
||||
%40 = OpLoad %3 %39
|
||||
%36 = OpCompositeConstruct %5 %38 %40
|
||||
OpBranch %43
|
||||
%43 = OpLabel
|
||||
@ -134,9 +134,9 @@ OpReturn
|
||||
OpFunctionEnd
|
||||
%67 = OpFunction %2 None %31
|
||||
%58 = OpLabel
|
||||
%61 = OpLoad %4 %60
|
||||
%63 = OpLoad %3 %62
|
||||
%65 = OpLoad %4 %64
|
||||
%61 = OpLoad %3 %60
|
||||
%63 = OpLoad %4 %62
|
||||
%65 = OpLoad %3 %64
|
||||
%59 = OpCompositeConstruct %7 %61 %63 %65
|
||||
OpBranch %68
|
||||
%68 = OpLabel
|
||||
@ -145,9 +145,9 @@ OpReturn
|
||||
OpFunctionEnd
|
||||
%78 = OpFunction %2 None %31
|
||||
%69 = OpLabel
|
||||
%72 = OpLoad %4 %71
|
||||
%74 = OpLoad %3 %73
|
||||
%76 = OpLoad %4 %75
|
||||
%72 = OpLoad %3 %71
|
||||
%74 = OpLoad %4 %73
|
||||
%76 = OpLoad %3 %75
|
||||
%70 = OpCompositeConstruct %7 %72 %74 %76
|
||||
OpBranch %79
|
||||
%79 = OpLabel
|
||||
|
@ -363,13 +363,13 @@ fn unknown_ident() {
|
||||
fn unknown_scalar_type() {
|
||||
check(
|
||||
r#"
|
||||
const a: vec2<something>;
|
||||
const a = vec2<vec2f>();
|
||||
"#,
|
||||
r#"error: unknown scalar type: 'something'
|
||||
┌─ wgsl:2:27
|
||||
r#"error: unknown scalar type: 'vec2f'
|
||||
┌─ wgsl:2:28
|
||||
│
|
||||
2 │ const a: vec2<something>;
|
||||
│ ^^^^^^^^^ unknown scalar type
|
||||
2 │ const a = vec2<vec2f>();
|
||||
│ ^^^^^ unknown scalar type
|
||||
│
|
||||
= note: Valid scalar types are f32, f64, i32, u32, bool
|
||||
|
||||
@ -833,13 +833,13 @@ fn matrix_with_bad_type() {
|
||||
check(
|
||||
r#"
|
||||
fn main() {
|
||||
let m: mat3x3<i32>;
|
||||
var m: mat3x3<i32>;
|
||||
}
|
||||
"#,
|
||||
r#"error: matrix scalar type must be floating-point, but found `i32`
|
||||
┌─ wgsl:3:31
|
||||
│
|
||||
3 │ let m: mat3x3<i32>;
|
||||
3 │ var m: mat3x3<i32>;
|
||||
│ ^^^ must be floating-point (e.g. `f32`)
|
||||
|
||||
"#,
|
||||
|
Loading…
Reference in New Issue
Block a user