etnaviv: glmark2 terrain exceeds maximum instructions on GC600 (i.MX8M Mini)
System information
- OS:
NAME="Dumpling Wayland (TQ-Systems Dumpling Wayland Distribution)"
PRETTY_NAME="Dumpling Wayland (TQ-Systems Dumpling Wayland Distribution) 4.0.15 (kirkstone)"
DISTRO_CODENAME="kirkstone"
- GPU:
dmesg|grep etnaviv-gpu
[ 1.525414] etnaviv-gpu 38000000.gpu: model: GC600, revision: 4653
[ 1.531707] etnaviv-gpu 38000000.gpu: Need to move linear window on MC1.0, disabling TS
[ 1.539745] etnaviv-gpu 38008000.gpu: model: GC520, revision: 5341
-
Kernel version:
Linux tqma8-common 6.8.0-rc2-next-20240131+ #2229 SMP PREEMPT Wed Jan 31 10:59:48 CET 2024 aarch64 aarch64 aarch64 GNU/Linux
-
Mesa version:
OpenGL ES 2.0 Mesa 24.1.0-devel (git-6c570f7a98)
-
Desktop manager and compositor:
weston 10.0.2
Describe the issue
Running the terrain
benchmark of glmark2 results in a failed shader compilation:
glmark2-es2-wayland -b terrain
=======================================================
glmark2 2023.01
=======================================================
OpenGL Information
GL_VENDOR: Mesa
GL_RENDERER: Vivante GC600 rev 4653
GL_VERSION: OpenGL ES 2.0 Mesa 24.1.0-devel (git-6c570f7a98)
Surface Config: buf=32 r=8 g=8 b=8 a=8 depth=24 stencil=0 samples=0
Surface Size: 800x600 windowed
=======================================================
MESA: error: etna_compile_check_limits:1044: Number of instructions (410) exceeds maximum 256
error: compile failed!
[terrain] <default>:MESA: error: etna_compile_check_limits:1044: Number of instructions (410) exceeds maximum 256
error: compile failed!
MESA: error: etna_draw_vbo:311: compiled shaders are not okay
MESA: error: etna_compile_check_limits:1044: Number of instructions (410) exceeds maximum 256
error: compile failed!
MESA: error: etna_draw_vbo:311: compiled shaders are not okay
MESA: error: etna_compile_check_limits:1044: Number of instructions (410) exceeds maximum 256
error: compile failed!
MESA: error: etna_draw_vbo:311: compiled shaders are not okay
MESA: error: etna_compile_check_limits:1044: Number of instructions (410) exceeds maximum 256
error: compile failed!
MESA: error: etna_draw_vbo:311: compiled shaders are not okay
MESA: error: etna_compile_check_limits:1044: Number of instructions (410) exceeds maximum 256
error: compile failed!
MESA: error: etna_draw_vbo:311: compiled shaders are not okay
^C FPS: 7 FrameTime: 147.385 ms
=======================================================
glmark2 Score: 6
=======================================================
Log files as attachment
- Nothing is printed to dmesg
Any extra information would be greatly appreciated
GPU features from /sys/kernel/debug/dri/etnaviv/gpu
$ cat /sys/kernel/debug/dri/etnaviv/gpu
38000000.gpu Status:
identity
model: 0x600
revision: 0x4653
product_id: 0x70005
customer_id: 0x102
eco_id: 0x0
features
major_features: 0xa0e9e4ac
minor_features0: 0xe1299fff
minor_features1: 0xbe13b219
minor_features2: 0xca110010
minor_features3: 0x08000001
minor_features4: 0x00020102
minor_features5: 0x00020000
minor_features6: 0x00000000
minor_features7: 0x00000000
minor_features8: 0x00000000
minor_features9: 0x00000000
minor_features10: 0x00000000
minor_features11: 0x00000000
specs
stream_count: 4
register_max: 64
thread_count: 256
vertex_cache_size: 8
shader_core_count: 1
nn_core_count: 0
pixel_pipes: 1
vertex_output_buffer_size: 512
buffer_size: 0
instruction_count: 256
num_constants: 320
varyings_count: 8
axi: 0x00000000
idle: 0x7fffffff
DMA seems to be stuck
address 0: 0xc8baf7d8
address 1: 0xc8baf7d8
state 0: 0x00000000
state 1: 0x00000000
last fetch 64 bit word: 0x9d9ffeff 0xc9cf2579
38008000.gpu Status:
identity
model: 0x520
revision: 0x5341
product_id: 0x5202
customer_id: 0x0
eco_id: 0x0
features
major_features: 0xe02c7eca
minor_features0: 0xe9399eff
minor_features1: 0xfe1fb2db
minor_features2: 0xceff0080
minor_features3: 0x10000005
minor_features4: 0x00000000
minor_features5: 0x00020000
minor_features6: 0x00000000
minor_features7: 0x00000000
minor_features8: 0x00000000
minor_features9: 0x00000000
minor_features10: 0x00000000
minor_features11: 0x00000000
specs
stream_count: 1
register_max: 64
thread_count: 256
vertex_cache_size: 8
shader_core_count: 1
nn_core_count: 0
pixel_pipes: 1
vertex_output_buffer_size: 512
buffer_size: 0
instruction_count: 256
num_constants: 168
varyings_count: 8
axi: 0x000000fd
idle: 0x7fffffff
DMA seems to be stuck
address 0: 0xccf7dc88
address 1: 0xccf7dc88
state 0: 0x00000000
state 1: 0x00000000
last fetch 64 bit word: 0x97176fa8 0xf0e7fd0f
Dumped shader
ETNA_MESA_DEBUG=dump_shaders glmark2-es2-wayland -b terrain
=======================================================
glmark2 2023.01
=======================================================
OpenGL Information
GL_VENDOR: Mesa
GL_RENDERER: Vivante GC600 rev 4653
GL_VERSION: OpenGL ES 2.0 Mesa 24.1.0-devel (git-6c570f7a98)
Surface Config: buf=32 r=8 g=8 b=8 a=8 depth=24 stencil=0 samples=0
Surface Size: 800x600 windowed
=======================================================
shader: MESA_SHADER_FRAGMENT
source_sha1: {0x0c1897fa, 0x6afb3506, 0xfefc58fd, 0xbc53ee22, 0x7f305cd4}
name: GLSL1
internal: false
stage: 4
next_stage: 4
inputs_read: 32
outputs_written: 2
subgroup_size: 1
bit_sizes_float: 0x20
bit_sizes_int: 0x21
flrp_lowered: true
inputs: 1
outputs: 1
uniforms: 2
decl_var uniform INTERP_MODE_NONE none mediump float time (2, 0, 0)
decl_var uniform INTERP_MODE_NONE none mediump vec2 uvScale (1, 1, 0)
decl_var shader_in INTERP_MODE_NONE none mediump vec2 packed:vUv (VARYING_SLOT_VAR0.xy, 0, 0)
decl_var shader_out INTERP_MODE_NONE none mediump vec4 gl_FragColor (FRAG_RESULT_COLOR.xyzw, 0, 0)
decl_function main (0 params)
impl main {
block b0: // preds:
32 %0 = load_const (0x00000000 = 0.000000)
32x2 %1 = @load_input (%0 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1 mediump) // packed:vUv
32 %2 = load_const (0x3f800000 = 1.000000)
32x2 %3 = @load_uniform (%0 (0x0)) (base=1, range=1, dest_type=float32) // uvScale
32 %5 = fadd %3.y, %1.y
32 %6 = @load_uniform (%0 (0x0)) (base=0, range=1, dest_type=float32) // time
32 %7 = fneg %6
32 %8 = load_const (0x40000000 = 2.000000)
32 %9 = load_const (0x3f000000 = 0.500000)
32 %10 = load_const (0x40800000 = 4.000000)
32 %11 = load_const (0x3e800000 = 0.250000)
32 %12 = load_const (0x41000000 = 8.000000)
32 %13 = load_const (0x3e000000 = 0.125000)
32 %14 = load_const (0x3eaaaaab = 0.333333)
32 %15 = load_const (0x3e2aaaab = 0.166667)
32 %16 = load_const (0x43908000 = 289.000000)
32x2 %17 = load_const (0x00000000, 0x3f800000) = (0.000000, 1.000000)
32 %18 = load_const (0x40e00000 = 7.000000)
32 %19 = load_const (0x42440000 = 49.000000)
32 %20 = load_const (0x3f19999a = 0.600000)
32 %21 = load_const (0x42280000 = 42.000000)
32x3 %22 = vec3 %1.x, %5, %7
32 %23 = fdot3 %22, %14 (0.333333).xxx
32x3 %24 = fadd %22, %23.xxx
32x3 %25 = ffloor %24
32x3 %27 = fadd %22, %25
32 %28 = fdot3 %25, %15 (0.166667).xxx
32x3 %29 = fadd %27, %28.xxx
32x3 %610 = sge %29, %29.yzx
32x3 %38 = fadd %2 (1.000000).xxx, %610
32x3 %39 = fmin %610, %38.zxy
32x3 %40 = fmax %610, %38.zxy
32x3 %42 = fadd %29, %39
32x3 %43 = fadd %42, %15 (0.166667).xxx
32x3 %45 = fadd %29, %40
32x3 %46 = fadd %45, %14 (0.333333).xxx
32 %47 = load_const (0xbf000000 = -0.500000)
32x3 %48 = fadd %47 (-0.500000).xxx, %29
32 %49 = load_const (0x3b62c4a7 = 0.003460)
32x3 %50 = fmul %25, %49 (0.003460).xxx
32x3 %51 = ffloor %50
32x3 %731 = ffma %16 (289.000000).xxx, %51, %25
32x4 %55 = vec4 %17 (0x0, 0x3f800000).x, %39.z, %40.z, %17 (0x0, 0x3f800000).y
32x4 %56 = fadd %731.zzzz, %55
32 %57 = load_const (0x42080000 = 34.000000)
32x4 %729 = ffma %56, %57 (34.000000).xxxx, %2 (1.000000).xxxx
32x4 %60 = fmul %729, %56
32x4 %61 = fmul %60, %49 (0.003460).xxxx
32x4 %62 = ffloor %61
32x4 %65 = fadd %60, %731.yyyy
32x4 %728 = ffma %16 (289.000000).xxxx, %62, %65
32x4 %67 = vec4 %17 (0x0, 0x3f800000).x, %39.y, %40.y, %17 (0x0, 0x3f800000).y
32x4 %68 = fadd %728, %67
32x4 %726 = ffma %68, %57 (34.000000).xxxx, %2 (1.000000).xxxx
32x4 %71 = fmul %726, %68
32x4 %72 = fmul %71, %49 (0.003460).xxxx
32x4 %73 = ffloor %72
32x4 %76 = fadd %71, %731.xxxx
32x4 %725 = ffma %16 (289.000000).xxxx, %73, %76
32x4 %78 = vec4 %17 (0x0, 0x3f800000).x, %39.x, %40.x, %17 (0x0, 0x3f800000).y
32x4 %79 = fadd %725, %78
32x4 %723 = ffma %79, %57 (34.000000).xxxx, %2 (1.000000).xxxx
32x4 %82 = fmul %723, %79
32x4 %83 = fmul %82, %49 (0.003460).xxxx
32x4 %84 = ffloor %83
32x4 %722 = ffma %16 (289.000000).xxxx, %84, %82
32x3 %88 = load_const (0x3e924925, 0xbf6db6db, 0x3e124925) = (0.285714, -0.928571, 0.142857)
32 %89 = load_const (0x3ca72f06 = 0.020408)
32x4 %90 = fmul %89 (0.020408).xxxx, %722
32x4 %91 = ffloor %90
32x4 %720 = ffma %19 (49.000000).xxxx, %91, %722
32x4 %95 = fmul %720, %88 (0.285714, -0.928571, 0.142857).zzzz
32x4 %96 = ffloor %95
32x4 %718 = ffma %96, %88 (0.285714, -0.928571, 0.142857).xxxx, %88 (0.285714, -0.928571, 0.142857).yyyy
32x4 %717 = ffma %18 (7.000000).xxxx, %96, %720
32x4 %102 = ffloor %717
32x4 %715 = ffma %102, %88 (0.285714, -0.928571, 0.142857).xxxx, %88 (0.285714, -0.928571, 0.142857).yyyy
32x4 %107 = fadd %2 (1.000000).xxxx, %718
32x4 %110 = fadd %107, %715
32x4 %613 = sge %0 (0.000000).xxxx, %110
32x4 %121 = vec4 %718.x, %718.y, %715.x, %715.y
32x4 %122 = ffloor %121
32x4 %714 = ffma %122, %8 (2.000000).xxxx, %2 (1.000000).xxxx
32x4 %713 = ffma %613.xxyy, %714.xzyw, %121.xzyw
32x4 %129 = vec4 %718.z, %718.w, %715.z, %715.w
32x4 %130 = ffloor %129
32x4 %711 = ffma %130, %8 (2.000000).xxxx, %2 (1.000000).xxxx
32x4 %710 = ffma %613.zzww, %711.xzyw, %129.xzyw
32x3 %136 = vec3 %713.x, %713.y, %110.x
32 %137 = fdot3 %136, %136
32x3 %138 = vec3 %713.z, %713.w, %110.y
32 %139 = fdot3 %138, %138
32x3 %140 = vec3 %710.x, %710.y, %110.z
32 %141 = fdot3 %140, %140
32x3 %142 = vec3 %710.z, %710.w, %110.w
32 %143 = fdot3 %142, %142
32 %144 = load_const (0x3fe57be0 = 1.792843)
32 %145 = load_const (0x3f5a8e5c = 0.853735)
32x4 %146 = vec4 %137, %139, %141, %143
32x4 %708 = ffma %145 (0.853735).xxxx, %146, %144 (1.792843).xxxx
32x3 %150 = fmul %136, %708.xxx
32x3 %151 = fmul %138, %708.yyy
32x3 %152 = fmul %140, %708.zzz
32x3 %153 = fmul %142, %708.www
32 %154 = fdot3 %29, %29
32 %155 = fdot3 %43, %43
32 %156 = fdot3 %46, %46
32 %157 = fdot3 %48, %48
32x4 %158 = vec4 %154, %155, %156, %157
32x4 %160 = fadd %20 (0.600000).xxxx, %158
32x4 %161 = fmax %160, %0 (0.000000).xxxx
32x4 %162 = fmul %161, %161
32 %163 = fdot3 %150, %29
32 %164 = fdot3 %151, %43
32 %165 = fdot3 %152, %46
32 %166 = fdot3 %153, %48
32x4 %167 = fmul %162, %162
32x4 %168 = vec4 %163, %164, %165, %166
32 %169 = fdot4 %167, %168
32 %170 = fmul %21 (42.000000), %169
32x3 %172 = fmul %22, %8 (2.000000).xxx
32 %173 = fdot3 %172, %14 (0.333333).xxx
32x3 %174 = fadd %172, %173.xxx
32x3 %175 = ffloor %174
32x3 %177 = fadd %172, %175
32 %178 = fdot3 %175, %15 (0.166667).xxx
32x3 %179 = fadd %177, %178.xxx
32x3 %615 = sge %179, %179.yzx
32x3 %188 = fadd %2 (1.000000).xxx, %615
32x3 %189 = fmin %615, %188.zxy
32x3 %190 = fmax %615, %188.zxy
32x3 %192 = fadd %179, %189
32x3 %193 = fadd %192, %15 (0.166667).xxx
32x3 %195 = fadd %179, %190
32x3 %196 = fadd %195, %14 (0.333333).xxx
32x3 %197 = fadd %47 (-0.500000).xxx, %179
32x3 %198 = fmul %175, %49 (0.003460).xxx
32x3 %199 = ffloor %198
32x3 %706 = ffma %16 (289.000000).xxx, %199, %175
32x4 %203 = vec4 %17 (0x0, 0x3f800000).x, %189.z, %190.z, %17 (0x0, 0x3f800000).y
32x4 %204 = fadd %706.zzzz, %203
32x4 %704 = ffma %204, %57 (34.000000).xxxx, %2 (1.000000).xxxx
32x4 %207 = fmul %704, %204
32x4 %208 = fmul %207, %49 (0.003460).xxxx
32x4 %209 = ffloor %208
32x4 %212 = fadd %207, %706.yyyy
32x4 %703 = ffma %16 (289.000000).xxxx, %209, %212
32x4 %214 = vec4 %17 (0x0, 0x3f800000).x, %189.y, %190.y, %17 (0x0, 0x3f800000).y
32x4 %215 = fadd %703, %214
32x4 %701 = ffma %215, %57 (34.000000).xxxx, %2 (1.000000).xxxx
32x4 %218 = fmul %701, %215
32x4 %219 = fmul %218, %49 (0.003460).xxxx
32x4 %220 = ffloor %219
32x4 %223 = fadd %218, %706.xxxx
32x4 %700 = ffma %16 (289.000000).xxxx, %220, %223
32x4 %225 = vec4 %17 (0x0, 0x3f800000).x, %189.x, %190.x, %17 (0x0, 0x3f800000).y
32x4 %226 = fadd %700, %225
32x4 %698 = ffma %226, %57 (34.000000).xxxx, %2 (1.000000).xxxx
32x4 %229 = fmul %698, %226
32x4 %230 = fmul %229, %49 (0.003460).xxxx
32x4 %231 = ffloor %230
32x4 %697 = ffma %16 (289.000000).xxxx, %231, %229
32x4 %235 = fmul %89 (0.020408).xxxx, %697
32x4 %236 = ffloor %235
32x4 %695 = ffma %19 (49.000000).xxxx, %236, %697
32x4 %240 = fmul %695, %88 (0.285714, -0.928571, 0.142857).zzzz
32x4 %241 = ffloor %240
32x4 %693 = ffma %241, %88 (0.285714, -0.928571, 0.142857).xxxx, %88 (0.285714, -0.928571, 0.142857).yyyy
32x4 %692 = ffma %18 (7.000000).xxxx, %241, %695
32x4 %247 = ffloor %692
32x4 %690 = ffma %247, %88 (0.285714, -0.928571, 0.142857).xxxx, %88 (0.285714, -0.928571, 0.142857).yyyy
32x4 %252 = fadd %2 (1.000000).xxxx, %693
32x4 %255 = fadd %252, %690
32x4 %618 = sge %0 (0.000000).xxxx, %255
32x4 %266 = vec4 %693.x, %693.y, %690.x, %690.y
32x4 %267 = ffloor %266
32x4 %689 = ffma %267, %8 (2.000000).xxxx, %2 (1.000000).xxxx
32x4 %688 = ffma %618.xxyy, %689.xzyw, %266.xzyw
32x4 %274 = vec4 %693.z, %693.w, %690.z, %690.w
32x4 %275 = ffloor %274
32x4 %686 = ffma %275, %8 (2.000000).xxxx, %2 (1.000000).xxxx
32x4 %685 = ffma %618.zzww, %686.xzyw, %274.xzyw
32x3 %281 = vec3 %688.x, %688.y, %255.x
32 %282 = fdot3 %281, %281
32x3 %283 = vec3 %688.z, %688.w, %255.y
32 %284 = fdot3 %283, %283
32x3 %285 = vec3 %685.x, %685.y, %255.z
32 %286 = fdot3 %285, %285
32x3 %287 = vec3 %685.z, %685.w, %255.w
32 %288 = fdot3 %287, %287
32x4 %289 = vec4 %282, %284, %286, %288
32x4 %683 = ffma %145 (0.853735).xxxx, %289, %144 (1.792843).xxxx
32x3 %293 = fmul %281, %683.xxx
32x3 %294 = fmul %283, %683.yyy
32x3 %295 = fmul %285, %683.zzz
32x3 %296 = fmul %287, %683.www
32 %297 = fdot3 %179, %179
32 %298 = fdot3 %193, %193
32 %299 = fdot3 %196, %196
32 %300 = fdot3 %197, %197
32x4 %301 = vec4 %297, %298, %299, %300
32x4 %303 = fadd %20 (0.600000).xxxx, %301
32x4 %304 = fmax %303, %0 (0.000000).xxxx
32x4 %305 = fmul %304, %304
32 %306 = fdot3 %293, %179
32 %307 = fdot3 %294, %193
32 %308 = fdot3 %295, %196
32 %309 = fdot3 %296, %197
32x4 %310 = fmul %305, %305
32x4 %311 = vec4 %306, %307, %308, %309
32 %312 = fdot4 %310, %311
32 %313 = fmul %21 (42.000000), %312
32 %681 = ffma %9 (0.500000), %313, %170
32x3 %317 = fmul %22, %10 (4.000000).xxx
32 %318 = fdot3 %317, %14 (0.333333).xxx
32x3 %319 = fadd %317, %318.xxx
32x3 %320 = ffloor %319
32x3 %322 = fadd %317, %320
32 %323 = fdot3 %320, %15 (0.166667).xxx
32x3 %324 = fadd %322, %323.xxx
32x3 %620 = sge %324, %324.yzx
32x3 %333 = fadd %2 (1.000000).xxx, %620
32x3 %334 = fmin %620, %333.zxy
32x3 %335 = fmax %620, %333.zxy
32x3 %337 = fadd %324, %334
32x3 %338 = fadd %337, %15 (0.166667).xxx
32x3 %340 = fadd %324, %335
32x3 %341 = fadd %340, %14 (0.333333).xxx
32x3 %342 = fadd %47 (-0.500000).xxx, %324
32x3 %343 = fmul %320, %49 (0.003460).xxx
32x3 %344 = ffloor %343
32x3 %680 = ffma %16 (289.000000).xxx, %344, %320
32x4 %348 = vec4 %17 (0x0, 0x3f800000).x, %334.z, %335.z, %17 (0x0, 0x3f800000).y
32x4 %349 = fadd %680.zzzz, %348
32x4 %678 = ffma %349, %57 (34.000000).xxxx, %2 (1.000000).xxxx
32x4 %352 = fmul %678, %349
32x4 %353 = fmul %352, %49 (0.003460).xxxx
32x4 %354 = ffloor %353
32x4 %357 = fadd %352, %680.yyyy
32x4 %677 = ffma %16 (289.000000).xxxx, %354, %357
32x4 %359 = vec4 %17 (0x0, 0x3f800000).x, %334.y, %335.y, %17 (0x0, 0x3f800000).y
32x4 %360 = fadd %677, %359
32x4 %675 = ffma %360, %57 (34.000000).xxxx, %2 (1.000000).xxxx
32x4 %363 = fmul %675, %360
32x4 %364 = fmul %363, %49 (0.003460).xxxx
32x4 %365 = ffloor %364
32x4 %368 = fadd %363, %680.xxxx
32x4 %674 = ffma %16 (289.000000).xxxx, %365, %368
32x4 %370 = vec4 %17 (0x0, 0x3f800000).x, %334.x, %335.x, %17 (0x0, 0x3f800000).y
32x4 %371 = fadd %674, %370
32x4 %672 = ffma %371, %57 (34.000000).xxxx, %2 (1.000000).xxxx
32x4 %374 = fmul %672, %371
32x4 %375 = fmul %374, %49 (0.003460).xxxx
32x4 %376 = ffloor %375
32x4 %671 = ffma %16 (289.000000).xxxx, %376, %374
32x4 %380 = fmul %89 (0.020408).xxxx, %671
32x4 %381 = ffloor %380
32x4 %669 = ffma %19 (49.000000).xxxx, %381, %671
32x4 %385 = fmul %669, %88 (0.285714, -0.928571, 0.142857).zzzz
32x4 %386 = ffloor %385
32x4 %667 = ffma %386, %88 (0.285714, -0.928571, 0.142857).xxxx, %88 (0.285714, -0.928571, 0.142857).yyyy
32x4 %666 = ffma %18 (7.000000).xxxx, %386, %669
32x4 %392 = ffloor %666
32x4 %664 = ffma %392, %88 (0.285714, -0.928571, 0.142857).xxxx, %88 (0.285714, -0.928571, 0.142857).yyyy
32x4 %397 = fadd %2 (1.000000).xxxx, %667
32x4 %400 = fadd %397, %664
32x4 %623 = sge %0 (0.000000).xxxx, %400
32x4 %411 = vec4 %667.x, %667.y, %664.x, %664.y
32x4 %412 = ffloor %411
32x4 %663 = ffma %412, %8 (2.000000).xxxx, %2 (1.000000).xxxx
32x4 %662 = ffma %623.xxyy, %663.xzyw, %411.xzyw
32x4 %419 = vec4 %667.z, %667.w, %664.z, %664.w
32x4 %420 = ffloor %419
32x4 %660 = ffma %420, %8 (2.000000).xxxx, %2 (1.000000).xxxx
32x4 %659 = ffma %623.zzww, %660.xzyw, %419.xzyw
32x3 %426 = vec3 %662.x, %662.y, %400.x
32 %427 = fdot3 %426, %426
32x3 %428 = vec3 %662.z, %662.w, %400.y
32 %429 = fdot3 %428, %428
32x3 %430 = vec3 %659.x, %659.y, %400.z
32 %431 = fdot3 %430, %430
32x3 %432 = vec3 %659.z, %659.w, %400.w
32 %433 = fdot3 %432, %432
32x4 %434 = vec4 %427, %429, %431, %433
32x4 %657 = ffma %145 (0.853735).xxxx, %434, %144 (1.792843).xxxx
32x3 %438 = fmul %426, %657.xxx
32x3 %439 = fmul %428, %657.yyy
32x3 %440 = fmul %430, %657.zzz
32x3 %441 = fmul %432, %657.www
32 %442 = fdot3 %324, %324
32 %443 = fdot3 %338, %338
32 %444 = fdot3 %341, %341
32 %445 = fdot3 %342, %342
32x4 %446 = vec4 %442, %443, %444, %445
32x4 %448 = fadd %20 (0.600000).xxxx, %446
32x4 %449 = fmax %448, %0 (0.000000).xxxx
32x4 %450 = fmul %449, %449
32 %451 = fdot3 %438, %324
32 %452 = fdot3 %439, %338
32 %453 = fdot3 %440, %341
32 %454 = fdot3 %441, %342
32x4 %455 = fmul %450, %450
32x4 %456 = vec4 %451, %452, %453, %454
32 %457 = fdot4 %455, %456
32 %458 = fmul %21 (42.000000), %457
32 %655 = ffma %11 (0.250000), %458, %681
32x3 %462 = fmul %22, %12 (8.000000).xxx
32 %463 = fdot3 %462, %14 (0.333333).xxx
32x3 %464 = fadd %462, %463.xxx
32x3 %465 = ffloor %464
32x3 %467 = fadd %462, %465
32 %468 = fdot3 %465, %15 (0.166667).xxx
32x3 %469 = fadd %467, %468.xxx
32x3 %625 = sge %469, %469.yzx
32x3 %478 = fadd %2 (1.000000).xxx, %625
32x3 %479 = fmin %625, %478.zxy
32x3 %480 = fmax %625, %478.zxy
32x3 %482 = fadd %469, %479
32x3 %483 = fadd %482, %15 (0.166667).xxx
32x3 %485 = fadd %469, %480
32x3 %486 = fadd %485, %14 (0.333333).xxx
32x3 %487 = fadd %47 (-0.500000).xxx, %469
32x3 %488 = fmul %465, %49 (0.003460).xxx
32x3 %489 = ffloor %488
32x3 %654 = ffma %16 (289.000000).xxx, %489, %465
32x4 %493 = vec4 %17 (0x0, 0x3f800000).x, %479.z, %480.z, %17 (0x0, 0x3f800000).y
32x4 %494 = fadd %654.zzzz, %493
32x4 %652 = ffma %494, %57 (34.000000).xxxx, %2 (1.000000).xxxx
32x4 %497 = fmul %652, %494
32x4 %498 = fmul %497, %49 (0.003460).xxxx
32x4 %499 = ffloor %498
32x4 %502 = fadd %497, %654.yyyy
32x4 %651 = ffma %16 (289.000000).xxxx, %499, %502
32x4 %504 = vec4 %17 (0x0, 0x3f800000).x, %479.y, %480.y, %17 (0x0, 0x3f800000).y
32x4 %505 = fadd %651, %504
32x4 %649 = ffma %505, %57 (34.000000).xxxx, %2 (1.000000).xxxx
32x4 %508 = fmul %649, %505
32x4 %509 = fmul %508, %49 (0.003460).xxxx
32x4 %510 = ffloor %509
32x4 %513 = fadd %508, %654.xxxx
32x4 %648 = ffma %16 (289.000000).xxxx, %510, %513
32x4 %515 = vec4 %17 (0x0, 0x3f800000).x, %479.x, %480.x, %17 (0x0, 0x3f800000).y
32x4 %516 = fadd %648, %515
32x4 %646 = ffma %516, %57 (34.000000).xxxx, %2 (1.000000).xxxx
32x4 %519 = fmul %646, %516
32x4 %520 = fmul %519, %49 (0.003460).xxxx
32x4 %521 = ffloor %520
32x4 %645 = ffma %16 (289.000000).xxxx, %521, %519
32x4 %525 = fmul %89 (0.020408).xxxx, %645
32x4 %526 = ffloor %525
32x4 %643 = ffma %19 (49.000000).xxxx, %526, %645
32x4 %530 = fmul %643, %88 (0.285714, -0.928571, 0.142857).zzzz
32x4 %531 = ffloor %530
32x4 %641 = ffma %531, %88 (0.285714, -0.928571, 0.142857).xxxx, %88 (0.285714, -0.928571, 0.142857).yyyy
32x4 %640 = ffma %18 (7.000000).xxxx, %531, %643
32x4 %537 = ffloor %640
32x4 %638 = ffma %537, %88 (0.285714, -0.928571, 0.142857).xxxx, %88 (0.285714, -0.928571, 0.142857).yyyy
32x4 %542 = fadd %2 (1.000000).xxxx, %641
32x4 %545 = fadd %542, %638
32x4 %628 = sge %0 (0.000000).xxxx, %545
32x4 %556 = vec4 %641.x, %641.y, %638.x, %638.y
32x4 %557 = ffloor %556
32x4 %637 = ffma %557, %8 (2.000000).xxxx, %2 (1.000000).xxxx
32x4 %636 = ffma %628.xxyy, %637.xzyw, %556.xzyw
32x4 %564 = vec4 %641.z, %641.w, %638.z, %638.w
32x4 %565 = ffloor %564
32x4 %634 = ffma %565, %8 (2.000000).xxxx, %2 (1.000000).xxxx
32x4 %633 = ffma %628.zzww, %634.xzyw, %564.xzyw
32x3 %571 = vec3 %636.x, %636.y, %545.x
32 %572 = fdot3 %571, %571
32x3 %573 = vec3 %636.z, %636.w, %545.y
32 %574 = fdot3 %573, %573
32x3 %575 = vec3 %633.x, %633.y, %545.z
32 %576 = fdot3 %575, %575
32x3 %577 = vec3 %633.z, %633.w, %545.w
32 %578 = fdot3 %577, %577
32x4 %579 = vec4 %572, %574, %576, %578
32x4 %631 = ffma %145 (0.853735).xxxx, %579, %144 (1.792843).xxxx
32x3 %583 = fmul %571, %631.xxx
32x3 %584 = fmul %573, %631.yyy
32x3 %585 = fmul %575, %631.zzz
32x3 %586 = fmul %577, %631.www
32 %587 = fdot3 %469, %469
32 %588 = fdot3 %483, %483
32 %589 = fdot3 %486, %486
32 %590 = fdot3 %487, %487
32x4 %591 = vec4 %587, %588, %589, %590
32x4 %593 = fadd %20 (0.600000).xxxx, %591
32x4 %594 = fmax %593, %0 (0.000000).xxxx
32x4 %595 = fmul %594, %594
32 %596 = fdot3 %583, %469
32 %597 = fdot3 %584, %483
32 %598 = fdot3 %585, %486
32 %599 = fdot3 %586, %487
32x4 %600 = fmul %595, %595
32x4 %601 = vec4 %596, %597, %598, %599
32 %602 = fdot4 %600, %601
32 %603 = fmul %21 (42.000000), %602
32 %629 = ffma %13 (0.125000), %603, %655
32 %607 = deref_var &gl_FragColor (shader_out vec4)
32x4 %608 = vec4 %629, %629, %629, %2 (0x3f800000)
@store_deref (%607, %608) (wrmask=xyzw, access=none)
// succs: b1
block b1:
}