mirror of
https://github.com/gfx-rs/wgpu.git
synced 2024-11-22 23:04:07 +00:00
[wgsl-in] don't treat let
declarations as const
declarations
This commit is contained in:
parent
3d346977e5
commit
55dd0e1fbc
@ -363,11 +363,16 @@ impl<'source, 'temp, 'out> ExpressionContext<'source, 'temp, 'out> {
|
||||
|
||||
fn const_access(&self, handle: Handle<crate::Expression>) -> Option<u32> {
|
||||
match self.expr_type {
|
||||
ExpressionContextType::Runtime(ref ctx) => self
|
||||
.module
|
||||
.to_ctx()
|
||||
.eval_expr_to_u32_from(handle, ctx.naga_expressions)
|
||||
.ok(),
|
||||
ExpressionContextType::Runtime(ref ctx) => {
|
||||
if !ctx.expression_constness.is_const(handle) {
|
||||
return None;
|
||||
}
|
||||
|
||||
self.module
|
||||
.to_ctx()
|
||||
.eval_expr_to_u32_from(handle, ctx.naga_expressions)
|
||||
.ok()
|
||||
}
|
||||
ExpressionContextType::Constant => self.module.to_ctx().eval_expr_to_u32(handle).ok(),
|
||||
}
|
||||
}
|
||||
@ -404,6 +409,12 @@ impl<'source, 'temp, 'out> ExpressionContext<'source, 'temp, 'out> {
|
||||
) -> Result<crate::SwizzleComponent, Error<'source>> {
|
||||
match self.expr_type {
|
||||
ExpressionContextType::Runtime(ref rctx) => {
|
||||
if !rctx.expression_constness.is_const(expr) {
|
||||
return Err(Error::ExpectedConstExprConcreteIntegerScalar(
|
||||
component_span,
|
||||
));
|
||||
}
|
||||
|
||||
let index = self
|
||||
.module
|
||||
.to_ctx()
|
||||
@ -1076,6 +1087,7 @@ impl<'source, 'temp> Lowerer<'source, 'temp> {
|
||||
emitter.start(ctx.naga_expressions);
|
||||
|
||||
let value = self.expression(l.init, ctx.as_expression(block, &mut emitter))?;
|
||||
ctx.expression_constness.force_non_const(value);
|
||||
|
||||
let explicit_ty =
|
||||
l.ty.map(|ty| self.resolve_ast_type(ty, ctx.as_global()))
|
||||
|
@ -37,6 +37,11 @@ impl ExpressionConstnessTracker {
|
||||
}
|
||||
}
|
||||
|
||||
/// Forces the the expression to not be const
|
||||
pub fn force_non_const(&mut self, value: Handle<Expression>) {
|
||||
self.inner.remove(value.index());
|
||||
}
|
||||
|
||||
fn insert(&mut self, value: Handle<Expression>) {
|
||||
self.inner.insert(value.index());
|
||||
}
|
||||
|
@ -612,7 +612,7 @@ impl GlobalCtx<'_> {
|
||||
self.eval_expr_to_literal_from(handle, self.const_expressions)
|
||||
}
|
||||
|
||||
pub(crate) fn eval_expr_to_literal_from(
|
||||
fn eval_expr_to_literal_from(
|
||||
&self,
|
||||
handle: crate::Handle<crate::Expression>,
|
||||
arena: &crate::Arena<crate::Expression>,
|
||||
|
@ -13,16 +13,12 @@ fn main() {
|
||||
|
||||
// Swizzle the value of nested Compose expressions.
|
||||
fn swizzle_of_compose() {
|
||||
let a = vec2(1, 2);
|
||||
let b = vec2(3, 4);
|
||||
out = vec4(a, b).wzyx; // should assign vec4(4, 3, 2, 1);
|
||||
out = vec4(vec2(1, 2), vec2(3, 4)).wzyx; // should assign vec4(4, 3, 2, 1);
|
||||
}
|
||||
|
||||
// Index the value of nested Compose expressions.
|
||||
fn index_of_compose() {
|
||||
let a = vec2(1, 2);
|
||||
let b = vec2(3, 4);
|
||||
out2 += vec4(a, b)[1]; // should assign 2
|
||||
out2 += vec4(vec2(1, 2), vec2(3, 4))[1]; // should assign 2
|
||||
}
|
||||
|
||||
// Index the value of Compose expressions nested three deep
|
||||
|
@ -2774,7 +2774,7 @@
|
||||
non_uniform_result: None,
|
||||
requirements: (""),
|
||||
),
|
||||
ref_count: 0,
|
||||
ref_count: 1,
|
||||
assignable_global: None,
|
||||
ty: Value(Scalar(
|
||||
kind: Uint,
|
||||
|
@ -132,7 +132,7 @@ void main() {
|
||||
test_matrix_within_array_within_struct_accesses();
|
||||
mat4x3 _matrix = _group_0_binding_0_vs._matrix;
|
||||
uvec2 arr_1[2] = _group_0_binding_0_vs.arr;
|
||||
float b = _group_0_binding_0_vs._matrix[3][0];
|
||||
float b = _group_0_binding_0_vs._matrix[3u][0];
|
||||
int a_1 = _group_0_binding_0_vs.data[(uint(_group_0_binding_0_vs.data.length()) - 2u)].value;
|
||||
ivec2 c = _group_0_binding_2_vs;
|
||||
float _e33 = read_from_private(foo);
|
||||
|
@ -16,17 +16,13 @@ layout(std430) buffer type_1_block_1Compute { int _group_0_binding_1_cs; };
|
||||
|
||||
|
||||
void swizzle_of_compose() {
|
||||
ivec2 a = ivec2(1, 2);
|
||||
ivec2 b = ivec2(3, 4);
|
||||
_group_0_binding_0_cs = ivec4(4, 3, 2, 1);
|
||||
return;
|
||||
}
|
||||
|
||||
void index_of_compose() {
|
||||
ivec2 a_1 = ivec2(1, 2);
|
||||
ivec2 b_1 = ivec2(3, 4);
|
||||
int _e7 = _group_0_binding_1_cs;
|
||||
_group_0_binding_1_cs = (_e7 + 2);
|
||||
int _e2 = _group_0_binding_1_cs;
|
||||
_group_0_binding_1_cs = (_e2 + 2);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -18,74 +18,74 @@ void main() {
|
||||
vec4 a = vec4(0.0);
|
||||
vec2 tc = vec2(0.5);
|
||||
vec3 tc3_ = vec3(0.5);
|
||||
vec4 _e8 = texture(_group_0_binding_0_fs, vec2(0.5, 0.0));
|
||||
vec4 _e9 = a;
|
||||
a = (_e9 + _e8);
|
||||
vec4 _e13 = texture(_group_0_binding_1_fs, vec2(tc));
|
||||
vec4 _e14 = a;
|
||||
a = (_e14 + _e13);
|
||||
vec4 _e18 = textureOffset(_group_0_binding_1_fs, vec2(tc), ivec2(3, 1));
|
||||
vec4 _e19 = a;
|
||||
a = (_e19 + _e18);
|
||||
vec4 _e23 = textureLod(_group_0_binding_1_fs, vec2(tc), 2.3);
|
||||
vec4 _e24 = a;
|
||||
a = (_e24 + _e23);
|
||||
vec4 _e28 = textureLodOffset(_group_0_binding_1_fs, vec2(tc), 2.3, ivec2(3, 1));
|
||||
vec4 _e29 = a;
|
||||
a = (_e29 + _e28);
|
||||
vec4 _e34 = textureOffset(_group_0_binding_1_fs, vec2(tc), ivec2(3, 1), 2.0);
|
||||
vec4 _e35 = a;
|
||||
a = (_e35 + _e34);
|
||||
vec4 _e40 = texture(_group_0_binding_4_fs, vec3(tc, 0u));
|
||||
vec4 _e41 = a;
|
||||
a = (_e41 + _e40);
|
||||
vec4 _e46 = textureOffset(_group_0_binding_4_fs, vec3(tc, 0u), ivec2(3, 1));
|
||||
vec4 _e47 = a;
|
||||
a = (_e47 + _e46);
|
||||
vec4 _e52 = textureLod(_group_0_binding_4_fs, vec3(tc, 0u), 2.3);
|
||||
vec4 _e53 = a;
|
||||
a = (_e53 + _e52);
|
||||
vec4 _e58 = textureLodOffset(_group_0_binding_4_fs, vec3(tc, 0u), 2.3, ivec2(3, 1));
|
||||
vec4 _e59 = a;
|
||||
a = (_e59 + _e58);
|
||||
vec4 _e65 = textureOffset(_group_0_binding_4_fs, vec3(tc, 0u), ivec2(3, 1), 2.0);
|
||||
vec4 _e66 = a;
|
||||
a = (_e66 + _e65);
|
||||
vec4 _e71 = texture(_group_0_binding_4_fs, vec3(tc, 0));
|
||||
vec4 _e72 = a;
|
||||
a = (_e72 + _e71);
|
||||
vec4 _e77 = textureOffset(_group_0_binding_4_fs, vec3(tc, 0), ivec2(3, 1));
|
||||
vec4 _e78 = a;
|
||||
a = (_e78 + _e77);
|
||||
vec4 _e83 = textureLod(_group_0_binding_4_fs, vec3(tc, 0), 2.3);
|
||||
vec4 _e84 = a;
|
||||
a = (_e84 + _e83);
|
||||
vec4 _e89 = textureLodOffset(_group_0_binding_4_fs, vec3(tc, 0), 2.3, ivec2(3, 1));
|
||||
vec4 _e90 = a;
|
||||
a = (_e90 + _e89);
|
||||
vec4 _e96 = textureOffset(_group_0_binding_4_fs, vec3(tc, 0), ivec2(3, 1), 2.0);
|
||||
vec4 _e97 = a;
|
||||
a = (_e97 + _e96);
|
||||
vec4 _e102 = texture(_group_0_binding_6_fs, vec4(tc3_, 0u));
|
||||
vec4 _e103 = a;
|
||||
a = (_e103 + _e102);
|
||||
vec4 _e108 = textureLod(_group_0_binding_6_fs, vec4(tc3_, 0u), 2.3);
|
||||
vec4 _e109 = a;
|
||||
a = (_e109 + _e108);
|
||||
vec4 _e115 = texture(_group_0_binding_6_fs, vec4(tc3_, 0u), 2.0);
|
||||
vec4 _e116 = a;
|
||||
a = (_e116 + _e115);
|
||||
vec4 _e121 = texture(_group_0_binding_6_fs, vec4(tc3_, 0));
|
||||
vec4 _e122 = a;
|
||||
a = (_e122 + _e121);
|
||||
vec4 _e127 = textureLod(_group_0_binding_6_fs, vec4(tc3_, 0), 2.3);
|
||||
vec4 _e128 = a;
|
||||
a = (_e128 + _e127);
|
||||
vec4 _e134 = texture(_group_0_binding_6_fs, vec4(tc3_, 0), 2.0);
|
||||
vec4 _e135 = a;
|
||||
a = (_e135 + _e134);
|
||||
vec4 _e137 = a;
|
||||
_fs2p_location0 = _e137;
|
||||
vec4 _e9 = texture(_group_0_binding_0_fs, vec2(tc.x, 0.0));
|
||||
vec4 _e10 = a;
|
||||
a = (_e10 + _e9);
|
||||
vec4 _e14 = texture(_group_0_binding_1_fs, vec2(tc));
|
||||
vec4 _e15 = a;
|
||||
a = (_e15 + _e14);
|
||||
vec4 _e19 = textureOffset(_group_0_binding_1_fs, vec2(tc), ivec2(3, 1));
|
||||
vec4 _e20 = a;
|
||||
a = (_e20 + _e19);
|
||||
vec4 _e24 = textureLod(_group_0_binding_1_fs, vec2(tc), 2.3);
|
||||
vec4 _e25 = a;
|
||||
a = (_e25 + _e24);
|
||||
vec4 _e29 = textureLodOffset(_group_0_binding_1_fs, vec2(tc), 2.3, ivec2(3, 1));
|
||||
vec4 _e30 = a;
|
||||
a = (_e30 + _e29);
|
||||
vec4 _e35 = textureOffset(_group_0_binding_1_fs, vec2(tc), ivec2(3, 1), 2.0);
|
||||
vec4 _e36 = a;
|
||||
a = (_e36 + _e35);
|
||||
vec4 _e41 = texture(_group_0_binding_4_fs, vec3(tc, 0u));
|
||||
vec4 _e42 = a;
|
||||
a = (_e42 + _e41);
|
||||
vec4 _e47 = textureOffset(_group_0_binding_4_fs, vec3(tc, 0u), ivec2(3, 1));
|
||||
vec4 _e48 = a;
|
||||
a = (_e48 + _e47);
|
||||
vec4 _e53 = textureLod(_group_0_binding_4_fs, vec3(tc, 0u), 2.3);
|
||||
vec4 _e54 = a;
|
||||
a = (_e54 + _e53);
|
||||
vec4 _e59 = textureLodOffset(_group_0_binding_4_fs, vec3(tc, 0u), 2.3, ivec2(3, 1));
|
||||
vec4 _e60 = a;
|
||||
a = (_e60 + _e59);
|
||||
vec4 _e66 = textureOffset(_group_0_binding_4_fs, vec3(tc, 0u), ivec2(3, 1), 2.0);
|
||||
vec4 _e67 = a;
|
||||
a = (_e67 + _e66);
|
||||
vec4 _e72 = texture(_group_0_binding_4_fs, vec3(tc, 0));
|
||||
vec4 _e73 = a;
|
||||
a = (_e73 + _e72);
|
||||
vec4 _e78 = textureOffset(_group_0_binding_4_fs, vec3(tc, 0), ivec2(3, 1));
|
||||
vec4 _e79 = a;
|
||||
a = (_e79 + _e78);
|
||||
vec4 _e84 = textureLod(_group_0_binding_4_fs, vec3(tc, 0), 2.3);
|
||||
vec4 _e85 = a;
|
||||
a = (_e85 + _e84);
|
||||
vec4 _e90 = textureLodOffset(_group_0_binding_4_fs, vec3(tc, 0), 2.3, ivec2(3, 1));
|
||||
vec4 _e91 = a;
|
||||
a = (_e91 + _e90);
|
||||
vec4 _e97 = textureOffset(_group_0_binding_4_fs, vec3(tc, 0), ivec2(3, 1), 2.0);
|
||||
vec4 _e98 = a;
|
||||
a = (_e98 + _e97);
|
||||
vec4 _e103 = texture(_group_0_binding_6_fs, vec4(tc3_, 0u));
|
||||
vec4 _e104 = a;
|
||||
a = (_e104 + _e103);
|
||||
vec4 _e109 = textureLod(_group_0_binding_6_fs, vec4(tc3_, 0u), 2.3);
|
||||
vec4 _e110 = a;
|
||||
a = (_e110 + _e109);
|
||||
vec4 _e116 = texture(_group_0_binding_6_fs, vec4(tc3_, 0u), 2.0);
|
||||
vec4 _e117 = a;
|
||||
a = (_e117 + _e116);
|
||||
vec4 _e122 = texture(_group_0_binding_6_fs, vec4(tc3_, 0));
|
||||
vec4 _e123 = a;
|
||||
a = (_e123 + _e122);
|
||||
vec4 _e128 = textureLod(_group_0_binding_6_fs, vec4(tc3_, 0), 2.3);
|
||||
vec4 _e129 = a;
|
||||
a = (_e129 + _e128);
|
||||
vec4 _e135 = texture(_group_0_binding_6_fs, vec4(tc3_, 0), 2.0);
|
||||
vec4 _e136 = a;
|
||||
a = (_e136 + _e135);
|
||||
vec4 _e138 = a;
|
||||
_fs2p_location0 = _e138;
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -256,7 +256,7 @@ float4 foo_vert(uint vi : SV_VertexID) : SV_Position
|
||||
test_matrix_within_array_within_struct_accesses();
|
||||
float4x3 _matrix = float4x3(asfloat(bar.Load3(0+0)), asfloat(bar.Load3(0+16)), asfloat(bar.Load3(0+32)), asfloat(bar.Load3(0+48)));
|
||||
uint2 arr_1[2] = Constructarray2_uint2_(asuint(bar.Load2(144+0)), asuint(bar.Load2(144+8)));
|
||||
float b = asfloat(bar.Load(0+48+0));
|
||||
float b = asfloat(bar.Load(0+3u*16+0));
|
||||
int a_1 = asint(bar.Load(0+(((NagaBufferLengthRW(bar) - 160) / 8) - 2u)*8+160));
|
||||
int2 c = asint(qux.Load2(0));
|
||||
const float _e33 = read_from_private(foo);
|
||||
|
@ -8,18 +8,14 @@ RWByteAddressBuffer out2_ : register(u1);
|
||||
|
||||
void swizzle_of_compose()
|
||||
{
|
||||
int2 a = int2(1, 2);
|
||||
int2 b = int2(3, 4);
|
||||
out_.Store4(0, asuint(int4(4, 3, 2, 1)));
|
||||
return;
|
||||
}
|
||||
|
||||
void index_of_compose()
|
||||
{
|
||||
int2 a_1 = int2(1, 2);
|
||||
int2 b_1 = int2(3, 4);
|
||||
int _expr7 = asint(out2_.Load(0));
|
||||
out2_.Store(0, asuint((_expr7 + 2)));
|
||||
int _expr2 = asint(out2_.Load(0));
|
||||
out2_.Store(0, asuint((_expr2 + 2)));
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -246,74 +246,74 @@ float4 texture_sample() : SV_Target0
|
||||
|
||||
float2 tc = (0.5).xx;
|
||||
float3 tc3_ = (0.5).xxx;
|
||||
float4 _expr8 = image_1d.Sample(sampler_reg, 0.5);
|
||||
float4 _expr9 = a;
|
||||
a = (_expr9 + _expr8);
|
||||
float4 _expr13 = image_2d.Sample(sampler_reg, tc);
|
||||
float4 _expr14 = a;
|
||||
a = (_expr14 + _expr13);
|
||||
float4 _expr18 = image_2d.Sample(sampler_reg, tc, int2(int2(3, 1)));
|
||||
float4 _expr19 = a;
|
||||
a = (_expr19 + _expr18);
|
||||
float4 _expr23 = image_2d.SampleLevel(sampler_reg, tc, 2.3);
|
||||
float4 _expr24 = a;
|
||||
a = (_expr24 + _expr23);
|
||||
float4 _expr28 = image_2d.SampleLevel(sampler_reg, tc, 2.3, int2(int2(3, 1)));
|
||||
float4 _expr29 = a;
|
||||
a = (_expr29 + _expr28);
|
||||
float4 _expr34 = image_2d.SampleBias(sampler_reg, tc, 2.0, int2(int2(3, 1)));
|
||||
float4 _expr35 = a;
|
||||
a = (_expr35 + _expr34);
|
||||
float4 _expr40 = image_2d_array.Sample(sampler_reg, float3(tc, 0u));
|
||||
float4 _expr41 = a;
|
||||
a = (_expr41 + _expr40);
|
||||
float4 _expr46 = image_2d_array.Sample(sampler_reg, float3(tc, 0u), int2(int2(3, 1)));
|
||||
float4 _expr47 = a;
|
||||
a = (_expr47 + _expr46);
|
||||
float4 _expr52 = image_2d_array.SampleLevel(sampler_reg, float3(tc, 0u), 2.3);
|
||||
float4 _expr53 = a;
|
||||
a = (_expr53 + _expr52);
|
||||
float4 _expr58 = image_2d_array.SampleLevel(sampler_reg, float3(tc, 0u), 2.3, int2(int2(3, 1)));
|
||||
float4 _expr59 = a;
|
||||
a = (_expr59 + _expr58);
|
||||
float4 _expr65 = image_2d_array.SampleBias(sampler_reg, float3(tc, 0u), 2.0, int2(int2(3, 1)));
|
||||
float4 _expr66 = a;
|
||||
a = (_expr66 + _expr65);
|
||||
float4 _expr71 = image_2d_array.Sample(sampler_reg, float3(tc, 0));
|
||||
float4 _expr72 = a;
|
||||
a = (_expr72 + _expr71);
|
||||
float4 _expr77 = image_2d_array.Sample(sampler_reg, float3(tc, 0), int2(int2(3, 1)));
|
||||
float4 _expr78 = a;
|
||||
a = (_expr78 + _expr77);
|
||||
float4 _expr83 = image_2d_array.SampleLevel(sampler_reg, float3(tc, 0), 2.3);
|
||||
float4 _expr84 = a;
|
||||
a = (_expr84 + _expr83);
|
||||
float4 _expr89 = image_2d_array.SampleLevel(sampler_reg, float3(tc, 0), 2.3, int2(int2(3, 1)));
|
||||
float4 _expr90 = a;
|
||||
a = (_expr90 + _expr89);
|
||||
float4 _expr96 = image_2d_array.SampleBias(sampler_reg, float3(tc, 0), 2.0, int2(int2(3, 1)));
|
||||
float4 _expr97 = a;
|
||||
a = (_expr97 + _expr96);
|
||||
float4 _expr102 = image_cube_array.Sample(sampler_reg, float4(tc3_, 0u));
|
||||
float4 _expr103 = a;
|
||||
a = (_expr103 + _expr102);
|
||||
float4 _expr108 = image_cube_array.SampleLevel(sampler_reg, float4(tc3_, 0u), 2.3);
|
||||
float4 _expr109 = a;
|
||||
a = (_expr109 + _expr108);
|
||||
float4 _expr115 = image_cube_array.SampleBias(sampler_reg, float4(tc3_, 0u), 2.0);
|
||||
float4 _expr116 = a;
|
||||
a = (_expr116 + _expr115);
|
||||
float4 _expr121 = image_cube_array.Sample(sampler_reg, float4(tc3_, 0));
|
||||
float4 _expr122 = a;
|
||||
a = (_expr122 + _expr121);
|
||||
float4 _expr127 = image_cube_array.SampleLevel(sampler_reg, float4(tc3_, 0), 2.3);
|
||||
float4 _expr128 = a;
|
||||
a = (_expr128 + _expr127);
|
||||
float4 _expr134 = image_cube_array.SampleBias(sampler_reg, float4(tc3_, 0), 2.0);
|
||||
float4 _expr135 = a;
|
||||
a = (_expr135 + _expr134);
|
||||
float4 _expr137 = a;
|
||||
return _expr137;
|
||||
float4 _expr9 = image_1d.Sample(sampler_reg, tc.x);
|
||||
float4 _expr10 = a;
|
||||
a = (_expr10 + _expr9);
|
||||
float4 _expr14 = image_2d.Sample(sampler_reg, tc);
|
||||
float4 _expr15 = a;
|
||||
a = (_expr15 + _expr14);
|
||||
float4 _expr19 = image_2d.Sample(sampler_reg, tc, int2(int2(3, 1)));
|
||||
float4 _expr20 = a;
|
||||
a = (_expr20 + _expr19);
|
||||
float4 _expr24 = image_2d.SampleLevel(sampler_reg, tc, 2.3);
|
||||
float4 _expr25 = a;
|
||||
a = (_expr25 + _expr24);
|
||||
float4 _expr29 = image_2d.SampleLevel(sampler_reg, tc, 2.3, int2(int2(3, 1)));
|
||||
float4 _expr30 = a;
|
||||
a = (_expr30 + _expr29);
|
||||
float4 _expr35 = image_2d.SampleBias(sampler_reg, tc, 2.0, int2(int2(3, 1)));
|
||||
float4 _expr36 = a;
|
||||
a = (_expr36 + _expr35);
|
||||
float4 _expr41 = image_2d_array.Sample(sampler_reg, float3(tc, 0u));
|
||||
float4 _expr42 = a;
|
||||
a = (_expr42 + _expr41);
|
||||
float4 _expr47 = image_2d_array.Sample(sampler_reg, float3(tc, 0u), int2(int2(3, 1)));
|
||||
float4 _expr48 = a;
|
||||
a = (_expr48 + _expr47);
|
||||
float4 _expr53 = image_2d_array.SampleLevel(sampler_reg, float3(tc, 0u), 2.3);
|
||||
float4 _expr54 = a;
|
||||
a = (_expr54 + _expr53);
|
||||
float4 _expr59 = image_2d_array.SampleLevel(sampler_reg, float3(tc, 0u), 2.3, int2(int2(3, 1)));
|
||||
float4 _expr60 = a;
|
||||
a = (_expr60 + _expr59);
|
||||
float4 _expr66 = image_2d_array.SampleBias(sampler_reg, float3(tc, 0u), 2.0, int2(int2(3, 1)));
|
||||
float4 _expr67 = a;
|
||||
a = (_expr67 + _expr66);
|
||||
float4 _expr72 = image_2d_array.Sample(sampler_reg, float3(tc, 0));
|
||||
float4 _expr73 = a;
|
||||
a = (_expr73 + _expr72);
|
||||
float4 _expr78 = image_2d_array.Sample(sampler_reg, float3(tc, 0), int2(int2(3, 1)));
|
||||
float4 _expr79 = a;
|
||||
a = (_expr79 + _expr78);
|
||||
float4 _expr84 = image_2d_array.SampleLevel(sampler_reg, float3(tc, 0), 2.3);
|
||||
float4 _expr85 = a;
|
||||
a = (_expr85 + _expr84);
|
||||
float4 _expr90 = image_2d_array.SampleLevel(sampler_reg, float3(tc, 0), 2.3, int2(int2(3, 1)));
|
||||
float4 _expr91 = a;
|
||||
a = (_expr91 + _expr90);
|
||||
float4 _expr97 = image_2d_array.SampleBias(sampler_reg, float3(tc, 0), 2.0, int2(int2(3, 1)));
|
||||
float4 _expr98 = a;
|
||||
a = (_expr98 + _expr97);
|
||||
float4 _expr103 = image_cube_array.Sample(sampler_reg, float4(tc3_, 0u));
|
||||
float4 _expr104 = a;
|
||||
a = (_expr104 + _expr103);
|
||||
float4 _expr109 = image_cube_array.SampleLevel(sampler_reg, float4(tc3_, 0u), 2.3);
|
||||
float4 _expr110 = a;
|
||||
a = (_expr110 + _expr109);
|
||||
float4 _expr116 = image_cube_array.SampleBias(sampler_reg, float4(tc3_, 0u), 2.0);
|
||||
float4 _expr117 = a;
|
||||
a = (_expr117 + _expr116);
|
||||
float4 _expr122 = image_cube_array.Sample(sampler_reg, float4(tc3_, 0));
|
||||
float4 _expr123 = a;
|
||||
a = (_expr123 + _expr122);
|
||||
float4 _expr128 = image_cube_array.SampleLevel(sampler_reg, float4(tc3_, 0), 2.3);
|
||||
float4 _expr129 = a;
|
||||
a = (_expr129 + _expr128);
|
||||
float4 _expr135 = image_cube_array.SampleBias(sampler_reg, float4(tc3_, 0), 2.0);
|
||||
float4 _expr136 = a;
|
||||
a = (_expr136 + _expr135);
|
||||
float4 _expr138 = a;
|
||||
return _expr138;
|
||||
}
|
||||
|
||||
float texture_sample_comparison() : SV_Target0
|
||||
|
@ -1697,9 +1697,9 @@
|
||||
base: 13,
|
||||
index: 0,
|
||||
),
|
||||
AccessIndex(
|
||||
Access(
|
||||
base: 14,
|
||||
index: 3,
|
||||
index: 12,
|
||||
),
|
||||
AccessIndex(
|
||||
base: 15,
|
||||
|
@ -1792,9 +1792,9 @@
|
||||
base: 13,
|
||||
index: 0,
|
||||
),
|
||||
AccessIndex(
|
||||
Access(
|
||||
base: 14,
|
||||
index: 3,
|
||||
index: 12,
|
||||
),
|
||||
AccessIndex(
|
||||
base: 15,
|
||||
|
@ -180,7 +180,7 @@ vertex foo_vertOutput foo_vert(
|
||||
test_matrix_within_array_within_struct_accesses(nested_mat_cx2_);
|
||||
metal::float4x3 _matrix = bar._matrix;
|
||||
type_9 arr_1 = bar.arr;
|
||||
float b = bar._matrix[3].x;
|
||||
float b = bar._matrix[3u].x;
|
||||
int a_1 = bar.data[(1 + (_buffer_sizes.size1 - 160 - 8) / 8) - 2u].value;
|
||||
metal::int2 c = qux;
|
||||
float _e33 = read_from_private(foo);
|
||||
|
@ -12,8 +12,6 @@ constant int TEST_CONSTANT_ALIAS_ADDITION = 8;
|
||||
void swizzle_of_compose(
|
||||
device metal::int4& out
|
||||
) {
|
||||
metal::int2 a = metal::int2(1, 2);
|
||||
metal::int2 b = metal::int2(3, 4);
|
||||
out = metal::int4(4, 3, 2, 1);
|
||||
return;
|
||||
}
|
||||
@ -21,10 +19,8 @@ void swizzle_of_compose(
|
||||
void index_of_compose(
|
||||
device int& out2_
|
||||
) {
|
||||
metal::int2 a_1 = metal::int2(1, 2);
|
||||
metal::int2 b_1 = metal::int2(3, 4);
|
||||
int _e7 = out2_;
|
||||
out2_ = _e7 + 2;
|
||||
int _e2 = out2_;
|
||||
out2_ = _e2 + 2;
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -119,74 +119,74 @@ fragment texture_sampleOutput texture_sample(
|
||||
metal::float4 a = {};
|
||||
metal::float2 tc = metal::float2(0.5);
|
||||
metal::float3 tc3_ = metal::float3(0.5);
|
||||
metal::float4 _e8 = image_1d.sample(sampler_reg, 0.5);
|
||||
metal::float4 _e9 = a;
|
||||
a = _e9 + _e8;
|
||||
metal::float4 _e13 = image_2d.sample(sampler_reg, tc);
|
||||
metal::float4 _e14 = a;
|
||||
a = _e14 + _e13;
|
||||
metal::float4 _e18 = image_2d.sample(sampler_reg, tc, metal::int2(3, 1));
|
||||
metal::float4 _e19 = a;
|
||||
a = _e19 + _e18;
|
||||
metal::float4 _e23 = image_2d.sample(sampler_reg, tc, metal::level(2.3));
|
||||
metal::float4 _e24 = a;
|
||||
a = _e24 + _e23;
|
||||
metal::float4 _e28 = image_2d.sample(sampler_reg, tc, metal::level(2.3), metal::int2(3, 1));
|
||||
metal::float4 _e29 = a;
|
||||
a = _e29 + _e28;
|
||||
metal::float4 _e34 = image_2d.sample(sampler_reg, tc, metal::bias(2.0), metal::int2(3, 1));
|
||||
metal::float4 _e35 = a;
|
||||
a = _e35 + _e34;
|
||||
metal::float4 _e40 = image_2d_array.sample(sampler_reg, tc, 0u);
|
||||
metal::float4 _e41 = a;
|
||||
a = _e41 + _e40;
|
||||
metal::float4 _e46 = image_2d_array.sample(sampler_reg, tc, 0u, metal::int2(3, 1));
|
||||
metal::float4 _e47 = a;
|
||||
a = _e47 + _e46;
|
||||
metal::float4 _e52 = image_2d_array.sample(sampler_reg, tc, 0u, metal::level(2.3));
|
||||
metal::float4 _e53 = a;
|
||||
a = _e53 + _e52;
|
||||
metal::float4 _e58 = image_2d_array.sample(sampler_reg, tc, 0u, metal::level(2.3), metal::int2(3, 1));
|
||||
metal::float4 _e59 = a;
|
||||
a = _e59 + _e58;
|
||||
metal::float4 _e65 = image_2d_array.sample(sampler_reg, tc, 0u, metal::bias(2.0), metal::int2(3, 1));
|
||||
metal::float4 _e66 = a;
|
||||
a = _e66 + _e65;
|
||||
metal::float4 _e71 = image_2d_array.sample(sampler_reg, tc, 0);
|
||||
metal::float4 _e72 = a;
|
||||
a = _e72 + _e71;
|
||||
metal::float4 _e77 = image_2d_array.sample(sampler_reg, tc, 0, metal::int2(3, 1));
|
||||
metal::float4 _e78 = a;
|
||||
a = _e78 + _e77;
|
||||
metal::float4 _e83 = image_2d_array.sample(sampler_reg, tc, 0, metal::level(2.3));
|
||||
metal::float4 _e84 = a;
|
||||
a = _e84 + _e83;
|
||||
metal::float4 _e89 = image_2d_array.sample(sampler_reg, tc, 0, metal::level(2.3), metal::int2(3, 1));
|
||||
metal::float4 _e90 = a;
|
||||
a = _e90 + _e89;
|
||||
metal::float4 _e96 = image_2d_array.sample(sampler_reg, tc, 0, metal::bias(2.0), metal::int2(3, 1));
|
||||
metal::float4 _e97 = a;
|
||||
a = _e97 + _e96;
|
||||
metal::float4 _e102 = image_cube_array.sample(sampler_reg, tc3_, 0u);
|
||||
metal::float4 _e103 = a;
|
||||
a = _e103 + _e102;
|
||||
metal::float4 _e108 = image_cube_array.sample(sampler_reg, tc3_, 0u, metal::level(2.3));
|
||||
metal::float4 _e109 = a;
|
||||
a = _e109 + _e108;
|
||||
metal::float4 _e115 = image_cube_array.sample(sampler_reg, tc3_, 0u, metal::bias(2.0));
|
||||
metal::float4 _e116 = a;
|
||||
a = _e116 + _e115;
|
||||
metal::float4 _e121 = image_cube_array.sample(sampler_reg, tc3_, 0);
|
||||
metal::float4 _e122 = a;
|
||||
a = _e122 + _e121;
|
||||
metal::float4 _e127 = image_cube_array.sample(sampler_reg, tc3_, 0, metal::level(2.3));
|
||||
metal::float4 _e128 = a;
|
||||
a = _e128 + _e127;
|
||||
metal::float4 _e134 = image_cube_array.sample(sampler_reg, tc3_, 0, metal::bias(2.0));
|
||||
metal::float4 _e135 = a;
|
||||
a = _e135 + _e134;
|
||||
metal::float4 _e137 = a;
|
||||
return texture_sampleOutput { _e137 };
|
||||
metal::float4 _e9 = image_1d.sample(sampler_reg, tc.x);
|
||||
metal::float4 _e10 = a;
|
||||
a = _e10 + _e9;
|
||||
metal::float4 _e14 = image_2d.sample(sampler_reg, tc);
|
||||
metal::float4 _e15 = a;
|
||||
a = _e15 + _e14;
|
||||
metal::float4 _e19 = image_2d.sample(sampler_reg, tc, metal::int2(3, 1));
|
||||
metal::float4 _e20 = a;
|
||||
a = _e20 + _e19;
|
||||
metal::float4 _e24 = image_2d.sample(sampler_reg, tc, metal::level(2.3));
|
||||
metal::float4 _e25 = a;
|
||||
a = _e25 + _e24;
|
||||
metal::float4 _e29 = image_2d.sample(sampler_reg, tc, metal::level(2.3), metal::int2(3, 1));
|
||||
metal::float4 _e30 = a;
|
||||
a = _e30 + _e29;
|
||||
metal::float4 _e35 = image_2d.sample(sampler_reg, tc, metal::bias(2.0), metal::int2(3, 1));
|
||||
metal::float4 _e36 = a;
|
||||
a = _e36 + _e35;
|
||||
metal::float4 _e41 = image_2d_array.sample(sampler_reg, tc, 0u);
|
||||
metal::float4 _e42 = a;
|
||||
a = _e42 + _e41;
|
||||
metal::float4 _e47 = image_2d_array.sample(sampler_reg, tc, 0u, metal::int2(3, 1));
|
||||
metal::float4 _e48 = a;
|
||||
a = _e48 + _e47;
|
||||
metal::float4 _e53 = image_2d_array.sample(sampler_reg, tc, 0u, metal::level(2.3));
|
||||
metal::float4 _e54 = a;
|
||||
a = _e54 + _e53;
|
||||
metal::float4 _e59 = image_2d_array.sample(sampler_reg, tc, 0u, metal::level(2.3), metal::int2(3, 1));
|
||||
metal::float4 _e60 = a;
|
||||
a = _e60 + _e59;
|
||||
metal::float4 _e66 = image_2d_array.sample(sampler_reg, tc, 0u, metal::bias(2.0), metal::int2(3, 1));
|
||||
metal::float4 _e67 = a;
|
||||
a = _e67 + _e66;
|
||||
metal::float4 _e72 = image_2d_array.sample(sampler_reg, tc, 0);
|
||||
metal::float4 _e73 = a;
|
||||
a = _e73 + _e72;
|
||||
metal::float4 _e78 = image_2d_array.sample(sampler_reg, tc, 0, metal::int2(3, 1));
|
||||
metal::float4 _e79 = a;
|
||||
a = _e79 + _e78;
|
||||
metal::float4 _e84 = image_2d_array.sample(sampler_reg, tc, 0, metal::level(2.3));
|
||||
metal::float4 _e85 = a;
|
||||
a = _e85 + _e84;
|
||||
metal::float4 _e90 = image_2d_array.sample(sampler_reg, tc, 0, metal::level(2.3), metal::int2(3, 1));
|
||||
metal::float4 _e91 = a;
|
||||
a = _e91 + _e90;
|
||||
metal::float4 _e97 = image_2d_array.sample(sampler_reg, tc, 0, metal::bias(2.0), metal::int2(3, 1));
|
||||
metal::float4 _e98 = a;
|
||||
a = _e98 + _e97;
|
||||
metal::float4 _e103 = image_cube_array.sample(sampler_reg, tc3_, 0u);
|
||||
metal::float4 _e104 = a;
|
||||
a = _e104 + _e103;
|
||||
metal::float4 _e109 = image_cube_array.sample(sampler_reg, tc3_, 0u, metal::level(2.3));
|
||||
metal::float4 _e110 = a;
|
||||
a = _e110 + _e109;
|
||||
metal::float4 _e116 = image_cube_array.sample(sampler_reg, tc3_, 0u, metal::bias(2.0));
|
||||
metal::float4 _e117 = a;
|
||||
a = _e117 + _e116;
|
||||
metal::float4 _e122 = image_cube_array.sample(sampler_reg, tc3_, 0);
|
||||
metal::float4 _e123 = a;
|
||||
a = _e123 + _e122;
|
||||
metal::float4 _e128 = image_cube_array.sample(sampler_reg, tc3_, 0, metal::level(2.3));
|
||||
metal::float4 _e129 = a;
|
||||
a = _e129 + _e128;
|
||||
metal::float4 _e135 = image_cube_array.sample(sampler_reg, tc3_, 0, metal::bias(2.0));
|
||||
metal::float4 _e136 = a;
|
||||
a = _e136 + _e135;
|
||||
metal::float4 _e138 = a;
|
||||
return texture_sampleOutput { _e138 };
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,130 +1,127 @@
|
||||
; SPIR-V
|
||||
; Version: 1.1
|
||||
; Generator: rspirv
|
||||
; Bound: 85
|
||||
; Bound: 82
|
||||
OpCapability Shader
|
||||
OpExtension "SPV_KHR_storage_buffer_storage_class"
|
||||
%1 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %75 "main"
|
||||
OpExecutionMode %75 LocalSize 1 1 1
|
||||
OpDecorate %8 DescriptorSet 0
|
||||
OpDecorate %8 Binding 0
|
||||
OpDecorate %9 Block
|
||||
OpMemberDecorate %9 0 Offset 0
|
||||
OpDecorate %11 DescriptorSet 0
|
||||
OpDecorate %11 Binding 1
|
||||
OpDecorate %12 Block
|
||||
OpMemberDecorate %12 0 Offset 0
|
||||
OpEntryPoint GLCompute %72 "main"
|
||||
OpExecutionMode %72 LocalSize 1 1 1
|
||||
OpDecorate %7 DescriptorSet 0
|
||||
OpDecorate %7 Binding 0
|
||||
OpDecorate %8 Block
|
||||
OpMemberDecorate %8 0 Offset 0
|
||||
OpDecorate %10 DescriptorSet 0
|
||||
OpDecorate %10 Binding 1
|
||||
OpDecorate %11 Block
|
||||
OpMemberDecorate %11 0 Offset 0
|
||||
%2 = OpTypeVoid
|
||||
%4 = OpTypeInt 32 1
|
||||
%3 = OpTypeVector %4 4
|
||||
%5 = OpTypeVector %4 2
|
||||
%6 = OpConstant %4 4
|
||||
%7 = OpConstant %4 8
|
||||
%9 = OpTypeStruct %3
|
||||
%10 = OpTypePointer StorageBuffer %9
|
||||
%8 = OpVariable %10 StorageBuffer
|
||||
%12 = OpTypeStruct %4
|
||||
%13 = OpTypePointer StorageBuffer %12
|
||||
%11 = OpVariable %13 StorageBuffer
|
||||
%16 = OpTypeFunction %2
|
||||
%17 = OpTypePointer StorageBuffer %3
|
||||
%19 = OpTypeInt 32 0
|
||||
%18 = OpConstant %19 0
|
||||
%21 = OpConstant %4 1
|
||||
%22 = OpConstant %4 2
|
||||
%23 = OpConstantComposite %5 %21 %22
|
||||
%24 = OpConstant %4 3
|
||||
%25 = OpConstantComposite %5 %24 %6
|
||||
%26 = OpConstantComposite %3 %6 %24 %22 %21
|
||||
%30 = OpTypePointer StorageBuffer %4
|
||||
%38 = OpConstant %4 6
|
||||
%45 = OpConstant %4 30
|
||||
%46 = OpConstant %4 70
|
||||
%48 = OpTypePointer Function %4
|
||||
%50 = OpConstantNull %4
|
||||
%52 = OpConstantNull %4
|
||||
%67 = OpConstant %4 -4
|
||||
%68 = OpConstantComposite %3 %67 %67 %67 %67
|
||||
%15 = OpFunction %2 None %16
|
||||
%14 = OpLabel
|
||||
%20 = OpAccessChain %17 %8 %18
|
||||
OpBranch %27
|
||||
%27 = OpLabel
|
||||
OpStore %20 %26
|
||||
%5 = OpConstant %4 4
|
||||
%6 = OpConstant %4 8
|
||||
%8 = OpTypeStruct %3
|
||||
%9 = OpTypePointer StorageBuffer %8
|
||||
%7 = OpVariable %9 StorageBuffer
|
||||
%11 = OpTypeStruct %4
|
||||
%12 = OpTypePointer StorageBuffer %11
|
||||
%10 = OpVariable %12 StorageBuffer
|
||||
%15 = OpTypeFunction %2
|
||||
%16 = OpTypePointer StorageBuffer %3
|
||||
%18 = OpTypeInt 32 0
|
||||
%17 = OpConstant %18 0
|
||||
%20 = OpConstant %4 1
|
||||
%21 = OpConstant %4 2
|
||||
%22 = OpConstant %4 3
|
||||
%23 = OpConstantComposite %3 %5 %22 %21 %20
|
||||
%27 = OpTypePointer StorageBuffer %4
|
||||
%35 = OpConstant %4 6
|
||||
%42 = OpConstant %4 30
|
||||
%43 = OpConstant %4 70
|
||||
%45 = OpTypePointer Function %4
|
||||
%47 = OpConstantNull %4
|
||||
%49 = OpConstantNull %4
|
||||
%64 = OpConstant %4 -4
|
||||
%65 = OpConstantComposite %3 %64 %64 %64 %64
|
||||
%14 = OpFunction %2 None %15
|
||||
%13 = OpLabel
|
||||
%19 = OpAccessChain %16 %7 %17
|
||||
OpBranch %24
|
||||
%24 = OpLabel
|
||||
OpStore %19 %23
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%29 = OpFunction %2 None %16
|
||||
%28 = OpLabel
|
||||
%31 = OpAccessChain %30 %11 %18
|
||||
OpBranch %32
|
||||
%26 = OpFunction %2 None %15
|
||||
%25 = OpLabel
|
||||
%28 = OpAccessChain %27 %10 %17
|
||||
OpBranch %29
|
||||
%29 = OpLabel
|
||||
%30 = OpLoad %4 %28
|
||||
%31 = OpIAdd %4 %30 %21
|
||||
OpStore %28 %31
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%33 = OpFunction %2 None %15
|
||||
%32 = OpLabel
|
||||
%33 = OpLoad %4 %31
|
||||
%34 = OpIAdd %4 %33 %22
|
||||
OpStore %31 %34
|
||||
%34 = OpAccessChain %27 %10 %17
|
||||
OpBranch %36
|
||||
%36 = OpLabel
|
||||
%37 = OpLoad %4 %34
|
||||
%38 = OpIAdd %4 %37 %35
|
||||
OpStore %34 %38
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%36 = OpFunction %2 None %16
|
||||
%35 = OpLabel
|
||||
%37 = OpAccessChain %30 %11 %18
|
||||
OpBranch %39
|
||||
%40 = OpFunction %2 None %15
|
||||
%39 = OpLabel
|
||||
%40 = OpLoad %4 %37
|
||||
%41 = OpIAdd %4 %40 %38
|
||||
OpStore %37 %41
|
||||
%46 = OpVariable %45 Function %47
|
||||
%50 = OpVariable %45 Function %43
|
||||
%44 = OpVariable %45 Function %42
|
||||
%48 = OpVariable %45 Function %49
|
||||
%41 = OpAccessChain %16 %7 %17
|
||||
OpBranch %51
|
||||
%51 = OpLabel
|
||||
%52 = OpLoad %4 %44
|
||||
OpStore %46 %52
|
||||
%53 = OpLoad %4 %46
|
||||
OpStore %48 %53
|
||||
%54 = OpLoad %4 %44
|
||||
%55 = OpLoad %4 %46
|
||||
%56 = OpLoad %4 %48
|
||||
%57 = OpLoad %4 %50
|
||||
%58 = OpCompositeConstruct %3 %54 %55 %56 %57
|
||||
%59 = OpLoad %3 %41
|
||||
%60 = OpIAdd %3 %59 %58
|
||||
OpStore %41 %60
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%43 = OpFunction %2 None %16
|
||||
%42 = OpLabel
|
||||
%49 = OpVariable %48 Function %50
|
||||
%53 = OpVariable %48 Function %46
|
||||
%47 = OpVariable %48 Function %45
|
||||
%51 = OpVariable %48 Function %52
|
||||
%44 = OpAccessChain %17 %8 %18
|
||||
OpBranch %54
|
||||
%54 = OpLabel
|
||||
%55 = OpLoad %4 %47
|
||||
OpStore %49 %55
|
||||
%56 = OpLoad %4 %49
|
||||
OpStore %51 %56
|
||||
%57 = OpLoad %4 %47
|
||||
%58 = OpLoad %4 %49
|
||||
%59 = OpLoad %4 %51
|
||||
%60 = OpLoad %4 %53
|
||||
%61 = OpCompositeConstruct %3 %57 %58 %59 %60
|
||||
%62 = OpLoad %3 %44
|
||||
%63 = OpIAdd %3 %62 %61
|
||||
OpStore %44 %63
|
||||
%62 = OpFunction %2 None %15
|
||||
%61 = OpLabel
|
||||
%63 = OpAccessChain %16 %7 %17
|
||||
OpBranch %66
|
||||
%66 = OpLabel
|
||||
OpStore %63 %65
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%65 = OpFunction %2 None %16
|
||||
%64 = OpLabel
|
||||
%66 = OpAccessChain %17 %8 %18
|
||||
OpBranch %69
|
||||
%69 = OpLabel
|
||||
OpStore %66 %68
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%71 = OpFunction %2 None %16
|
||||
%68 = OpFunction %2 None %15
|
||||
%67 = OpLabel
|
||||
%69 = OpAccessChain %16 %7 %17
|
||||
OpBranch %70
|
||||
%70 = OpLabel
|
||||
%72 = OpAccessChain %17 %8 %18
|
||||
OpBranch %73
|
||||
%73 = OpLabel
|
||||
OpStore %72 %68
|
||||
OpStore %69 %65
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%75 = OpFunction %2 None %16
|
||||
%74 = OpLabel
|
||||
%76 = OpAccessChain %17 %8 %18
|
||||
%77 = OpAccessChain %30 %11 %18
|
||||
OpBranch %78
|
||||
%78 = OpLabel
|
||||
%79 = OpFunctionCall %2 %15
|
||||
%80 = OpFunctionCall %2 %29
|
||||
%81 = OpFunctionCall %2 %36
|
||||
%82 = OpFunctionCall %2 %43
|
||||
%83 = OpFunctionCall %2 %65
|
||||
%84 = OpFunctionCall %2 %71
|
||||
%72 = OpFunction %2 None %15
|
||||
%71 = OpLabel
|
||||
%73 = OpAccessChain %16 %7 %17
|
||||
%74 = OpAccessChain %27 %10 %17
|
||||
OpBranch %75
|
||||
%75 = OpLabel
|
||||
%76 = OpFunctionCall %2 %14
|
||||
%77 = OpFunctionCall %2 %26
|
||||
%78 = OpFunctionCall %2 %33
|
||||
%79 = OpFunctionCall %2 %40
|
||||
%80 = OpFunctionCall %2 %62
|
||||
%81 = OpFunctionCall %2 %68
|
||||
OpReturn
|
||||
OpFunctionEnd
|
@ -360,10 +360,10 @@ OpName %52 "x"
|
||||
OpName %53 "permute3"
|
||||
OpName %66 "v"
|
||||
OpName %67 "snoise2"
|
||||
OpName %90 "i"
|
||||
OpName %93 "i1"
|
||||
OpName %95 "x12"
|
||||
OpName %98 "m"
|
||||
OpName %86 "i"
|
||||
OpName %89 "i1"
|
||||
OpName %91 "x12"
|
||||
OpName %94 "m"
|
||||
OpName %203 "p"
|
||||
OpName %204 "fbm"
|
||||
OpName %209 "x"
|
||||
@ -547,34 +547,30 @@ OpDecorate %582 Location 0
|
||||
%71 = OpConstant %5 -0.57735026
|
||||
%72 = OpConstant %5 0.024390243
|
||||
%73 = OpConstantComposite %7 %69 %70 %71 %72
|
||||
%74 = OpConstantComposite %6 %70 %70
|
||||
%75 = OpConstantComposite %6 %69 %69
|
||||
%76 = OpConstant %5 0.0
|
||||
%77 = OpConstantComposite %6 %56 %76
|
||||
%78 = OpConstantComposite %6 %76 %56
|
||||
%79 = OpConstantComposite %7 %69 %69 %71 %71
|
||||
%80 = OpConstantComposite %6 %58 %58
|
||||
%81 = OpConstant %5 0.5
|
||||
%82 = OpConstantComposite %4 %81 %81 %81
|
||||
%83 = OpConstantComposite %4 %76 %76 %76
|
||||
%84 = OpConstant %5 2.0
|
||||
%85 = OpConstantComposite %4 %72 %72 %72
|
||||
%86 = OpConstant %5 1.7928429
|
||||
%87 = OpConstant %5 0.85373473
|
||||
%88 = OpConstantComposite %4 %86 %86 %86
|
||||
%89 = OpConstant %5 130.0
|
||||
%91 = OpTypePointer Function %6
|
||||
%92 = OpConstantNull %6
|
||||
%94 = OpConstantNull %6
|
||||
%96 = OpTypePointer Function %7
|
||||
%97 = OpConstantNull %7
|
||||
%99 = OpTypePointer Function %4
|
||||
%100 = OpConstantNull %4
|
||||
%114 = OpTypeBool
|
||||
%117 = OpTypeVector %114 2
|
||||
%126 = OpTypePointer Function %5
|
||||
%127 = OpConstant %8 1
|
||||
%136 = OpConstant %8 0
|
||||
%74 = OpConstant %5 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 1.7928429
|
||||
%83 = OpConstant %5 0.85373473
|
||||
%84 = OpConstantComposite %4 %82 %82 %82
|
||||
%85 = OpConstant %5 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
|
||||
%112 = OpTypeBool
|
||||
%115 = OpTypeVector %112 2
|
||||
%125 = OpTypePointer Function %5
|
||||
%126 = OpConstant %8 1
|
||||
%135 = OpConstant %8 0
|
||||
%205 = OpConstant %8 5
|
||||
%206 = OpConstant %5 0.01
|
||||
%207 = OpConstant %5 100.0
|
||||
@ -585,11 +581,11 @@ OpDecorate %582 Location 0
|
||||
%258 = OpTypeFunction %4 %6 %6
|
||||
%271 = OpTypeFunction %14 %6 %6
|
||||
%272 = OpConstant %5 0.1
|
||||
%273 = OpConstantComposite %6 %272 %76
|
||||
%274 = OpConstantComposite %6 %76 %272
|
||||
%273 = OpConstantComposite %6 %272 %74
|
||||
%274 = OpConstantComposite %6 %74 %272
|
||||
%275 = OpConstant %5 -0.1
|
||||
%276 = OpConstantComposite %6 %275 %76
|
||||
%277 = OpConstantComposite %6 %76 %275
|
||||
%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
|
||||
@ -650,7 +646,7 @@ OpDecorate %582 Location 0
|
||||
%585 = OpTypePointer Uniform %25
|
||||
%587 = OpConstantComposite %4 %272 %272 %272
|
||||
%588 = OpConstant %5 0.7
|
||||
%589 = OpConstantComposite %4 %81 %272 %588
|
||||
%589 = OpConstantComposite %4 %78 %272 %588
|
||||
%590 = OpConstant %5 0.2
|
||||
%591 = OpConstantComposite %4 %590 %590 %590
|
||||
%593 = OpConstantNull %4
|
||||
@ -673,163 +669,167 @@ OpFunctionEnd
|
||||
%67 = OpFunction %5 None %68
|
||||
%66 = OpFunctionParameter %6
|
||||
%65 = OpLabel
|
||||
%93 = OpVariable %91 Function %94
|
||||
%98 = OpVariable %99 Function %100
|
||||
%90 = OpVariable %91 Function %92
|
||||
%95 = OpVariable %96 Function %97
|
||||
OpBranch %101
|
||||
%101 = OpLabel
|
||||
%89 = OpVariable %87 Function %90
|
||||
%94 = OpVariable %95 Function %96
|
||||
%86 = OpVariable %87 Function %88
|
||||
%91 = OpVariable %92 Function %93
|
||||
OpBranch %97
|
||||
%97 = OpLabel
|
||||
OpLine %3 13 13
|
||||
OpLine %3 14 24
|
||||
%102 = OpDot %5 %66 %74
|
||||
%103 = OpCompositeConstruct %6 %102 %102
|
||||
%104 = OpFAdd %6 %66 %103
|
||||
%105 = OpExtInst %6 %1 Floor %104
|
||||
%98 = OpVectorShuffle %6 %73 %73 1 1
|
||||
%99 = OpDot %5 %66 %98
|
||||
%100 = OpCompositeConstruct %6 %99 %99
|
||||
%101 = OpFAdd %6 %66 %100
|
||||
%102 = OpExtInst %6 %1 Floor %101
|
||||
OpLine %3 14 5
|
||||
OpStore %90 %105
|
||||
OpStore %86 %102
|
||||
OpLine %3 15 14
|
||||
%106 = OpLoad %6 %90
|
||||
%107 = OpFSub %6 %66 %106
|
||||
%108 = OpLoad %6 %90
|
||||
%109 = OpDot %5 %108 %75
|
||||
%110 = OpCompositeConstruct %6 %109 %109
|
||||
%111 = OpFAdd %6 %107 %110
|
||||
%103 = OpLoad %6 %86
|
||||
%104 = OpFSub %6 %66 %103
|
||||
%105 = OpLoad %6 %86
|
||||
%106 = OpVectorShuffle %6 %73 %73 0 0
|
||||
%107 = OpDot %5 %105 %106
|
||||
%108 = OpCompositeConstruct %6 %107 %107
|
||||
%109 = OpFAdd %6 %104 %108
|
||||
OpLine %3 17 32
|
||||
OpLine %3 17 25
|
||||
%112 = OpCompositeExtract %5 %111 0
|
||||
%113 = OpCompositeExtract %5 %111 1
|
||||
%115 = OpFOrdLessThan %114 %112 %113
|
||||
%118 = OpCompositeConstruct %117 %115 %115
|
||||
%116 = OpSelect %6 %118 %78 %77
|
||||
%110 = OpCompositeExtract %5 %109 0
|
||||
%111 = OpCompositeExtract %5 %109 1
|
||||
%113 = OpFOrdLessThan %112 %110 %111
|
||||
%116 = OpCompositeConstruct %115 %113 %113
|
||||
%114 = OpSelect %6 %116 %76 %75
|
||||
OpLine %3 17 5
|
||||
OpStore %93 %116
|
||||
OpStore %89 %114
|
||||
OpLine %3 18 26
|
||||
%119 = OpVectorShuffle %7 %111 %111 0 1 0 1
|
||||
%120 = OpFAdd %7 %119 %79
|
||||
%121 = OpLoad %6 %93
|
||||
%117 = OpVectorShuffle %7 %109 %109 0 1 0 1
|
||||
%118 = OpVectorShuffle %7 %73 %73 0 0 2 2
|
||||
%119 = OpFAdd %7 %117 %118
|
||||
%120 = OpLoad %6 %89
|
||||
OpLine %3 18 26
|
||||
%122 = OpCompositeConstruct %7 %121 %76 %76
|
||||
%123 = OpFSub %7 %120 %122
|
||||
%121 = OpCompositeConstruct %7 %120 %74 %74
|
||||
%122 = OpFSub %7 %119 %121
|
||||
OpLine %3 18 5
|
||||
OpStore %95 %123
|
||||
OpStore %91 %122
|
||||
OpLine %3 1 1
|
||||
%124 = OpLoad %6 %90
|
||||
%123 = OpLoad %6 %86
|
||||
OpLine %3 19 9
|
||||
%125 = OpFRem %6 %124 %80
|
||||
%124 = OpFRem %6 %123 %77
|
||||
OpLine %3 19 5
|
||||
OpStore %90 %125
|
||||
OpStore %86 %124
|
||||
OpLine %3 20 31
|
||||
%128 = OpAccessChain %126 %90 %127
|
||||
%129 = OpLoad %5 %128
|
||||
%127 = OpAccessChain %125 %86 %126
|
||||
%128 = OpLoad %5 %127
|
||||
OpLine %3 20 51
|
||||
%130 = OpAccessChain %126 %93 %127
|
||||
%131 = OpLoad %5 %130
|
||||
%129 = OpAccessChain %125 %89 %126
|
||||
%130 = OpLoad %5 %129
|
||||
OpLine %3 20 31
|
||||
%132 = OpCompositeConstruct %4 %76 %131 %56
|
||||
%133 = OpCompositeConstruct %4 %129 %129 %129
|
||||
%134 = OpFAdd %4 %133 %132
|
||||
%131 = OpCompositeConstruct %4 %74 %130 %56
|
||||
%132 = OpCompositeConstruct %4 %128 %128 %128
|
||||
%133 = OpFAdd %4 %132 %131
|
||||
OpLine %3 20 22
|
||||
%135 = OpFunctionCall %4 %53 %134
|
||||
%134 = OpFunctionCall %4 %53 %133
|
||||
OpLine %3 20 22
|
||||
%137 = OpAccessChain %126 %90 %136
|
||||
%138 = OpLoad %5 %137
|
||||
%139 = OpCompositeConstruct %4 %138 %138 %138
|
||||
%140 = OpFAdd %4 %135 %139
|
||||
%136 = OpAccessChain %125 %86 %135
|
||||
%137 = OpLoad %5 %136
|
||||
%138 = OpCompositeConstruct %4 %137 %137 %137
|
||||
%139 = OpFAdd %4 %134 %138
|
||||
OpLine %3 20 84
|
||||
%141 = OpAccessChain %126 %93 %136
|
||||
%142 = OpLoad %5 %141
|
||||
%140 = OpAccessChain %125 %89 %135
|
||||
%141 = OpLoad %5 %140
|
||||
OpLine %3 20 22
|
||||
%143 = OpCompositeConstruct %4 %76 %142 %56
|
||||
%144 = OpFAdd %4 %140 %143
|
||||
%142 = OpCompositeConstruct %4 %74 %141 %56
|
||||
%143 = OpFAdd %4 %139 %142
|
||||
OpLine %3 20 13
|
||||
%145 = OpFunctionCall %4 %53 %144
|
||||
%144 = OpFunctionCall %4 %53 %143
|
||||
OpLine %3 21 28
|
||||
%146 = OpDot %5 %111 %111
|
||||
%147 = OpLoad %7 %95
|
||||
%148 = OpVectorShuffle %6 %147 %147 0 1
|
||||
%149 = OpLoad %7 %95
|
||||
%150 = OpVectorShuffle %6 %149 %149 0 1
|
||||
%151 = OpDot %5 %148 %150
|
||||
%152 = OpLoad %7 %95
|
||||
%153 = OpVectorShuffle %6 %152 %152 2 3
|
||||
%154 = OpLoad %7 %95
|
||||
%155 = OpVectorShuffle %6 %154 %154 2 3
|
||||
%156 = OpDot %5 %153 %155
|
||||
%157 = OpCompositeConstruct %4 %146 %151 %156
|
||||
%158 = OpFSub %4 %82 %157
|
||||
%145 = OpDot %5 %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
|
||||
%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
|
||||
%157 = OpFSub %4 %79 %156
|
||||
OpLine %3 21 24
|
||||
%159 = OpExtInst %4 %1 FMax %158 %83
|
||||
%158 = OpExtInst %4 %1 FMax %157 %80
|
||||
OpLine %3 21 5
|
||||
OpStore %98 %159
|
||||
OpStore %94 %158
|
||||
OpLine %3 22 9
|
||||
%160 = OpLoad %4 %98
|
||||
%161 = OpLoad %4 %98
|
||||
%162 = OpFMul %4 %160 %161
|
||||
%159 = OpLoad %4 %94
|
||||
%160 = OpLoad %4 %94
|
||||
%161 = OpFMul %4 %159 %160
|
||||
OpLine %3 22 5
|
||||
OpStore %98 %162
|
||||
OpStore %94 %161
|
||||
OpLine %3 23 9
|
||||
%163 = OpLoad %4 %98
|
||||
%164 = OpLoad %4 %98
|
||||
%165 = OpFMul %4 %163 %164
|
||||
%162 = OpLoad %4 %94
|
||||
%163 = OpLoad %4 %94
|
||||
%164 = OpFMul %4 %162 %163
|
||||
OpLine %3 23 5
|
||||
OpStore %98 %165
|
||||
OpStore %94 %164
|
||||
OpLine %3 24 13
|
||||
%166 = OpFMul %4 %145 %85
|
||||
%165 = OpVectorShuffle %4 %73 %73 3 3 3
|
||||
%166 = OpFMul %4 %144 %165
|
||||
%167 = OpExtInst %4 %1 Fract %166
|
||||
%168 = OpVectorTimesScalar %4 %167 %84
|
||||
%168 = OpVectorTimesScalar %4 %167 %81
|
||||
OpLine %3 24 13
|
||||
%169 = OpFSub %4 %168 %57
|
||||
OpLine %3 25 13
|
||||
%170 = OpExtInst %4 %1 FAbs %169
|
||||
OpLine %3 25 13
|
||||
%171 = OpFSub %4 %170 %82
|
||||
%171 = OpFSub %4 %170 %79
|
||||
OpLine %3 26 14
|
||||
%172 = OpFAdd %4 %169 %82
|
||||
%172 = OpFAdd %4 %169 %79
|
||||
%173 = OpExtInst %4 %1 Floor %172
|
||||
OpLine %3 27 14
|
||||
%174 = OpFSub %4 %169 %173
|
||||
OpLine %3 1 1
|
||||
%175 = OpLoad %4 %98
|
||||
%175 = OpLoad %4 %94
|
||||
OpLine %3 28 9
|
||||
%176 = OpFMul %4 %174 %174
|
||||
%177 = OpFMul %4 %171 %171
|
||||
%178 = OpFAdd %4 %176 %177
|
||||
%179 = OpVectorTimesScalar %4 %178 %87
|
||||
%180 = OpFSub %4 %88 %179
|
||||
%179 = OpVectorTimesScalar %4 %178 %83
|
||||
%180 = OpFSub %4 %84 %179
|
||||
%181 = OpFMul %4 %175 %180
|
||||
OpLine %3 28 5
|
||||
OpStore %98 %181
|
||||
OpStore %94 %181
|
||||
OpLine %3 29 13
|
||||
%182 = OpCompositeExtract %5 %174 0
|
||||
%183 = OpCompositeExtract %5 %111 0
|
||||
%183 = OpCompositeExtract %5 %109 0
|
||||
%184 = OpFMul %5 %182 %183
|
||||
%185 = OpCompositeExtract %5 %171 0
|
||||
%186 = OpCompositeExtract %5 %111 1
|
||||
%186 = OpCompositeExtract %5 %109 1
|
||||
%187 = OpFMul %5 %185 %186
|
||||
%188 = OpFAdd %5 %184 %187
|
||||
%189 = OpVectorShuffle %6 %174 %174 1 2
|
||||
%190 = OpLoad %7 %95
|
||||
%190 = OpLoad %7 %91
|
||||
%191 = OpVectorShuffle %6 %190 %190 0 2
|
||||
%192 = OpFMul %6 %189 %191
|
||||
%193 = OpVectorShuffle %6 %171 %171 1 2
|
||||
%194 = OpLoad %7 %95
|
||||
%194 = OpLoad %7 %91
|
||||
%195 = OpVectorShuffle %6 %194 %194 1 3
|
||||
%196 = OpFMul %6 %193 %195
|
||||
%197 = OpFAdd %6 %192 %196
|
||||
%198 = OpCompositeConstruct %4 %188 %197
|
||||
OpLine %3 30 12
|
||||
%199 = OpLoad %4 %98
|
||||
%199 = OpLoad %4 %94
|
||||
%200 = OpDot %5 %199 %198
|
||||
%201 = OpFMul %5 %89 %200
|
||||
%201 = OpFMul %5 %85 %200
|
||||
OpReturnValue %201
|
||||
OpFunctionEnd
|
||||
%204 = OpFunction %5 None %68
|
||||
%203 = OpFunctionParameter %6
|
||||
%202 = OpLabel
|
||||
%211 = OpVariable %212 Function %76
|
||||
%214 = OpVariable %215 Function %136
|
||||
%209 = OpVariable %91 Function %210
|
||||
%213 = OpVariable %212 Function %81
|
||||
%211 = OpVariable %212 Function %74
|
||||
%214 = OpVariable %215 Function %135
|
||||
%209 = OpVariable %87 Function %210
|
||||
%213 = OpVariable %212 Function %78
|
||||
OpBranch %216
|
||||
%216 = OpLabel
|
||||
OpLine %3 36 13
|
||||
@ -838,9 +838,9 @@ OpLine %3 36 5
|
||||
OpStore %209 %217
|
||||
OpLine %3 39 17
|
||||
OpLine %3 40 24
|
||||
%218 = OpExtInst %5 %1 Cos %81
|
||||
%218 = OpExtInst %5 %1 Cos %78
|
||||
OpLine %3 40 14
|
||||
%219 = OpExtInst %5 %1 Sin %81
|
||||
%219 = OpExtInst %5 %1 Sin %78
|
||||
%220 = OpCompositeConstruct %6 %218 %219
|
||||
OpLine %3 41 15
|
||||
%221 = OpCompositeExtract %5 %220 0
|
||||
@ -859,7 +859,7 @@ OpBranch %231
|
||||
%231 = OpLabel
|
||||
OpLine %3 43 22
|
||||
%233 = OpLoad %8 %214
|
||||
%234 = OpULessThan %114 %233 %205
|
||||
%234 = OpULessThan %112 %233 %205
|
||||
OpLine %3 43 21
|
||||
OpSelectionMerge %235 None
|
||||
OpBranchConditional %234 %235 %236
|
||||
@ -883,14 +883,14 @@ OpLine %3 45 13
|
||||
%245 = OpLoad %6 %209
|
||||
%246 = OpMatrixTimesVector %6 %228 %245
|
||||
OpLine %3 45 13
|
||||
%247 = OpVectorTimesScalar %6 %246 %84
|
||||
%247 = OpVectorTimesScalar %6 %246 %81
|
||||
%248 = OpFAdd %6 %247 %208
|
||||
OpLine %3 45 9
|
||||
OpStore %209 %248
|
||||
OpLine %3 1 1
|
||||
%249 = OpLoad %5 %213
|
||||
OpLine %3 46 13
|
||||
%250 = OpFMul %5 %249 %81
|
||||
%250 = OpFMul %5 %249 %78
|
||||
OpLine %3 46 9
|
||||
OpStore %213 %250
|
||||
OpBranch %238
|
||||
@ -900,7 +900,7 @@ OpBranch %232
|
||||
OpLine %3 1 1
|
||||
%251 = OpLoad %8 %214
|
||||
OpLine %3 43 43
|
||||
%252 = OpIAdd %8 %251 %127
|
||||
%252 = OpIAdd %8 %251 %126
|
||||
OpLine %3 43 39
|
||||
OpStore %214 %252
|
||||
OpBranch %229
|
||||
@ -968,7 +968,7 @@ OpLine %3 92 14
|
||||
OpLine %3 94 14
|
||||
%296 = OpFAdd %4 %293 %295
|
||||
OpLine %3 94 13
|
||||
%297 = OpVectorTimesScalar %4 %296 %81
|
||||
%297 = OpVectorTimesScalar %4 %296 %78
|
||||
OpLine %3 96 12
|
||||
%298 = OpCompositeConstruct %14 %279 %297
|
||||
OpReturnValue %298
|
||||
@ -984,12 +984,12 @@ OpLine %3 101 9
|
||||
%306 = OpConvertUToF %5 %300
|
||||
%307 = OpCompositeExtract %8 %301 0
|
||||
OpLine %3 101 9
|
||||
%308 = OpIAdd %8 %307 %127
|
||||
%308 = OpIAdd %8 %307 %126
|
||||
%309 = OpConvertUToF %5 %308
|
||||
%310 = OpFRem %5 %306 %309
|
||||
%311 = OpCompositeExtract %8 %301 0
|
||||
OpLine %3 100 12
|
||||
%312 = OpIAdd %8 %311 %127
|
||||
%312 = OpIAdd %8 %311 %126
|
||||
%313 = OpUDiv %8 %300 %312
|
||||
%314 = OpConvertUToF %5 %313
|
||||
%315 = OpCompositeConstruct %6 %310 %314
|
||||
@ -1005,41 +1005,41 @@ OpBranch %328
|
||||
OpLine %3 270 9
|
||||
%329 = OpFunctionCall %5 %67 %319
|
||||
OpLine %3 270 9
|
||||
%330 = OpFMul %5 %329 %81
|
||||
%330 = OpFMul %5 %329 %78
|
||||
OpLine %3 270 9
|
||||
%331 = OpFAdd %5 %330 %81
|
||||
%331 = OpFAdd %5 %330 %78
|
||||
OpLine %3 271 17
|
||||
%332 = OpFAdd %6 %319 %324
|
||||
OpLine %3 271 9
|
||||
%333 = OpFunctionCall %5 %67 %332
|
||||
OpLine %3 271 9
|
||||
%334 = OpFMul %5 %333 %81
|
||||
%334 = OpFMul %5 %333 %78
|
||||
OpLine %3 271 9
|
||||
%335 = OpFAdd %5 %334 %81
|
||||
%335 = OpFAdd %5 %334 %78
|
||||
OpLine %3 272 17
|
||||
%336 = OpFAdd %6 %319 %327
|
||||
OpLine %3 272 9
|
||||
%337 = OpFunctionCall %5 %67 %336
|
||||
OpLine %3 272 9
|
||||
%338 = OpFMul %5 %337 %81
|
||||
%338 = OpFMul %5 %337 %78
|
||||
OpLine %3 269 12
|
||||
%339 = OpFAdd %5 %338 %81
|
||||
%339 = OpFAdd %5 %338 %78
|
||||
%340 = OpCompositeConstruct %4 %331 %335 %339
|
||||
OpReturnValue %340
|
||||
OpFunctionEnd
|
||||
%345 = OpFunction %2 None %346
|
||||
%341 = OpLabel
|
||||
%344 = OpLoad %19 %342
|
||||
%348 = OpAccessChain %347 %29 %136
|
||||
%348 = OpAccessChain %347 %29 %135
|
||||
OpBranch %353
|
||||
%353 = OpLabel
|
||||
OpLine %3 111 22
|
||||
%354 = OpCompositeExtract %8 %344 0
|
||||
OpLine %3 113 36
|
||||
%356 = OpAccessChain %355 %348 %136
|
||||
%356 = OpAccessChain %355 %348 %135
|
||||
%357 = OpLoad %10 %356
|
||||
OpLine %3 113 59
|
||||
%359 = OpAccessChain %358 %348 %127
|
||||
%359 = OpAccessChain %358 %348 %126
|
||||
%360 = OpLoad %11 %359
|
||||
OpLine %3 113 13
|
||||
%361 = OpFunctionCall %6 %303 %354 %357 %360
|
||||
@ -1050,22 +1050,22 @@ OpLine %3 115 51
|
||||
OpLine %3 115 33
|
||||
%367 = OpFunctionCall %14 %270 %361 %366
|
||||
OpLine %3 115 5
|
||||
%368 = OpAccessChain %363 %32 %136 %354
|
||||
%368 = OpAccessChain %363 %32 %135 %354
|
||||
OpStore %368 %367
|
||||
OpLine %3 118 23
|
||||
%369 = OpCompositeExtract %8 %344 0
|
||||
OpLine %3 118 23
|
||||
%370 = OpIMul %8 %369 %349
|
||||
OpLine %3 120 25
|
||||
%372 = OpAccessChain %371 %348 %136 %136
|
||||
%372 = OpAccessChain %371 %348 %135 %135
|
||||
%373 = OpLoad %8 %372
|
||||
OpLine %3 120 25
|
||||
%374 = OpAccessChain %371 %348 %136 %127
|
||||
%374 = OpAccessChain %371 %348 %135 %126
|
||||
%375 = OpLoad %8 %374
|
||||
%376 = OpIMul %8 %373 %375
|
||||
OpLine %3 120 9
|
||||
%377 = OpIMul %8 %376 %349
|
||||
%378 = OpUGreaterThanEqual %114 %370 %377
|
||||
%378 = OpUGreaterThanEqual %112 %370 %377
|
||||
OpLine %3 120 5
|
||||
OpSelectionMerge %379 None
|
||||
OpBranchConditional %378 %380 %379
|
||||
@ -1075,60 +1075,60 @@ OpReturn
|
||||
OpLine %3 122 28
|
||||
%381 = OpCompositeExtract %8 %344 0
|
||||
OpLine %3 122 15
|
||||
%382 = OpAccessChain %371 %348 %136 %136
|
||||
%382 = OpAccessChain %371 %348 %135 %135
|
||||
%383 = OpLoad %8 %382
|
||||
%384 = OpUDiv %8 %381 %383
|
||||
%385 = OpIAdd %8 %354 %384
|
||||
OpLine %3 123 15
|
||||
%386 = OpIAdd %8 %385 %127
|
||||
%386 = OpIAdd %8 %385 %126
|
||||
OpLine %3 124 15
|
||||
%387 = OpAccessChain %371 %348 %136 %136
|
||||
%387 = OpAccessChain %371 %348 %135 %135
|
||||
%388 = OpLoad %8 %387
|
||||
%389 = OpIAdd %8 %385 %388
|
||||
OpLine %3 124 15
|
||||
%390 = OpIAdd %8 %389 %127
|
||||
%390 = OpIAdd %8 %389 %126
|
||||
OpLine %3 125 15
|
||||
%391 = OpIAdd %8 %390 %127
|
||||
%391 = OpIAdd %8 %390 %126
|
||||
OpLine %3 127 5
|
||||
OpLine %3 127 5
|
||||
%394 = OpAccessChain %393 %34 %136 %370
|
||||
%394 = OpAccessChain %393 %34 %135 %370
|
||||
OpStore %394 %385
|
||||
OpLine %3 128 5
|
||||
OpLine %3 128 5
|
||||
%395 = OpIAdd %8 %370 %127
|
||||
%395 = OpIAdd %8 %370 %126
|
||||
OpLine %3 128 5
|
||||
%396 = OpAccessChain %393 %34 %136 %395
|
||||
%396 = OpAccessChain %393 %34 %135 %395
|
||||
OpStore %396 %390
|
||||
OpLine %3 129 5
|
||||
OpLine %3 129 5
|
||||
%397 = OpIAdd %8 %370 %350
|
||||
OpLine %3 129 5
|
||||
%398 = OpAccessChain %393 %34 %136 %397
|
||||
%398 = OpAccessChain %393 %34 %135 %397
|
||||
OpStore %398 %391
|
||||
OpLine %3 130 5
|
||||
OpLine %3 130 5
|
||||
%399 = OpIAdd %8 %370 %351
|
||||
OpLine %3 130 5
|
||||
%400 = OpAccessChain %393 %34 %136 %399
|
||||
%400 = OpAccessChain %393 %34 %135 %399
|
||||
OpStore %400 %385
|
||||
OpLine %3 131 5
|
||||
OpLine %3 131 5
|
||||
%401 = OpIAdd %8 %370 %352
|
||||
OpLine %3 131 5
|
||||
%402 = OpAccessChain %393 %34 %136 %401
|
||||
%402 = OpAccessChain %393 %34 %135 %401
|
||||
OpStore %402 %391
|
||||
OpLine %3 132 5
|
||||
OpLine %3 132 5
|
||||
%403 = OpIAdd %8 %370 %205
|
||||
OpLine %3 132 5
|
||||
%404 = OpAccessChain %393 %34 %136 %403
|
||||
%404 = OpAccessChain %393 %34 %135 %403
|
||||
OpStore %404 %386
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%415 = OpFunction %2 None %346
|
||||
%405 = OpLabel
|
||||
%408 = OpLoad %8 %406
|
||||
%417 = OpAccessChain %416 %36 %136
|
||||
%417 = OpAccessChain %416 %36 %135
|
||||
OpBranch %420
|
||||
%420 = OpLabel
|
||||
OpLine %3 161 19
|
||||
@ -1139,7 +1139,7 @@ OpLine %3 161 13
|
||||
%423 = OpUMod %8 %422 %350
|
||||
%424 = OpConvertUToF %5 %423
|
||||
OpLine %3 162 19
|
||||
%425 = OpIAdd %8 %408 %127
|
||||
%425 = OpIAdd %8 %408 %126
|
||||
OpLine %3 162 18
|
||||
%426 = OpUDiv %8 %425 %351
|
||||
OpLine %3 162 13
|
||||
@ -1148,10 +1148,10 @@ OpLine %3 162 13
|
||||
OpLine %3 163 14
|
||||
%429 = OpCompositeConstruct %6 %424 %428
|
||||
OpLine %3 165 30
|
||||
%430 = OpVectorTimesScalar %6 %429 %84
|
||||
%430 = OpVectorTimesScalar %6 %429 %81
|
||||
%431 = OpFAdd %6 %419 %430
|
||||
OpLine %3 165 20
|
||||
%432 = OpCompositeConstruct %7 %431 %76 %56
|
||||
%432 = OpCompositeConstruct %7 %431 %74 %56
|
||||
OpLine %3 168 21
|
||||
%433 = OpCompositeExtract %5 %429 0
|
||||
OpLine %3 168 21
|
||||
@ -1183,13 +1183,13 @@ OpReturn
|
||||
OpFunctionEnd
|
||||
%465 = OpFunction %2 None %346
|
||||
%453 = OpLabel
|
||||
%468 = OpVariable %212 Function %76
|
||||
%469 = OpVariable %215 Function %136
|
||||
%468 = OpVariable %212 Function %74
|
||||
%469 = OpVariable %215 Function %135
|
||||
%456 = OpLoad %8 %455
|
||||
%459 = OpLoad %7 %457
|
||||
%462 = OpLoad %6 %460
|
||||
%454 = OpCompositeConstruct %21 %456 %459 %462
|
||||
%466 = OpAccessChain %416 %36 %136
|
||||
%466 = OpAccessChain %416 %36 %135
|
||||
OpBranch %470
|
||||
%470 = OpLabel
|
||||
OpLine %3 181 17
|
||||
@ -1226,10 +1226,10 @@ OpLine %3 182 22
|
||||
OpLine %3 183 22
|
||||
%495 = OpUMod %8 %490 %349
|
||||
OpLine %3 185 36
|
||||
%496 = OpAccessChain %355 %466 %136
|
||||
%496 = OpAccessChain %355 %466 %135
|
||||
%497 = OpLoad %10 %496
|
||||
OpLine %3 185 57
|
||||
%498 = OpAccessChain %358 %466 %127
|
||||
%498 = OpAccessChain %358 %466 %126
|
||||
%499 = OpLoad %11 %498
|
||||
OpLine %3 185 13
|
||||
%500 = OpFunctionCall %6 %303 %494 %497 %499
|
||||
@ -1287,20 +1287,20 @@ OpBranch %504
|
||||
OpBranch %504
|
||||
%504 = OpLabel
|
||||
OpLine %3 200 15
|
||||
%524 = OpAccessChain %371 %466 %136 %136
|
||||
%524 = OpAccessChain %371 %466 %135 %135
|
||||
%525 = OpLoad %8 %524
|
||||
%526 = OpUDiv %8 %494 %525
|
||||
%527 = OpIAdd %8 %494 %526
|
||||
OpLine %3 201 15
|
||||
%528 = OpIAdd %8 %527 %127
|
||||
%528 = OpIAdd %8 %527 %126
|
||||
OpLine %3 202 15
|
||||
%529 = OpAccessChain %371 %466 %136 %136
|
||||
%529 = OpAccessChain %371 %466 %135 %135
|
||||
%530 = OpLoad %8 %529
|
||||
%531 = OpIAdd %8 %527 %530
|
||||
OpLine %3 202 15
|
||||
%532 = OpIAdd %8 %531 %127
|
||||
%532 = OpIAdd %8 %531 %126
|
||||
OpLine %3 203 15
|
||||
%533 = OpIAdd %8 %532 %127
|
||||
%533 = OpIAdd %8 %532 %126
|
||||
OpLine %3 206 5
|
||||
OpSelectionMerge %534 None
|
||||
OpSwitch %495 %539 0 %535 3 %535 2 %536 4 %536 1 %537 5 %538
|
||||
@ -1344,11 +1344,11 @@ OpFunctionEnd
|
||||
%551 = OpLoad %4 %549
|
||||
%553 = OpLoad %4 %552
|
||||
%548 = OpCompositeConstruct %14 %551 %553
|
||||
%560 = OpAccessChain %559 %39 %136
|
||||
%560 = OpAccessChain %559 %39 %135
|
||||
OpBranch %561
|
||||
%561 = OpLabel
|
||||
OpLine %3 254 25
|
||||
%563 = OpAccessChain %562 %560 %127
|
||||
%563 = OpAccessChain %562 %560 %126
|
||||
%564 = OpLoad %23 %563
|
||||
%565 = OpCompositeExtract %4 %548 0
|
||||
OpLine %3 254 25
|
||||
@ -1369,30 +1369,30 @@ OpReturn
|
||||
OpFunctionEnd
|
||||
%583 = OpFunction %2 None %346
|
||||
%574 = OpLabel
|
||||
%592 = OpVariable %99 Function %593
|
||||
%592 = OpVariable %95 Function %593
|
||||
%577 = OpLoad %7 %576
|
||||
%579 = OpLoad %4 %578
|
||||
%581 = OpLoad %4 %580
|
||||
%575 = OpCompositeConstruct %26 %577 %579 %581
|
||||
%584 = OpAccessChain %559 %39 %136
|
||||
%586 = OpAccessChain %585 %42 %136
|
||||
%584 = OpAccessChain %559 %39 %135
|
||||
%586 = OpAccessChain %585 %42 %135
|
||||
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 %83 %587 %596
|
||||
%597 = OpExtInst %4 %1 SmoothStep %80 %587 %596
|
||||
OpLine %3 278 5
|
||||
OpStore %592 %597
|
||||
OpLine %3 279 17
|
||||
OpLine %3 279 13
|
||||
%598 = OpAccessChain %126 %592 %136
|
||||
%598 = OpAccessChain %125 %592 %135
|
||||
%599 = OpLoad %5 %598
|
||||
%600 = OpAccessChain %126 %592 %127
|
||||
%600 = OpAccessChain %125 %592 %126
|
||||
%601 = OpLoad %5 %600
|
||||
%602 = OpFMul %5 %599 %601
|
||||
%603 = OpAccessChain %126 %592 %350
|
||||
%603 = OpAccessChain %125 %592 %350
|
||||
%604 = OpLoad %5 %603
|
||||
%605 = OpFMul %5 %602 %604
|
||||
%606 = OpCompositeConstruct %4 %605 %605 %605
|
||||
@ -1400,17 +1400,17 @@ OpLine %3 279 13
|
||||
OpLine %3 279 5
|
||||
OpStore %592 %607
|
||||
OpLine %3 282 25
|
||||
%609 = OpAccessChain %608 %586 %127
|
||||
%609 = OpAccessChain %608 %586 %126
|
||||
%610 = OpLoad %4 %609
|
||||
%611 = OpVectorTimesScalar %4 %610 %272
|
||||
OpLine %3 284 21
|
||||
%612 = OpAccessChain %608 %586 %136
|
||||
%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
|
||||
OpLine %3 285 20
|
||||
%618 = OpAccessChain %617 %584 %136
|
||||
%618 = OpAccessChain %617 %584 %135
|
||||
%619 = OpLoad %7 %618
|
||||
%620 = OpVectorShuffle %4 %619 %619 0 1 2
|
||||
%621 = OpCompositeExtract %4 %575 2
|
||||
@ -1423,20 +1423,20 @@ OpLine %3 288 32
|
||||
%626 = OpCompositeExtract %4 %575 1
|
||||
%627 = OpDot %5 %626 %616
|
||||
OpLine %3 288 28
|
||||
%628 = OpExtInst %5 %1 FMax %627 %76
|
||||
%628 = OpExtInst %5 %1 FMax %627 %74
|
||||
OpLine %3 289 25
|
||||
%629 = OpAccessChain %608 %586 %127
|
||||
%629 = OpAccessChain %608 %586 %126
|
||||
%630 = OpLoad %4 %629
|
||||
%631 = OpVectorTimesScalar %4 %630 %628
|
||||
OpLine %3 291 37
|
||||
%632 = OpCompositeExtract %4 %575 1
|
||||
%633 = OpDot %5 %632 %625
|
||||
OpLine %3 291 33
|
||||
%634 = OpExtInst %5 %1 FMax %633 %76
|
||||
%634 = OpExtInst %5 %1 FMax %633 %74
|
||||
OpLine %3 291 29
|
||||
%635 = OpExtInst %5 %1 Pow %634 %323
|
||||
OpLine %3 292 26
|
||||
%636 = OpAccessChain %608 %586 %127
|
||||
%636 = OpAccessChain %608 %586 %126
|
||||
%637 = OpLoad %4 %636
|
||||
%638 = OpVectorTimesScalar %4 %637 %635
|
||||
OpLine %3 294 18
|
||||
|
@ -1,7 +1,7 @@
|
||||
; SPIR-V
|
||||
; Version: 1.1
|
||||
; Generator: rspirv
|
||||
; Bound: 517
|
||||
; Bound: 518
|
||||
OpCapability Shader
|
||||
OpCapability Image1D
|
||||
OpCapability Sampled1D
|
||||
@ -14,15 +14,15 @@ OpEntryPoint GLCompute %169 "depth_load" %167
|
||||
OpEntryPoint Vertex %189 "queries" %187
|
||||
OpEntryPoint Vertex %241 "levels_queries" %240
|
||||
OpEntryPoint Fragment %270 "texture_sample" %269
|
||||
OpEntryPoint Fragment %416 "texture_sample_comparison" %414
|
||||
OpEntryPoint Fragment %472 "gather" %471
|
||||
OpEntryPoint Fragment %506 "depth_no_comparison" %505
|
||||
OpEntryPoint Fragment %417 "texture_sample_comparison" %415
|
||||
OpEntryPoint Fragment %473 "gather" %472
|
||||
OpEntryPoint Fragment %507 "depth_no_comparison" %506
|
||||
OpExecutionMode %78 LocalSize 16 1 1
|
||||
OpExecutionMode %169 LocalSize 16 1 1
|
||||
OpExecutionMode %270 OriginUpperLeft
|
||||
OpExecutionMode %416 OriginUpperLeft
|
||||
OpExecutionMode %472 OriginUpperLeft
|
||||
OpExecutionMode %506 OriginUpperLeft
|
||||
OpExecutionMode %417 OriginUpperLeft
|
||||
OpExecutionMode %473 OriginUpperLeft
|
||||
OpExecutionMode %507 OriginUpperLeft
|
||||
OpName %31 "image_mipmapped_src"
|
||||
OpName %33 "image_multisampled_src"
|
||||
OpName %35 "image_depth_multisampled_src"
|
||||
@ -53,10 +53,10 @@ OpName %189 "queries"
|
||||
OpName %241 "levels_queries"
|
||||
OpName %270 "texture_sample"
|
||||
OpName %284 "a"
|
||||
OpName %416 "texture_sample_comparison"
|
||||
OpName %421 "a"
|
||||
OpName %472 "gather"
|
||||
OpName %506 "depth_no_comparison"
|
||||
OpName %417 "texture_sample_comparison"
|
||||
OpName %422 "a"
|
||||
OpName %473 "gather"
|
||||
OpName %507 "depth_no_comparison"
|
||||
OpDecorate %31 DescriptorSet 0
|
||||
OpDecorate %31 Binding 0
|
||||
OpDecorate %33 DescriptorSet 0
|
||||
@ -109,9 +109,9 @@ OpDecorate %167 BuiltIn LocalInvocationId
|
||||
OpDecorate %187 BuiltIn Position
|
||||
OpDecorate %240 BuiltIn Position
|
||||
OpDecorate %269 Location 0
|
||||
OpDecorate %414 Location 0
|
||||
OpDecorate %471 Location 0
|
||||
OpDecorate %505 Location 0
|
||||
OpDecorate %415 Location 0
|
||||
OpDecorate %472 Location 0
|
||||
OpDecorate %506 Location 0
|
||||
%2 = OpTypeVoid
|
||||
%4 = OpTypeInt 32 0
|
||||
%3 = OpTypeImage %4 2D 0 0 0 1 Unknown
|
||||
@ -209,25 +209,25 @@ OpDecorate %505 Location 0
|
||||
%283 = OpConstant %14 0
|
||||
%285 = OpTypePointer Function %23
|
||||
%286 = OpConstantNull %23
|
||||
%288 = OpTypeSampledImage %15
|
||||
%293 = OpTypeSampledImage %16
|
||||
%314 = OpTypeSampledImage %18
|
||||
%375 = OpTypeSampledImage %20
|
||||
%415 = OpTypePointer Output %7
|
||||
%414 = OpVariable %415 Output
|
||||
%422 = OpTypePointer Function %7
|
||||
%423 = OpConstantNull %7
|
||||
%425 = OpTypeSampledImage %25
|
||||
%430 = OpTypeSampledImage %26
|
||||
%443 = OpTypeSampledImage %27
|
||||
%450 = OpConstant %7 0.0
|
||||
%471 = OpVariable %188 Output
|
||||
%482 = OpConstant %4 1
|
||||
%485 = OpConstant %4 3
|
||||
%490 = OpTypeSampledImage %3
|
||||
%493 = OpTypeVector %14 4
|
||||
%494 = OpTypeSampledImage %17
|
||||
%505 = OpVariable %188 Output
|
||||
%289 = OpTypeSampledImage %15
|
||||
%294 = OpTypeSampledImage %16
|
||||
%315 = OpTypeSampledImage %18
|
||||
%376 = OpTypeSampledImage %20
|
||||
%416 = OpTypePointer Output %7
|
||||
%415 = OpVariable %416 Output
|
||||
%423 = OpTypePointer Function %7
|
||||
%424 = OpConstantNull %7
|
||||
%426 = OpTypeSampledImage %25
|
||||
%431 = OpTypeSampledImage %26
|
||||
%444 = OpTypeSampledImage %27
|
||||
%451 = OpConstant %7 0.0
|
||||
%472 = OpVariable %188 Output
|
||||
%483 = OpConstant %4 1
|
||||
%486 = OpConstant %4 3
|
||||
%491 = OpTypeSampledImage %3
|
||||
%494 = OpTypeVector %14 4
|
||||
%495 = OpTypeSampledImage %17
|
||||
%506 = OpVariable %188 Output
|
||||
%78 = OpFunction %2 None %79
|
||||
%74 = OpLabel
|
||||
%77 = OpLoad %12 %75
|
||||
@ -434,258 +434,259 @@ OpFunctionEnd
|
||||
%275 = OpLoad %24 %64
|
||||
OpBranch %287
|
||||
%287 = OpLabel
|
||||
%289 = OpSampledImage %288 %271 %275
|
||||
%290 = OpImageSampleImplicitLod %23 %289 %276
|
||||
%291 = OpLoad %23 %284
|
||||
%292 = OpFAdd %23 %291 %290
|
||||
OpStore %284 %292
|
||||
%294 = OpSampledImage %293 %272 %275
|
||||
%295 = OpImageSampleImplicitLod %23 %294 %278
|
||||
%296 = OpLoad %23 %284
|
||||
%297 = OpFAdd %23 %296 %295
|
||||
OpStore %284 %297
|
||||
%298 = OpSampledImage %293 %272 %275
|
||||
%299 = OpImageSampleImplicitLod %23 %298 %278 ConstOffset %30
|
||||
%300 = OpLoad %23 %284
|
||||
%301 = OpFAdd %23 %300 %299
|
||||
OpStore %284 %301
|
||||
%302 = OpSampledImage %293 %272 %275
|
||||
%303 = OpImageSampleExplicitLod %23 %302 %278 Lod %281
|
||||
%304 = OpLoad %23 %284
|
||||
%305 = OpFAdd %23 %304 %303
|
||||
OpStore %284 %305
|
||||
%306 = OpSampledImage %293 %272 %275
|
||||
%307 = OpImageSampleExplicitLod %23 %306 %278 Lod|ConstOffset %281 %30
|
||||
%308 = OpLoad %23 %284
|
||||
%309 = OpFAdd %23 %308 %307
|
||||
OpStore %284 %309
|
||||
%310 = OpSampledImage %293 %272 %275
|
||||
%311 = OpImageSampleImplicitLod %23 %310 %278 Bias|ConstOffset %282 %30
|
||||
%312 = OpLoad %23 %284
|
||||
%313 = OpFAdd %23 %312 %311
|
||||
OpStore %284 %313
|
||||
%315 = OpConvertUToF %7 %198
|
||||
%316 = OpCompositeConstruct %279 %278 %315
|
||||
%317 = OpSampledImage %314 %273 %275
|
||||
%318 = OpImageSampleImplicitLod %23 %317 %316
|
||||
%319 = OpLoad %23 %284
|
||||
%320 = OpFAdd %23 %319 %318
|
||||
OpStore %284 %320
|
||||
%321 = OpConvertUToF %7 %198
|
||||
%322 = OpCompositeConstruct %279 %278 %321
|
||||
%323 = OpSampledImage %314 %273 %275
|
||||
%324 = OpImageSampleImplicitLod %23 %323 %322 ConstOffset %30
|
||||
%325 = OpLoad %23 %284
|
||||
%326 = OpFAdd %23 %325 %324
|
||||
OpStore %284 %326
|
||||
%327 = OpConvertUToF %7 %198
|
||||
%328 = OpCompositeConstruct %279 %278 %327
|
||||
%329 = OpSampledImage %314 %273 %275
|
||||
%330 = OpImageSampleExplicitLod %23 %329 %328 Lod %281
|
||||
%331 = OpLoad %23 %284
|
||||
%332 = OpFAdd %23 %331 %330
|
||||
OpStore %284 %332
|
||||
%333 = OpConvertUToF %7 %198
|
||||
%334 = OpCompositeConstruct %279 %278 %333
|
||||
%335 = OpSampledImage %314 %273 %275
|
||||
%336 = OpImageSampleExplicitLod %23 %335 %334 Lod|ConstOffset %281 %30
|
||||
%337 = OpLoad %23 %284
|
||||
%338 = OpFAdd %23 %337 %336
|
||||
OpStore %284 %338
|
||||
%339 = OpConvertUToF %7 %198
|
||||
%340 = OpCompositeConstruct %279 %278 %339
|
||||
%341 = OpSampledImage %314 %273 %275
|
||||
%342 = OpImageSampleImplicitLod %23 %341 %340 Bias|ConstOffset %282 %30
|
||||
%343 = OpLoad %23 %284
|
||||
%344 = OpFAdd %23 %343 %342
|
||||
OpStore %284 %344
|
||||
%345 = OpConvertSToF %7 %283
|
||||
%346 = OpCompositeConstruct %279 %278 %345
|
||||
%347 = OpSampledImage %314 %273 %275
|
||||
%348 = OpImageSampleImplicitLod %23 %347 %346
|
||||
%349 = OpLoad %23 %284
|
||||
%350 = OpFAdd %23 %349 %348
|
||||
OpStore %284 %350
|
||||
%351 = OpConvertSToF %7 %283
|
||||
%352 = OpCompositeConstruct %279 %278 %351
|
||||
%353 = OpSampledImage %314 %273 %275
|
||||
%354 = OpImageSampleImplicitLod %23 %353 %352 ConstOffset %30
|
||||
%355 = OpLoad %23 %284
|
||||
%356 = OpFAdd %23 %355 %354
|
||||
OpStore %284 %356
|
||||
%357 = OpConvertSToF %7 %283
|
||||
%358 = OpCompositeConstruct %279 %278 %357
|
||||
%359 = OpSampledImage %314 %273 %275
|
||||
%360 = OpImageSampleExplicitLod %23 %359 %358 Lod %281
|
||||
%361 = OpLoad %23 %284
|
||||
%362 = OpFAdd %23 %361 %360
|
||||
OpStore %284 %362
|
||||
%363 = OpConvertSToF %7 %283
|
||||
%364 = OpCompositeConstruct %279 %278 %363
|
||||
%365 = OpSampledImage %314 %273 %275
|
||||
%366 = OpImageSampleExplicitLod %23 %365 %364 Lod|ConstOffset %281 %30
|
||||
%367 = OpLoad %23 %284
|
||||
%368 = OpFAdd %23 %367 %366
|
||||
OpStore %284 %368
|
||||
%369 = OpConvertSToF %7 %283
|
||||
%370 = OpCompositeConstruct %279 %278 %369
|
||||
%371 = OpSampledImage %314 %273 %275
|
||||
%372 = OpImageSampleImplicitLod %23 %371 %370 Bias|ConstOffset %282 %30
|
||||
%373 = OpLoad %23 %284
|
||||
%374 = OpFAdd %23 %373 %372
|
||||
OpStore %284 %374
|
||||
%376 = OpConvertUToF %7 %198
|
||||
%377 = OpCompositeConstruct %23 %280 %376
|
||||
%378 = OpSampledImage %375 %274 %275
|
||||
%379 = OpImageSampleImplicitLod %23 %378 %377
|
||||
%380 = OpLoad %23 %284
|
||||
%381 = OpFAdd %23 %380 %379
|
||||
OpStore %284 %381
|
||||
%382 = OpConvertUToF %7 %198
|
||||
%383 = OpCompositeConstruct %23 %280 %382
|
||||
%384 = OpSampledImage %375 %274 %275
|
||||
%385 = OpImageSampleExplicitLod %23 %384 %383 Lod %281
|
||||
%386 = OpLoad %23 %284
|
||||
%387 = OpFAdd %23 %386 %385
|
||||
OpStore %284 %387
|
||||
%388 = OpConvertUToF %7 %198
|
||||
%389 = OpCompositeConstruct %23 %280 %388
|
||||
%390 = OpSampledImage %375 %274 %275
|
||||
%391 = OpImageSampleImplicitLod %23 %390 %389 Bias %282
|
||||
%392 = OpLoad %23 %284
|
||||
%393 = OpFAdd %23 %392 %391
|
||||
OpStore %284 %393
|
||||
%394 = OpConvertSToF %7 %283
|
||||
%395 = OpCompositeConstruct %23 %280 %394
|
||||
%396 = OpSampledImage %375 %274 %275
|
||||
%397 = OpImageSampleImplicitLod %23 %396 %395
|
||||
%398 = OpLoad %23 %284
|
||||
%399 = OpFAdd %23 %398 %397
|
||||
OpStore %284 %399
|
||||
%400 = OpConvertSToF %7 %283
|
||||
%401 = OpCompositeConstruct %23 %280 %400
|
||||
%402 = OpSampledImage %375 %274 %275
|
||||
%403 = OpImageSampleExplicitLod %23 %402 %401 Lod %281
|
||||
%404 = OpLoad %23 %284
|
||||
%405 = OpFAdd %23 %404 %403
|
||||
OpStore %284 %405
|
||||
%406 = OpConvertSToF %7 %283
|
||||
%407 = OpCompositeConstruct %23 %280 %406
|
||||
%408 = OpSampledImage %375 %274 %275
|
||||
%409 = OpImageSampleImplicitLod %23 %408 %407 Bias %282
|
||||
%410 = OpLoad %23 %284
|
||||
%411 = OpFAdd %23 %410 %409
|
||||
OpStore %284 %411
|
||||
%412 = OpLoad %23 %284
|
||||
OpStore %269 %412
|
||||
%288 = OpCompositeExtract %7 %278 0
|
||||
%290 = OpSampledImage %289 %271 %275
|
||||
%291 = OpImageSampleImplicitLod %23 %290 %288
|
||||
%292 = OpLoad %23 %284
|
||||
%293 = OpFAdd %23 %292 %291
|
||||
OpStore %284 %293
|
||||
%295 = OpSampledImage %294 %272 %275
|
||||
%296 = OpImageSampleImplicitLod %23 %295 %278
|
||||
%297 = OpLoad %23 %284
|
||||
%298 = OpFAdd %23 %297 %296
|
||||
OpStore %284 %298
|
||||
%299 = OpSampledImage %294 %272 %275
|
||||
%300 = OpImageSampleImplicitLod %23 %299 %278 ConstOffset %30
|
||||
%301 = OpLoad %23 %284
|
||||
%302 = OpFAdd %23 %301 %300
|
||||
OpStore %284 %302
|
||||
%303 = OpSampledImage %294 %272 %275
|
||||
%304 = OpImageSampleExplicitLod %23 %303 %278 Lod %281
|
||||
%305 = OpLoad %23 %284
|
||||
%306 = OpFAdd %23 %305 %304
|
||||
OpStore %284 %306
|
||||
%307 = OpSampledImage %294 %272 %275
|
||||
%308 = OpImageSampleExplicitLod %23 %307 %278 Lod|ConstOffset %281 %30
|
||||
%309 = OpLoad %23 %284
|
||||
%310 = OpFAdd %23 %309 %308
|
||||
OpStore %284 %310
|
||||
%311 = OpSampledImage %294 %272 %275
|
||||
%312 = OpImageSampleImplicitLod %23 %311 %278 Bias|ConstOffset %282 %30
|
||||
%313 = OpLoad %23 %284
|
||||
%314 = OpFAdd %23 %313 %312
|
||||
OpStore %284 %314
|
||||
%316 = OpConvertUToF %7 %198
|
||||
%317 = OpCompositeConstruct %279 %278 %316
|
||||
%318 = OpSampledImage %315 %273 %275
|
||||
%319 = OpImageSampleImplicitLod %23 %318 %317
|
||||
%320 = OpLoad %23 %284
|
||||
%321 = OpFAdd %23 %320 %319
|
||||
OpStore %284 %321
|
||||
%322 = OpConvertUToF %7 %198
|
||||
%323 = OpCompositeConstruct %279 %278 %322
|
||||
%324 = OpSampledImage %315 %273 %275
|
||||
%325 = OpImageSampleImplicitLod %23 %324 %323 ConstOffset %30
|
||||
%326 = OpLoad %23 %284
|
||||
%327 = OpFAdd %23 %326 %325
|
||||
OpStore %284 %327
|
||||
%328 = OpConvertUToF %7 %198
|
||||
%329 = OpCompositeConstruct %279 %278 %328
|
||||
%330 = OpSampledImage %315 %273 %275
|
||||
%331 = OpImageSampleExplicitLod %23 %330 %329 Lod %281
|
||||
%332 = OpLoad %23 %284
|
||||
%333 = OpFAdd %23 %332 %331
|
||||
OpStore %284 %333
|
||||
%334 = OpConvertUToF %7 %198
|
||||
%335 = OpCompositeConstruct %279 %278 %334
|
||||
%336 = OpSampledImage %315 %273 %275
|
||||
%337 = OpImageSampleExplicitLod %23 %336 %335 Lod|ConstOffset %281 %30
|
||||
%338 = OpLoad %23 %284
|
||||
%339 = OpFAdd %23 %338 %337
|
||||
OpStore %284 %339
|
||||
%340 = OpConvertUToF %7 %198
|
||||
%341 = OpCompositeConstruct %279 %278 %340
|
||||
%342 = OpSampledImage %315 %273 %275
|
||||
%343 = OpImageSampleImplicitLod %23 %342 %341 Bias|ConstOffset %282 %30
|
||||
%344 = OpLoad %23 %284
|
||||
%345 = OpFAdd %23 %344 %343
|
||||
OpStore %284 %345
|
||||
%346 = OpConvertSToF %7 %283
|
||||
%347 = OpCompositeConstruct %279 %278 %346
|
||||
%348 = OpSampledImage %315 %273 %275
|
||||
%349 = OpImageSampleImplicitLod %23 %348 %347
|
||||
%350 = OpLoad %23 %284
|
||||
%351 = OpFAdd %23 %350 %349
|
||||
OpStore %284 %351
|
||||
%352 = OpConvertSToF %7 %283
|
||||
%353 = OpCompositeConstruct %279 %278 %352
|
||||
%354 = OpSampledImage %315 %273 %275
|
||||
%355 = OpImageSampleImplicitLod %23 %354 %353 ConstOffset %30
|
||||
%356 = OpLoad %23 %284
|
||||
%357 = OpFAdd %23 %356 %355
|
||||
OpStore %284 %357
|
||||
%358 = OpConvertSToF %7 %283
|
||||
%359 = OpCompositeConstruct %279 %278 %358
|
||||
%360 = OpSampledImage %315 %273 %275
|
||||
%361 = OpImageSampleExplicitLod %23 %360 %359 Lod %281
|
||||
%362 = OpLoad %23 %284
|
||||
%363 = OpFAdd %23 %362 %361
|
||||
OpStore %284 %363
|
||||
%364 = OpConvertSToF %7 %283
|
||||
%365 = OpCompositeConstruct %279 %278 %364
|
||||
%366 = OpSampledImage %315 %273 %275
|
||||
%367 = OpImageSampleExplicitLod %23 %366 %365 Lod|ConstOffset %281 %30
|
||||
%368 = OpLoad %23 %284
|
||||
%369 = OpFAdd %23 %368 %367
|
||||
OpStore %284 %369
|
||||
%370 = OpConvertSToF %7 %283
|
||||
%371 = OpCompositeConstruct %279 %278 %370
|
||||
%372 = OpSampledImage %315 %273 %275
|
||||
%373 = OpImageSampleImplicitLod %23 %372 %371 Bias|ConstOffset %282 %30
|
||||
%374 = OpLoad %23 %284
|
||||
%375 = OpFAdd %23 %374 %373
|
||||
OpStore %284 %375
|
||||
%377 = OpConvertUToF %7 %198
|
||||
%378 = OpCompositeConstruct %23 %280 %377
|
||||
%379 = OpSampledImage %376 %274 %275
|
||||
%380 = OpImageSampleImplicitLod %23 %379 %378
|
||||
%381 = OpLoad %23 %284
|
||||
%382 = OpFAdd %23 %381 %380
|
||||
OpStore %284 %382
|
||||
%383 = OpConvertUToF %7 %198
|
||||
%384 = OpCompositeConstruct %23 %280 %383
|
||||
%385 = OpSampledImage %376 %274 %275
|
||||
%386 = OpImageSampleExplicitLod %23 %385 %384 Lod %281
|
||||
%387 = OpLoad %23 %284
|
||||
%388 = OpFAdd %23 %387 %386
|
||||
OpStore %284 %388
|
||||
%389 = OpConvertUToF %7 %198
|
||||
%390 = OpCompositeConstruct %23 %280 %389
|
||||
%391 = OpSampledImage %376 %274 %275
|
||||
%392 = OpImageSampleImplicitLod %23 %391 %390 Bias %282
|
||||
%393 = OpLoad %23 %284
|
||||
%394 = OpFAdd %23 %393 %392
|
||||
OpStore %284 %394
|
||||
%395 = OpConvertSToF %7 %283
|
||||
%396 = OpCompositeConstruct %23 %280 %395
|
||||
%397 = OpSampledImage %376 %274 %275
|
||||
%398 = OpImageSampleImplicitLod %23 %397 %396
|
||||
%399 = OpLoad %23 %284
|
||||
%400 = OpFAdd %23 %399 %398
|
||||
OpStore %284 %400
|
||||
%401 = OpConvertSToF %7 %283
|
||||
%402 = OpCompositeConstruct %23 %280 %401
|
||||
%403 = OpSampledImage %376 %274 %275
|
||||
%404 = OpImageSampleExplicitLod %23 %403 %402 Lod %281
|
||||
%405 = OpLoad %23 %284
|
||||
%406 = OpFAdd %23 %405 %404
|
||||
OpStore %284 %406
|
||||
%407 = OpConvertSToF %7 %283
|
||||
%408 = OpCompositeConstruct %23 %280 %407
|
||||
%409 = OpSampledImage %376 %274 %275
|
||||
%410 = OpImageSampleImplicitLod %23 %409 %408 Bias %282
|
||||
%411 = OpLoad %23 %284
|
||||
%412 = OpFAdd %23 %411 %410
|
||||
OpStore %284 %412
|
||||
%413 = OpLoad %23 %284
|
||||
OpStore %269 %413
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%416 = OpFunction %2 None %79
|
||||
%413 = OpLabel
|
||||
%421 = OpVariable %422 Function %423
|
||||
%417 = OpLoad %24 %66
|
||||
%418 = OpLoad %25 %68
|
||||
%419 = OpLoad %26 %70
|
||||
%420 = OpLoad %27 %72
|
||||
OpBranch %424
|
||||
%424 = OpLabel
|
||||
%426 = OpSampledImage %425 %418 %417
|
||||
%427 = OpImageSampleDrefImplicitLod %7 %426 %278 %276
|
||||
%428 = OpLoad %7 %421
|
||||
%429 = OpFAdd %7 %428 %427
|
||||
OpStore %421 %429
|
||||
%431 = OpConvertUToF %7 %198
|
||||
%432 = OpCompositeConstruct %279 %278 %431
|
||||
%433 = OpSampledImage %430 %419 %417
|
||||
%434 = OpImageSampleDrefImplicitLod %7 %433 %432 %276
|
||||
%435 = OpLoad %7 %421
|
||||
%436 = OpFAdd %7 %435 %434
|
||||
OpStore %421 %436
|
||||
%437 = OpConvertSToF %7 %283
|
||||
%438 = OpCompositeConstruct %279 %278 %437
|
||||
%439 = OpSampledImage %430 %419 %417
|
||||
%440 = OpImageSampleDrefImplicitLod %7 %439 %438 %276
|
||||
%441 = OpLoad %7 %421
|
||||
%442 = OpFAdd %7 %441 %440
|
||||
OpStore %421 %442
|
||||
%444 = OpSampledImage %443 %420 %417
|
||||
%445 = OpImageSampleDrefImplicitLod %7 %444 %280 %276
|
||||
%446 = OpLoad %7 %421
|
||||
%447 = OpFAdd %7 %446 %445
|
||||
OpStore %421 %447
|
||||
%448 = OpSampledImage %425 %418 %417
|
||||
%449 = OpImageSampleDrefExplicitLod %7 %448 %278 %276 Lod %450
|
||||
%451 = OpLoad %7 %421
|
||||
%452 = OpFAdd %7 %451 %449
|
||||
OpStore %421 %452
|
||||
%453 = OpConvertUToF %7 %198
|
||||
%454 = OpCompositeConstruct %279 %278 %453
|
||||
%455 = OpSampledImage %430 %419 %417
|
||||
%456 = OpImageSampleDrefExplicitLod %7 %455 %454 %276 Lod %450
|
||||
%457 = OpLoad %7 %421
|
||||
%458 = OpFAdd %7 %457 %456
|
||||
OpStore %421 %458
|
||||
%459 = OpConvertSToF %7 %283
|
||||
%460 = OpCompositeConstruct %279 %278 %459
|
||||
%461 = OpSampledImage %430 %419 %417
|
||||
%462 = OpImageSampleDrefExplicitLod %7 %461 %460 %276 Lod %450
|
||||
%463 = OpLoad %7 %421
|
||||
%464 = OpFAdd %7 %463 %462
|
||||
OpStore %421 %464
|
||||
%465 = OpSampledImage %443 %420 %417
|
||||
%466 = OpImageSampleDrefExplicitLod %7 %465 %280 %276 Lod %450
|
||||
%467 = OpLoad %7 %421
|
||||
%468 = OpFAdd %7 %467 %466
|
||||
OpStore %421 %468
|
||||
%469 = OpLoad %7 %421
|
||||
OpStore %414 %469
|
||||
%417 = OpFunction %2 None %79
|
||||
%414 = OpLabel
|
||||
%422 = OpVariable %423 Function %424
|
||||
%418 = OpLoad %24 %66
|
||||
%419 = OpLoad %25 %68
|
||||
%420 = OpLoad %26 %70
|
||||
%421 = OpLoad %27 %72
|
||||
OpBranch %425
|
||||
%425 = OpLabel
|
||||
%427 = OpSampledImage %426 %419 %418
|
||||
%428 = OpImageSampleDrefImplicitLod %7 %427 %278 %276
|
||||
%429 = OpLoad %7 %422
|
||||
%430 = OpFAdd %7 %429 %428
|
||||
OpStore %422 %430
|
||||
%432 = OpConvertUToF %7 %198
|
||||
%433 = OpCompositeConstruct %279 %278 %432
|
||||
%434 = OpSampledImage %431 %420 %418
|
||||
%435 = OpImageSampleDrefImplicitLod %7 %434 %433 %276
|
||||
%436 = OpLoad %7 %422
|
||||
%437 = OpFAdd %7 %436 %435
|
||||
OpStore %422 %437
|
||||
%438 = OpConvertSToF %7 %283
|
||||
%439 = OpCompositeConstruct %279 %278 %438
|
||||
%440 = OpSampledImage %431 %420 %418
|
||||
%441 = OpImageSampleDrefImplicitLod %7 %440 %439 %276
|
||||
%442 = OpLoad %7 %422
|
||||
%443 = OpFAdd %7 %442 %441
|
||||
OpStore %422 %443
|
||||
%445 = OpSampledImage %444 %421 %418
|
||||
%446 = OpImageSampleDrefImplicitLod %7 %445 %280 %276
|
||||
%447 = OpLoad %7 %422
|
||||
%448 = OpFAdd %7 %447 %446
|
||||
OpStore %422 %448
|
||||
%449 = OpSampledImage %426 %419 %418
|
||||
%450 = OpImageSampleDrefExplicitLod %7 %449 %278 %276 Lod %451
|
||||
%452 = OpLoad %7 %422
|
||||
%453 = OpFAdd %7 %452 %450
|
||||
OpStore %422 %453
|
||||
%454 = OpConvertUToF %7 %198
|
||||
%455 = OpCompositeConstruct %279 %278 %454
|
||||
%456 = OpSampledImage %431 %420 %418
|
||||
%457 = OpImageSampleDrefExplicitLod %7 %456 %455 %276 Lod %451
|
||||
%458 = OpLoad %7 %422
|
||||
%459 = OpFAdd %7 %458 %457
|
||||
OpStore %422 %459
|
||||
%460 = OpConvertSToF %7 %283
|
||||
%461 = OpCompositeConstruct %279 %278 %460
|
||||
%462 = OpSampledImage %431 %420 %418
|
||||
%463 = OpImageSampleDrefExplicitLod %7 %462 %461 %276 Lod %451
|
||||
%464 = OpLoad %7 %422
|
||||
%465 = OpFAdd %7 %464 %463
|
||||
OpStore %422 %465
|
||||
%466 = OpSampledImage %444 %421 %418
|
||||
%467 = OpImageSampleDrefExplicitLod %7 %466 %280 %276 Lod %451
|
||||
%468 = OpLoad %7 %422
|
||||
%469 = OpFAdd %7 %468 %467
|
||||
OpStore %422 %469
|
||||
%470 = OpLoad %7 %422
|
||||
OpStore %415 %470
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%472 = OpFunction %2 None %79
|
||||
%470 = OpLabel
|
||||
%473 = OpLoad %16 %49
|
||||
%474 = OpLoad %3 %51
|
||||
%475 = OpLoad %17 %52
|
||||
%476 = OpLoad %24 %64
|
||||
%477 = OpLoad %24 %66
|
||||
%478 = OpLoad %25 %68
|
||||
OpBranch %479
|
||||
%479 = OpLabel
|
||||
%480 = OpSampledImage %293 %473 %476
|
||||
%481 = OpImageGather %23 %480 %278 %482
|
||||
%483 = OpSampledImage %293 %473 %476
|
||||
%484 = OpImageGather %23 %483 %278 %485 ConstOffset %30
|
||||
%486 = OpSampledImage %425 %478 %477
|
||||
%487 = OpImageDrefGather %23 %486 %278 %276
|
||||
%488 = OpSampledImage %425 %478 %477
|
||||
%489 = OpImageDrefGather %23 %488 %278 %276 ConstOffset %30
|
||||
%491 = OpSampledImage %490 %474 %476
|
||||
%492 = OpImageGather %98 %491 %278 %198
|
||||
%495 = OpSampledImage %494 %475 %476
|
||||
%496 = OpImageGather %493 %495 %278 %198
|
||||
%497 = OpConvertUToF %23 %492
|
||||
%498 = OpConvertSToF %23 %496
|
||||
%499 = OpFAdd %23 %497 %498
|
||||
%500 = OpFAdd %23 %481 %484
|
||||
%501 = OpFAdd %23 %500 %487
|
||||
%502 = OpFAdd %23 %501 %489
|
||||
%503 = OpFAdd %23 %502 %499
|
||||
OpStore %471 %503
|
||||
%473 = OpFunction %2 None %79
|
||||
%471 = OpLabel
|
||||
%474 = OpLoad %16 %49
|
||||
%475 = OpLoad %3 %51
|
||||
%476 = OpLoad %17 %52
|
||||
%477 = OpLoad %24 %64
|
||||
%478 = OpLoad %24 %66
|
||||
%479 = OpLoad %25 %68
|
||||
OpBranch %480
|
||||
%480 = OpLabel
|
||||
%481 = OpSampledImage %294 %474 %477
|
||||
%482 = OpImageGather %23 %481 %278 %483
|
||||
%484 = OpSampledImage %294 %474 %477
|
||||
%485 = OpImageGather %23 %484 %278 %486 ConstOffset %30
|
||||
%487 = OpSampledImage %426 %479 %478
|
||||
%488 = OpImageDrefGather %23 %487 %278 %276
|
||||
%489 = OpSampledImage %426 %479 %478
|
||||
%490 = OpImageDrefGather %23 %489 %278 %276 ConstOffset %30
|
||||
%492 = OpSampledImage %491 %475 %477
|
||||
%493 = OpImageGather %98 %492 %278 %198
|
||||
%496 = OpSampledImage %495 %476 %477
|
||||
%497 = OpImageGather %494 %496 %278 %198
|
||||
%498 = OpConvertUToF %23 %493
|
||||
%499 = OpConvertSToF %23 %497
|
||||
%500 = OpFAdd %23 %498 %499
|
||||
%501 = OpFAdd %23 %482 %485
|
||||
%502 = OpFAdd %23 %501 %488
|
||||
%503 = OpFAdd %23 %502 %490
|
||||
%504 = OpFAdd %23 %503 %500
|
||||
OpStore %472 %504
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%506 = OpFunction %2 None %79
|
||||
%504 = OpLabel
|
||||
%507 = OpLoad %24 %64
|
||||
%508 = OpLoad %25 %68
|
||||
OpBranch %509
|
||||
%509 = OpLabel
|
||||
%510 = OpSampledImage %425 %508 %507
|
||||
%511 = OpImageSampleImplicitLod %23 %510 %278
|
||||
%512 = OpCompositeExtract %7 %511 0
|
||||
%513 = OpSampledImage %425 %508 %507
|
||||
%514 = OpImageGather %23 %513 %278 %198
|
||||
%515 = OpCompositeConstruct %23 %512 %512 %512 %512
|
||||
%516 = OpFAdd %23 %515 %514
|
||||
OpStore %505 %516
|
||||
%507 = OpFunction %2 None %79
|
||||
%505 = OpLabel
|
||||
%508 = OpLoad %24 %64
|
||||
%509 = OpLoad %25 %68
|
||||
OpBranch %510
|
||||
%510 = OpLabel
|
||||
%511 = OpSampledImage %426 %509 %508
|
||||
%512 = OpImageSampleImplicitLod %23 %511 %278
|
||||
%513 = OpCompositeExtract %7 %512 0
|
||||
%514 = OpSampledImage %426 %509 %508
|
||||
%515 = OpImageGather %23 %514 %278 %198
|
||||
%516 = OpCompositeConstruct %23 %513 %513 %513 %513
|
||||
%517 = OpFAdd %23 %516 %515
|
||||
OpStore %506 %517
|
||||
OpReturn
|
||||
OpFunctionEnd
|
@ -138,7 +138,7 @@ fn foo_vert(@builtin(vertex_index) vi: u32) -> @builtin(position) vec4<f32> {
|
||||
test_matrix_within_array_within_struct_accesses();
|
||||
let _matrix = bar._matrix;
|
||||
let arr_1 = bar.arr;
|
||||
let b = bar._matrix[3][0];
|
||||
let b = bar._matrix[3u][0];
|
||||
let a_1 = bar.data[(arrayLength((&bar.data)) - 2u)].value;
|
||||
let c = qux;
|
||||
let data_pointer = (&bar.data[0].value);
|
||||
|
@ -9,17 +9,13 @@ var<storage, read_write> out: vec4<i32>;
|
||||
var<storage, read_write> out2_: i32;
|
||||
|
||||
fn swizzle_of_compose() {
|
||||
let a = vec2<i32>(1, 2);
|
||||
let b = vec2<i32>(3, 4);
|
||||
out = vec4<i32>(4, 3, 2, 1);
|
||||
return;
|
||||
}
|
||||
|
||||
fn index_of_compose() {
|
||||
let a_1 = vec2<i32>(1, 2);
|
||||
let b_1 = vec2<i32>(3, 4);
|
||||
let _e7 = out2_;
|
||||
out2_ = (_e7 + 2);
|
||||
let _e2 = out2_;
|
||||
out2_ = (_e2 + 2);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -112,74 +112,74 @@ fn texture_sample() -> @location(0) vec4<f32> {
|
||||
|
||||
let tc = vec2(0.5);
|
||||
let tc3_ = vec3(0.5);
|
||||
let _e8 = textureSample(image_1d, sampler_reg, 0.5);
|
||||
let _e9 = a;
|
||||
a = (_e9 + _e8);
|
||||
let _e13 = textureSample(image_2d, sampler_reg, tc);
|
||||
let _e14 = a;
|
||||
a = (_e14 + _e13);
|
||||
let _e18 = textureSample(image_2d, sampler_reg, tc, vec2<i32>(3, 1));
|
||||
let _e19 = a;
|
||||
a = (_e19 + _e18);
|
||||
let _e23 = textureSampleLevel(image_2d, sampler_reg, tc, 2.3);
|
||||
let _e24 = a;
|
||||
a = (_e24 + _e23);
|
||||
let _e28 = textureSampleLevel(image_2d, sampler_reg, tc, 2.3, vec2<i32>(3, 1));
|
||||
let _e29 = a;
|
||||
a = (_e29 + _e28);
|
||||
let _e34 = textureSampleBias(image_2d, sampler_reg, tc, 2.0, vec2<i32>(3, 1));
|
||||
let _e35 = a;
|
||||
a = (_e35 + _e34);
|
||||
let _e40 = textureSample(image_2d_array, sampler_reg, tc, 0u);
|
||||
let _e41 = a;
|
||||
a = (_e41 + _e40);
|
||||
let _e46 = textureSample(image_2d_array, sampler_reg, tc, 0u, vec2<i32>(3, 1));
|
||||
let _e47 = a;
|
||||
a = (_e47 + _e46);
|
||||
let _e52 = textureSampleLevel(image_2d_array, sampler_reg, tc, 0u, 2.3);
|
||||
let _e53 = a;
|
||||
a = (_e53 + _e52);
|
||||
let _e58 = textureSampleLevel(image_2d_array, sampler_reg, tc, 0u, 2.3, vec2<i32>(3, 1));
|
||||
let _e59 = a;
|
||||
a = (_e59 + _e58);
|
||||
let _e65 = textureSampleBias(image_2d_array, sampler_reg, tc, 0u, 2.0, vec2<i32>(3, 1));
|
||||
let _e66 = a;
|
||||
a = (_e66 + _e65);
|
||||
let _e71 = textureSample(image_2d_array, sampler_reg, tc, 0);
|
||||
let _e72 = a;
|
||||
a = (_e72 + _e71);
|
||||
let _e77 = textureSample(image_2d_array, sampler_reg, tc, 0, vec2<i32>(3, 1));
|
||||
let _e78 = a;
|
||||
a = (_e78 + _e77);
|
||||
let _e83 = textureSampleLevel(image_2d_array, sampler_reg, tc, 0, 2.3);
|
||||
let _e84 = a;
|
||||
a = (_e84 + _e83);
|
||||
let _e89 = textureSampleLevel(image_2d_array, sampler_reg, tc, 0, 2.3, vec2<i32>(3, 1));
|
||||
let _e90 = a;
|
||||
a = (_e90 + _e89);
|
||||
let _e96 = textureSampleBias(image_2d_array, sampler_reg, tc, 0, 2.0, vec2<i32>(3, 1));
|
||||
let _e97 = a;
|
||||
a = (_e97 + _e96);
|
||||
let _e102 = textureSample(image_cube_array, sampler_reg, tc3_, 0u);
|
||||
let _e103 = a;
|
||||
a = (_e103 + _e102);
|
||||
let _e108 = textureSampleLevel(image_cube_array, sampler_reg, tc3_, 0u, 2.3);
|
||||
let _e109 = a;
|
||||
a = (_e109 + _e108);
|
||||
let _e115 = textureSampleBias(image_cube_array, sampler_reg, tc3_, 0u, 2.0);
|
||||
let _e116 = a;
|
||||
a = (_e116 + _e115);
|
||||
let _e121 = textureSample(image_cube_array, sampler_reg, tc3_, 0);
|
||||
let _e122 = a;
|
||||
a = (_e122 + _e121);
|
||||
let _e127 = textureSampleLevel(image_cube_array, sampler_reg, tc3_, 0, 2.3);
|
||||
let _e128 = a;
|
||||
a = (_e128 + _e127);
|
||||
let _e134 = textureSampleBias(image_cube_array, sampler_reg, tc3_, 0, 2.0);
|
||||
let _e135 = a;
|
||||
a = (_e135 + _e134);
|
||||
let _e137 = a;
|
||||
return _e137;
|
||||
let _e9 = textureSample(image_1d, sampler_reg, tc.x);
|
||||
let _e10 = a;
|
||||
a = (_e10 + _e9);
|
||||
let _e14 = textureSample(image_2d, sampler_reg, tc);
|
||||
let _e15 = a;
|
||||
a = (_e15 + _e14);
|
||||
let _e19 = textureSample(image_2d, sampler_reg, tc, vec2<i32>(3, 1));
|
||||
let _e20 = a;
|
||||
a = (_e20 + _e19);
|
||||
let _e24 = textureSampleLevel(image_2d, sampler_reg, tc, 2.3);
|
||||
let _e25 = a;
|
||||
a = (_e25 + _e24);
|
||||
let _e29 = textureSampleLevel(image_2d, sampler_reg, tc, 2.3, vec2<i32>(3, 1));
|
||||
let _e30 = a;
|
||||
a = (_e30 + _e29);
|
||||
let _e35 = textureSampleBias(image_2d, sampler_reg, tc, 2.0, vec2<i32>(3, 1));
|
||||
let _e36 = a;
|
||||
a = (_e36 + _e35);
|
||||
let _e41 = textureSample(image_2d_array, sampler_reg, tc, 0u);
|
||||
let _e42 = a;
|
||||
a = (_e42 + _e41);
|
||||
let _e47 = textureSample(image_2d_array, sampler_reg, tc, 0u, vec2<i32>(3, 1));
|
||||
let _e48 = a;
|
||||
a = (_e48 + _e47);
|
||||
let _e53 = textureSampleLevel(image_2d_array, sampler_reg, tc, 0u, 2.3);
|
||||
let _e54 = a;
|
||||
a = (_e54 + _e53);
|
||||
let _e59 = textureSampleLevel(image_2d_array, sampler_reg, tc, 0u, 2.3, vec2<i32>(3, 1));
|
||||
let _e60 = a;
|
||||
a = (_e60 + _e59);
|
||||
let _e66 = textureSampleBias(image_2d_array, sampler_reg, tc, 0u, 2.0, vec2<i32>(3, 1));
|
||||
let _e67 = a;
|
||||
a = (_e67 + _e66);
|
||||
let _e72 = textureSample(image_2d_array, sampler_reg, tc, 0);
|
||||
let _e73 = a;
|
||||
a = (_e73 + _e72);
|
||||
let _e78 = textureSample(image_2d_array, sampler_reg, tc, 0, vec2<i32>(3, 1));
|
||||
let _e79 = a;
|
||||
a = (_e79 + _e78);
|
||||
let _e84 = textureSampleLevel(image_2d_array, sampler_reg, tc, 0, 2.3);
|
||||
let _e85 = a;
|
||||
a = (_e85 + _e84);
|
||||
let _e90 = textureSampleLevel(image_2d_array, sampler_reg, tc, 0, 2.3, vec2<i32>(3, 1));
|
||||
let _e91 = a;
|
||||
a = (_e91 + _e90);
|
||||
let _e97 = textureSampleBias(image_2d_array, sampler_reg, tc, 0, 2.0, vec2<i32>(3, 1));
|
||||
let _e98 = a;
|
||||
a = (_e98 + _e97);
|
||||
let _e103 = textureSample(image_cube_array, sampler_reg, tc3_, 0u);
|
||||
let _e104 = a;
|
||||
a = (_e104 + _e103);
|
||||
let _e109 = textureSampleLevel(image_cube_array, sampler_reg, tc3_, 0u, 2.3);
|
||||
let _e110 = a;
|
||||
a = (_e110 + _e109);
|
||||
let _e116 = textureSampleBias(image_cube_array, sampler_reg, tc3_, 0u, 2.0);
|
||||
let _e117 = a;
|
||||
a = (_e117 + _e116);
|
||||
let _e122 = textureSample(image_cube_array, sampler_reg, tc3_, 0);
|
||||
let _e123 = a;
|
||||
a = (_e123 + _e122);
|
||||
let _e128 = textureSampleLevel(image_cube_array, sampler_reg, tc3_, 0, 2.3);
|
||||
let _e129 = a;
|
||||
a = (_e129 + _e128);
|
||||
let _e135 = textureSampleBias(image_cube_array, sampler_reg, tc3_, 0, 2.0);
|
||||
let _e136 = a;
|
||||
a = (_e136 + _e135);
|
||||
let _e138 = a;
|
||||
return _e138;
|
||||
}
|
||||
|
||||
@fragment
|
||||
|
@ -3,7 +3,7 @@ fn main() {
|
||||
let c = vec3(0.0);
|
||||
let b = vec3<f32>(vec2(0.0), 0.0);
|
||||
let d = vec3<f32>(vec2(0.0), 0.0);
|
||||
let e = vec3<i32>(vec2<i32>(0, 0), 0);
|
||||
let e = vec3<i32>(d);
|
||||
let f = mat2x2<f32>(vec2<f32>(1.0, 2.0), vec2<f32>(3.0, 4.0));
|
||||
let g = mat3x3<f32>(a, a, a);
|
||||
}
|
||||
|
@ -1759,47 +1759,47 @@ fn assign_to_let() {
|
||||
"###,
|
||||
);
|
||||
|
||||
// check(
|
||||
// "
|
||||
// fn f() {
|
||||
// let a = array(1, 2);
|
||||
// a[0] = 1;
|
||||
// }
|
||||
// ",
|
||||
// r###"error: invalid left-hand side of assignment
|
||||
// ┌─ wgsl:3:17
|
||||
// │
|
||||
// 3 │ let a = array(1, 2);
|
||||
// │ ^ this is an immutable binding
|
||||
// 4 │ a[0] = 1;
|
||||
// │ ^^^^ cannot assign to this expression
|
||||
// │
|
||||
// = note: consider declaring 'a' with `var` instead of `let`
|
||||
check(
|
||||
"
|
||||
fn f() {
|
||||
let a = array(1, 2);
|
||||
a[0] = 1;
|
||||
}
|
||||
",
|
||||
r###"error: invalid left-hand side of assignment
|
||||
┌─ wgsl:3:17
|
||||
│
|
||||
3 │ let a = array(1, 2);
|
||||
│ ^ this is an immutable binding
|
||||
4 │ a[0] = 1;
|
||||
│ ^^^^ cannot assign to this expression
|
||||
│
|
||||
= note: consider declaring 'a' with `var` instead of `let`
|
||||
|
||||
// "###,
|
||||
// );
|
||||
"###,
|
||||
);
|
||||
|
||||
// check(
|
||||
// "
|
||||
// struct S { a: i32 }
|
||||
check(
|
||||
"
|
||||
struct S { a: i32 }
|
||||
|
||||
// fn f() {
|
||||
// let a = S(10);
|
||||
// a.a = 20;
|
||||
// }
|
||||
// ",
|
||||
// r###"error: invalid left-hand side of assignment
|
||||
// ┌─ wgsl:5:17
|
||||
// │
|
||||
// 5 │ let a = S(10);
|
||||
// │ ^ this is an immutable binding
|
||||
// 6 │ a.a = 20;
|
||||
// │ ^^^ cannot assign to this expression
|
||||
// │
|
||||
// = note: consider declaring 'a' with `var` instead of `let`
|
||||
fn f() {
|
||||
let a = S(10);
|
||||
a.a = 20;
|
||||
}
|
||||
",
|
||||
r###"error: invalid left-hand side of assignment
|
||||
┌─ wgsl:5:17
|
||||
│
|
||||
5 │ let a = S(10);
|
||||
│ ^ this is an immutable binding
|
||||
6 │ a.a = 20;
|
||||
│ ^^^ cannot assign to this expression
|
||||
│
|
||||
= note: consider declaring 'a' with `var` instead of `let`
|
||||
|
||||
// "###,
|
||||
// );
|
||||
"###,
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
Loading…
Reference in New Issue
Block a user