Created
February 19, 2025 21:21
-
-
Save anarsoul/f66452ecdd2558ec5a431698ef424e32 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| nested_struct_array_dynamic_index_fragment.shader_test - MESA_SHADER_VERTEX shader: 9 inst, 0 loops, 0:0 spills:fills | |
| shader: MESA_SHADER_FRAGMENT | |
| source_blake3: {0x902052f5, 0xa35b8bc9, 0x48a41bda, 0x3b8c92d3, 0x5a939f02, 0x704810c1, 0x5af66f4a, 0x917629a3} | |
| name: GLSL1 | |
| label: nested_struct_array_dynamic_index_fragment.shader_test | |
| next_stage: MESA_SHADER_FRAGMENT | |
| 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: 9 | |
| decl_var uniform INTERP_MODE_NONE none mediump int ui_zero (0, 0, 0) | |
| decl_var uniform INTERP_MODE_NONE none mediump int ui_one (1, 1, 0) | |
| decl_var uniform INTERP_MODE_NONE none mediump int ui_two (2, 2, 0) | |
| decl_var uniform INTERP_MODE_NONE none mediump float uf_two (3, 3, 0) | |
| decl_var uniform INTERP_MODE_NONE none mediump float uf_three (4, 4, 0) | |
| decl_var uniform INTERP_MODE_NONE none mediump float uf_four (5, 5, 0) | |
| decl_var uniform INTERP_MODE_NONE none mediump float uf_half (6, 6, 0) | |
| decl_var uniform INTERP_MODE_NONE none mediump float uf_third (7, 7, 0) | |
| decl_var uniform INTERP_MODE_NONE none mediump float uf_fourth (8, 8, 0) | |
| decl_var shader_in INTERP_MODE_SMOOTH none mediump vec4 VARYING_SLOT_VAR0 (VARYING_SLOT_VAR0.xyzw, 0, 0) | |
| decl_var shader_out INTERP_MODE_NONE none mediump vec4 gl_FragColor (FRAG_RESULT_COLOR.xyzw, 0, 0) | |
| decl_function main () (entrypoint) | |
| impl main { | |
| block b0: // preds: | |
| 32 %119 = @decl_reg (num_components=4, num_array_elems=0, bit_size=32, divergent=1) | |
| 32 %112 = @decl_reg (num_components=4, num_array_elems=0, bit_size=32, divergent=1) | |
| 32 %110 = @decl_reg (num_components=2, num_array_elems=0, bit_size=32, divergent=0) | |
| 32 %108 = @decl_reg (num_components=2, num_array_elems=0, bit_size=32, divergent=0) | |
| 32 %236 = load_const (0x00000000) | |
| 32 %154 = @load_uniform (%236 (0x0)) (base=1, range=1, dest_type=int32) // ui_one | |
| 32x2 %287 = load_const (0xbf800000, 0x3f800000) = (-1.000000, 1.000000) | |
| 32x2 %12 = fadd %154.xx, %287 (-1.000000, 1.000000) | |
| 32 %235 = load_const (0x00000000) | |
| 32 %153 = @load_uniform (%235 (0x0)) (base=1, range=1, dest_type=int32) // ui_one | |
| 32x2 %288 = load_const (0x3f800000, 0x40000000) = (1.000000, 2.000000) | |
| 32x2 %14 = slt %153.xx, %288 (1.000000, 2.000000) | |
| 32 %15 = mov %14.x | |
| 32x3 %294 = load_const (0x3f800000, 0x3f800000, 0x40000000) = (1.000000, 1.000000, 2.000000) | |
| 32x3 %17 = slt %12.xyy, %294 (1.000000, 1.000000, 2.000000) | |
| 32 %268 = load_const (0x00000000) | |
| 32x4 %202 = @load_input (%268 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1 mediump) // VARYING_SLOT_VAR0 | |
| 32x4 %18 = fcsel %17.xxxx, %202, %202.zwxy | |
| 32 %269 = load_const (0x00000000) | |
| 32x4 %207 = @load_input (%269 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1 mediump) // VARYING_SLOT_VAR0 | |
| 32x4 %113 = fcsel %17.xxxx, %207.xxxx, %207.yyyy | |
| @store_reg (%113, %112) (base=0, wrmask=x, legacy_fsat=0) | |
| 32 %270 = load_const (0x00000000) | |
| 32x4 %208 = @load_input (%270 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1 mediump) // VARYING_SLOT_VAR0 | |
| 32x4 %114 = fcsel %17.xxxx, %208.zzzz, %208.wwww | |
| @store_reg (%114, %112) (base=0, wrmask=y, legacy_fsat=0) | |
| 32 %271 = load_const (0x00000000) | |
| 32x4 %209 = @load_input (%271 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1 mediump) // VARYING_SLOT_VAR0 | |
| 32x4 %115 = fcsel %17.zzzz, %209.xxxx, %209.yyyy | |
| @store_reg (%115, %112) (base=0, wrmask=z, legacy_fsat=0) | |
| 32 %272 = load_const (0x00000000) | |
| 32x4 %210 = @load_input (%272 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1 mediump) // VARYING_SLOT_VAR0 | |
| 32x4 %116 = fcsel %17.zzzz, %210.yyyy, %210.wwww | |
| @store_reg (%116, %112) (base=0, wrmask=w, legacy_fsat=0) | |
| 32x4 %117 = @load_reg (%112) (base=0, legacy_fabs=0, legacy_fneg=0) | |
| 32x2 %25 = fcsel %14.yy, %18.zw, %117.xy | |
| 32x2 %26 = fcsel %14.xx, %18.xy, %25 | |
| 32 %234 = load_const (0x00000000) | |
| 32 %135 = @load_uniform (%234 (0x0)) (base=0, range=1, dest_type=int32) // ui_zero | |
| 32 %225 = load_const (0x3f800000 = 1.000000) | |
| 32 %27 = fadd %135, %225 (1.000000) | |
| // succs: b1 b2 | |
| if %15 { | |
| block b1: // preds: b0 | |
| 32 %296 = load_const (0x00000000) | |
| 32 %161 = @load_uniform (%296 (0x0)) (base=2, range=1, dest_type=int32) // ui_two | |
| 32x2 %297 = load_const (0x3f800000, 0x40000000) = (1.000000, 2.000000) | |
| 32x2 %29 = slt %161.xx, %297 (1.000000, 2.000000) | |
| 32 %298 = load_const (0x3f800000 = 1.000000) | |
| 32 %30 = slt %27, %298 (1.000000) | |
| 32 %299 = load_const (0x00000000) | |
| 32x4 %211 = @load_input (%299 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1 mediump) // VARYING_SLOT_VAR0 | |
| 32x4 %31 = fcsel %30.xxxx, %211, %211.zwxy | |
| 32 %300 = load_const (0x00000000) | |
| 32x4 %212 = @load_input (%300 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1 mediump) // VARYING_SLOT_VAR0 | |
| 32x2 %32 = fcsel %30.xx, %212.xz, %212.yw | |
| 32x2 %33 = fcsel %29.yy, %31.zw, %32 | |
| 32x2 %34 = fcsel %29.xx, %31.xy, %33 | |
| @store_reg (%34, %110) (base=0, wrmask=xy, legacy_fsat=0) | |
| // succs: b3 | |
| } else { | |
| block b2: // preds: b0 | |
| 32 %301 = load_const (0x00000000) | |
| 32 %162 = @load_uniform (%301 (0x0)) (base=2, range=1, dest_type=int32) // ui_two | |
| 32x2 %302 = load_const (0x3f800000, 0x40000000) = (1.000000, 2.000000) | |
| 32x2 %35 = slt %162.xx, %302 (1.000000, 2.000000) | |
| 32 %303 = load_const (0x3f800000 = 1.000000) | |
| 32 %36 = slt %27, %303 (1.000000) | |
| 32 %304 = load_const (0x00000000) | |
| 32x4 %213 = @load_input (%304 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1 mediump) // VARYING_SLOT_VAR0 | |
| 32x4 %37 = fcsel %36.xxxx, %213.xxzz, %213.yyww | |
| 32 %305 = load_const (0x00000000) | |
| 32x4 %214 = @load_input (%305 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1 mediump) // VARYING_SLOT_VAR0 | |
| 32x2 %38 = fcsel %36.xx, %214.yx, %214.wz | |
| 32x2 %39 = fcsel %35.yy, %37.zw, %38 | |
| 32x2 %40 = fcsel %35.xx, %37.xy, %39 | |
| @store_reg (%40, %110) (base=0, wrmask=xy, legacy_fsat=0) | |
| // succs: b3 | |
| } | |
| block b3: // preds: b1 b2 | |
| 32x2 %111 = @load_reg (%110) (base=0, legacy_fabs=0, legacy_fneg=0) | |
| 32 %42 = fadd %26.x, %111.y | |
| 32 %306 = load_const (0x00000000) | |
| 32 %163 = @load_uniform (%306 (0x0)) (base=6, range=1, dest_type=float32) // uf_half | |
| 32x4 %120 = fmul %42.xxxx, %163.xxxx | |
| @store_reg (%120, %119) (base=0, wrmask=x, legacy_fsat=0) | |
| 32 %308 = load_const (0x00000000) | |
| 32 %164 = @load_uniform (%308 (0x0)) (base=2, range=1, dest_type=int32) // ui_two | |
| 32x2 %307 = load_const (0xc0000000, 0xbf800000) = (-2.000000, -1.000000) | |
| 32x2 %45 = fadd %164.xx, %307 (-2.000000, -1.000000) | |
| 32x4 %309 = load_const (0x3f800000, 0x3f800000, 0x40000000, 0x3f800000) = (1.000000, 1.000000, 2.000000, 1.000000) | |
| 32x4 %47 = slt %45.yxxx, %309 (1.000000, 1.000000, 2.000000, 1.000000) | |
| 32 %48 = mov %47.x | |
| // succs: b4 b5 | |
| if %48 { | |
| block b4: // preds: b3 | |
| 32 %310 = load_const (0x00000000) | |
| 32 %165 = @load_uniform (%310 (0x0)) (base=0, range=1, dest_type=int32) // ui_zero | |
| 32 %311 = load_const (0x3f800000 = 1.000000) | |
| 32 %49 = slt %165, %311 (1.000000) | |
| 32 %312 = load_const (0x00000000) | |
| 32x4 %215 = @load_input (%312 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1 mediump) // VARYING_SLOT_VAR0 | |
| 32x4 %50 = fcsel %49.xxxx, %215, %215.zwxy | |
| 32 %313 = load_const (0x00000000) | |
| 32x4 %216 = @load_input (%313 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1 mediump) // VARYING_SLOT_VAR0 | |
| 32x2 %51 = fcsel %49.xx, %216.xz, %216.yw | |
| 32x2 %52 = fcsel %47.zz, %50.zw, %51 | |
| 32x2 %53 = fcsel %47.yy, %50.xy, %52 | |
| @store_reg (%53, %108) (base=0, wrmask=xy, legacy_fsat=0) | |
| // succs: b6 | |
| } else { | |
| block b5: // preds: b3 | |
| 32 %314 = load_const (0x00000000) | |
| 32 %166 = @load_uniform (%314 (0x0)) (base=0, range=1, dest_type=int32) // ui_zero | |
| 32 %315 = load_const (0x3f800000 = 1.000000) | |
| 32 %54 = slt %166, %315 (1.000000) | |
| 32 %316 = load_const (0x00000000) | |
| 32x4 %217 = @load_input (%316 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1 mediump) // VARYING_SLOT_VAR0 | |
| 32x4 %55 = fcsel %54.xxxx, %217.xxzz, %217.yyww | |
| 32 %317 = load_const (0x40000000 = 2.000000) | |
| 32 %56 = slt %45.x, %317 (2.000000) | |
| 32 %318 = load_const (0x00000000) | |
| 32x4 %218 = @load_input (%318 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1 mediump) // VARYING_SLOT_VAR0 | |
| 32x2 %57 = fcsel %54.xx, %218.yx, %218.wz | |
| 32x2 %58 = fcsel %56.xx, %55.zw, %57 | |
| 32x2 %59 = fcsel %47.ww, %55.xy, %58 | |
| @store_reg (%59, %108) (base=0, wrmask=xy, legacy_fsat=0) | |
| // succs: b6 | |
| } | |
| block b6: // preds: b4 b5 | |
| 32 %319 = load_const (0x00000000) | |
| 32 %167 = @load_uniform (%319 (0x0)) (base=2, range=1, dest_type=int32) // ui_two | |
| 32x2 %320 = load_const (0x3f800000, 0x40000000) = (1.000000, 2.000000) | |
| 32x2 %61 = slt %167.xx, %320 (1.000000, 2.000000) | |
| 32 %321 = load_const (0x00000000) | |
| 32 %168 = @load_uniform (%321 (0x0)) (base=7, range=1, dest_type=float32) // uf_third | |
| 32 %322 = load_const (0x00000000) | |
| 32 %169 = @load_uniform (%322 (0x0)) (base=8, range=1, dest_type=float32) // uf_fourth | |
| 32 %62 = fcsel %61.y, %168, %169 | |
| 32 %323 = load_const (0x00000000) | |
| 32 %170 = @load_uniform (%323 (0x0)) (base=6, range=1, dest_type=float32) // uf_half | |
| 32 %63 = fcsel %61.x, %170, %62 | |
| 32x2 %109 = @load_reg (%108) (base=0, legacy_fabs=0, legacy_fneg=0) | |
| 32 %64 = fmul %109.y, %63 | |
| 32 %324 = load_const (0x00000000) | |
| 32 %171 = @load_uniform (%324 (0x0)) (base=8, range=1, dest_type=float32) // uf_fourth | |
| 32 %325 = load_const (0x00000000) | |
| 32 %172 = @load_uniform (%325 (0x0)) (base=5, range=1, dest_type=float32) // uf_four | |
| 32 %65 = fcsel %14.x, %171, %172 | |
| 32x4 %121 = fmul %64.xxxx, %65.xxxx | |
| @store_reg (%121, %119) (base=0, wrmask=y, legacy_fsat=0) | |
| 32 %326 = load_const (0x00000000) | |
| 32 %173 = @load_uniform (%326 (0x0)) (base=0, range=1, dest_type=int32) // ui_zero | |
| 32 %327 = load_const (0x3f800000 = 1.000000) | |
| 32 %67 = slt %173, %327 (1.000000) | |
| 32x4 %118 = @load_reg (%112) (base=0, legacy_fabs=0, legacy_fneg=0) | |
| 32 %328 = load_const (0x00000000) | |
| 32x4 %219 = @load_input (%328 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1 mediump) // VARYING_SLOT_VAR0 | |
| 32x2 %68 = fcsel %17.yy, %219.zw, %118.zw | |
| 32 %329 = load_const (0x00000000) | |
| 32x4 %220 = @load_input (%329 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1 mediump) // VARYING_SLOT_VAR0 | |
| 32x2 %69 = fcsel %17.zz, %220.ww, %220.wz | |
| 32 %330 = load_const (0x00000000) | |
| 32x4 %221 = @load_input (%330 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1 mediump) // VARYING_SLOT_VAR0 | |
| 32x2 %70 = fcsel %17.yy, %221.yy, %69 | |
| 32x2 %71 = fcsel %67.xx, %68, %70 | |
| 32 %331 = load_const (0x00000000) | |
| 32 %174 = @load_uniform (%331 (0x0)) (base=1, range=1, dest_type=int32) // ui_one | |
| 32 %72 = fmul %174, %174 | |
| 32x2 %332 = load_const (0x3f800000, 0x40000000) = (1.000000, 2.000000) | |
| 32x2 %73 = slt %72.xx, %332 (1.000000, 2.000000) | |
| 32 %333 = load_const (0x00000000) | |
| 32x4 %222 = @load_input (%333 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1 mediump) // VARYING_SLOT_VAR0 | |
| 32x2 %74 = fcsel %73.yy, %222.zw, %222.xz | |
| 32 %334 = load_const (0x00000000) | |
| 32x4 %223 = @load_input (%334 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1 mediump) // VARYING_SLOT_VAR0 | |
| 32x2 %75 = fcsel %73.xx, %223.xy, %74 | |
| 32 %76 = fadd %71.y, %75.y | |
| 32 %335 = load_const (0x00000000) | |
| 32x4 %224 = @load_input (%335 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1 mediump) // VARYING_SLOT_VAR0 | |
| 32 %77 = fcsel %14.x, %224.x, %224.w | |
| 32 %78 = fadd %76, %77 | |
| 32 %336 = load_const (0x00000000) | |
| 32 %175 = @load_uniform (%336 (0x0)) (base=1, range=1, dest_type=int32) // ui_one | |
| 32 %125 = fneg %175 | |
| 32 %337 = load_const (0x00000000) | |
| 32 %176 = @load_uniform (%337 (0x0)) (base=2, range=1, dest_type=int32) // ui_two | |
| 32 %80 = fadd %176, %125 | |
| 32x2 %338 = load_const (0x3f800000, 0x40000000) = (1.000000, 2.000000) | |
| 32x2 %81 = slt %80.xx, %338 (1.000000, 2.000000) | |
| 32 %339 = load_const (0x00000000) | |
| 32 %177 = @load_uniform (%339 (0x0)) (base=7, range=1, dest_type=float32) // uf_third | |
| 32 %340 = load_const (0x00000000) | |
| 32 %178 = @load_uniform (%340 (0x0)) (base=8, range=1, dest_type=float32) // uf_fourth | |
| 32 %82 = fcsel %81.y, %177, %178 | |
| 32 %341 = load_const (0x00000000) | |
| 32 %179 = @load_uniform (%341 (0x0)) (base=6, range=1, dest_type=float32) // uf_half | |
| 32 %83 = fcsel %81.x, %179, %82 | |
| 32x4 %122 = fmul %78.xxxx, %83.xxxx | |
| @store_reg (%122, %119) (base=0, wrmask=z, legacy_fsat=0) | |
| 32 %342 = load_const (0x00000000) | |
| 32 %180 = @load_uniform (%342 (0x0)) (base=0, range=1, dest_type=int32) // ui_zero | |
| 32 %343 = load_const (0x00000000) | |
| 32 %181 = @load_uniform (%343 (0x0)) (base=1, range=1, dest_type=int32) // ui_one | |
| 32 %85 = fcsel %67, %180, %181 | |
| 32 %344 = load_const (0x00000000) | |
| 32 %182 = @load_uniform (%344 (0x0)) (base=0, range=1, dest_type=int32) // ui_zero | |
| 32 %126 = fneg %182 | |
| 32 %345 = load_const (0x00000000) | |
| 32 %183 = @load_uniform (%345 (0x0)) (base=1, range=1, dest_type=int32) // ui_one | |
| 32 %88 = fadd %183, %126 | |
| 32 %346 = load_const (0x3f800000 = 1.000000) | |
| 32 %89 = slt %88, %346 (1.000000) | |
| 32 %347 = load_const (0x00000000) | |
| 32 %184 = @load_uniform (%347 (0x0)) (base=4, range=1, dest_type=float32) // uf_three | |
| 32 %348 = load_const (0x00000000) | |
| 32 %185 = @load_uniform (%348 (0x0)) (base=5, range=1, dest_type=float32) // uf_four | |
| 32 %90 = fcsel %61.y, %184, %185 | |
| 32 %349 = load_const (0x00000000) | |
| 32 %186 = @load_uniform (%349 (0x0)) (base=3, range=1, dest_type=float32) // uf_two | |
| 32 %91 = fcsel %61.x, %186, %90 | |
| 32 %92 = fcsel %89, %63, %91 | |
| 32 %93 = fadd %85, %92 | |
| 32 %350 = load_const (0x00000000) | |
| 32 %187 = @load_uniform (%350 (0x0)) (base=0, range=1, dest_type=int32) // ui_zero | |
| 32 %351 = load_const (0x00000000) | |
| 32 %188 = @load_uniform (%351 (0x0)) (base=1, range=1, dest_type=int32) // ui_one | |
| 32 %94 = fadd %187, %188 | |
| 32 %352 = load_const (0x3f800000 = 1.000000) | |
| 32 %95 = slt %94, %352 (1.000000) | |
| 32 %353 = load_const (0x00000000) | |
| 32 %189 = @load_uniform (%353 (0x0)) (base=4, range=1, dest_type=float32) // uf_three | |
| 32 %354 = load_const (0x00000000) | |
| 32 %190 = @load_uniform (%354 (0x0)) (base=5, range=1, dest_type=float32) // uf_four | |
| 32 %96 = fcsel %81.y, %189, %190 | |
| 32 %355 = load_const (0x00000000) | |
| 32 %191 = @load_uniform (%355 (0x0)) (base=3, range=1, dest_type=float32) // uf_two | |
| 32 %97 = fcsel %81.x, %191, %96 | |
| 32 %98 = fcsel %95, %83, %97 | |
| 32 %99 = fneg %98 | |
| 32x4 %123 = fadd %93.xxxx, %99.xxxx | |
| @store_reg (%123, %119) (base=0, wrmask=w, legacy_fsat=0) | |
| 32x4 %124 = @load_reg (%119) (base=0, legacy_fabs=0, legacy_fneg=0) | |
| 32 %356 = load_const (0x00000000) | |
| @store_output (%124, %356 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=FRAG_RESULT_COLOR slots=1 mediump, xfb(), xfb2()) // gl_FragColor | |
| // succs: b7 | |
| block b7: | |
| } | |
| ========prog======== | |
| *** block 0, successors: 1 2 | |
| $0000.x = const (0.000000) // NIR: ssa236 | |
| $0004.x = const (0.000000) // NIR: ssa235 | |
| $0011.x = const (0.000000) // NIR: ssa268 | |
| $0014.x = const (0.000000) // NIR: ssa269 | |
| $0017.x = const (0.000000) // NIR: ssa270 | |
| $0020.x = const (0.000000) // NIR: ssa271 | |
| ($0022) reg_112.z = select $0010.zzzz, $0021.xxxx, $0021.yyyy // NIR: reg112 | |
| $0010.xyz = lt $0003.xyyw, $0009 // NIR: ssa17 | |
| $0003.xy = add $0001.xxzw, $0002 // NIR: ssa12 | |
| $0001.x = ld_uni 1 // NIR: ssa154 | |
| $0002.xy = const (-1.000000, 1.000000) // NIR: ssa287 | |
| $0009.xyz = const (1.000000, 1.000000, 2.000000) // NIR: ssa294 | |
| $0021 = ld_var 0 // NIR: ssa209 | |
| $0023.x = const (0.000000) // NIR: ssa272 | |
| ($0025) reg_112.w = select $0010.zzzz, $0024.yyyy, $0024.wwww // NIR: reg112 | |
| + $0010.xyz = lt $0003.xyyw, $0009 // NIR: ssa17 | |
| $0024 = ld_var 0 // NIR: ssa210 | |
| $0028.xy = select $0007.xxxx, $0013, $0027 // NIR: ssa26 | |
| $0007.xy = lt $0005.xxzw, $0006 // NIR: ssa14 | |
| $0005.x = ld_uni 1 // NIR: ssa153 | |
| $0006.xy = const (1.000000, 2.000000) // NIR: ssa288 | |
| $0013 = select $0010.xxxx, $0012, $0012.zwxy // NIR: ssa18 | |
| + $0010.xyz = lt $0003.xyyw, $0009 // NIR: ssa17 | |
| $0012 = ld_var 0 // NIR: ssa202 | |
| $0027.xy = select $0007.yyxx, $0013.zwzw, reg_112 // NIR: ssa25 | |
| + $0007.xy = lt $0005.xxzw, $0006 // NIR: ssa14 | |
| + $0013 = select $0010.xxxx, $0012, $0012.zwxy // NIR: ssa18 | |
| ($0016) reg_112.x = select $0010.xxxx, $0015.xxxx, $0015.yyyy // NIR: reg112 | |
| + $0010.xyz = lt $0003.xyyw, $0009 // NIR: ssa17 | |
| $0015 = ld_var 0 // NIR: ssa207 | |
| ($0019) reg_112.y = select $0010.xxxx, $0018.zzzz, $0018.wwww // NIR: reg112 | |
| + $0010.xyz = lt $0003.xyyw, $0009 // NIR: ssa17 | |
| $0018 = ld_var 0 // NIR: ssa208 | |
| $0029.x = const (0.000000) // NIR: ssa234 | |
| $0032.x = add $0030.xxxx, $0031.xxxx // NIR: ssa27 | |
| $0030.x = ld_uni 0 // NIR: ssa135 | |
| $0031.x = const (1.000000) // NIR: ssa225 | |
| branch if (!$0008.xxxx) block_2 // NIR: new | |
| $0008.x = mov $0007.xxxx // NIR: ssa15 | |
| + $0007.xy = lt $0005.xxzw, $0006 // NIR: ssa14 | |
| *** block 1, successors: 3 | |
| $0034.x = const (0.000000) // NIR: ssa296 | |
| $0040.x = const (0.000000) // NIR: ssa299 | |
| $0043.x = const (0.000000) // NIR: ssa300 | |
| ($0047) reg_110.xy = select $0037.xxxx, $0042, $0046 // NIR: reg110 | |
| $0037.xy = lt $0035.xxzw, $0036 // NIR: ssa29 | |
| $0035.x = ld_uni 2 // NIR: ssa161 | |
| $0036.xy = const (1.000000, 2.000000) // NIR: ssa297 | |
| $0042 = select $0039.xxxx, $0041, $0041.zwxy // NIR: ssa31 | |
| $0039.x = lt $0032.xxxx, $0038.xxxx // NIR: ssa30 | |
| $0038.x = const (1.000000) // NIR: ssa298 | |
| $0041 = ld_var 0 // NIR: ssa211 | |
| $0046.xy = select $0037.yyxx, $0042.zwzw, $0045 // NIR: ssa33 | |
| + $0037.xy = lt $0035.xxzw, $0036 // NIR: ssa29 | |
| + $0042 = select $0039.xxxx, $0041, $0041.zwxy // NIR: ssa31 | |
| $0045.xy = select $0039.xxxx, $0044.xzzw, $0044.ywzw // NIR: ssa32 | |
| + $0039.x = lt $0032.xxxx, $0038.xxxx // NIR: ssa30 | |
| $0044 = ld_var 0 // NIR: ssa212 | |
| branch block_3 // NIR: new | |
| *** block 2, successors: 3 | |
| $0049.x = const (0.000000) // NIR: ssa301 | |
| $0055.x = const (0.000000) // NIR: ssa304 | |
| $0058.x = const (0.000000) // NIR: ssa305 | |
| ($0062) reg_110.xy = select $0052.xxxx, $0057, $0061 // NIR: reg110 | |
| $0052.xy = lt $0050.xxzw, $0051 // NIR: ssa35 | |
| $0050.x = ld_uni 2 // NIR: ssa162 | |
| $0051.xy = const (1.000000, 2.000000) // NIR: ssa302 | |
| $0057 = select $0054.xxxx, $0056.xxzz, $0056.yyww // NIR: ssa37 | |
| $0054.x = lt $0032.xxxx, $0053.xxxx // NIR: ssa36 | |
| $0053.x = const (1.000000) // NIR: ssa303 | |
| $0056 = ld_var 0 // NIR: ssa213 | |
| $0061.xy = select $0052.yyxx, $0057.zwzw, $0060 // NIR: ssa39 | |
| + $0052.xy = lt $0050.xxzw, $0051 // NIR: ssa35 | |
| + $0057 = select $0054.xxxx, $0056.xxzz, $0056.yyww // NIR: ssa37 | |
| $0060.xy = select $0054.xxxx, $0059.yxzw, $0059.wzzw // NIR: ssa38 | |
| + $0054.x = lt $0032.xxxx, $0053.xxxx // NIR: ssa36 | |
| $0059 = ld_var 0 // NIR: ssa214 | |
| *** block 3, successors: 4 5 | |
| $0065.x = const (0.000000) // NIR: ssa306 | |
| ($0067) reg_119.x = mul $0064.xxxx, $0066.xxxx // NIR: reg119 | |
| $0064.x = add $0028.xxxx, reg_110.yxxx // NIR: ssa42 | |
| $0066.x = ld_uni 6 // NIR: ssa163 | |
| $0068.x = const (0.000000) // NIR: ssa308 | |
| branch if (!$0074.xxxx) block_5 // NIR: new | |
| $0074.x = mov $0073.xxxx // NIR: ssa48 | |
| $0073 = lt $0071.yxxx, $0072 // NIR: ssa47 | |
| $0071.xy = add $0069.xxzw, $0070 // NIR: ssa45 | |
| $0069.x = ld_uni 2 // NIR: ssa164 | |
| $0070.xy = const (-2.000000, -1.000000) // NIR: ssa307 | |
| $0072 = const (1.000000, 1.000000, 2.000000, 1.000000) // NIR: ssa309 | |
| *** block 4, successors: 6 | |
| $0076.x = const (0.000000) // NIR: ssa310 | |
| $0080.x = const (0.000000) // NIR: ssa312 | |
| $0083.x = const (0.000000) // NIR: ssa313 | |
| ($0087) reg_108.xy = select $0073.yyxx, $0082, $0086 // NIR: reg108 | |
| $0082 = select $0079.xxxx, $0081, $0081.zwxy // NIR: ssa50 | |
| $0079.x = lt $0077.xxxx, $0078.xxxx // NIR: ssa49 | |
| $0077.x = ld_uni 0 // NIR: ssa165 | |
| $0078.x = const (1.000000) // NIR: ssa311 | |
| $0081 = ld_var 0 // NIR: ssa215 | |
| $0086.xy = select $0073.zzxx, $0082.zwzw, $0085 // NIR: ssa52 | |
| + $0082 = select $0079.xxxx, $0081, $0081.zwxy // NIR: ssa50 | |
| $0085.xy = select $0079.xxxx, $0084.xzzw, $0084.ywzw // NIR: ssa51 | |
| + $0079.x = lt $0077.xxxx, $0078.xxxx // NIR: ssa49 | |
| $0084 = ld_var 0 // NIR: ssa216 | |
| branch block_6 // NIR: new | |
| *** block 5, successors: 6 | |
| $0089.x = const (0.000000) // NIR: ssa314 | |
| $0093.x = const (0.000000) // NIR: ssa316 | |
| $0098.x = const (0.000000) // NIR: ssa318 | |
| ($0102) reg_108.xy = select $0073.wwxx, $0095, $0101 // NIR: reg108 | |
| $0095 = select $0092.xxxx, $0094.xxzz, $0094.yyww // NIR: ssa55 | |
| $0092.x = lt $0090.xxxx, $0091.xxxx // NIR: ssa54 | |
| $0090.x = ld_uni 0 // NIR: ssa166 | |
| $0091.x = const (1.000000) // NIR: ssa315 | |
| $0094 = ld_var 0 // NIR: ssa217 | |
| $0101.xy = select $0097.xxxx, $0095.zwzw, $0100 // NIR: ssa58 | |
| $0097.x = lt $0071.xxxx, $0096.xxxx // NIR: ssa56 | |
| $0096.x = const (2.000000) // NIR: ssa317 | |
| + $0095 = select $0092.xxxx, $0094.xxzz, $0094.yyww // NIR: ssa55 | |
| $0100.xy = select $0092.xxxx, $0099.yxzw, $0099.wzzw // NIR: ssa57 | |
| + $0092.x = lt $0090.xxxx, $0091.xxxx // NIR: ssa54 | |
| $0099 = ld_var 0 // NIR: ssa218 | |
| *** block 6, stop | |
| $0103.x = const (0.000000) // NIR: ssa319 | |
| $0107.x = const (0.000000) // NIR: ssa321 | |
| $0109.x = const (0.000000) // NIR: ssa322 | |
| $0112.x = const (0.000000) // NIR: ssa323 | |
| $0117.x = const (0.000000) // NIR: ssa324 | |
| $0119.x = const (0.000000) // NIR: ssa325 | |
| $0123.x = const (0.000000) // NIR: ssa326 | |
| $0128.x = const (0.000000) // NIR: ssa328 | |
| $0131.x = const (0.000000) // NIR: ssa329 | |
| $0134.x = const (0.000000) // NIR: ssa330 | |
| $0138.x = const (0.000000) // NIR: ssa331 | |
| $0143.x = const (0.000000) // NIR: ssa333 | |
| $0146.x = const (0.000000) // NIR: ssa334 | |
| $0150.x = const (0.000000) // NIR: ssa335 | |
| $0154.x = const (0.000000) // NIR: ssa336 | |
| $0157.x = const (0.000000) // NIR: ssa337 | |
| $0162.x = const (0.000000) // NIR: ssa339 | |
| $0164.x = const (0.000000) // NIR: ssa340 | |
| $0167.x = const (0.000000) // NIR: ssa341 | |
| $0171.x = const (0.000000) // NIR: ssa342 | |
| $0173.x = const (0.000000) // NIR: ssa343 | |
| $0176.x = const (0.000000) // NIR: ssa344 | |
| $0179.x = const (0.000000) // NIR: ssa345 | |
| $0184.x = const (0.000000) // NIR: ssa347 | |
| $0186.x = const (0.000000) // NIR: ssa348 | |
| $0189.x = const (0.000000) // NIR: ssa349 | |
| $0194.x = const (0.000000) // NIR: ssa350 | |
| $0196.x = const (0.000000) // NIR: ssa351 | |
| $0201.x = const (0.000000) // NIR: ssa353 | |
| $0203.x = const (0.000000) // NIR: ssa354 | |
| $0206.x = const (0.000000) // NIR: ssa355 | |
| $0213.x = const (0.000000) // NIR: ssa356 | |
| $0214 = mov reg_119 // NIR: new | |
| ($0122) reg_119.y = mul $0116.xxxx, $0121.xxxx // NIR: reg119 | |
| $0116.x = mul reg_108.yxxx, $0114.xxxx // NIR: ssa64 | |
| $0114.x = select $0106.xxxx, $0113.xxxx, $0111.xxxx // NIR: ssa63 | |
| $0106.xy = lt $0104.xxzw, $0105 // NIR: ssa61 | |
| $0104.x = ld_uni 2 // NIR: ssa167 | |
| $0105.xy = const (1.000000, 2.000000) // NIR: ssa320 | |
| $0113.x = ld_uni 6 // NIR: ssa170 | |
| $0111.x = select $0106.yxxx, $0108, $0110 // NIR: ssa62 | |
| + $0106.xy = lt $0104.xxzw, $0105 // NIR: ssa61 | |
| $0108.x = ld_uni 7 // NIR: ssa168 | |
| $0110.x = ld_uni 8 // NIR: ssa169 | |
| $0121.x = select $0007.xxxx, $0118, $0120 // NIR: ssa65 | |
| $0118.x = ld_uni 8 // NIR: ssa171 | |
| $0120.x = ld_uni 5 // NIR: ssa172 | |
| ($0170) reg_119.z = mul $0153.xxxx, $0169.xxxx // NIR: reg119 | |
| $0153.x = add $0149.xxxx, $0152.xxxx // NIR: ssa78 | |
| $0149.x = add $0137.yxxx, $0148.yxxx // NIR: ssa76 | |
| $0137.xy = select $0126.xxxx, $0130, $0136 // NIR: ssa71 | |
| $0126.x = lt $0124.xxxx, $0125.xxxx // NIR: ssa67 | |
| $0124.x = ld_uni 0 // NIR: ssa173 | |
| $0125.x = const (1.000000) // NIR: ssa327 | |
| $0130.xy = select $0010.yyxx, $0129.zwzw, reg_112.zwzw // NIR: ssa68 | |
| $0129 = ld_var 0 // NIR: ssa219 | |
| $0136.xy = select $0010.yyxx, $0135.yyzw, $0133 // NIR: ssa70 | |
| $0135 = ld_var 0 // NIR: ssa221 | |
| $0133.xy = select $0010.zzxx, $0132.wwzw, $0132.wzzw // NIR: ssa69 | |
| $0132 = ld_var 0 // NIR: ssa220 | |
| $0148.xy = select $0142.xxxx, $0147, $0145 // NIR: ssa75 | |
| $0142.xy = lt $0140.xxzw, $0141 // NIR: ssa73 | |
| $0140.x = mul $0139.xxxx, $0139.xxxx // NIR: ssa72 | |
| $0139.x = ld_uni 1 // NIR: ssa174 | |
| $0141.xy = const (1.000000, 2.000000) // NIR: ssa332 | |
| $0147 = ld_var 0 // NIR: ssa223 | |
| $0145.xy = select $0142.yyxx, $0144.zwzw, $0144.xzzw // NIR: ssa74 | |
| + $0142.xy = lt $0140.xxzw, $0141 // NIR: ssa73 | |
| $0144 = ld_var 0 // NIR: ssa222 | |
| $0152.x = select $0007.xxxx, $0151, $0151.wyzw // NIR: ssa77 | |
| $0151 = ld_var 0 // NIR: ssa224 | |
| $0169.x = select $0161.xxxx, $0168.xxxx, $0166.xxxx // NIR: ssa83 | |
| $0161.xy = lt $0159.xxzw, $0160 // NIR: ssa81 | |
| $0159.x = add $0158.xxxx, $0156 // NIR: ssa80 | |
| $0158.x = ld_uni 2 // NIR: ssa176 | |
| $0156.x = neg $0155.xxxx // NIR: ssa125 | |
| $0155.x = ld_uni 1 // NIR: ssa175 | |
| $0160.xy = const (1.000000, 2.000000) // NIR: ssa338 | |
| $0168.x = ld_uni 6 // NIR: ssa179 | |
| $0166.x = select $0161.yxxx, $0163, $0165 // NIR: ssa82 | |
| + $0161.xy = lt $0159.xxzw, $0160 // NIR: ssa81 | |
| $0163.x = ld_uni 7 // NIR: ssa177 | |
| $0165.x = ld_uni 8 // NIR: ssa178 | |
| ($0211) reg_119.w = add $0193.xxxx, $0210.xxxx // NIR: reg119 | |
| $0193.x = add $0175.xxxx, $0192.xxxx // NIR: ssa93 | |
| $0175.x = select $0126.xxxx, $0172, $0174 // NIR: ssa85 | |
| + $0126.x = lt $0124.xxxx, $0125.xxxx // NIR: ssa67 | |
| $0172.x = ld_uni 0 // NIR: ssa180 | |
| $0174.x = ld_uni 1 // NIR: ssa181 | |
| $0192.x = select $0183.xxxx, $0114, $0191 // NIR: ssa92 | |
| $0183.x = lt $0181.xxxx, $0182.xxxx // NIR: ssa89 | |
| $0181.x = add $0180.xxxx, $0178 // NIR: ssa88 | |
| $0180.x = ld_uni 1 // NIR: ssa183 | |
| $0178.x = neg $0177.xxxx // NIR: ssa126 | |
| $0177.x = ld_uni 0 // NIR: ssa182 | |
| $0182.x = const (1.000000) // NIR: ssa346 | |
| + $0114.x = select $0106.xxxx, $0113.xxxx, $0111.xxxx // NIR: ssa63 | |
| $0191.x = select $0106.xxxx, $0190.xxxx, $0188.xxxx // NIR: ssa91 | |
| + $0106.xy = lt $0104.xxzw, $0105 // NIR: ssa61 | |
| $0190.x = ld_uni 3 // NIR: ssa186 | |
| $0188.x = select $0106.yxxx, $0185, $0187 // NIR: ssa90 | |
| + $0106.xy = lt $0104.xxzw, $0105 // NIR: ssa61 | |
| $0185.x = ld_uni 4 // NIR: ssa184 | |
| $0187.x = ld_uni 5 // NIR: ssa185 | |
| $0210.x = neg $0209.xxxx // NIR: ssa99 | |
| $0209.x = select $0200.xxxx, $0169, $0208 // NIR: ssa98 | |
| $0200.x = lt $0198.xxxx, $0199.xxxx // NIR: ssa95 | |
| $0198.x = add $0195.xxxx, $0197.xxxx // NIR: ssa94 | |
| $0195.x = ld_uni 0 // NIR: ssa187 | |
| $0197.x = ld_uni 1 // NIR: ssa188 | |
| $0199.x = const (1.000000) // NIR: ssa352 | |
| + $0169.x = select $0161.xxxx, $0168.xxxx, $0166.xxxx // NIR: ssa83 | |
| $0208.x = select $0161.xxxx, $0207.xxxx, $0205.xxxx // NIR: ssa97 | |
| + $0161.xy = lt $0159.xxzw, $0160 // NIR: ssa81 | |
| $0207.x = ld_uni 3 // NIR: ssa191 | |
| $0205.x = select $0161.yxxx, $0202, $0204 // NIR: ssa96 | |
| + $0161.xy = lt $0159.xxzw, $0160 // NIR: ssa81 | |
| $0202.x = ld_uni 4 // NIR: ssa189 | |
| $0204.x = ld_uni 5 // NIR: ssa190 | |
| ==================== | |
| ppir_lower_prog() | |
| ppir_add_order_deps() | |
| ppir_add_write_after_read_deps() | |
| ========prog======== | |
| *** block 0, successors: 1 2 | |
| branch if ($0008.xxxx == ^const0 ($0222).xxxx) block_2 // NIR: new | |
| $0008.x = mov $0007.xxxx // NIR: ssa15 | |
| $0007.xy = gt ^const0 ($0006), ^uniform ($0005).xxzw // NIR: ssa14 | |
| ($0005) ^uniform = ld_uni 1 // NIR: ssa153 | |
| ($0006) ^const0 = const (1.000000, 2.000000) // NIR: ssa288 | |
| ($0222) ^const0 = const (0.000000) // NIR: new | |
| $0032.x = add ^uniform ($0030).xxxx, ^const0 ($0031).xxxx // NIR: ssa27 | |
| ($0030) ^uniform = ld_uni 0 // NIR: ssa135 | |
| ($0031) ^const0 = const (1.000000) // NIR: ssa225 | |
| $0028.xy = select ^fmul ($0221).xxxx, $0013, $0027 // NIR: ssa26 | |
| ($0221) ^fmul = mov $0007.xxxx // NIR: new | |
| + $0007.xy = gt ^const0 ($0006), ^uniform ($0005).xxzw // NIR: ssa14 | |
| $0013 = select ^fmul ($0215).xxxx, $0012, $0012.zwxy // NIR: ssa18 | |
| ($0215) ^fmul = mov $0010.xxxx // NIR: new | |
| $0010.xyz = gt ^const0 ($0009), $0003.xyyw // NIR: ssa17 | |
| $0003.xy = add ^uniform ($0001).xxzw, ^const0 ($0002) // NIR: ssa12 | |
| ($0001) ^uniform = ld_uni 1 // NIR: ssa154 | |
| ($0002) ^const0 = const (-1.000000, 1.000000) // NIR: ssa287 | |
| ($0009) ^const0 = const (1.000000, 1.000000, 2.000000) // NIR: ssa294 | |
| $0012 = ld_var 0 // NIR: ssa202 | |
| $0027.xy = select ^fmul ($0220).yyxx, $0013.zwzw, reg_112 // NIR: ssa25 | |
| ($0220) ^fmul = mov $0007.yxxx // NIR: new | |
| + $0007.xy = gt ^const0 ($0006), ^uniform ($0005).xxzw // NIR: ssa14 | |
| + $0013 = select ^fmul ($0215).xxxx, $0012, $0012.zwxy // NIR: ssa18 | |
| ($0016) reg_112.x = select ^fmul ($0216).xxxx, $0015.xxxx, $0015.yyyy // NIR: reg112 | |
| ($0216) ^fmul = mov $0010.xxxx // NIR: new | |
| + $0010.xyz = gt ^const0 ($0009), $0003.xyyw // NIR: ssa17 | |
| $0015 = ld_var 0 // NIR: ssa207 | |
| ($0019) reg_112.y = select ^fmul ($0217).xxxx, $0018.zzzz, $0018.wwww // NIR: reg112 | |
| ($0217) ^fmul = mov $0010.xxxx // NIR: new | |
| + $0010.xyz = gt ^const0 ($0009), $0003.xyyw // NIR: ssa17 | |
| $0018 = ld_var 0 // NIR: ssa208 | |
| ($0025) reg_112.w = select ^fmul ($0219).zzzz, $0024.yyyy, $0024.wwww // NIR: reg112 | |
| ($0219) ^fmul = mov $0010.zxxx // NIR: new | |
| + $0010.xyz = gt ^const0 ($0009), $0003.xyyw // NIR: ssa17 | |
| $0024 = ld_var 0 // NIR: ssa210 | |
| ($0022) reg_112.z = select ^fmul ($0218).zzzz, $0021.xxxx, $0021.yyyy // NIR: reg112 | |
| ($0218) ^fmul = mov $0010.zxxx // NIR: new | |
| + $0010.xyz = gt ^const0 ($0009), $0003.xyyw // NIR: ssa17 | |
| $0021 = ld_var 0 // NIR: ssa209 | |
| *** block 1, successors: 3 | |
| branch block_3 // NIR: new | |
| ($0047) reg_110.xy = select ^fmul ($0226).xxxx, $0042, $0046 // NIR: reg110 | |
| ($0226) ^fmul = mov $0037.xxxx // NIR: new | |
| $0037.xy = gt ^const0 ($0036), ^uniform ($0035).xxzw // NIR: ssa29 | |
| ($0035) ^uniform = ld_uni 2 // NIR: ssa161 | |
| ($0036) ^const0 = const (1.000000, 2.000000) // NIR: ssa297 | |
| $0042 = select ^fmul ($0223).xxxx, $0041, $0041.zwxy // NIR: ssa31 | |
| ($0223) ^fmul = mov $0039.xxxx // NIR: new | |
| $0039.x = gt ^const0 ($0038).xxxx, $0032.xxxx // NIR: ssa30 | |
| ($0038) ^const0 = const (1.000000) // NIR: ssa298 | |
| $0041 = ld_var 0 // NIR: ssa211 | |
| $0046.xy = select ^fmul ($0225).yyxx, $0042.zwzw, $0045 // NIR: ssa33 | |
| ($0225) ^fmul = mov $0037.yxxx // NIR: new | |
| + $0037.xy = gt ^const0 ($0036), ^uniform ($0035).xxzw // NIR: ssa29 | |
| + $0042 = select ^fmul ($0223).xxxx, $0041, $0041.zwxy // NIR: ssa31 | |
| $0045.xy = select ^fmul ($0224).xxxx, $0044.xzzw, $0044.ywzw // NIR: ssa32 | |
| ($0224) ^fmul = mov $0039.xxxx // NIR: new | |
| + $0039.x = gt ^const0 ($0038).xxxx, $0032.xxxx // NIR: ssa30 | |
| $0044 = ld_var 0 // NIR: ssa212 | |
| *** block 2, successors: 3 | |
| ($0062) reg_110.xy = select ^fmul ($0230).xxxx, $0057, $0061 // NIR: reg110 | |
| ($0230) ^fmul = mov $0052.xxxx // NIR: new | |
| $0052.xy = gt ^const0 ($0051), ^uniform ($0050).xxzw // NIR: ssa35 | |
| ($0050) ^uniform = ld_uni 2 // NIR: ssa162 | |
| ($0051) ^const0 = const (1.000000, 2.000000) // NIR: ssa302 | |
| $0057 = select ^fmul ($0227).xxxx, $0056.xxzz, $0056.yyww // NIR: ssa37 | |
| ($0227) ^fmul = mov $0054.xxxx // NIR: new | |
| $0054.x = gt ^const0 ($0053).xxxx, $0032.xxxx // NIR: ssa36 | |
| ($0053) ^const0 = const (1.000000) // NIR: ssa303 | |
| $0056 = ld_var 0 // NIR: ssa213 | |
| $0061.xy = select ^fmul ($0229).yyxx, $0057.zwzw, $0060 // NIR: ssa39 | |
| ($0229) ^fmul = mov $0052.yxxx // NIR: new | |
| + $0052.xy = gt ^const0 ($0051), ^uniform ($0050).xxzw // NIR: ssa35 | |
| + $0057 = select ^fmul ($0227).xxxx, $0056.xxzz, $0056.yyww // NIR: ssa37 | |
| $0060.xy = select ^fmul ($0228).xxxx, $0059.yxzw, $0059.wzzw // NIR: ssa38 | |
| ($0228) ^fmul = mov $0054.xxxx // NIR: new | |
| + $0054.x = gt ^const0 ($0053).xxxx, $0032.xxxx // NIR: ssa36 | |
| $0059 = ld_var 0 // NIR: ssa214 | |
| *** block 3, successors: 4 5 | |
| branch if ($0074.xxxx == ^const0 ($0231).xxxx) block_5 // NIR: new | |
| $0074.x = mov $0073.xxxx // NIR: ssa48 | |
| $0073 = gt ^const0 ($0072), $0071.yxxx // NIR: ssa47 | |
| $0071.xy = add ^uniform ($0069).xxzw, ^const0 ($0070) // NIR: ssa45 | |
| ($0069) ^uniform = ld_uni 2 // NIR: ssa164 | |
| ($0070) ^const0 = const (-2.000000, -1.000000) // NIR: ssa307 | |
| ($0072) ^const0 = const (1.000000, 1.000000, 2.000000, 1.000000) // NIR: ssa309 | |
| ($0231) ^const0 = const (0.000000) // NIR: new | |
| ($0067) reg_119.x = mul $0064.xxxx, ^uniform ($0066).xxxx // NIR: reg119 | |
| $0064.x = add $0028.xxxx, reg_110.yxxx // NIR: ssa42 | |
| ($0066) ^uniform = ld_uni 6 // NIR: ssa163 | |
| *** block 4, successors: 6 | |
| branch block_6 // NIR: new | |
| ($0087) reg_108.xy = select ^fmul ($0235).yyxx, $0082, $0086 // NIR: reg108 | |
| $0082 = select ^fmul ($0232).xxxx, $0081, $0081.zwxy // NIR: ssa50 | |
| ($0232) ^fmul = mov $0079.xxxx // NIR: new | |
| $0079.x = gt ^const0 ($0078).xxxx, ^uniform ($0077).xxxx // NIR: ssa49 | |
| ($0077) ^uniform = ld_uni 0 // NIR: ssa165 | |
| ($0078) ^const0 = const (1.000000) // NIR: ssa311 | |
| $0081 = ld_var 0 // NIR: ssa215 | |
| $0086.xy = select ^fmul ($0234).zzxx, $0082.zwzw, $0085 // NIR: ssa52 | |
| + $0082 = select ^fmul ($0232).xxxx, $0081, $0081.zwxy // NIR: ssa50 | |
| $0085.xy = select ^fmul ($0233).xxxx, $0084.xzzw, $0084.ywzw // NIR: ssa51 | |
| ($0233) ^fmul = mov $0079.xxxx // NIR: new | |
| + $0079.x = gt ^const0 ($0078).xxxx, ^uniform ($0077).xxxx // NIR: ssa49 | |
| $0084 = ld_var 0 // NIR: ssa216 | |
| ($0234) ^fmul = mov $0073.zxxx // NIR: new | |
| ($0235) ^fmul = mov $0073.yxxx // NIR: new | |
| *** block 5, successors: 6 | |
| ($0102) reg_108.xy = select ^fmul ($0238).wwxx, $0095, $0101 // NIR: reg108 | |
| $0095 = select ^fmul ($0236).xxxx, $0094.xxzz, $0094.yyww // NIR: ssa55 | |
| ($0236) ^fmul = mov $0092.xxxx // NIR: new | |
| $0092.x = gt ^const0 ($0091).xxxx, ^uniform ($0090).xxxx // NIR: ssa54 | |
| ($0090) ^uniform = ld_uni 0 // NIR: ssa166 | |
| ($0091) ^const0 = const (1.000000) // NIR: ssa315 | |
| $0094 = ld_var 0 // NIR: ssa217 | |
| $0101.xy = select ^fmul ($0097).xxxx, $0095.zwzw, $0100 // NIR: ssa58 | |
| ($0097) ^fmul = gt ^const0 ($0096).xxxx, $0071.xxxx // NIR: ssa56 | |
| ($0096) ^const0 = const (2.000000) // NIR: ssa317 | |
| + $0095 = select ^fmul ($0236).xxxx, $0094.xxzz, $0094.yyww // NIR: ssa55 | |
| $0100.xy = select ^fmul ($0237).xxxx, $0099.yxzw, $0099.wzzw // NIR: ssa57 | |
| ($0237) ^fmul = mov $0092.xxxx // NIR: new | |
| + $0092.x = gt ^const0 ($0091).xxxx, ^uniform ($0090).xxxx // NIR: ssa54 | |
| $0099 = ld_var 0 // NIR: ssa218 | |
| ($0238) ^fmul = mov $0073.wxxx // NIR: new | |
| *** block 6, stop | |
| ($0122) reg_119.y = mul $0116.xxxx, $0121.xxxx // NIR: reg119 | |
| $0116.x = mul reg_108.yxxx, $0114.xxxx // NIR: ssa64 | |
| $0114.x = select ^fmul ($0240).xxxx, ^uniform ($0113).xxxx, $0111.xxxx // NIR: ssa63 | |
| ($0240) ^fmul = mov $0106.xxxx // NIR: new | |
| $0106.xy = gt ^const0 ($0105), ^uniform ($0104).xxzw // NIR: ssa61 | |
| ($0104) ^uniform = ld_uni 2 // NIR: ssa167 | |
| ($0105) ^const0 = const (1.000000, 2.000000) // NIR: ssa320 | |
| ($0113) ^uniform = ld_uni 6 // NIR: ssa170 | |
| $0111.x = select ^fmul ($0239).yxxx, ^uniform ($0108), ^uniform ($0110) // NIR: ssa62 | |
| ($0239) ^fmul = mov $0106.yxxx // NIR: new | |
| + $0106.xy = gt ^const0 ($0105), ^uniform ($0104).xxzw // NIR: ssa61 | |
| ($0108) ^uniform = ld_uni 7 // NIR: ssa168 | |
| ($0110) ^uniform = ld_uni 8 // NIR: ssa169 | |
| $0121.x = select ^fmul ($0241).xxxx, ^uniform ($0118), ^uniform ($0120) // NIR: ssa65 | |
| ($0118) ^uniform = ld_uni 8 // NIR: ssa171 | |
| ($0120) ^uniform = ld_uni 5 // NIR: ssa172 | |
| ($0241) ^fmul = mov $0007.xxxx // NIR: new | |
| ($0170) reg_119.z = mul $0153.xxxx, $0169.xxxx // NIR: reg119 | |
| $0153.x = add $0149.xxxx, $0152.xxxx // NIR: ssa78 | |
| $0149.x = add $0137.yxxx, $0148.yxxx // NIR: ssa76 | |
| $0137.xy = select ^fmul ($0245).xxxx, $0130, $0136 // NIR: ssa71 | |
| ($0245) ^fmul = mov $0126.xxxx // NIR: new | |
| $0126.x = gt ^const0 ($0125).xxxx, ^uniform ($0124).xxxx // NIR: ssa67 | |
| ($0124) ^uniform = ld_uni 0 // NIR: ssa173 | |
| ($0125) ^const0 = const (1.000000) // NIR: ssa327 | |
| $0130.xy = select ^fmul ($0242).yyxx, $0129.zwzw, reg_112.zwzw // NIR: ssa68 | |
| $0129 = ld_var 0 // NIR: ssa219 | |
| ($0242) ^fmul = mov $0010.yxxx // NIR: new | |
| $0136.xy = select ^fmul ($0244).yyxx, $0135.yyzw, $0133 // NIR: ssa70 | |
| $0135 = ld_var 0 // NIR: ssa221 | |
| $0133.xy = select ^fmul ($0243).zzxx, $0132.wwzw, $0132.wzzw // NIR: ssa69 | |
| $0132 = ld_var 0 // NIR: ssa220 | |
| ($0243) ^fmul = mov $0010.zxxx // NIR: new | |
| ($0244) ^fmul = mov $0010.yxxx // NIR: new | |
| $0148.xy = select ^fmul ($0247).xxxx, $0147, $0145 // NIR: ssa75 | |
| ($0247) ^fmul = mov $0142.xxxx // NIR: new | |
| $0142.xy = gt ^const0 ($0141), $0140.xxzw // NIR: ssa73 | |
| $0140.x = mul ^uniform ($0139).xxxx, ^uniform ($0139).xxxx // NIR: ssa72 | |
| ($0139) ^uniform = ld_uni 1 // NIR: ssa174 | |
| ($0141) ^const0 = const (1.000000, 2.000000) // NIR: ssa332 | |
| $0147 = ld_var 0 // NIR: ssa223 | |
| $0145.xy = select ^fmul ($0246).yyxx, $0144.zwzw, $0144.xzzw // NIR: ssa74 | |
| ($0246) ^fmul = mov $0142.yxxx // NIR: new | |
| + $0142.xy = gt ^const0 ($0141), $0140.xxzw // NIR: ssa73 | |
| $0144 = ld_var 0 // NIR: ssa222 | |
| $0152.x = select ^fmul ($0248).xxxx, $0151, $0151.wyzw // NIR: ssa77 | |
| $0151 = ld_var 0 // NIR: ssa224 | |
| ($0248) ^fmul = mov $0007.xxxx // NIR: new | |
| $0169.x = select ^fmul ($0250).xxxx, ^uniform ($0168).xxxx, $0166.xxxx // NIR: ssa83 | |
| ($0250) ^fmul = mov $0161.xxxx // NIR: new | |
| $0161.xy = gt ^const0 ($0160), $0159.xxzw // NIR: ssa81 | |
| $0159.x = add ^uniform ($0158).xxxx, -^uniform ($0155).xxxx // NIR: ssa80 | |
| ($0158) ^uniform = ld_uni 2 // NIR: ssa176 | |
| ($0155) ^uniform = ld_uni 1 // NIR: ssa175 | |
| ($0160) ^const0 = const (1.000000, 2.000000) // NIR: ssa338 | |
| ($0168) ^uniform = ld_uni 6 // NIR: ssa179 | |
| $0166.x = select ^fmul ($0249).yxxx, ^uniform ($0163), ^uniform ($0165) // NIR: ssa82 | |
| ($0249) ^fmul = mov $0161.yxxx // NIR: new | |
| + $0161.xy = gt ^const0 ($0160), $0159.xxzw // NIR: ssa81 | |
| ($0163) ^uniform = ld_uni 7 // NIR: ssa177 | |
| ($0165) ^uniform = ld_uni 8 // NIR: ssa178 | |
| ($0211) reg_119.w = add $0193.xxxx, -$0209.xxxx // NIR: reg119 | |
| $0193.x = add $0175.xxxx, $0192.xxxx // NIR: ssa93 | |
| $0175.x = select ^fmul ($0251).xxxx, ^uniform ($0172), ^uniform ($0174) // NIR: ssa85 | |
| ($0251) ^fmul = mov $0126.xxxx // NIR: new | |
| + $0126.x = gt ^const0 ($0125).xxxx, ^uniform ($0124).xxxx // NIR: ssa67 | |
| ($0172) ^uniform = ld_uni 0 // NIR: ssa180 | |
| ($0174) ^uniform = ld_uni 1 // NIR: ssa181 | |
| $0192.x = select ^fmul ($0183).xxxx, $0114, $0191 // NIR: ssa92 | |
| ($0183) ^fmul = gt ^const0 ($0182).xxxx, $0181.xxxx // NIR: ssa89 | |
| $0181.x = add ^uniform ($0180).xxxx, -^uniform ($0177).xxxx // NIR: ssa88 | |
| ($0180) ^uniform = ld_uni 1 // NIR: ssa183 | |
| ($0177) ^uniform = ld_uni 0 // NIR: ssa182 | |
| ($0182) ^const0 = const (1.000000) // NIR: ssa346 | |
| + $0114.x = select ^fmul ($0240).xxxx, ^uniform ($0113).xxxx, $0111.xxxx // NIR: ssa63 | |
| $0191.x = select ^fmul ($0253).xxxx, ^uniform ($0190).xxxx, $0188.xxxx // NIR: ssa91 | |
| ($0253) ^fmul = mov $0106.xxxx // NIR: new | |
| + $0106.xy = gt ^const0 ($0105), ^uniform ($0104).xxzw // NIR: ssa61 | |
| ($0190) ^uniform = ld_uni 3 // NIR: ssa186 | |
| $0188.x = select ^fmul ($0252).yxxx, ^uniform ($0185), ^uniform ($0187) // NIR: ssa90 | |
| ($0252) ^fmul = mov $0106.yxxx // NIR: new | |
| + $0106.xy = gt ^const0 ($0105), ^uniform ($0104).xxzw // NIR: ssa61 | |
| ($0185) ^uniform = ld_uni 4 // NIR: ssa184 | |
| ($0187) ^uniform = ld_uni 5 // NIR: ssa185 | |
| $0209.x = select ^fmul ($0200).xxxx, $0169, $0208 // NIR: ssa98 | |
| ($0200) ^fmul = gt ^const0 ($0199).xxxx, $0198.xxxx // NIR: ssa95 | |
| $0198.x = add ^uniform ($0195).xxxx, ^uniform ($0197).xxxx // NIR: ssa94 | |
| ($0195) ^uniform = ld_uni 0 // NIR: ssa187 | |
| ($0197) ^uniform = ld_uni 1 // NIR: ssa188 | |
| ($0199) ^const0 = const (1.000000) // NIR: ssa352 | |
| + $0169.x = select ^fmul ($0250).xxxx, ^uniform ($0168).xxxx, $0166.xxxx // NIR: ssa83 | |
| $0208.x = select ^fmul ($0255).xxxx, ^uniform ($0207).xxxx, $0205.xxxx // NIR: ssa97 | |
| ($0255) ^fmul = mov $0161.xxxx // NIR: new | |
| + $0161.xy = gt ^const0 ($0160), $0159.xxzw // NIR: ssa81 | |
| ($0207) ^uniform = ld_uni 3 // NIR: ssa191 | |
| $0205.x = select ^fmul ($0254).yxxx, ^uniform ($0202), ^uniform ($0204) // NIR: ssa96 | |
| ($0254) ^fmul = mov $0161.yxxx // NIR: new | |
| + $0161.xy = gt ^const0 ($0160), $0159.xxzw // NIR: ssa81 | |
| ($0202) ^uniform = ld_uni 4 // NIR: ssa189 | |
| ($0204) ^uniform = ld_uni 5 // NIR: ssa190 | |
| ==================== | |
| ppir: node_to_instr create move 256 for load 120 | |
| ppir: node_to_instr create move 257 for load 174 | |
| ppir: node_to_instr create move 258 for load 197 | |
| ppir: node_to_instr create move 259 for load 177 | |
| ppir: node_to_instr create move 260 for load 165 | |
| ppir: node_to_instr create move 261 for load 204 | |
| ppir: node_to_instr create move 262 for load 110 | |
| ppir: node_to_instr create move 263 for load 187 | |
| ppir: node_to_instr create move 264 for load 155 | |
| ======ppir instr list====== | |
| vary texl unif vmul smul vadd sadd comb stor brch const0|1 | |
| -------block 0------- | |
| 000: null null null null null null 8 null null 33 0.000000 | | |
| 001: null null 30 null null null 32 null null null 1.000000 | | |
| 002: null null null null 221 28 null null null null | | |
| 003: 24 null null null 219 null 25 null null null | | |
| 004: 21 null null null 218 null 22 null null null | | |
| 005: null null null null 220 27 null null null null | | |
| 006: 12 null null null 215 13 null null null null | | |
| 007: 15 null null null 216 null 16 null null null | | |
| 008: 18 null null null 217 null 19 null null null | | |
| 009: null null 5 7 null null null null null null 1.000000 2.000000 | | |
| 010: null null null 10 null null null null null null 1.000000 2.000000 | | |
| 011: null null 1 null null 3 null null null null -1.000000 1.000000 | | |
| -------block 1------- | |
| 012: null null null null 226 47 null null null 48 | | |
| 013: null null null null 225 46 null null null null | | |
| 014: 41 null null null 223 42 null null null null | | |
| 015: 44 null null null 224 45 null null null null | | |
| 016: null null 35 37 null null null null null null 1.000000 2.000000 | | |
| 017: null null null null 39 null null null null null 1.000000 | | |
| -------block 2------- | |
| 018: null null null null 230 62 null null null null | | |
| 019: null null null null 229 61 null null null null | | |
| 020: 56 null null null 227 57 null null null null | | |
| 021: 59 null null null 228 60 null null null null | | |
| 022: null null 50 52 null null null null null null 1.000000 2.000000 | | |
| 023: null null null null 54 null null null null null 1.000000 | | |
| -------block 3------- | |
| 024: null null null null null null 74 null null 75 0.000000 | | |
| 025: null null 66 null null null 64 67 null null | | |
| 026: null null null 73 null null null null null null 1.000000 2.000000 | | |
| 027: null null 69 null null 71 null null null null -2.000000 -1.000000 | | |
| -------block 4------- | |
| 028: null null null null 235 87 null null null 88 | | |
| 029: null null null null 234 86 null null null null | | |
| 030: 81 null null null 232 82 null null null null | | |
| 031: 84 null null null 233 85 null null null null | | |
| 032: null null 77 null 79 null null null null null 1.000000 | | |
| -------block 5------- | |
| 033: null null null null 238 102 null null null null | | |
| 034: null null null null 97 101 null null null null 2.000000 | | |
| 035: 94 null null null 236 95 null null null null | | |
| 036: 99 null null null 237 100 null null null null | | |
| 037: null null 90 null 92 null null null null null 1.000000 | | |
| -------block 6------- | |
| 038: null null null 170 116 null 211 122 null null | | |
| 039: null null 118 null 241 null 121 null null null | | |
| 040: null null 120 null null null 256 null null null | | |
| 041: null null null null null null 153 null null null | | |
| 042: null null null null null null 149 null null null | | |
| 043: 151 null null null 248 null 152 null null null | | |
| 044: null null null null 245 137 null null null null | | |
| 045: 147 null null null 247 148 null null null null | | |
| 046: 129 null null null 242 130 null null null null | | |
| 047: 135 null null null 244 136 null null null null | | |
| 048: 144 null null null 246 145 null null null null | | |
| 049: 132 null null null 243 133 null null null null | | |
| 050: null null null 142 null null null null null null 1.000000 2.000000 | | |
| 051: null null 139 null null null null 140 null null | | |
| 052: null null null null null null 193 null null null | | |
| 053: null null null null 200 null 209 null null null 1.000000 | | |
| 054: null null 172 null 251 null 175 null null null | | |
| 055: null null null null 183 null 192 null null null 1.000000 | | |
| 056: null null 168 null 250 null 169 null null null | | |
| 057: null null 207 null 255 null 208 null null null | | |
| 058: null null 195 null null null 198 null null null | | |
| 059: null null 124 null 126 null null null null null 1.000000 | | |
| 060: null null 113 null 240 null 114 null null null | | |
| 061: null null 190 null 253 null 191 null null null | | |
| 062: null null 180 null null null 181 null null null | | |
| 063: null null 163 null 249 null 166 null null null | | |
| 064: null null 202 null 254 null 205 null null null | | |
| 065: null null 108 null 239 null 111 null null null | | |
| 066: null null 185 null 252 null 188 null null null | | |
| 067: null null null 161 null null null null null null 1.000000 2.000000 | | |
| 068: null null 104 106 null null null null null null 1.000000 2.000000 | | |
| 069: null null 158 null null null 159 null null null | | |
| 070: null null 174 null null null 257 null null null | | |
| 071: null null 197 null null null 258 null null null | | |
| 072: null null 177 null null null 259 null null null | | |
| 073: null null 165 null null null 260 null null null | | |
| 074: null null 204 null null null 261 null null null | | |
| 075: null null 110 null null null 262 null null null | | |
| 076: null null 187 null null null 263 null null null | | |
| 077: null null 155 null null null 264 null null null | | |
| =========================== | |
| ======ppir instr depend====== | |
| -------block 0------- | |
| [0[9][1][2[9][6[10[11]]][5[9][+6][7[+10]][8[+10]]]][3[+10]][4[+10]]] | |
| -------block 1------- | |
| [12[16][14[17]][13[16][+14][15[17]]]] | |
| -------block 2------- | |
| [18[22][20[23]][19[22][+20][21[23]]]] | |
| -------block 3------- | |
| [24[26[27]][25]] | |
| -------block 4------- | |
| [28[30[32]][29[+30][31[32]]]] | |
| -------block 5------- | |
| [33[35[37]][34[+35][36[37]]]] | |
| -------block 6------- | |
| [38[41[42[44[59][46][47[49]]][45[50[51]][48[+50]]]][43]][56[67[69[77]]][63[+67][73]]][60[68][65[68][75]]][52[54[59][70]][55[62[72]][+60][61[68][66[68][76]]]]][53[58[71]][+56][57[+67][64[+67][74]]]][39[40]]] | |
| ============================= | |
| ppir: spilled register 0/93, num_components: 4 | |
| ppir: spilled register 1/93, num_components: 4 | |
| ======ppir regalloc result====== | |
| 011: (1|60|) (3|0|60 48) | |
| 010: (10|4|48 0) | |
| 006: (12|0|) (215|68|4) (13|12|68 0 0) | |
| 085: (277|60|) (278|8|60) | |
| 007: (15|0|) (216|68|4) (16|8|68 0 0) (279||8) | |
| 086: (280|60|) (281|8|60) | |
| 008: (18|0|) (217|68|4) (19|8|68 0 0) (282||8) | |
| 009: (5|60|) (7|2|48 60) | |
| 005: (289|60|) (220|68|2) (27|0|68 12 60) | |
| 002: (221|68|2) (28|0|68 12 0) | |
| 088: (286|60|) (287|8|60) | |
| 003: (24|12|) (219|68|4) (25|8|68 12 12) (288||8) | |
| 087: (283|60|) (284|8|60) | |
| 004: (21|12|) (218|68|4) (22|8|68 12 12) (285||8) | |
| 001: (30|60|) (32|8|60 48) | |
| 000: (8|7|2) (33||7 48) | |
| 017: (39|7|48 8) | |
| 014: (41|12|) (223|68|7) (42|8|68 12 12) | |
| 015: (44|12|) (224|68|7) (45|16|68 12 12) | |
| 016: (35|60|) (37|12|48 60) | |
| 013: (225|68|12) (46|14|68 8 16) | |
| 012: (226|68|12) (47|12|68 8 14) (48||) | |
| 023: (54|7|48 8) | |
| 020: (56|12|) (227|68|7) (57|8|68 12 12) | |
| 021: (59|12|) (228|68|7) (60|16|68 12 12) | |
| 022: (50|60|) (52|12|48 60) | |
| 019: (229|68|12) (61|14|68 8 16) | |
| 018: (230|68|12) (62|12|68 8 14) | |
| 078: (265|60|) (266|8|60) | |
| 025: (66|60|) (64|7|0 12) (67|8|7 60) | |
| 079: (267||8) | |
| 027: (69|60|) (71|0|60 48) | |
| 026: (73|8|48 0) | |
| 024: (74|7|8) (75||7 48) | |
| 032: (77|60|) (79|0|48 60) | |
| 030: (81|12|) (232|68|0) (82|16|68 12 12) | |
| 031: (84|12|) (233|68|0) (85|20|68 12 12) | |
| 029: (234|68|8) (86|0|68 16 20) | |
| 028: (235|68|8) (87|0|68 16 0) (88||) | |
| 037: (90|60|) (92|7|48 60) | |
| 035: (94|16|) (236|68|7) (95|12|68 16 16) | |
| 036: (99|20|) (237|68|7) (100|16|68 20 20) | |
| 034: (97|68|48 0) (101|0|68 12 16) | |
| 033: (238|68|8) (102|0|68 12 0) | |
| 068: (104|60|) (106|8|48 60) | |
| 075: (110|60|) (262|12|60) | |
| 065: (108|60|) (239|68|8) (111|7|68 60 12) | |
| 060: (113|60|) (240|68|8) (114|7|68 60 7) | |
| 076: (187|60|) (263|12|60) | |
| 066: (185|60|) (252|68|8) (188|10|68 60 12) | |
| 061: (190|60|) (253|68|8) (191|9|68 60 10) | |
| 072: (177|60|) (259|8|60) | |
| 062: (180|60|) (181|8|60 8) | |
| 055: (183|68|48 8) (192|9|68 7 9) | |
| 059: (124|60|) (126|15|48 60) | |
| 070: (174|60|) (257|8|60) | |
| 054: (172|60|) (251|68|15) (175|8|68 60 8) | |
| 052: (193|14|8 9) | |
| 046: (129|16|) (290|60|) (242|68|4) (130|8|68 16 60) | |
| 049: (132|16|) (243|68|4) (133|10|68 16 16) | |
| 047: (135|16|) (244|68|4) (136|12|68 16 10) | |
| 044: (245|68|15) (137|4|68 8 12) | |
| 051: (139|60|) (140|6|60 60) | |
| 050: (142|8|48 6) | |
| 048: (144|16|) (246|68|8) (145|10|68 16 16) | |
| 045: (147|16|) (247|68|8) (148|12|68 16 10) | |
| 042: (149|4|4 12) | |
| 043: (151|8|) (248|68|2) (152|5|68 8 8) | |
| 041: (153|5|4 5) | |
| 073: (165|60|) (260|8|60) | |
| 077: (155|60|) (264|4|60) | |
| 069: (158|60|) (159|4|60 4) | |
| 067: (161|9|48 4) | |
| 063: (163|60|) (249|68|9) (166|4|68 60 8) | |
| 056: (168|60|) (250|68|9) (169|6|68 60 4) | |
| 074: (204|60|) (261|4|60) | |
| 064: (202|60|) (254|68|9) (205|4|68 60 4) | |
| 057: (207|60|) (255|68|9) (208|8|68 60 4) | |
| 071: (197|60|) (258|4|60) | |
| 058: (195|60|) (198|4|60 4) | |
| 053: (200|68|48 4) (209|12|68 6 8) | |
| 040: (120|60|) (256|4|60) | |
| 039: (118|60|) (241|68|2) (121|3|68 60 4) | |
| 080: (268|60|) (269|8|60) | |
| 082: (271|60|) (272|8|60) | |
| 083: (274|60|) (275|8|60) | |
| 038: (170|8|5 6) (116|2|0 7) (211|8|14 12) (122|8|2 3) (273||8) | |
| 084: (276||8) | |
| 081: (270||8) | |
| -------------------------- | |
| ======ppir output regs====== | |
| OUTPUT_COLOR0: $2 | |
| -------------------------- | |
| ========ppir codegen======== | |
| 011 (@ 0): 022a1206 02000800 261c1e00 80000600 00078017 00000000 | |
| load.u 1, add.v1 $0.xy ^uniform.xxzw ^const0.xyxx, const0 -1.000000 1.000000 0.000000 0.000000 | |
| 010 (@ 6): 022a0405 1350010c 01e00347 00000200 00000000 | |
| gt.v0 $1.xyz ^const0.xxyx $0.xyyw, const0 1.000000 2.000000 0.000000 0.000000 | |
| 006 (@ 11): 02201885 f0003c60 f8000010 31380e40 000005cf | |
| load.v $0 0, mov.s0 $1.x, sel.v1 $3 $0 $0.zwxy | |
| 085 (@ 16): 02301204 fc000803 001c9fff 000f9e40 | |
| load.t -2, mov.v1 $2 ^uniform | |
| 007 (@ 20): 0220a886 f0003c60 f8000010 ae480100 fe7e0441 000000ff | |
| load.v $0 0, mov.s0 $1.x, sel.s1 $2.x $0.x $0.y, store.t -2 $2 | |
| 086 (@ 26): 02301204 fc000803 001c9fff 000f9e40 | |
| load.t -2, mov.v1 $2 ^uniform | |
| 008 (@ 30): 0230a886 f0003c60 f8000010 ae490302 fe7e0441 000000ff | |
| load.v $0 0, mov.s0 $1.x, sel.s1 $2.y $0.z $0.w, store.t -2 $2 | |
| 009 (@ 36): 022a0606 02000800 07881800 c0069800 00040003 00000000 | |
| load.u 1, gt.v0 $0.zw ^const0.xxxy ^uniform.xxxx, const0 1.000000 2.000000 0.000000 0.000000 | |
| 005 (@ 42): 02201a05 fc000803 000007ff c9e771fc 0002e181 | |
| load.t -2, mov.s0 $0.w, sel.v1 $0.xy $3.zwzw ^uniform | |
| 002 (@ 47): 02201804 fe000002 c0e40390 00000170 | |
| mov.s0 $0.z, sel.v1 $0.xy $3 $0 | |
| 088 (@ 51): 02301204 fc000803 001c9fff 000f9e40 | |
| load.t -2, mov.v1 $2 ^uniform | |
| 003 (@ 55): 0220a886 f3003c60 f8000018 ae4b0f0d fe7e0441 000000ff | |
| load.v $3 0, mov.s0 $1.z, sel.s1 $2.w $3.y $3.w, store.t -2 $2 | |
| 087 (@ 61): 02301204 fc000803 001c9fff 000f9e40 | |
| load.t -2, mov.v1 $2 ^uniform | |
| 004 (@ 65): 0230a886 f3003c60 f8000018 ae4a0d0c fe7e0441 000000ff | |
| load.v $3 0, mov.s0 $1.z, sel.s1 $2.z $3.x $3.y, store.t -2 $2 | |
| 001 (@ 71): 023a2206 00000800 90607800 003c0000 00000000 00000000 | |
| load.u 0, add.s1 $2.x ^uniform.x ^const0.x, const0 1.000000 0.000000 0.000000 0.000000 | |
| 000 (@ 77): 02232007 3e470002 00010f80 00002500 00000020 00000000 | |
| 00000000 | |
| mov.s1 $1.w $0.z, branch.eq $1.w ^const0.x 114, const0 0.000000 0.000000 0.000000 0.000000 | |
| 017 (@ 84): 022a0804 1a470830 00000f00 00000000 | |
| gt.s0 $1.w ^const0.x $2.x, const0 1.000000 0.000000 0.000000 0.000000 | |
| 014 (@ 88): 02281885 f3003c60 f800001c 2138ce43 000005cf | |
| load.v $3 0, mov.s0 $1.w, sel.v1 $2 $3 $3.zwxy | |
| 015 (@ 93): 02301885 f3003c60 f800001c 43b4ce83 000005c3 | |
| load.v $3 0, mov.s0 $1.w, sel.v1 $4.xy $3.xzzw $3.ywzw | |
| 016 (@ 98): 02220606 04000800 07809800 c0068667 00040003 00000000 | |
| load.u 2, gt.v0 $3.xy ^const0.xyxx ^uniform.xxzw, const0 1.000000 2.000000 0.000000 0.000000 | |
| 013 (@ 104): 02301804 be00000d 0c404380 00000173 | |
| mov.s0 $3.y, sel.v1 $3.zw $2.xxzw $4.xxxy | |
| 012 (@ 108): 02211806 be00000c cc4e3390 1c000170 01100000 00010000 | |
| mov.s0 $3.x, sel.v1 $3.xy $2 $3.zwxy, branch 142 | |
| 023 (@ 114): 022a0804 1a470830 00000f00 00000000 | |
| gt.s0 $1.w ^const0.x $2.x, const0 1.000000 0.000000 0.000000 0.000000 | |
| 020 (@ 118): 02281885 f3003c60 f800001c 23d4ca03 000005cf | |
| load.v $3 0, mov.s0 $1.w, sel.v1 $2 $3.xxzz $3.yyww | |
| 021 (@ 123): 02301885 f3003c60 f800001c 43acce13 000005c3 | |
| load.v $3 0, mov.s0 $1.w, sel.v1 $4.xy $3.yxzw $3.wzzw | |
| 022 (@ 128): 02220606 04000800 07809800 c0068667 00040003 00000000 | |
| load.u 2, gt.v0 $3.xy ^const0.xyxx ^uniform.xxzw, const0 1.000000 2.000000 0.000000 0.000000 | |
| 019 (@ 134): 02201804 be00000d 0c404380 00000173 | |
| mov.s0 $3.y, sel.v1 $3.zw $2.xxzw $4.xxxy | |
| 018 (@ 138): 02201804 be00000c cc4e3390 00000170 | |
| mov.s0 $3.x, sel.v1 $3.xy $2 $3.zwxy | |
| 078 (@ 142): 02281204 fe000803 001c9fff 000f9e40 | |
| load.t -1, mov.v1 $2 ^uniform | |
| 025 (@ 146): 02186205 0c000800 8e1a0000 473c0300 00000008 | |
| load.u 6, add.s1 $1.w $0.x $3.y, mul.s2 $2.x $1.w ^uniform.xxxx | |
| 079 (@ 151): 02308003 fefc0883 000001ff | |
| store.t -1 $2 | |
| 027 (@ 154): 022a1206 04000800 261c1e00 00000600 00178018 00000000 | |
| load.u 2, add.v1 $0.xy ^uniform.xxzw ^const0.xyxx, const0 -2.000000 -1.000000 0.000000 0.000000 | |
| 026 (@ 160): 023a0405 2004010c 01e0034f 00000200 00000000 | |
| gt.v0 $2 ^const0.xxyx $0.yxxx, const0 1.000000 2.000000 0.000000 0.000000 | |
| 024 (@ 165): 02332007 3e470008 00010f80 00002100 00000030 00000000 | |
| 00000000 | |
| mov.s1 $1.w $2.x, branch.eq $1.w ^const0.x 198, const0 0.000000 0.000000 0.000000 0.000000 | |
| 032 (@ 172): 022a0a06 00000800 80786000 001e0034 00000000 00000000 | |
| load.u 0, gt.s0 $0.x ^const0.x ^uniform.x, const0 1.000000 0.000000 0.000000 0.000000 | |
| 030 (@ 178): 02281885 f3003c60 f8000000 4138ce43 000005cf | |
| load.v $3 0, mov.s0 $0.x, sel.v1 $4 $3 $3.zwxy | |
| 031 (@ 183): 02201885 f3003c60 f8000000 53b4ce83 000005c3 | |
| load.v $3 0, mov.s0 $0.x, sel.v1 $5.xy $3.xzzw $3.ywzw | |
| 029 (@ 188): 02301804 3e00000a c0e453b9 00000170 | |
| mov.s0 $2.z, sel.v1 $0.xy $4.zwzw $5 | |
| 028 (@ 192): 02311806 3e000009 c0e40391 1c000170 01000000 00018000 | |
| mov.s0 $2.y, sel.v1 $0.xy $4 $0, branch 224 | |
| 037 (@ 198): 022a0a06 00000800 8e786000 001e0034 00000000 00000000 | |
| load.u 0, gt.s0 $1.w ^const0.x ^uniform.x, const0 1.000000 0.000000 0.000000 0.000000 | |
| 035 (@ 204): 02281885 f4003c60 f800001c 33d50a04 000005cf | |
| load.v $4 0, mov.s0 $1.w, sel.v1 $3 $4.xxzz $4.yyww | |
| 036 (@ 209): 02301885 f5003c60 f800001c 43ad4e15 000005c3 | |
| load.v $5 0, mov.s0 $1.w, sel.v1 $4.xy $5.yxzw $5.wzzw | |
| 034 (@ 214): 02221806 da000030 c0e443b8 01000170 00000000 00000000 | |
| gt.s0 ^const0.x $0.x, sel.v1 $0.xy $3.zwzw $4, const0 2.000000 0.000000 0.000000 0.000000 | |
| 033 (@ 220): 02301804 fe00000b c0e40390 00000170 | |
| mov.s0 $2.w, sel.v1 $0.xy $3 $0 | |
| 068 (@ 224): 02220606 04000800 07809800 c0068647 00040003 00000000 | |
| load.u 2, gt.v0 $2.xy ^const0.xyxx ^uniform.xxzw, const0 1.000000 2.000000 0.000000 0.000000 | |
| 075 (@ 230): 02282204 10000800 98007800 0000007c | |
| load.u 8, mov.s1 $3.x ^uniform.x | |
| 065 (@ 234): 02282a05 0e000800 00001200 23861e7c 00000017 | |
| load.u 7, mov.s0 $2.y, sel.s1 $1.w ^uniform.x $3.x | |
| 060 (@ 239): 02202a05 0c000800 00001000 23839e7c 00000017 | |
| load.u 6, mov.s0 $2.x, sel.s1 $1.w ^uniform.x $1.w | |
| 076 (@ 244): 02282204 0a000800 98007800 0000007c | |
| load.u 5, mov.s1 $3.x ^uniform.x | |
| 066 (@ 248): 02282a05 08000800 00001200 25061e7c 00000017 | |
| load.u 4, mov.s0 $2.y, sel.s1 $2.z ^uniform.x $3.x | |
| 061 (@ 253): 02202a05 06000800 00001000 24851e7c 00000017 | |
| load.u 3, mov.s0 $2.x, sel.s1 $2.y ^uniform.x $2.z | |
| 072 (@ 258): 02202204 00000800 90007800 0000007c | |
| load.u 0, mov.s1 $2.x ^uniform.x | |
| 062 (@ 262): 02282204 02000800 91107800 00000000 | |
| load.u 1, add.s1 $2.x ^uniform.x -$2.x | |
| 055 (@ 266): 02322805 da000830 0b924241 00000780 00000000 | |
| gt.s0 ^const0.x $2.x, sel.s1 $2.y $1.w $2.y, const0 1.000000 0.000000 0.000000 0.000000 | |
| 059 (@ 271): 02220a06 00000800 9e786000 001e0034 00000000 00000000 | |
| load.u 0, gt.s0 $3.w ^const0.x ^uniform.x, const0 1.000000 0.000000 0.000000 0.000000 | |
| 070 (@ 277): 02282204 02000800 90007800 0000007c | |
| load.u 1, mov.s1 $2.x ^uniform.x | |
| 054 (@ 281): 02102a05 00000800 00001e00 24041e7c 00000017 | |
| load.u 0, mov.s0 $3.w, sel.s1 $2.x ^uniform.x $2.x | |
| 052 (@ 286): 02302002 004e0908 | |
| add.s1 $3.z $2.x $2.y | |
| 046 (@ 288): 02281a86 f4003c60 f000200c 00002fff 779dc9f0 000b8647 | |
| load.v $4 0, load.t -2, mov.s0 $1.y, sel.v1 $2.xy $4.zwzw ^uniform.zwzw | |
| 049 (@ 294): 02281885 f4003c60 f8000018 22c10f04 000005cc | |
| load.v $4 0, mov.s0 $1.z, sel.v1 $2.zw $4.xxww $4.xxwz | |
| 047 (@ 299): 02201885 f4003c60 f8000014 31388e54 000005c3 | |
| load.v $4 0, mov.s0 $1.y, sel.v1 $3.xy $4.yyzw $2.zwxy | |
| 044 (@ 304): 02201804 be00000f c4e43390 00000170 | |
| mov.s0 $3.w, sel.v1 $1.xy $2 $3 | |
| 051 (@ 308): 02284204 02000800 78780600 0000000a | |
| load.u 1, mul.s2 $1.z ^uniform.x ^uniform.xxxx | |
| 050 (@ 312): 022a0405 2128404c 01e00343 00000200 00000000 | |
| gt.v0 $2.xy ^const0.xyxx $1.zzxy, const0 1.000000 2.000000 0.000000 0.000000 | |
| 048 (@ 317): 02281885 f4003c60 f8000024 22010e04 000005cc | |
| load.v $4 0, mov.s0 $2.y, sel.v1 $2.zw $4.xxzw $4.xxxz | |
| 045 (@ 322): 02101885 f4003c60 f8000020 31388e44 000005c3 | |
| load.v $4 0, mov.s0 $2.x, sel.v1 $3.xy $4 $2.zwxy | |
| 042 (@ 327): 02202002 00440d05 | |
| add.s1 $1.x $1.y $3.y | |
| 043 (@ 329): 02102884 f2003c60 f8000008 2e450b08 | |
| load.v $2 0, mov.s0 $0.z, sel.s1 $1.y $2.x $2.w | |
| 041 (@ 333): 02202002 00450504 | |
| add.s1 $1.y $1.x $1.y | |
| 073 (@ 335): 02202204 10000800 90007800 0000007c | |
| load.u 8, mov.s1 $2.x ^uniform.x | |
| 077 (@ 339): 02202204 02000800 88007800 0000007c | |
| load.u 1, mov.s1 $1.x ^uniform.x | |
| 069 (@ 343): 02282204 04000800 89087800 00000000 | |
| load.u 2, add.s1 $1.x ^uniform.x -$1.x | |
| 067 (@ 347): 022a0405 2200410c 01e00346 00000200 00000000 | |
| gt.v0 $2.yz ^const0.xxyx $1.xxxz, const0 1.000000 2.000000 0.000000 0.000000 | |
| 063 (@ 352): 02282a05 0e000800 00001400 22041e7c 00000017 | |
| load.u 7, mov.s0 $2.z, sel.s1 $1.x ^uniform.x $2.x | |
| 056 (@ 357): 02202a05 0c000800 00001200 23021e7c 00000017 | |
| load.u 6, mov.s0 $2.y, sel.s1 $1.z ^uniform.x $1.x | |
| 074 (@ 362): 02282204 0a000800 88007800 0000007c | |
| load.u 5, mov.s1 $1.x ^uniform.x | |
| 064 (@ 366): 02282a05 08000800 00001400 22021e7c 00000017 | |
| load.u 4, mov.s0 $2.z, sel.s1 $1.x ^uniform.x $1.x | |
| 057 (@ 371): 02202a05 06000800 00001200 24021e7c 00000017 | |
| load.u 3, mov.s0 $2.y, sel.s1 $2.x ^uniform.x $1.x | |
| 071 (@ 376): 02202204 02000800 88007800 0000007c | |
| load.u 1, mov.s1 $1.x ^uniform.x | |
| 058 (@ 380): 02282204 00000800 88087800 00000000 | |
| load.u 0, add.s1 $1.x ^uniform.x $1.x | |
| 053 (@ 384): 02222805 9a000430 0b930201 00000780 00000000 | |
| gt.s0 ^const0.x $1.x, sel.s1 $3.x $1.z $2.x, const0 1.000000 0.000000 0.000000 0.000000 | |
| 040 (@ 389): 02282204 0a000800 88007800 0000007c | |
| load.u 5, mov.s1 $1.x ^uniform.x | |
| 039 (@ 393): 02202a05 10000800 00000400 21821e7c 00000017 | |
| load.u 8, mov.s0 $0.z, sel.s1 $0.w ^uniform.x $1.x | |
| 080 (@ 398): 02201204 fe000803 001c9fff 000f9e40 | |
| load.t -1, mov.v1 $2 ^uniform | |
| 082 (@ 402): 02201204 fe000803 001c9fff 000f9e40 | |
| load.t -1, mov.v1 $2 ^uniform | |
| 083 (@ 406): 02381204 fe000803 001c9fff 000f9e40 | |
| load.t -1, mov.v1 $2 ^uniform | |
| 038 (@ 410): 0218ec07 22a84551 10380804 97181c02 8203ff00 bf0220c8 | |
| 00007fff | |
| mul.v0 $2.z $1.yyyy $1.zzzz, mul.s0 $0.z $0.y $1.w, add.s1 $2.w $3.z -$3.x, mul.s2 $2.y $0.z $0.wwww, store.t -1 $2 | |
| 084 (@ 417): 02188003 fefc0883 000001ff | |
| store.t -1 $2 | |
| 081 (@ 420): 00008023 fefc0883 000001ff | |
| store.t -1 $2, stop | |
| ----------------------- | |
| nested_struct_array_dynamic_index_fragment.shader_test - MESA_SHADER_FRAGMENT shader: 89 inst, 0 loops, 8:10 spills:fills | |
| Thread 0 took 0.25 seconds and compiled 2 shaders (not including SIMD16) with 1 GL context switches |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment