blob: b12fe90fbf3c20b3a164a342c38d2536197f336e [file] [log] [blame]
489 instructions, 1 invocations
[immutable slots]
i0 = 0x40490FDB (3.14159274)
i1 = 0x3F4CCCCD (0.8)
i2 = 0x3F4CCCCD (0.8)
i3 = 0x40ACC227 (5.3987)
i4 = 0x40AE25AF (5.4421)
i5 = 0x41AC47E3 (21.5351)
i6 = 0x416504EA (14.3137)
store_src_rg p = src.rg
init_lane_masks CondMask = LoopMask = RetMask = true
copy_constant start = 0
copy_constant end = 0x3E051EB8 (0.13)
copy_uniform progress = in_progress
copy_slot_unmasked $0 = progress
copy_slot_unmasked $1 = start
max_float $0 = max($0, $1)
copy_slot_unmasked $1 = end
min_float $0 = min($0, $1)
copy_slot_unmasked sub = $0
copy_slot_unmasked $1 = start
sub_float $0 -= $1
copy_slot_unmasked $1 = end
copy_slot_unmasked $2 = start
sub_float $1 -= $2
div_float $0 /= $1
label label 0
copy_slot_unmasked fadeIn = $0
copy_constant start = 0
copy_constant end = 0x3F800000 (1.0)
copy_uniform progress = in_progress
copy_slot_unmasked $0 = progress
copy_slot_unmasked $1 = start
max_float $0 = max($0, $1)
copy_slot_unmasked $1 = end
min_float $0 = min($0, $1)
copy_slot_unmasked sub = $0
copy_slot_unmasked $1 = start
sub_float $0 -= $1
copy_slot_unmasked $1 = end
copy_slot_unmasked $2 = start
sub_float $1 -= $2
div_float $0 /= $1
label label 0x00000001
copy_slot_unmasked scaleIn = $0
copy_constant start = 0x3ECCCCCD (0.4)
copy_constant end = 0x3F000000 (0.5)
copy_uniform progress = in_progress
copy_slot_unmasked $0 = progress
copy_slot_unmasked $1 = start
max_float $0 = max($0, $1)
copy_slot_unmasked $1 = end
min_float $0 = min($0, $1)
copy_slot_unmasked sub = $0
copy_slot_unmasked $1 = start
sub_float $0 -= $1
copy_slot_unmasked $1 = end
copy_slot_unmasked $2 = start
sub_float $1 -= $2
div_float $0 /= $1
label label 0x00000002
copy_slot_unmasked fadeOutNoise = $0
copy_constant start = 0x3ECCCCCD (0.4)
copy_constant end = 0x3F800000 (1.0)
copy_uniform progress = in_progress
copy_slot_unmasked $0 = progress
copy_slot_unmasked $1 = start
max_float $0 = max($0, $1)
copy_slot_unmasked $1 = end
min_float $0 = min($0, $1)
copy_slot_unmasked sub = $0
copy_slot_unmasked $1 = start
sub_float $0 -= $1
copy_slot_unmasked $1 = end
copy_slot_unmasked $2 = start
sub_float $1 -= $2
div_float $0 /= $1
label label 0x00000003
copy_slot_unmasked fadeOutRipple = $0
copy_uniform $0 = in_progress
mul_imm_float $0 *= 0x40000000 (2.0)
max_imm_float $0 = max($0, 0)
min_imm_float $0 = min($0, 0x3F800000 (1.0))
copy_slot_unmasked $1 = $0
copy_2_uniforms $2..3 = in_touch
copy_2_uniforms $4..5 = in_origin
mix_2_floats $0..1 = mix($2..3, $4..5, $0..1)
copy_2_slots_unmasked center = $0..1
copy_uniform radius = in_maxRadius
copy_constant blur = 0x3F800000 (1.0)
copy_slot_unmasked $0 = radius
mul_imm_float $0 *= 0x3D4CCCCD (0.05)
copy_slot_unmasked thickness = $0
copy_slot_unmasked $0 = radius
copy_slot_unmasked $1 = scaleIn
mul_float $0 *= $1
copy_slot_unmasked currentRadius = $0
copy_slot_unmasked $1 = thickness
add_float $0 += $1
copy_slot_unmasked radius = $0
copy_slot_unmasked $0 = blur
mul_imm_float $0 *= 0x3F000000 (0.5)
copy_slot_unmasked blurHalf = $0
copy_2_slots_unmasked $0..1 = p
copy_2_slots_unmasked $2..3 = center
sub_2_floats $0..1 -= $2..3
copy_2_slots_unmasked $2..3 = $0..1
dot_2_floats $0 = dot($0..1, $2..3)
sqrt_float $0 = sqrt($0)
copy_slot_unmasked d = $0
splat_2_constants $0..1 = 0x3F800000 (1.0)
copy_slot_unmasked $2 = blurHalf
sub_float $1 -= $2
copy_slot_unmasked $2 = blurHalf
add_imm_float $2 += 0x3F800000 (1.0)
copy_slot_unmasked $3 = d
copy_slot_unmasked $4 = radius
div_float $3 /= $4
smoothstep_n_floats $1 = smoothstep($1, $2, $3)
sub_float $0 -= $1
label label 0x00000005
copy_slot_unmasked circle_outer = $0
copy_slot_unmasked $0 = currentRadius
copy_slot_unmasked $1 = thickness
sub_float $0 -= $1
max_imm_float $0 = max($0, 0)
copy_slot_unmasked radius = $0
copy_slot_unmasked $0 = blur
mul_imm_float $0 *= 0x3F000000 (0.5)
copy_slot_unmasked blurHalf = $0
copy_2_slots_unmasked $0..1 = p
copy_2_slots_unmasked $2..3 = center
sub_2_floats $0..1 -= $2..3
copy_2_slots_unmasked $2..3 = $0..1
dot_2_floats $0 = dot($0..1, $2..3)
sqrt_float $0 = sqrt($0)
copy_slot_unmasked d = $0
splat_2_constants $0..1 = 0x3F800000 (1.0)
copy_slot_unmasked $2 = blurHalf
sub_float $1 -= $2
copy_slot_unmasked $2 = blurHalf
add_imm_float $2 += 0x3F800000 (1.0)
copy_slot_unmasked $3 = d
copy_slot_unmasked $4 = radius
div_float $3 /= $4
smoothstep_n_floats $1 = smoothstep($1, $2, $3)
sub_float $0 -= $1
label label 0x00000006
copy_slot_unmasked circle_inner = $0
copy_slot_unmasked $0 = circle_outer
copy_slot_unmasked $1 = circle_inner
sub_float $0 -= $1
max_imm_float $0 = max($0, 0)
min_imm_float $0 = min($0, 0x3F800000 (1.0))
label label 0x00000004
copy_slot_unmasked ring = $0
copy_slot_unmasked $0 = fadeIn
copy_constant $1 = 0x3F800000 (1.0)
copy_slot_unmasked $2 = fadeOutNoise
sub_float $1 -= $2
min_float $0 = min($0, $1)
copy_slot_unmasked alpha = $0
copy_2_slots_unmasked $0..1 = p
copy_2_uniforms $2..3 = in_resolutionScale
mul_2_floats $0..1 *= $2..3
copy_2_slots_unmasked uv = $0..1
copy_2_slots_unmasked $2..3 = uv
copy_2_uniforms $4..5 = in_noiseScale
mod_2_floats $2..3 = mod($2..3, $4..5)
sub_2_floats $0..1 -= $2..3
copy_2_slots_unmasked densityUv = $0..1
copy_2_slots_unmasked uv = uv
copy_uniform t = in_turbulencePhase
copy_2_slots_unmasked $0..1 = uv
mul_imm_float $0 *= 0x3F4CCCCD (0.8)
mul_imm_float $1 *= 0x3F4CCCCD (0.8)
copy_2_slots_unmasked uv = $0..1
splat_2_constants resolution = 0x3F4CCCCD (0.8)
copy_2_slots_unmasked coord = uv
copy_2_uniforms center = in_tCircle1
copy_2_uniforms rotation = in_tRotation1
copy_constant cell_diameter = 0x3E2E147B (0.17)
copy_2_slots_unmasked $2..3 = rotation
bitwise_xor_imm_int $3 ^= 0x80000000
copy_slot_unmasked $4 = rotation(1)
copy_slot_unmasked $5 = rotation(0)
copy_2_slots_unmasked $6..7 = center
copy_2_slots_unmasked $8..9 = coord
sub_2_floats $6..7 -= $8..9
matrix_multiply_2 mat1x2($0..1) = mat2x2($2..5) * mat1x2($6..7)
copy_2_slots_unmasked $2..3 = center
add_2_floats $0..1 += $2..3
copy_2_slots_unmasked coord = $0..1
copy_slot_unmasked $2 = cell_diameter
copy_slot_unmasked $3 = $2
mod_2_floats $0..1 = mod($0..1, $2..3)
copy_2_slots_unmasked $2..3 = resolution
div_2_floats $0..1 /= $2..3
copy_2_slots_unmasked coord = $0..1
copy_slot_unmasked $0 = cell_diameter
copy_slot_unmasked $1 = resolution(1)
div_float $0 /= $1
mul_imm_float $0 *= 0x3F000000 (0.5)
copy_slot_unmasked normal_radius = $0
mul_imm_float $0 *= 0x3F266666 (0.65)
copy_slot_unmasked radius = $0
copy_slot_unmasked $0 = normal_radius
copy_slot_unmasked $1 = $0
copy_2_slots_unmasked xy = $0..1
copy_slot_unmasked $0 = radius
mul_imm_float $0 *= 0x42480000 (50.0)
copy_slot_unmasked blur = $0
mul_imm_float $0 *= 0x3F000000 (0.5)
copy_slot_unmasked blurHalf = $0
copy_2_slots_unmasked $0..1 = coord
copy_2_slots_unmasked $2..3 = xy
sub_2_floats $0..1 -= $2..3
copy_2_slots_unmasked $2..3 = $0..1
dot_2_floats $0 = dot($0..1, $2..3)
sqrt_float $0 = sqrt($0)
copy_slot_unmasked d = $0
splat_2_constants $0..1 = 0x3F800000 (1.0)
copy_slot_unmasked $2 = blurHalf
sub_float $1 -= $2
copy_slot_unmasked $2 = blurHalf
add_imm_float $2 += 0x3F800000 (1.0)
copy_slot_unmasked $3 = d
copy_slot_unmasked $4 = radius
div_float $3 /= $4
smoothstep_n_floats $1 = smoothstep($1, $2, $3)
sub_float $0 -= $1
label label 0x00000009
label label 0x00000008
copy_slot_unmasked g1 = $0
splat_2_constants resolution = 0x3F4CCCCD (0.8)
copy_2_slots_unmasked coord = uv
copy_2_uniforms center = in_tCircle2
copy_2_uniforms rotation = in_tRotation2
copy_constant cell_diameter = 0x3E4CCCCD (0.2)
copy_2_slots_unmasked $2..3 = rotation
bitwise_xor_imm_int $3 ^= 0x80000000
copy_slot_unmasked $4 = rotation(1)
copy_slot_unmasked $5 = rotation(0)
copy_2_slots_unmasked $6..7 = center
copy_2_slots_unmasked $8..9 = coord
sub_2_floats $6..7 -= $8..9
matrix_multiply_2 mat1x2($0..1) = mat2x2($2..5) * mat1x2($6..7)
copy_2_slots_unmasked $2..3 = center
add_2_floats $0..1 += $2..3
copy_2_slots_unmasked coord = $0..1
copy_slot_unmasked $2 = cell_diameter
copy_slot_unmasked $3 = $2
mod_2_floats $0..1 = mod($0..1, $2..3)
copy_2_slots_unmasked $2..3 = resolution
div_2_floats $0..1 /= $2..3
copy_2_slots_unmasked coord = $0..1
copy_slot_unmasked $0 = cell_diameter
copy_slot_unmasked $1 = resolution(1)
div_float $0 /= $1
mul_imm_float $0 *= 0x3F000000 (0.5)
copy_slot_unmasked normal_radius = $0
mul_imm_float $0 *= 0x3F266666 (0.65)
copy_slot_unmasked radius = $0
copy_slot_unmasked $0 = normal_radius
copy_slot_unmasked $1 = $0
copy_2_slots_unmasked xy = $0..1
copy_slot_unmasked $0 = radius
mul_imm_float $0 *= 0x42480000 (50.0)
copy_slot_unmasked blur = $0
mul_imm_float $0 *= 0x3F000000 (0.5)
copy_slot_unmasked blurHalf = $0
copy_2_slots_unmasked $0..1 = coord
copy_2_slots_unmasked $2..3 = xy
sub_2_floats $0..1 -= $2..3
copy_2_slots_unmasked $2..3 = $0..1
dot_2_floats $0 = dot($0..1, $2..3)
sqrt_float $0 = sqrt($0)
copy_slot_unmasked d = $0
splat_2_constants $0..1 = 0x3F800000 (1.0)
copy_slot_unmasked $2 = blurHalf
sub_float $1 -= $2
copy_slot_unmasked $2 = blurHalf
add_imm_float $2 += 0x3F800000 (1.0)
copy_slot_unmasked $3 = d
copy_slot_unmasked $4 = radius
div_float $3 /= $4
smoothstep_n_floats $1 = smoothstep($1, $2, $3)
sub_float $0 -= $1
label label 0x0000000B
label label 0x0000000A
copy_slot_unmasked g2 = $0
splat_2_constants resolution = 0x3F4CCCCD (0.8)
copy_2_slots_unmasked coord = uv
copy_2_uniforms center = in_tCircle3
copy_2_uniforms rotation = in_tRotation3
copy_constant cell_diameter = 0x3E8CCCCD (0.275)
copy_2_slots_unmasked $2..3 = rotation
bitwise_xor_imm_int $3 ^= 0x80000000
copy_slot_unmasked $4 = rotation(1)
copy_slot_unmasked $5 = rotation(0)
copy_2_slots_unmasked $6..7 = center
copy_2_slots_unmasked $8..9 = coord
sub_2_floats $6..7 -= $8..9
matrix_multiply_2 mat1x2($0..1) = mat2x2($2..5) * mat1x2($6..7)
copy_2_slots_unmasked $2..3 = center
add_2_floats $0..1 += $2..3
copy_2_slots_unmasked coord = $0..1
copy_slot_unmasked $2 = cell_diameter
copy_slot_unmasked $3 = $2
mod_2_floats $0..1 = mod($0..1, $2..3)
copy_2_slots_unmasked $2..3 = resolution
div_2_floats $0..1 /= $2..3
copy_2_slots_unmasked coord = $0..1
copy_slot_unmasked $0 = cell_diameter
copy_slot_unmasked $1 = resolution(1)
div_float $0 /= $1
mul_imm_float $0 *= 0x3F000000 (0.5)
copy_slot_unmasked normal_radius = $0
mul_imm_float $0 *= 0x3F266666 (0.65)
copy_slot_unmasked radius = $0
copy_slot_unmasked $0 = normal_radius
copy_slot_unmasked $1 = $0
copy_2_slots_unmasked xy = $0..1
copy_slot_unmasked $0 = radius
mul_imm_float $0 *= 0x42480000 (50.0)
copy_slot_unmasked blur = $0
mul_imm_float $0 *= 0x3F000000 (0.5)
copy_slot_unmasked blurHalf = $0
copy_2_slots_unmasked $0..1 = coord
copy_2_slots_unmasked $2..3 = xy
sub_2_floats $0..1 -= $2..3
copy_2_slots_unmasked $2..3 = $0..1
dot_2_floats $0 = dot($0..1, $2..3)
sqrt_float $0 = sqrt($0)
copy_slot_unmasked d = $0
splat_2_constants $0..1 = 0x3F800000 (1.0)
copy_slot_unmasked $2 = blurHalf
sub_float $1 -= $2
copy_slot_unmasked $2 = blurHalf
add_imm_float $2 += 0x3F800000 (1.0)
copy_slot_unmasked $3 = d
copy_slot_unmasked $4 = radius
div_float $3 /= $4
smoothstep_n_floats $1 = smoothstep($1, $2, $3)
sub_float $0 -= $1
label label 0x0000000D
label label 0x0000000C
copy_slot_unmasked g3 = $0
copy_slot_unmasked $0 = g1
copy_slot_unmasked $1 = g1
mul_float $0 *= $1
copy_slot_unmasked $1 = g2
add_float $0 += $1
copy_slot_unmasked $1 = g3
sub_float $0 -= $1
mul_imm_float $0 *= 0x3F000000 (0.5)
copy_slot_unmasked v = $0
mul_imm_float $0 *= 0x3F4CCCCD (0.8)
add_imm_float $0 += 0x3EE66666 (0.45)
max_imm_float $0 = max($0, 0)
min_imm_float $0 = min($0, 0x3F800000 (1.0))
label label 0x00000007
copy_slot_unmasked turbulence = $0
copy_uniform t = in_noisePhase
copy_2_slots_unmasked _0_n = densityUv
copy_2_slots_unmasked $0..1 = _0_n
copy_2_immutables_unmasked $2..3 = i3..4 [0x40ACC227 (5.3987), 0x40AE25AF (5.4421)]
mul_2_floats $0..1 *= $2..3
copy_2_slots_unmasked $2..3 = $0..1
floor_2_floats $2..3 = floor($2..3)
sub_2_floats $0..1 -= $2..3
copy_2_slots_unmasked _0_n = $0..1
copy_2_slots_unmasked $2..3 = _0_n
swizzle_2 $2..3 = ($2..3).yx
copy_2_slots_unmasked $4..5 = _0_n
copy_2_immutables_unmasked $6..7 = i5..6 [0x41AC47E3 (21.5351), 0x416504EA (14.3137)]
add_2_floats $4..5 += $6..7
dot_2_floats $2 = dot($2..3, $4..5)
copy_slot_unmasked $3 = $2
add_2_floats $0..1 += $2..3
copy_2_slots_unmasked _0_n = $0..1
mul_float $0 *= $1
copy_slot_unmasked _1_xy = $0
mul_imm_float $0 *= 0x42BEDC85 (95.4307)
copy_slot_unmasked $1 = $0
floor_float $1 = floor($1)
sub_float $0 -= $1
copy_slot_unmasked $1 = _1_xy
mul_imm_float $1 *= 0x42961966 (75.04961)
copy_slot_unmasked $2 = $1
floor_float $2 = floor($2)
sub_float $1 -= $2
add_float $0 += $1
add_imm_float $0 += 0xBF800000 (-1.0)
copy_slot_unmasked n = $0
splat_2_constants s, i = 0
label label 0x00000010
copy_slot_unmasked $0 = i
mul_imm_float $0 *= 0x3DCCCCCD (0.1)
copy_slot_unmasked l = $0
add_imm_float $0 += 0x3D4CCCCD (0.05)
copy_slot_unmasked h = $0
copy_slot_unmasked $0 = t
copy_slot_unmasked $1 = i
mul_imm_float $1 *= 0x3EB33333 (0.35)
add_float $0 += $1
mul_imm_float $0 *= 0x40490FDB (3.14159274)
sin_float $0 = sin($0)
copy_slot_unmasked o = $0
copy_slot_unmasked $0 = n
copy_slot_unmasked $1 = o
add_float $0 += $1
copy_slot_unmasked _2_v = $0
copy_slot_unmasked $0 = s
copy_slot_unmasked $1 = l
copy_slot_unmasked $2 = _2_v
cmple_float $1 = lessThanEqual($1, $2)
bitwise_and_imm_int $1 &= 0x3F800000
copy_constant $2 = 0x3F800000 (1.0)
copy_slot_unmasked $3 = h
copy_slot_unmasked $4 = _2_v
cmple_float $3 = lessThanEqual($3, $4)
bitwise_and_imm_int $3 &= 0x3F800000
sub_float $2 -= $3
mul_float $1 *= $2
add_float $0 += $1
copy_slot_unmasked s = $0
add_imm_float i += 0x3F800000 (1.0)
copy_slot_unmasked $0 = i
cmplt_imm_float $0 = lessThan($0, 0x40800000 (4.0))
stack_rewind
branch_if_no_active_lanes_eq branch -35 (label 16 at #388) if no lanes of $0 == 0
label label 0x0000000F
copy_slot_unmasked $0 = s
max_imm_float $0 = max($0, 0)
min_imm_float $0 = min($0, 0x3F800000 (1.0))
copy_uniform $1 = in_sparkleColor(3)
mul_float $0 *= $1
label label 0x0000000E
copy_slot_unmasked $1 = ring
mul_float $0 *= $1
copy_slot_unmasked $1 = alpha
mul_float $0 *= $1
copy_slot_unmasked $1 = turbulence
mul_float $0 *= $1
copy_slot_unmasked sparkleAlpha = $0
copy_slot_unmasked $0 = fadeIn
copy_constant $1 = 0x3F800000 (1.0)
copy_slot_unmasked $2 = fadeOutRipple
sub_float $1 -= $2
min_float $0 = min($0, $1)
copy_slot_unmasked fade = $0
copy_uniform $0 = in_maxRadius
copy_slot_unmasked $1 = scaleIn
mul_float $0 *= $1
copy_slot_unmasked radius = $0
copy_constant blur = 0x3F800000 (1.0)
copy_slot_unmasked $0 = blur
mul_imm_float $0 *= 0x3F000000 (0.5)
copy_slot_unmasked blurHalf = $0
copy_2_slots_unmasked $0..1 = p
copy_2_slots_unmasked $2..3 = center
sub_2_floats $0..1 -= $2..3
copy_2_slots_unmasked $2..3 = $0..1
dot_2_floats $0 = dot($0..1, $2..3)
sqrt_float $0 = sqrt($0)
copy_slot_unmasked d = $0
splat_2_constants $0..1 = 0x3F800000 (1.0)
copy_slot_unmasked $2 = blurHalf
sub_float $1 -= $2
copy_slot_unmasked $2 = blurHalf
add_imm_float $2 += 0x3F800000 (1.0)
copy_slot_unmasked $3 = d
copy_slot_unmasked $4 = radius
div_float $3 /= $4
smoothstep_n_floats $1 = smoothstep($1, $2, $3)
sub_float $0 -= $1
label label 0x00000011
copy_slot_unmasked $1 = fade
mul_float $0 *= $1
copy_uniform $1 = in_color(3)
mul_float $0 *= $1
copy_slot_unmasked waveAlpha = $0
copy_3_uniforms $0..2 = in_color(0..2)
copy_slot_unmasked $3 = waveAlpha
swizzle_3 $3..5 = ($3..5).xxx
mul_3_floats $0..2 *= $3..5
copy_slot_unmasked waveColor(3) = waveAlpha
copy_3_slots_unmasked waveColor(0..2) = $0..2
copy_4_uniforms $0..3 = in_sparkleColor
swizzle_3 $3..5 = ($3..5).xxx
mul_3_floats $0..2 *= $3..5
copy_uniform sparkleColor(3) = in_sparkleColor(3)
copy_3_slots_unmasked sparkleColor(0..2) = $0..2
copy_uniform $12 = in_hasMask
cmpeq_imm_float $12 = equal($12, 0x3F800000 (1.0))
branch_if_no_active_lanes_eq branch +10 (label 18 at #498) if no lanes of $12 == 0xFFFFFFFF
copy_constant $0 = 0
copy_2_slots_unmasked $1..2 = p
exchange_src swap(src.rgba, $1..4)
invoke_shader invoke_shader 0
exchange_src swap(src.rgba, $1..4)
copy_slot_unmasked $1 = $4
cmplt_float $0 = lessThan($0, $1)
bitwise_and_imm_int $0 &= 0x3F800000
jump jump +3 (label 19 at #500)
label label 0x00000012
copy_constant $0 = 0x3F800000 (1.0)
label label 0x00000013
copy_slot_unmasked mask = $0
copy_slot_unmasked $0 = sparkleAlpha
swizzle_4 $0..3 = ($0..3).xxxx
copy_4_slots_unmasked $4..7 = waveColor
copy_4_slots_unmasked $8..11 = sparkleColor
mix_4_floats $0..3 = mix($4..7, $8..11, $0..3)
copy_slot_unmasked $4 = mask
swizzle_4 $4..7 = ($4..7).xxxx
mul_4_floats $0..3 *= $4..7
load_src src.rgba = $0..3