nir_lower_io_to_temporaries shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 0, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 0, 0) decl_var INTERP_MODE_NONE vec4 out@gl_Position-temp decl_var INTERP_MODE_NONE vec4 out@gl_FrontColor-temp decl_function main (0 params) impl main { decl_var INTERP_MODE_NONE vec4 flattening_tmp decl_var INTERP_MODE_NONE int const_temp decl_var INTERP_MODE_NONE int const_temp@0 decl_var INTERP_MODE_NONE int const_temp@1 decl_var INTERP_MODE_NONE int const_temp@2 decl_var INTERP_MODE_NONE ivec3 vec_ctor decl_var INTERP_MODE_NONE int const_temp@3 decl_var INTERP_MODE_NONE mat4x3 mat_ctor decl_var INTERP_MODE_NONE uint const_temp@4 decl_var INTERP_MODE_NONE vec3 const_temp@5 decl_var INTERP_MODE_NONE uint const_temp@6 decl_var INTERP_MODE_NONE vec3 const_temp@7 decl_var INTERP_MODE_NONE uint const_temp@8 decl_var INTERP_MODE_NONE vec3 const_temp@9 decl_var INTERP_MODE_NONE uint const_temp@10 decl_var INTERP_MODE_NONE bool flattening_tmp@11 decl_var INTERP_MODE_NONE mat4x3 mat_op_to_vec decl_var INTERP_MODE_NONE mat4x3 const_temp@12 decl_var INTERP_MODE_NONE bvec4 mat_cmp_bvec decl_var INTERP_MODE_NONE int const_temp@13 decl_var INTERP_MODE_NONE int const_temp@14 decl_var INTERP_MODE_NONE int const_temp@15 decl_var INTERP_MODE_NONE int const_temp@16 decl_var INTERP_MODE_NONE int const_temp@17 decl_var INTERP_MODE_NONE int const_temp@18 decl_var INTERP_MODE_NONE int const_temp@19 decl_var INTERP_MODE_NONE int const_temp@20 decl_var INTERP_MODE_NONE bvec4 const_temp@21 decl_var INTERP_MODE_NONE vec4 const_temp@22 decl_var INTERP_MODE_NONE vec4 const_temp@23 block block_0: /* preds: */ vec1 32 ssa_139 = deref_var &const_temp (function_temp int) vec1 32 ssa_140 = load_const (0x00000000 /* 0.000000 */) intrinsic store_deref (ssa_139, ssa_140) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_141 = deref_var &const_temp@0 (function_temp int) vec1 32 ssa_142 = load_const (0x00000001 /* 0.000000 */) intrinsic store_deref (ssa_141, ssa_142) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_143 = deref_var &const_temp@1 (function_temp int) vec1 32 ssa_144 = load_const (0x00000002 /* 0.000000 */) intrinsic store_deref (ssa_143, ssa_144) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_145 = deref_var &const_temp@2 (function_temp int) vec1 32 ssa_146 = load_const (0x00000003 /* 0.000000 */) intrinsic store_deref (ssa_145, ssa_146) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_147 = deref_var &const_temp@3 (function_temp int) vec1 32 ssa_148 = load_const (0x00000001 /* 0.000000 */) intrinsic store_deref (ssa_147, ssa_148) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_149 = deref_var &const_temp@4 (function_temp uint) vec1 32 ssa_150 = load_const (0x00000000 /* 0.000000 */) intrinsic store_deref (ssa_149, ssa_150) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_151 = deref_var &const_temp@5 (function_temp vec3) vec3 32 ssa_152 = load_const (0x40800000 /* 4.000000 */, 0x40a00000 /* 5.000000 */, 0x40c00000 /* 6.000000 */) intrinsic store_deref (ssa_151, ssa_152) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_153 = deref_var &const_temp@6 (function_temp uint) vec1 32 ssa_154 = load_const (0x00000001 /* 0.000000 */) intrinsic store_deref (ssa_153, ssa_154) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_155 = deref_var &const_temp@7 (function_temp vec3) vec3 32 ssa_156 = load_const (0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */) intrinsic store_deref (ssa_155, ssa_156) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_157 = deref_var &const_temp@8 (function_temp uint) vec1 32 ssa_158 = load_const (0x00000002 /* 0.000000 */) intrinsic store_deref (ssa_157, ssa_158) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_159 = deref_var &const_temp@9 (function_temp vec3) vec3 32 ssa_160 = load_const (0x41000000 /* 8.000000 */, 0x40e00000 /* 7.000000 */, 0x41200000 /* 10.000000 */) intrinsic store_deref (ssa_159, ssa_160) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_161 = deref_var &const_temp@10 (function_temp uint) vec1 32 ssa_162 = load_const (0x00000003 /* 0.000000 */) intrinsic store_deref (ssa_161, ssa_162) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_163 = deref_var &const_temp@12 (function_temp mat4x3) vec3 32 ssa_164 = load_const (0x3f800000 /* 1.000000 */, 0x40000000 /* 2.000000 */, 0x40400000 /* 3.000000 */) vec1 32 ssa_165 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_166 = deref_array &(*ssa_163)[0] (function_temp vec3) /* &const_temp@12[0] */ intrinsic store_deref (ssa_166, ssa_164) (7, 0) /* wrmask=xyz */ /* access=0 */ vec3 32 ssa_167 = load_const (0x40800000 /* 4.000000 */, 0x40a00000 /* 5.000000 */, 0x40c00000 /* 6.000000 */) vec1 32 ssa_168 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_169 = deref_array &(*ssa_163)[1] (function_temp vec3) /* &const_temp@12[1] */ intrinsic store_deref (ssa_169, ssa_167) (7, 0) /* wrmask=xyz */ /* access=0 */ vec3 32 ssa_170 = load_const (0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */) vec1 32 ssa_171 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_172 = deref_array &(*ssa_163)[2] (function_temp vec3) /* &const_temp@12[2] */ intrinsic store_deref (ssa_172, ssa_170) (7, 0) /* wrmask=xyz */ /* access=0 */ vec3 32 ssa_173 = load_const (0x41000000 /* 8.000000 */, 0x40e00000 /* 7.000000 */, 0x41200000 /* 10.000000 */) vec1 32 ssa_174 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_175 = deref_array &(*ssa_163)[3] (function_temp vec3) /* &const_temp@12[3] */ intrinsic store_deref (ssa_175, ssa_173) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_176 = deref_var &const_temp@13 (function_temp int) vec1 32 ssa_177 = load_const (0x00000000 /* 0.000000 */) intrinsic store_deref (ssa_176, ssa_177) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_178 = deref_var &const_temp@14 (function_temp int) vec1 32 ssa_179 = load_const (0x00000000 /* 0.000000 */) intrinsic store_deref (ssa_178, ssa_179) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_180 = deref_var &const_temp@15 (function_temp int) vec1 32 ssa_181 = load_const (0x00000001 /* 0.000000 */) intrinsic store_deref (ssa_180, ssa_181) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_182 = deref_var &const_temp@16 (function_temp int) vec1 32 ssa_183 = load_const (0x00000001 /* 0.000000 */) intrinsic store_deref (ssa_182, ssa_183) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_184 = deref_var &const_temp@17 (function_temp int) vec1 32 ssa_185 = load_const (0x00000002 /* 0.000000 */) intrinsic store_deref (ssa_184, ssa_185) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_186 = deref_var &const_temp@18 (function_temp int) vec1 32 ssa_187 = load_const (0x00000002 /* 0.000000 */) intrinsic store_deref (ssa_186, ssa_187) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_188 = deref_var &const_temp@19 (function_temp int) vec1 32 ssa_189 = load_const (0x00000003 /* 0.000000 */) intrinsic store_deref (ssa_188, ssa_189) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_190 = deref_var &const_temp@20 (function_temp int) vec1 32 ssa_191 = load_const (0x00000003 /* 0.000000 */) intrinsic store_deref (ssa_190, ssa_191) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_192 = deref_var &const_temp@21 (function_temp bvec4) vec4 1 ssa_193 = load_const (false, false, false, false) intrinsic store_deref (ssa_192, ssa_193) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_194 = deref_var &const_temp@22 (function_temp vec4) vec4 32 ssa_195 = load_const (0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */, 0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */) intrinsic store_deref (ssa_194, ssa_195) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_196 = deref_var &const_temp@23 (function_temp vec4) vec4 32 ssa_197 = load_const (0x3f800000 /* 1.000000 */, 0x00000000 /* 0.000000 */, 0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */) intrinsic store_deref (ssa_196, ssa_197) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_0 = deref_var &flattening_tmp (function_temp vec4) vec1 32 ssa_1 = deref_var &const_temp (function_temp int) vec1 32 ssa_2 = intrinsic load_deref (ssa_1) (0) /* access=0 */ vec1 32 ssa_3 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_4 = deref_array &(*ssa_3)[ssa_2] (uniform vec4) /* &gl_ModelViewProjectionMatrix[ssa_2] */ vec4 32 ssa_5 = intrinsic load_deref (ssa_4) (0) /* access=0 */ vec1 32 ssa_6 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_7 = intrinsic load_deref (ssa_6) (0) /* access=0 */ vec1 32 ssa_8 = imov ssa_7.x vec4 32 ssa_9 = fmul ssa_5, ssa_8.xxxx vec1 32 ssa_10 = deref_var &const_temp@0 (function_temp int) vec1 32 ssa_11 = intrinsic load_deref (ssa_10) (0) /* access=0 */ vec1 32 ssa_12 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_13 = deref_array &(*ssa_12)[ssa_11] (uniform vec4) /* &gl_ModelViewProjectionMatrix[ssa_11] */ vec4 32 ssa_14 = intrinsic load_deref (ssa_13) (0) /* access=0 */ vec1 32 ssa_15 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_16 = intrinsic load_deref (ssa_15) (0) /* access=0 */ vec1 32 ssa_17 = imov ssa_16.y vec4 32 ssa_18 = fmul ssa_14, ssa_17.xxxx vec4 32 ssa_19 = fadd ssa_9, ssa_18 vec1 32 ssa_20 = deref_var &const_temp@1 (function_temp int) vec1 32 ssa_21 = intrinsic load_deref (ssa_20) (0) /* access=0 */ vec1 32 ssa_22 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_23 = deref_array &(*ssa_22)[ssa_21] (uniform vec4) /* &gl_ModelViewProjectionMatrix[ssa_21] */ vec4 32 ssa_24 = intrinsic load_deref (ssa_23) (0) /* access=0 */ vec1 32 ssa_25 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_26 = intrinsic load_deref (ssa_25) (0) /* access=0 */ vec1 32 ssa_27 = imov ssa_26.z vec4 32 ssa_28 = fmul ssa_24, ssa_27.xxxx vec4 32 ssa_29 = fadd ssa_19, ssa_28 vec1 32 ssa_30 = deref_var &const_temp@2 (function_temp int) vec1 32 ssa_31 = intrinsic load_deref (ssa_30) (0) /* access=0 */ vec1 32 ssa_32 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_33 = deref_array &(*ssa_32)[ssa_31] (uniform vec4) /* &gl_ModelViewProjectionMatrix[ssa_31] */ vec4 32 ssa_34 = intrinsic load_deref (ssa_33) (0) /* access=0 */ vec1 32 ssa_35 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_36 = intrinsic load_deref (ssa_35) (0) /* access=0 */ vec1 32 ssa_37 = imov ssa_36.w vec4 32 ssa_38 = fmul ssa_34, ssa_37.xxxx vec4 32 ssa_39 = fadd ssa_29, ssa_38 intrinsic store_deref (ssa_0, ssa_39) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_40 = deref_var &flattening_tmp (function_temp vec4) vec1 32 ssa_41 = deref_var &out@gl_Position-temp (shader_temp vec4) intrinsic copy_deref (ssa_41, ssa_40) () vec1 32 ssa_42 = deref_var &vec_ctor (function_temp ivec3) vec1 32 ssa_43 = deref_var &const_temp@3 (function_temp int) vec1 32 ssa_44 = intrinsic load_deref (ssa_43) (0) /* access=0 */ vec3 32 ssa_45 = imov ssa_44.xxx intrinsic store_deref (ssa_42, ssa_45) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_46 = deref_var &vec_ctor (function_temp ivec3) vec1 32 ssa_47 = deref_var &j (uniform ivec2) vec2 32 ssa_48 = intrinsic load_deref (ssa_47) (0) /* access=0 */ vec3 32 ssa_49 = imov ssa_48.xxy intrinsic store_deref (ssa_46, ssa_49) (6, 0) /* wrmask=yz */ /* access=0 */ vec1 32 ssa_50 = deref_var &const_temp@4 (function_temp uint) vec1 32 ssa_51 = intrinsic load_deref (ssa_50) (0) /* access=0 */ vec1 32 ssa_52 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_53 = deref_array &(*ssa_52)[ssa_51] (function_temp vec3) /* &mat_ctor[ssa_51] */ vec1 32 ssa_54 = deref_var &vec_ctor (function_temp ivec3) vec3 32 ssa_55 = intrinsic load_deref (ssa_54) (0) /* access=0 */ vec3 32 ssa_56 = i2f32 ssa_55 intrinsic store_deref (ssa_53, ssa_56) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_57 = deref_var &const_temp@5 (function_temp vec3) vec1 32 ssa_58 = deref_var &const_temp@6 (function_temp uint) vec1 32 ssa_59 = intrinsic load_deref (ssa_58) (0) /* access=0 */ vec1 32 ssa_60 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_61 = deref_array &(*ssa_60)[ssa_59] (function_temp vec3) /* &mat_ctor[ssa_59] */ intrinsic copy_deref (ssa_61, ssa_57) () vec1 32 ssa_62 = deref_var &const_temp@7 (function_temp vec3) vec1 32 ssa_63 = deref_var &const_temp@8 (function_temp uint) vec1 32 ssa_64 = intrinsic load_deref (ssa_63) (0) /* access=0 */ vec1 32 ssa_65 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_66 = deref_array &(*ssa_65)[ssa_64] (function_temp vec3) /* &mat_ctor[ssa_64] */ intrinsic copy_deref (ssa_66, ssa_62) () vec1 32 ssa_67 = deref_var &const_temp@9 (function_temp vec3) vec1 32 ssa_68 = deref_var &const_temp@10 (function_temp uint) vec1 32 ssa_69 = intrinsic load_deref (ssa_68) (0) /* access=0 */ vec1 32 ssa_70 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_71 = deref_array &(*ssa_70)[ssa_69] (function_temp vec3) /* &mat_ctor[ssa_69] */ intrinsic copy_deref (ssa_71, ssa_67) () vec1 32 ssa_72 = deref_var &const_temp@12 (function_temp mat4x3) vec1 32 ssa_73 = deref_var &mat_op_to_vec (function_temp mat4x3) intrinsic copy_deref (ssa_73, ssa_72) () vec1 32 ssa_74 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 32 ssa_75 = deref_var &const_temp@13 (function_temp int) vec1 32 ssa_76 = intrinsic load_deref (ssa_75) (0) /* access=0 */ vec1 32 ssa_77 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_78 = deref_array &(*ssa_77)[ssa_76] (function_temp vec3) /* &mat_op_to_vec[ssa_76] */ vec3 32 ssa_79 = intrinsic load_deref (ssa_78) (0) /* access=0 */ vec1 32 ssa_80 = deref_var &const_temp@14 (function_temp int) vec1 32 ssa_81 = intrinsic load_deref (ssa_80) (0) /* access=0 */ vec1 32 ssa_82 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_83 = deref_array &(*ssa_82)[ssa_81] (function_temp vec3) /* &mat_ctor[ssa_81] */ vec3 32 ssa_84 = intrinsic load_deref (ssa_83) (0) /* access=0 */ vec1 1 ssa_85 = bany_fnequal3 ssa_79, ssa_84 vec4 1 ssa_86 = imov ssa_85.xxxx intrinsic store_deref (ssa_74, ssa_86) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_87 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 32 ssa_88 = deref_var &const_temp@15 (function_temp int) vec1 32 ssa_89 = intrinsic load_deref (ssa_88) (0) /* access=0 */ vec1 32 ssa_90 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_91 = deref_array &(*ssa_90)[ssa_89] (function_temp vec3) /* &mat_op_to_vec[ssa_89] */ vec3 32 ssa_92 = intrinsic load_deref (ssa_91) (0) /* access=0 */ vec1 32 ssa_93 = deref_var &const_temp@16 (function_temp int) vec1 32 ssa_94 = intrinsic load_deref (ssa_93) (0) /* access=0 */ vec1 32 ssa_95 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_96 = deref_array &(*ssa_95)[ssa_94] (function_temp vec3) /* &mat_ctor[ssa_94] */ vec3 32 ssa_97 = intrinsic load_deref (ssa_96) (0) /* access=0 */ vec1 1 ssa_98 = bany_fnequal3 ssa_92, ssa_97 vec4 1 ssa_99 = imov ssa_98.xxxx intrinsic store_deref (ssa_87, ssa_99) (2, 0) /* wrmask=y */ /* access=0 */ vec1 32 ssa_100 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 32 ssa_101 = deref_var &const_temp@17 (function_temp int) vec1 32 ssa_102 = intrinsic load_deref (ssa_101) (0) /* access=0 */ vec1 32 ssa_103 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_104 = deref_array &(*ssa_103)[ssa_102] (function_temp vec3) /* &mat_op_to_vec[ssa_102] */ vec3 32 ssa_105 = intrinsic load_deref (ssa_104) (0) /* access=0 */ vec1 32 ssa_106 = deref_var &const_temp@18 (function_temp int) vec1 32 ssa_107 = intrinsic load_deref (ssa_106) (0) /* access=0 */ vec1 32 ssa_108 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_109 = deref_array &(*ssa_108)[ssa_107] (function_temp vec3) /* &mat_ctor[ssa_107] */ vec3 32 ssa_110 = intrinsic load_deref (ssa_109) (0) /* access=0 */ vec1 1 ssa_111 = bany_fnequal3 ssa_105, ssa_110 vec4 1 ssa_112 = imov ssa_111.xxxx intrinsic store_deref (ssa_100, ssa_112) (4, 0) /* wrmask=z */ /* access=0 */ vec1 32 ssa_113 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 32 ssa_114 = deref_var &const_temp@19 (function_temp int) vec1 32 ssa_115 = intrinsic load_deref (ssa_114) (0) /* access=0 */ vec1 32 ssa_116 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_117 = deref_array &(*ssa_116)[ssa_115] (function_temp vec3) /* &mat_op_to_vec[ssa_115] */ vec3 32 ssa_118 = intrinsic load_deref (ssa_117) (0) /* access=0 */ vec1 32 ssa_119 = deref_var &const_temp@20 (function_temp int) vec1 32 ssa_120 = intrinsic load_deref (ssa_119) (0) /* access=0 */ vec1 32 ssa_121 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_122 = deref_array &(*ssa_121)[ssa_120] (function_temp vec3) /* &mat_ctor[ssa_120] */ vec3 32 ssa_123 = intrinsic load_deref (ssa_122) (0) /* access=0 */ vec1 1 ssa_124 = bany_fnequal3 ssa_118, ssa_123 vec4 1 ssa_125 = imov ssa_124.xxxx intrinsic store_deref (ssa_113, ssa_125) (8, 0) /* wrmask=w */ /* access=0 */ vec1 32 ssa_126 = deref_var &flattening_tmp@11 (function_temp bool) vec1 32 ssa_127 = deref_var &mat_cmp_bvec (function_temp bvec4) vec4 1 ssa_128 = intrinsic load_deref (ssa_127) (0) /* access=0 */ vec1 32 ssa_129 = deref_var &const_temp@21 (function_temp bvec4) vec4 1 ssa_130 = intrinsic load_deref (ssa_129) (0) /* access=0 */ vec1 1 ssa_131 = bany_inequal4 ssa_128, ssa_130 vec1 1 ssa_132 = inot ssa_131 intrinsic store_deref (ssa_126, ssa_132) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_133 = deref_var &flattening_tmp@11 (function_temp bool) vec1 1 ssa_134 = intrinsic load_deref (ssa_133) (0) /* access=0 */ /* succs: block_1 block_2 */ if ssa_134 { block block_1: /* preds: block_0 */ vec1 32 ssa_135 = deref_var &const_temp@22 (function_temp vec4) vec1 32 ssa_136 = deref_var &out@gl_FrontColor-temp (shader_temp vec4) intrinsic copy_deref (ssa_136, ssa_135) () /* succs: block_3 */ } else { block block_2: /* preds: block_0 */ vec1 32 ssa_137 = deref_var &const_temp@23 (function_temp vec4) vec1 32 ssa_138 = deref_var &out@gl_FrontColor-temp (shader_temp vec4) intrinsic copy_deref (ssa_138, ssa_137) () /* succs: block_3 */ } block block_3: /* preds: block_1 block_2 */ vec1 32 ssa_198 = deref_var &out@gl_Position-temp (shader_temp vec4) vec1 32 ssa_199 = deref_var &gl_Position (shader_out vec4) intrinsic copy_deref (ssa_199, ssa_198) () vec1 32 ssa_200 = deref_var &out@gl_FrontColor-temp (shader_temp vec4) vec1 32 ssa_201 = deref_var &gl_FrontColor (shader_out vec4) intrinsic copy_deref (ssa_201, ssa_200) () /* succs: block_4 */ block block_4: } nir_lower_alu_to_scalar shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 0, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 0, 0) decl_var INTERP_MODE_NONE vec4 out@gl_Position-temp decl_var INTERP_MODE_NONE vec4 out@gl_FrontColor-temp decl_function main (0 params) impl main { decl_var INTERP_MODE_NONE vec4 flattening_tmp decl_var INTERP_MODE_NONE int const_temp decl_var INTERP_MODE_NONE int const_temp@0 decl_var INTERP_MODE_NONE int const_temp@1 decl_var INTERP_MODE_NONE int const_temp@2 decl_var INTERP_MODE_NONE ivec3 vec_ctor decl_var INTERP_MODE_NONE int const_temp@3 decl_var INTERP_MODE_NONE mat4x3 mat_ctor decl_var INTERP_MODE_NONE uint const_temp@4 decl_var INTERP_MODE_NONE vec3 const_temp@5 decl_var INTERP_MODE_NONE uint const_temp@6 decl_var INTERP_MODE_NONE vec3 const_temp@7 decl_var INTERP_MODE_NONE uint const_temp@8 decl_var INTERP_MODE_NONE vec3 const_temp@9 decl_var INTERP_MODE_NONE uint const_temp@10 decl_var INTERP_MODE_NONE bool flattening_tmp@11 decl_var INTERP_MODE_NONE mat4x3 mat_op_to_vec decl_var INTERP_MODE_NONE mat4x3 const_temp@12 decl_var INTERP_MODE_NONE bvec4 mat_cmp_bvec decl_var INTERP_MODE_NONE int const_temp@13 decl_var INTERP_MODE_NONE int const_temp@14 decl_var INTERP_MODE_NONE int const_temp@15 decl_var INTERP_MODE_NONE int const_temp@16 decl_var INTERP_MODE_NONE int const_temp@17 decl_var INTERP_MODE_NONE int const_temp@18 decl_var INTERP_MODE_NONE int const_temp@19 decl_var INTERP_MODE_NONE int const_temp@20 decl_var INTERP_MODE_NONE bvec4 const_temp@21 decl_var INTERP_MODE_NONE vec4 const_temp@22 decl_var INTERP_MODE_NONE vec4 const_temp@23 block block_0: /* preds: */ vec1 32 ssa_139 = deref_var &const_temp (function_temp int) vec1 32 ssa_140 = load_const (0x00000000 /* 0.000000 */) intrinsic store_deref (ssa_139, ssa_140) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_141 = deref_var &const_temp@0 (function_temp int) vec1 32 ssa_142 = load_const (0x00000001 /* 0.000000 */) intrinsic store_deref (ssa_141, ssa_142) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_143 = deref_var &const_temp@1 (function_temp int) vec1 32 ssa_144 = load_const (0x00000002 /* 0.000000 */) intrinsic store_deref (ssa_143, ssa_144) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_145 = deref_var &const_temp@2 (function_temp int) vec1 32 ssa_146 = load_const (0x00000003 /* 0.000000 */) intrinsic store_deref (ssa_145, ssa_146) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_147 = deref_var &const_temp@3 (function_temp int) vec1 32 ssa_148 = load_const (0x00000001 /* 0.000000 */) intrinsic store_deref (ssa_147, ssa_148) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_149 = deref_var &const_temp@4 (function_temp uint) vec1 32 ssa_150 = load_const (0x00000000 /* 0.000000 */) intrinsic store_deref (ssa_149, ssa_150) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_151 = deref_var &const_temp@5 (function_temp vec3) vec3 32 ssa_152 = load_const (0x40800000 /* 4.000000 */, 0x40a00000 /* 5.000000 */, 0x40c00000 /* 6.000000 */) intrinsic store_deref (ssa_151, ssa_152) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_153 = deref_var &const_temp@6 (function_temp uint) vec1 32 ssa_154 = load_const (0x00000001 /* 0.000000 */) intrinsic store_deref (ssa_153, ssa_154) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_155 = deref_var &const_temp@7 (function_temp vec3) vec3 32 ssa_156 = load_const (0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */) intrinsic store_deref (ssa_155, ssa_156) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_157 = deref_var &const_temp@8 (function_temp uint) vec1 32 ssa_158 = load_const (0x00000002 /* 0.000000 */) intrinsic store_deref (ssa_157, ssa_158) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_159 = deref_var &const_temp@9 (function_temp vec3) vec3 32 ssa_160 = load_const (0x41000000 /* 8.000000 */, 0x40e00000 /* 7.000000 */, 0x41200000 /* 10.000000 */) intrinsic store_deref (ssa_159, ssa_160) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_161 = deref_var &const_temp@10 (function_temp uint) vec1 32 ssa_162 = load_const (0x00000003 /* 0.000000 */) intrinsic store_deref (ssa_161, ssa_162) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_163 = deref_var &const_temp@12 (function_temp mat4x3) vec3 32 ssa_164 = load_const (0x3f800000 /* 1.000000 */, 0x40000000 /* 2.000000 */, 0x40400000 /* 3.000000 */) vec1 32 ssa_165 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_166 = deref_array &(*ssa_163)[0] (function_temp vec3) /* &const_temp@12[0] */ intrinsic store_deref (ssa_166, ssa_164) (7, 0) /* wrmask=xyz */ /* access=0 */ vec3 32 ssa_167 = load_const (0x40800000 /* 4.000000 */, 0x40a00000 /* 5.000000 */, 0x40c00000 /* 6.000000 */) vec1 32 ssa_168 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_169 = deref_array &(*ssa_163)[1] (function_temp vec3) /* &const_temp@12[1] */ intrinsic store_deref (ssa_169, ssa_167) (7, 0) /* wrmask=xyz */ /* access=0 */ vec3 32 ssa_170 = load_const (0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */) vec1 32 ssa_171 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_172 = deref_array &(*ssa_163)[2] (function_temp vec3) /* &const_temp@12[2] */ intrinsic store_deref (ssa_172, ssa_170) (7, 0) /* wrmask=xyz */ /* access=0 */ vec3 32 ssa_173 = load_const (0x41000000 /* 8.000000 */, 0x40e00000 /* 7.000000 */, 0x41200000 /* 10.000000 */) vec1 32 ssa_174 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_175 = deref_array &(*ssa_163)[3] (function_temp vec3) /* &const_temp@12[3] */ intrinsic store_deref (ssa_175, ssa_173) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_176 = deref_var &const_temp@13 (function_temp int) vec1 32 ssa_177 = load_const (0x00000000 /* 0.000000 */) intrinsic store_deref (ssa_176, ssa_177) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_178 = deref_var &const_temp@14 (function_temp int) vec1 32 ssa_179 = load_const (0x00000000 /* 0.000000 */) intrinsic store_deref (ssa_178, ssa_179) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_180 = deref_var &const_temp@15 (function_temp int) vec1 32 ssa_181 = load_const (0x00000001 /* 0.000000 */) intrinsic store_deref (ssa_180, ssa_181) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_182 = deref_var &const_temp@16 (function_temp int) vec1 32 ssa_183 = load_const (0x00000001 /* 0.000000 */) intrinsic store_deref (ssa_182, ssa_183) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_184 = deref_var &const_temp@17 (function_temp int) vec1 32 ssa_185 = load_const (0x00000002 /* 0.000000 */) intrinsic store_deref (ssa_184, ssa_185) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_186 = deref_var &const_temp@18 (function_temp int) vec1 32 ssa_187 = load_const (0x00000002 /* 0.000000 */) intrinsic store_deref (ssa_186, ssa_187) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_188 = deref_var &const_temp@19 (function_temp int) vec1 32 ssa_189 = load_const (0x00000003 /* 0.000000 */) intrinsic store_deref (ssa_188, ssa_189) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_190 = deref_var &const_temp@20 (function_temp int) vec1 32 ssa_191 = load_const (0x00000003 /* 0.000000 */) intrinsic store_deref (ssa_190, ssa_191) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_192 = deref_var &const_temp@21 (function_temp bvec4) vec4 1 ssa_193 = load_const (false, false, false, false) intrinsic store_deref (ssa_192, ssa_193) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_194 = deref_var &const_temp@22 (function_temp vec4) vec4 32 ssa_195 = load_const (0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */, 0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */) intrinsic store_deref (ssa_194, ssa_195) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_196 = deref_var &const_temp@23 (function_temp vec4) vec4 32 ssa_197 = load_const (0x3f800000 /* 1.000000 */, 0x00000000 /* 0.000000 */, 0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */) intrinsic store_deref (ssa_196, ssa_197) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_0 = deref_var &flattening_tmp (function_temp vec4) vec1 32 ssa_1 = deref_var &const_temp (function_temp int) vec1 32 ssa_2 = intrinsic load_deref (ssa_1) (0) /* access=0 */ vec1 32 ssa_3 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_4 = deref_array &(*ssa_3)[ssa_2] (uniform vec4) /* &gl_ModelViewProjectionMatrix[ssa_2] */ vec4 32 ssa_5 = intrinsic load_deref (ssa_4) (0) /* access=0 */ vec1 32 ssa_6 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_7 = intrinsic load_deref (ssa_6) (0) /* access=0 */ vec1 32 ssa_8 = imov ssa_7.x vec1 32 ssa_202 = fmul ssa_5.x, ssa_8 vec1 32 ssa_203 = fmul ssa_5.y, ssa_8 vec1 32 ssa_204 = fmul ssa_5.z, ssa_8 vec1 32 ssa_205 = fmul ssa_5.w, ssa_8 vec4 32 ssa_206 = vec4 ssa_202, ssa_203, ssa_204, ssa_205 vec1 32 ssa_10 = deref_var &const_temp@0 (function_temp int) vec1 32 ssa_11 = intrinsic load_deref (ssa_10) (0) /* access=0 */ vec1 32 ssa_12 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_13 = deref_array &(*ssa_12)[ssa_11] (uniform vec4) /* &gl_ModelViewProjectionMatrix[ssa_11] */ vec4 32 ssa_14 = intrinsic load_deref (ssa_13) (0) /* access=0 */ vec1 32 ssa_15 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_16 = intrinsic load_deref (ssa_15) (0) /* access=0 */ vec1 32 ssa_17 = imov ssa_16.y vec1 32 ssa_207 = fmul ssa_14.x, ssa_17 vec1 32 ssa_208 = fmul ssa_14.y, ssa_17 vec1 32 ssa_209 = fmul ssa_14.z, ssa_17 vec1 32 ssa_210 = fmul ssa_14.w, ssa_17 vec4 32 ssa_211 = vec4 ssa_207, ssa_208, ssa_209, ssa_210 vec1 32 ssa_212 = fadd ssa_206.x, ssa_211.x vec1 32 ssa_213 = fadd ssa_206.y, ssa_211.y vec1 32 ssa_214 = fadd ssa_206.z, ssa_211.z vec1 32 ssa_215 = fadd ssa_206.w, ssa_211.w vec4 32 ssa_216 = vec4 ssa_212, ssa_213, ssa_214, ssa_215 vec1 32 ssa_20 = deref_var &const_temp@1 (function_temp int) vec1 32 ssa_21 = intrinsic load_deref (ssa_20) (0) /* access=0 */ vec1 32 ssa_22 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_23 = deref_array &(*ssa_22)[ssa_21] (uniform vec4) /* &gl_ModelViewProjectionMatrix[ssa_21] */ vec4 32 ssa_24 = intrinsic load_deref (ssa_23) (0) /* access=0 */ vec1 32 ssa_25 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_26 = intrinsic load_deref (ssa_25) (0) /* access=0 */ vec1 32 ssa_27 = imov ssa_26.z vec1 32 ssa_217 = fmul ssa_24.x, ssa_27 vec1 32 ssa_218 = fmul ssa_24.y, ssa_27 vec1 32 ssa_219 = fmul ssa_24.z, ssa_27 vec1 32 ssa_220 = fmul ssa_24.w, ssa_27 vec4 32 ssa_221 = vec4 ssa_217, ssa_218, ssa_219, ssa_220 vec1 32 ssa_222 = fadd ssa_216.x, ssa_221.x vec1 32 ssa_223 = fadd ssa_216.y, ssa_221.y vec1 32 ssa_224 = fadd ssa_216.z, ssa_221.z vec1 32 ssa_225 = fadd ssa_216.w, ssa_221.w vec4 32 ssa_226 = vec4 ssa_222, ssa_223, ssa_224, ssa_225 vec1 32 ssa_30 = deref_var &const_temp@2 (function_temp int) vec1 32 ssa_31 = intrinsic load_deref (ssa_30) (0) /* access=0 */ vec1 32 ssa_32 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_33 = deref_array &(*ssa_32)[ssa_31] (uniform vec4) /* &gl_ModelViewProjectionMatrix[ssa_31] */ vec4 32 ssa_34 = intrinsic load_deref (ssa_33) (0) /* access=0 */ vec1 32 ssa_35 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_36 = intrinsic load_deref (ssa_35) (0) /* access=0 */ vec1 32 ssa_37 = imov ssa_36.w vec1 32 ssa_227 = fmul ssa_34.x, ssa_37 vec1 32 ssa_228 = fmul ssa_34.y, ssa_37 vec1 32 ssa_229 = fmul ssa_34.z, ssa_37 vec1 32 ssa_230 = fmul ssa_34.w, ssa_37 vec4 32 ssa_231 = vec4 ssa_227, ssa_228, ssa_229, ssa_230 vec1 32 ssa_232 = fadd ssa_226.x, ssa_231.x vec1 32 ssa_233 = fadd ssa_226.y, ssa_231.y vec1 32 ssa_234 = fadd ssa_226.z, ssa_231.z vec1 32 ssa_235 = fadd ssa_226.w, ssa_231.w vec4 32 ssa_236 = vec4 ssa_232, ssa_233, ssa_234, ssa_235 intrinsic store_deref (ssa_0, ssa_236) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_40 = deref_var &flattening_tmp (function_temp vec4) vec1 32 ssa_41 = deref_var &out@gl_Position-temp (shader_temp vec4) intrinsic copy_deref (ssa_41, ssa_40) () vec1 32 ssa_42 = deref_var &vec_ctor (function_temp ivec3) vec1 32 ssa_43 = deref_var &const_temp@3 (function_temp int) vec1 32 ssa_44 = intrinsic load_deref (ssa_43) (0) /* access=0 */ vec1 32 ssa_237 = imov ssa_44 vec1 32 ssa_238 = imov ssa_44 vec1 32 ssa_239 = imov ssa_44 vec3 32 ssa_240 = vec3 ssa_237, ssa_238, ssa_239 intrinsic store_deref (ssa_42, ssa_240) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_46 = deref_var &vec_ctor (function_temp ivec3) vec1 32 ssa_47 = deref_var &j (uniform ivec2) vec2 32 ssa_48 = intrinsic load_deref (ssa_47) (0) /* access=0 */ vec1 32 ssa_241 = imov ssa_48.x vec1 32 ssa_242 = imov ssa_48.x vec1 32 ssa_243 = imov ssa_48.y vec3 32 ssa_244 = vec3 ssa_241, ssa_242, ssa_243 intrinsic store_deref (ssa_46, ssa_244) (6, 0) /* wrmask=yz */ /* access=0 */ vec1 32 ssa_50 = deref_var &const_temp@4 (function_temp uint) vec1 32 ssa_51 = intrinsic load_deref (ssa_50) (0) /* access=0 */ vec1 32 ssa_52 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_53 = deref_array &(*ssa_52)[ssa_51] (function_temp vec3) /* &mat_ctor[ssa_51] */ vec1 32 ssa_54 = deref_var &vec_ctor (function_temp ivec3) vec3 32 ssa_55 = intrinsic load_deref (ssa_54) (0) /* access=0 */ vec1 32 ssa_245 = i2f32 ssa_55.x vec1 32 ssa_246 = i2f32 ssa_55.y vec1 32 ssa_247 = i2f32 ssa_55.z vec3 32 ssa_248 = vec3 ssa_245, ssa_246, ssa_247 intrinsic store_deref (ssa_53, ssa_248) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_57 = deref_var &const_temp@5 (function_temp vec3) vec1 32 ssa_58 = deref_var &const_temp@6 (function_temp uint) vec1 32 ssa_59 = intrinsic load_deref (ssa_58) (0) /* access=0 */ vec1 32 ssa_60 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_61 = deref_array &(*ssa_60)[ssa_59] (function_temp vec3) /* &mat_ctor[ssa_59] */ intrinsic copy_deref (ssa_61, ssa_57) () vec1 32 ssa_62 = deref_var &const_temp@7 (function_temp vec3) vec1 32 ssa_63 = deref_var &const_temp@8 (function_temp uint) vec1 32 ssa_64 = intrinsic load_deref (ssa_63) (0) /* access=0 */ vec1 32 ssa_65 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_66 = deref_array &(*ssa_65)[ssa_64] (function_temp vec3) /* &mat_ctor[ssa_64] */ intrinsic copy_deref (ssa_66, ssa_62) () vec1 32 ssa_67 = deref_var &const_temp@9 (function_temp vec3) vec1 32 ssa_68 = deref_var &const_temp@10 (function_temp uint) vec1 32 ssa_69 = intrinsic load_deref (ssa_68) (0) /* access=0 */ vec1 32 ssa_70 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_71 = deref_array &(*ssa_70)[ssa_69] (function_temp vec3) /* &mat_ctor[ssa_69] */ intrinsic copy_deref (ssa_71, ssa_67) () vec1 32 ssa_72 = deref_var &const_temp@12 (function_temp mat4x3) vec1 32 ssa_73 = deref_var &mat_op_to_vec (function_temp mat4x3) intrinsic copy_deref (ssa_73, ssa_72) () vec1 32 ssa_74 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 32 ssa_75 = deref_var &const_temp@13 (function_temp int) vec1 32 ssa_76 = intrinsic load_deref (ssa_75) (0) /* access=0 */ vec1 32 ssa_77 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_78 = deref_array &(*ssa_77)[ssa_76] (function_temp vec3) /* &mat_op_to_vec[ssa_76] */ vec3 32 ssa_79 = intrinsic load_deref (ssa_78) (0) /* access=0 */ vec1 32 ssa_80 = deref_var &const_temp@14 (function_temp int) vec1 32 ssa_81 = intrinsic load_deref (ssa_80) (0) /* access=0 */ vec1 32 ssa_82 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_83 = deref_array &(*ssa_82)[ssa_81] (function_temp vec3) /* &mat_ctor[ssa_81] */ vec3 32 ssa_84 = intrinsic load_deref (ssa_83) (0) /* access=0 */ vec1 1 ssa_249 = fne ssa_79.x, ssa_84.x vec1 1 ssa_250 = fne ssa_79.y, ssa_84.y vec1 1 ssa_251 = ior ssa_249, ssa_250 vec1 1 ssa_252 = fne ssa_79.z, ssa_84.z vec1 1 ssa_253 = ior ssa_251, ssa_252 vec1 1 ssa_254 = imov ssa_253 vec1 1 ssa_255 = imov ssa_253 vec1 1 ssa_256 = imov ssa_253 vec1 1 ssa_257 = imov ssa_253 vec4 1 ssa_258 = vec4 ssa_254, ssa_255, ssa_256, ssa_257 intrinsic store_deref (ssa_74, ssa_258) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_87 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 32 ssa_88 = deref_var &const_temp@15 (function_temp int) vec1 32 ssa_89 = intrinsic load_deref (ssa_88) (0) /* access=0 */ vec1 32 ssa_90 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_91 = deref_array &(*ssa_90)[ssa_89] (function_temp vec3) /* &mat_op_to_vec[ssa_89] */ vec3 32 ssa_92 = intrinsic load_deref (ssa_91) (0) /* access=0 */ vec1 32 ssa_93 = deref_var &const_temp@16 (function_temp int) vec1 32 ssa_94 = intrinsic load_deref (ssa_93) (0) /* access=0 */ vec1 32 ssa_95 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_96 = deref_array &(*ssa_95)[ssa_94] (function_temp vec3) /* &mat_ctor[ssa_94] */ vec3 32 ssa_97 = intrinsic load_deref (ssa_96) (0) /* access=0 */ vec1 1 ssa_259 = fne ssa_92.x, ssa_97.x vec1 1 ssa_260 = fne ssa_92.y, ssa_97.y vec1 1 ssa_261 = ior ssa_259, ssa_260 vec1 1 ssa_262 = fne ssa_92.z, ssa_97.z vec1 1 ssa_263 = ior ssa_261, ssa_262 vec1 1 ssa_264 = imov ssa_263 vec1 1 ssa_265 = imov ssa_263 vec1 1 ssa_266 = imov ssa_263 vec1 1 ssa_267 = imov ssa_263 vec4 1 ssa_268 = vec4 ssa_264, ssa_265, ssa_266, ssa_267 intrinsic store_deref (ssa_87, ssa_268) (2, 0) /* wrmask=y */ /* access=0 */ vec1 32 ssa_100 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 32 ssa_101 = deref_var &const_temp@17 (function_temp int) vec1 32 ssa_102 = intrinsic load_deref (ssa_101) (0) /* access=0 */ vec1 32 ssa_103 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_104 = deref_array &(*ssa_103)[ssa_102] (function_temp vec3) /* &mat_op_to_vec[ssa_102] */ vec3 32 ssa_105 = intrinsic load_deref (ssa_104) (0) /* access=0 */ vec1 32 ssa_106 = deref_var &const_temp@18 (function_temp int) vec1 32 ssa_107 = intrinsic load_deref (ssa_106) (0) /* access=0 */ vec1 32 ssa_108 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_109 = deref_array &(*ssa_108)[ssa_107] (function_temp vec3) /* &mat_ctor[ssa_107] */ vec3 32 ssa_110 = intrinsic load_deref (ssa_109) (0) /* access=0 */ vec1 1 ssa_269 = fne ssa_105.x, ssa_110.x vec1 1 ssa_270 = fne ssa_105.y, ssa_110.y vec1 1 ssa_271 = ior ssa_269, ssa_270 vec1 1 ssa_272 = fne ssa_105.z, ssa_110.z vec1 1 ssa_273 = ior ssa_271, ssa_272 vec1 1 ssa_274 = imov ssa_273 vec1 1 ssa_275 = imov ssa_273 vec1 1 ssa_276 = imov ssa_273 vec1 1 ssa_277 = imov ssa_273 vec4 1 ssa_278 = vec4 ssa_274, ssa_275, ssa_276, ssa_277 intrinsic store_deref (ssa_100, ssa_278) (4, 0) /* wrmask=z */ /* access=0 */ vec1 32 ssa_113 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 32 ssa_114 = deref_var &const_temp@19 (function_temp int) vec1 32 ssa_115 = intrinsic load_deref (ssa_114) (0) /* access=0 */ vec1 32 ssa_116 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_117 = deref_array &(*ssa_116)[ssa_115] (function_temp vec3) /* &mat_op_to_vec[ssa_115] */ vec3 32 ssa_118 = intrinsic load_deref (ssa_117) (0) /* access=0 */ vec1 32 ssa_119 = deref_var &const_temp@20 (function_temp int) vec1 32 ssa_120 = intrinsic load_deref (ssa_119) (0) /* access=0 */ vec1 32 ssa_121 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_122 = deref_array &(*ssa_121)[ssa_120] (function_temp vec3) /* &mat_ctor[ssa_120] */ vec3 32 ssa_123 = intrinsic load_deref (ssa_122) (0) /* access=0 */ vec1 1 ssa_279 = fne ssa_118.x, ssa_123.x vec1 1 ssa_280 = fne ssa_118.y, ssa_123.y vec1 1 ssa_281 = ior ssa_279, ssa_280 vec1 1 ssa_282 = fne ssa_118.z, ssa_123.z vec1 1 ssa_283 = ior ssa_281, ssa_282 vec1 1 ssa_284 = imov ssa_283 vec1 1 ssa_285 = imov ssa_283 vec1 1 ssa_286 = imov ssa_283 vec1 1 ssa_287 = imov ssa_283 vec4 1 ssa_288 = vec4 ssa_284, ssa_285, ssa_286, ssa_287 intrinsic store_deref (ssa_113, ssa_288) (8, 0) /* wrmask=w */ /* access=0 */ vec1 32 ssa_126 = deref_var &flattening_tmp@11 (function_temp bool) vec1 32 ssa_127 = deref_var &mat_cmp_bvec (function_temp bvec4) vec4 1 ssa_128 = intrinsic load_deref (ssa_127) (0) /* access=0 */ vec1 32 ssa_129 = deref_var &const_temp@21 (function_temp bvec4) vec4 1 ssa_130 = intrinsic load_deref (ssa_129) (0) /* access=0 */ vec1 1 ssa_289 = ine ssa_128.x, ssa_130.x vec1 1 ssa_290 = ine ssa_128.y, ssa_130.y vec1 1 ssa_291 = ior ssa_289, ssa_290 vec1 1 ssa_292 = ine ssa_128.z, ssa_130.z vec1 1 ssa_293 = ior ssa_291, ssa_292 vec1 1 ssa_294 = ine ssa_128.w, ssa_130.w vec1 1 ssa_295 = ior ssa_293, ssa_294 vec1 1 ssa_132 = inot ssa_295 intrinsic store_deref (ssa_126, ssa_132) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_133 = deref_var &flattening_tmp@11 (function_temp bool) vec1 1 ssa_134 = intrinsic load_deref (ssa_133) (0) /* access=0 */ /* succs: block_1 block_2 */ if ssa_134 { block block_1: /* preds: block_0 */ vec1 32 ssa_135 = deref_var &const_temp@22 (function_temp vec4) vec1 32 ssa_136 = deref_var &out@gl_FrontColor-temp (shader_temp vec4) intrinsic copy_deref (ssa_136, ssa_135) () /* succs: block_3 */ } else { block block_2: /* preds: block_0 */ vec1 32 ssa_137 = deref_var &const_temp@23 (function_temp vec4) vec1 32 ssa_138 = deref_var &out@gl_FrontColor-temp (shader_temp vec4) intrinsic copy_deref (ssa_138, ssa_137) () /* succs: block_3 */ } block block_3: /* preds: block_1 block_2 */ vec1 32 ssa_198 = deref_var &out@gl_Position-temp (shader_temp vec4) vec1 32 ssa_199 = deref_var &gl_Position (shader_out vec4) intrinsic copy_deref (ssa_199, ssa_198) () vec1 32 ssa_200 = deref_var &out@gl_FrontColor-temp (shader_temp vec4) vec1 32 ssa_201 = deref_var &gl_FrontColor (shader_out vec4) intrinsic copy_deref (ssa_201, ssa_200) () /* succs: block_4 */ block block_4: } nir_opt_algebraic nir_lower_int64 nir_lower_doubles nir_opt_algebraic nir_lower_constant_initializers nir_lower_tex nir_normalize_cubemap_coords nir_lower_global_vars_to_local shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 0, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 0, 0) decl_function main (0 params) impl main { decl_var INTERP_MODE_NONE vec4 flattening_tmp decl_var INTERP_MODE_NONE int const_temp decl_var INTERP_MODE_NONE int const_temp@0 decl_var INTERP_MODE_NONE int const_temp@1 decl_var INTERP_MODE_NONE int const_temp@2 decl_var INTERP_MODE_NONE ivec3 vec_ctor decl_var INTERP_MODE_NONE int const_temp@3 decl_var INTERP_MODE_NONE mat4x3 mat_ctor decl_var INTERP_MODE_NONE uint const_temp@4 decl_var INTERP_MODE_NONE vec3 const_temp@5 decl_var INTERP_MODE_NONE uint const_temp@6 decl_var INTERP_MODE_NONE vec3 const_temp@7 decl_var INTERP_MODE_NONE uint const_temp@8 decl_var INTERP_MODE_NONE vec3 const_temp@9 decl_var INTERP_MODE_NONE uint const_temp@10 decl_var INTERP_MODE_NONE bool flattening_tmp@11 decl_var INTERP_MODE_NONE mat4x3 mat_op_to_vec decl_var INTERP_MODE_NONE mat4x3 const_temp@12 decl_var INTERP_MODE_NONE bvec4 mat_cmp_bvec decl_var INTERP_MODE_NONE int const_temp@13 decl_var INTERP_MODE_NONE int const_temp@14 decl_var INTERP_MODE_NONE int const_temp@15 decl_var INTERP_MODE_NONE int const_temp@16 decl_var INTERP_MODE_NONE int const_temp@17 decl_var INTERP_MODE_NONE int const_temp@18 decl_var INTERP_MODE_NONE int const_temp@19 decl_var INTERP_MODE_NONE int const_temp@20 decl_var INTERP_MODE_NONE bvec4 const_temp@21 decl_var INTERP_MODE_NONE vec4 const_temp@22 decl_var INTERP_MODE_NONE vec4 const_temp@23 decl_var INTERP_MODE_NONE vec4 out@gl_FrontColor-temp decl_var INTERP_MODE_NONE vec4 out@gl_Position-temp block block_0: /* preds: */ vec1 32 ssa_139 = deref_var &const_temp (function_temp int) vec1 32 ssa_140 = load_const (0x00000000 /* 0.000000 */) intrinsic store_deref (ssa_139, ssa_140) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_141 = deref_var &const_temp@0 (function_temp int) vec1 32 ssa_142 = load_const (0x00000001 /* 0.000000 */) intrinsic store_deref (ssa_141, ssa_142) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_143 = deref_var &const_temp@1 (function_temp int) vec1 32 ssa_144 = load_const (0x00000002 /* 0.000000 */) intrinsic store_deref (ssa_143, ssa_144) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_145 = deref_var &const_temp@2 (function_temp int) vec1 32 ssa_146 = load_const (0x00000003 /* 0.000000 */) intrinsic store_deref (ssa_145, ssa_146) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_147 = deref_var &const_temp@3 (function_temp int) vec1 32 ssa_148 = load_const (0x00000001 /* 0.000000 */) intrinsic store_deref (ssa_147, ssa_148) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_149 = deref_var &const_temp@4 (function_temp uint) vec1 32 ssa_150 = load_const (0x00000000 /* 0.000000 */) intrinsic store_deref (ssa_149, ssa_150) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_151 = deref_var &const_temp@5 (function_temp vec3) vec3 32 ssa_152 = load_const (0x40800000 /* 4.000000 */, 0x40a00000 /* 5.000000 */, 0x40c00000 /* 6.000000 */) intrinsic store_deref (ssa_151, ssa_152) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_153 = deref_var &const_temp@6 (function_temp uint) vec1 32 ssa_154 = load_const (0x00000001 /* 0.000000 */) intrinsic store_deref (ssa_153, ssa_154) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_155 = deref_var &const_temp@7 (function_temp vec3) vec3 32 ssa_156 = load_const (0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */) intrinsic store_deref (ssa_155, ssa_156) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_157 = deref_var &const_temp@8 (function_temp uint) vec1 32 ssa_158 = load_const (0x00000002 /* 0.000000 */) intrinsic store_deref (ssa_157, ssa_158) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_159 = deref_var &const_temp@9 (function_temp vec3) vec3 32 ssa_160 = load_const (0x41000000 /* 8.000000 */, 0x40e00000 /* 7.000000 */, 0x41200000 /* 10.000000 */) intrinsic store_deref (ssa_159, ssa_160) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_161 = deref_var &const_temp@10 (function_temp uint) vec1 32 ssa_162 = load_const (0x00000003 /* 0.000000 */) intrinsic store_deref (ssa_161, ssa_162) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_163 = deref_var &const_temp@12 (function_temp mat4x3) vec3 32 ssa_164 = load_const (0x3f800000 /* 1.000000 */, 0x40000000 /* 2.000000 */, 0x40400000 /* 3.000000 */) vec1 32 ssa_165 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_166 = deref_array &(*ssa_163)[0] (function_temp vec3) /* &const_temp@12[0] */ intrinsic store_deref (ssa_166, ssa_164) (7, 0) /* wrmask=xyz */ /* access=0 */ vec3 32 ssa_167 = load_const (0x40800000 /* 4.000000 */, 0x40a00000 /* 5.000000 */, 0x40c00000 /* 6.000000 */) vec1 32 ssa_168 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_169 = deref_array &(*ssa_163)[1] (function_temp vec3) /* &const_temp@12[1] */ intrinsic store_deref (ssa_169, ssa_167) (7, 0) /* wrmask=xyz */ /* access=0 */ vec3 32 ssa_170 = load_const (0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */) vec1 32 ssa_171 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_172 = deref_array &(*ssa_163)[2] (function_temp vec3) /* &const_temp@12[2] */ intrinsic store_deref (ssa_172, ssa_170) (7, 0) /* wrmask=xyz */ /* access=0 */ vec3 32 ssa_173 = load_const (0x41000000 /* 8.000000 */, 0x40e00000 /* 7.000000 */, 0x41200000 /* 10.000000 */) vec1 32 ssa_174 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_175 = deref_array &(*ssa_163)[3] (function_temp vec3) /* &const_temp@12[3] */ intrinsic store_deref (ssa_175, ssa_173) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_176 = deref_var &const_temp@13 (function_temp int) vec1 32 ssa_177 = load_const (0x00000000 /* 0.000000 */) intrinsic store_deref (ssa_176, ssa_177) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_178 = deref_var &const_temp@14 (function_temp int) vec1 32 ssa_179 = load_const (0x00000000 /* 0.000000 */) intrinsic store_deref (ssa_178, ssa_179) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_180 = deref_var &const_temp@15 (function_temp int) vec1 32 ssa_181 = load_const (0x00000001 /* 0.000000 */) intrinsic store_deref (ssa_180, ssa_181) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_182 = deref_var &const_temp@16 (function_temp int) vec1 32 ssa_183 = load_const (0x00000001 /* 0.000000 */) intrinsic store_deref (ssa_182, ssa_183) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_184 = deref_var &const_temp@17 (function_temp int) vec1 32 ssa_185 = load_const (0x00000002 /* 0.000000 */) intrinsic store_deref (ssa_184, ssa_185) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_186 = deref_var &const_temp@18 (function_temp int) vec1 32 ssa_187 = load_const (0x00000002 /* 0.000000 */) intrinsic store_deref (ssa_186, ssa_187) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_188 = deref_var &const_temp@19 (function_temp int) vec1 32 ssa_189 = load_const (0x00000003 /* 0.000000 */) intrinsic store_deref (ssa_188, ssa_189) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_190 = deref_var &const_temp@20 (function_temp int) vec1 32 ssa_191 = load_const (0x00000003 /* 0.000000 */) intrinsic store_deref (ssa_190, ssa_191) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_192 = deref_var &const_temp@21 (function_temp bvec4) vec4 1 ssa_193 = load_const (false, false, false, false) intrinsic store_deref (ssa_192, ssa_193) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_194 = deref_var &const_temp@22 (function_temp vec4) vec4 32 ssa_195 = load_const (0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */, 0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */) intrinsic store_deref (ssa_194, ssa_195) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_196 = deref_var &const_temp@23 (function_temp vec4) vec4 32 ssa_197 = load_const (0x3f800000 /* 1.000000 */, 0x00000000 /* 0.000000 */, 0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */) intrinsic store_deref (ssa_196, ssa_197) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_0 = deref_var &flattening_tmp (function_temp vec4) vec1 32 ssa_1 = deref_var &const_temp (function_temp int) vec1 32 ssa_2 = intrinsic load_deref (ssa_1) (0) /* access=0 */ vec1 32 ssa_3 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_4 = deref_array &(*ssa_3)[ssa_2] (uniform vec4) /* &gl_ModelViewProjectionMatrix[ssa_2] */ vec4 32 ssa_5 = intrinsic load_deref (ssa_4) (0) /* access=0 */ vec1 32 ssa_6 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_7 = intrinsic load_deref (ssa_6) (0) /* access=0 */ vec1 32 ssa_8 = imov ssa_7.x vec1 32 ssa_202 = fmul ssa_5.x, ssa_8 vec1 32 ssa_203 = fmul ssa_5.y, ssa_8 vec1 32 ssa_204 = fmul ssa_5.z, ssa_8 vec1 32 ssa_205 = fmul ssa_5.w, ssa_8 vec4 32 ssa_206 = vec4 ssa_202, ssa_203, ssa_204, ssa_205 vec1 32 ssa_10 = deref_var &const_temp@0 (function_temp int) vec1 32 ssa_11 = intrinsic load_deref (ssa_10) (0) /* access=0 */ vec1 32 ssa_12 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_13 = deref_array &(*ssa_12)[ssa_11] (uniform vec4) /* &gl_ModelViewProjectionMatrix[ssa_11] */ vec4 32 ssa_14 = intrinsic load_deref (ssa_13) (0) /* access=0 */ vec1 32 ssa_15 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_16 = intrinsic load_deref (ssa_15) (0) /* access=0 */ vec1 32 ssa_17 = imov ssa_16.y vec1 32 ssa_207 = fmul ssa_14.x, ssa_17 vec1 32 ssa_208 = fmul ssa_14.y, ssa_17 vec1 32 ssa_209 = fmul ssa_14.z, ssa_17 vec1 32 ssa_210 = fmul ssa_14.w, ssa_17 vec4 32 ssa_211 = vec4 ssa_207, ssa_208, ssa_209, ssa_210 vec1 32 ssa_212 = fadd ssa_206.x, ssa_211.x vec1 32 ssa_213 = fadd ssa_206.y, ssa_211.y vec1 32 ssa_214 = fadd ssa_206.z, ssa_211.z vec1 32 ssa_215 = fadd ssa_206.w, ssa_211.w vec4 32 ssa_216 = vec4 ssa_212, ssa_213, ssa_214, ssa_215 vec1 32 ssa_20 = deref_var &const_temp@1 (function_temp int) vec1 32 ssa_21 = intrinsic load_deref (ssa_20) (0) /* access=0 */ vec1 32 ssa_22 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_23 = deref_array &(*ssa_22)[ssa_21] (uniform vec4) /* &gl_ModelViewProjectionMatrix[ssa_21] */ vec4 32 ssa_24 = intrinsic load_deref (ssa_23) (0) /* access=0 */ vec1 32 ssa_25 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_26 = intrinsic load_deref (ssa_25) (0) /* access=0 */ vec1 32 ssa_27 = imov ssa_26.z vec1 32 ssa_217 = fmul ssa_24.x, ssa_27 vec1 32 ssa_218 = fmul ssa_24.y, ssa_27 vec1 32 ssa_219 = fmul ssa_24.z, ssa_27 vec1 32 ssa_220 = fmul ssa_24.w, ssa_27 vec4 32 ssa_221 = vec4 ssa_217, ssa_218, ssa_219, ssa_220 vec1 32 ssa_222 = fadd ssa_216.x, ssa_221.x vec1 32 ssa_223 = fadd ssa_216.y, ssa_221.y vec1 32 ssa_224 = fadd ssa_216.z, ssa_221.z vec1 32 ssa_225 = fadd ssa_216.w, ssa_221.w vec4 32 ssa_226 = vec4 ssa_222, ssa_223, ssa_224, ssa_225 vec1 32 ssa_30 = deref_var &const_temp@2 (function_temp int) vec1 32 ssa_31 = intrinsic load_deref (ssa_30) (0) /* access=0 */ vec1 32 ssa_32 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_33 = deref_array &(*ssa_32)[ssa_31] (uniform vec4) /* &gl_ModelViewProjectionMatrix[ssa_31] */ vec4 32 ssa_34 = intrinsic load_deref (ssa_33) (0) /* access=0 */ vec1 32 ssa_35 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_36 = intrinsic load_deref (ssa_35) (0) /* access=0 */ vec1 32 ssa_37 = imov ssa_36.w vec1 32 ssa_227 = fmul ssa_34.x, ssa_37 vec1 32 ssa_228 = fmul ssa_34.y, ssa_37 vec1 32 ssa_229 = fmul ssa_34.z, ssa_37 vec1 32 ssa_230 = fmul ssa_34.w, ssa_37 vec4 32 ssa_231 = vec4 ssa_227, ssa_228, ssa_229, ssa_230 vec1 32 ssa_232 = fadd ssa_226.x, ssa_231.x vec1 32 ssa_233 = fadd ssa_226.y, ssa_231.y vec1 32 ssa_234 = fadd ssa_226.z, ssa_231.z vec1 32 ssa_235 = fadd ssa_226.w, ssa_231.w vec4 32 ssa_236 = vec4 ssa_232, ssa_233, ssa_234, ssa_235 intrinsic store_deref (ssa_0, ssa_236) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_40 = deref_var &flattening_tmp (function_temp vec4) vec1 32 ssa_41 = deref_var &out@gl_Position-temp (function_temp vec4) intrinsic copy_deref (ssa_41, ssa_40) () vec1 32 ssa_42 = deref_var &vec_ctor (function_temp ivec3) vec1 32 ssa_43 = deref_var &const_temp@3 (function_temp int) vec1 32 ssa_44 = intrinsic load_deref (ssa_43) (0) /* access=0 */ vec1 32 ssa_237 = imov ssa_44 vec1 32 ssa_238 = imov ssa_44 vec1 32 ssa_239 = imov ssa_44 vec3 32 ssa_240 = vec3 ssa_237, ssa_238, ssa_239 intrinsic store_deref (ssa_42, ssa_240) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_46 = deref_var &vec_ctor (function_temp ivec3) vec1 32 ssa_47 = deref_var &j (uniform ivec2) vec2 32 ssa_48 = intrinsic load_deref (ssa_47) (0) /* access=0 */ vec1 32 ssa_241 = imov ssa_48.x vec1 32 ssa_242 = imov ssa_48.x vec1 32 ssa_243 = imov ssa_48.y vec3 32 ssa_244 = vec3 ssa_241, ssa_242, ssa_243 intrinsic store_deref (ssa_46, ssa_244) (6, 0) /* wrmask=yz */ /* access=0 */ vec1 32 ssa_50 = deref_var &const_temp@4 (function_temp uint) vec1 32 ssa_51 = intrinsic load_deref (ssa_50) (0) /* access=0 */ vec1 32 ssa_52 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_53 = deref_array &(*ssa_52)[ssa_51] (function_temp vec3) /* &mat_ctor[ssa_51] */ vec1 32 ssa_54 = deref_var &vec_ctor (function_temp ivec3) vec3 32 ssa_55 = intrinsic load_deref (ssa_54) (0) /* access=0 */ vec1 32 ssa_245 = i2f32 ssa_55.x vec1 32 ssa_246 = i2f32 ssa_55.y vec1 32 ssa_247 = i2f32 ssa_55.z vec3 32 ssa_248 = vec3 ssa_245, ssa_246, ssa_247 intrinsic store_deref (ssa_53, ssa_248) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_57 = deref_var &const_temp@5 (function_temp vec3) vec1 32 ssa_58 = deref_var &const_temp@6 (function_temp uint) vec1 32 ssa_59 = intrinsic load_deref (ssa_58) (0) /* access=0 */ vec1 32 ssa_60 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_61 = deref_array &(*ssa_60)[ssa_59] (function_temp vec3) /* &mat_ctor[ssa_59] */ intrinsic copy_deref (ssa_61, ssa_57) () vec1 32 ssa_62 = deref_var &const_temp@7 (function_temp vec3) vec1 32 ssa_63 = deref_var &const_temp@8 (function_temp uint) vec1 32 ssa_64 = intrinsic load_deref (ssa_63) (0) /* access=0 */ vec1 32 ssa_65 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_66 = deref_array &(*ssa_65)[ssa_64] (function_temp vec3) /* &mat_ctor[ssa_64] */ intrinsic copy_deref (ssa_66, ssa_62) () vec1 32 ssa_67 = deref_var &const_temp@9 (function_temp vec3) vec1 32 ssa_68 = deref_var &const_temp@10 (function_temp uint) vec1 32 ssa_69 = intrinsic load_deref (ssa_68) (0) /* access=0 */ vec1 32 ssa_70 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_71 = deref_array &(*ssa_70)[ssa_69] (function_temp vec3) /* &mat_ctor[ssa_69] */ intrinsic copy_deref (ssa_71, ssa_67) () vec1 32 ssa_72 = deref_var &const_temp@12 (function_temp mat4x3) vec1 32 ssa_73 = deref_var &mat_op_to_vec (function_temp mat4x3) intrinsic copy_deref (ssa_73, ssa_72) () vec1 32 ssa_74 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 32 ssa_75 = deref_var &const_temp@13 (function_temp int) vec1 32 ssa_76 = intrinsic load_deref (ssa_75) (0) /* access=0 */ vec1 32 ssa_77 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_78 = deref_array &(*ssa_77)[ssa_76] (function_temp vec3) /* &mat_op_to_vec[ssa_76] */ vec3 32 ssa_79 = intrinsic load_deref (ssa_78) (0) /* access=0 */ vec1 32 ssa_80 = deref_var &const_temp@14 (function_temp int) vec1 32 ssa_81 = intrinsic load_deref (ssa_80) (0) /* access=0 */ vec1 32 ssa_82 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_83 = deref_array &(*ssa_82)[ssa_81] (function_temp vec3) /* &mat_ctor[ssa_81] */ vec3 32 ssa_84 = intrinsic load_deref (ssa_83) (0) /* access=0 */ vec1 1 ssa_249 = fne ssa_79.x, ssa_84.x vec1 1 ssa_250 = fne ssa_79.y, ssa_84.y vec1 1 ssa_251 = ior ssa_249, ssa_250 vec1 1 ssa_252 = fne ssa_79.z, ssa_84.z vec1 1 ssa_253 = ior ssa_251, ssa_252 vec1 1 ssa_254 = imov ssa_253 vec1 1 ssa_255 = imov ssa_253 vec1 1 ssa_256 = imov ssa_253 vec1 1 ssa_257 = imov ssa_253 vec4 1 ssa_258 = vec4 ssa_254, ssa_255, ssa_256, ssa_257 intrinsic store_deref (ssa_74, ssa_258) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_87 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 32 ssa_88 = deref_var &const_temp@15 (function_temp int) vec1 32 ssa_89 = intrinsic load_deref (ssa_88) (0) /* access=0 */ vec1 32 ssa_90 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_91 = deref_array &(*ssa_90)[ssa_89] (function_temp vec3) /* &mat_op_to_vec[ssa_89] */ vec3 32 ssa_92 = intrinsic load_deref (ssa_91) (0) /* access=0 */ vec1 32 ssa_93 = deref_var &const_temp@16 (function_temp int) vec1 32 ssa_94 = intrinsic load_deref (ssa_93) (0) /* access=0 */ vec1 32 ssa_95 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_96 = deref_array &(*ssa_95)[ssa_94] (function_temp vec3) /* &mat_ctor[ssa_94] */ vec3 32 ssa_97 = intrinsic load_deref (ssa_96) (0) /* access=0 */ vec1 1 ssa_259 = fne ssa_92.x, ssa_97.x vec1 1 ssa_260 = fne ssa_92.y, ssa_97.y vec1 1 ssa_261 = ior ssa_259, ssa_260 vec1 1 ssa_262 = fne ssa_92.z, ssa_97.z vec1 1 ssa_263 = ior ssa_261, ssa_262 vec1 1 ssa_264 = imov ssa_263 vec1 1 ssa_265 = imov ssa_263 vec1 1 ssa_266 = imov ssa_263 vec1 1 ssa_267 = imov ssa_263 vec4 1 ssa_268 = vec4 ssa_264, ssa_265, ssa_266, ssa_267 intrinsic store_deref (ssa_87, ssa_268) (2, 0) /* wrmask=y */ /* access=0 */ vec1 32 ssa_100 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 32 ssa_101 = deref_var &const_temp@17 (function_temp int) vec1 32 ssa_102 = intrinsic load_deref (ssa_101) (0) /* access=0 */ vec1 32 ssa_103 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_104 = deref_array &(*ssa_103)[ssa_102] (function_temp vec3) /* &mat_op_to_vec[ssa_102] */ vec3 32 ssa_105 = intrinsic load_deref (ssa_104) (0) /* access=0 */ vec1 32 ssa_106 = deref_var &const_temp@18 (function_temp int) vec1 32 ssa_107 = intrinsic load_deref (ssa_106) (0) /* access=0 */ vec1 32 ssa_108 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_109 = deref_array &(*ssa_108)[ssa_107] (function_temp vec3) /* &mat_ctor[ssa_107] */ vec3 32 ssa_110 = intrinsic load_deref (ssa_109) (0) /* access=0 */ vec1 1 ssa_269 = fne ssa_105.x, ssa_110.x vec1 1 ssa_270 = fne ssa_105.y, ssa_110.y vec1 1 ssa_271 = ior ssa_269, ssa_270 vec1 1 ssa_272 = fne ssa_105.z, ssa_110.z vec1 1 ssa_273 = ior ssa_271, ssa_272 vec1 1 ssa_274 = imov ssa_273 vec1 1 ssa_275 = imov ssa_273 vec1 1 ssa_276 = imov ssa_273 vec1 1 ssa_277 = imov ssa_273 vec4 1 ssa_278 = vec4 ssa_274, ssa_275, ssa_276, ssa_277 intrinsic store_deref (ssa_100, ssa_278) (4, 0) /* wrmask=z */ /* access=0 */ vec1 32 ssa_113 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 32 ssa_114 = deref_var &const_temp@19 (function_temp int) vec1 32 ssa_115 = intrinsic load_deref (ssa_114) (0) /* access=0 */ vec1 32 ssa_116 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_117 = deref_array &(*ssa_116)[ssa_115] (function_temp vec3) /* &mat_op_to_vec[ssa_115] */ vec3 32 ssa_118 = intrinsic load_deref (ssa_117) (0) /* access=0 */ vec1 32 ssa_119 = deref_var &const_temp@20 (function_temp int) vec1 32 ssa_120 = intrinsic load_deref (ssa_119) (0) /* access=0 */ vec1 32 ssa_121 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_122 = deref_array &(*ssa_121)[ssa_120] (function_temp vec3) /* &mat_ctor[ssa_120] */ vec3 32 ssa_123 = intrinsic load_deref (ssa_122) (0) /* access=0 */ vec1 1 ssa_279 = fne ssa_118.x, ssa_123.x vec1 1 ssa_280 = fne ssa_118.y, ssa_123.y vec1 1 ssa_281 = ior ssa_279, ssa_280 vec1 1 ssa_282 = fne ssa_118.z, ssa_123.z vec1 1 ssa_283 = ior ssa_281, ssa_282 vec1 1 ssa_284 = imov ssa_283 vec1 1 ssa_285 = imov ssa_283 vec1 1 ssa_286 = imov ssa_283 vec1 1 ssa_287 = imov ssa_283 vec4 1 ssa_288 = vec4 ssa_284, ssa_285, ssa_286, ssa_287 intrinsic store_deref (ssa_113, ssa_288) (8, 0) /* wrmask=w */ /* access=0 */ vec1 32 ssa_126 = deref_var &flattening_tmp@11 (function_temp bool) vec1 32 ssa_127 = deref_var &mat_cmp_bvec (function_temp bvec4) vec4 1 ssa_128 = intrinsic load_deref (ssa_127) (0) /* access=0 */ vec1 32 ssa_129 = deref_var &const_temp@21 (function_temp bvec4) vec4 1 ssa_130 = intrinsic load_deref (ssa_129) (0) /* access=0 */ vec1 1 ssa_289 = ine ssa_128.x, ssa_130.x vec1 1 ssa_290 = ine ssa_128.y, ssa_130.y vec1 1 ssa_291 = ior ssa_289, ssa_290 vec1 1 ssa_292 = ine ssa_128.z, ssa_130.z vec1 1 ssa_293 = ior ssa_291, ssa_292 vec1 1 ssa_294 = ine ssa_128.w, ssa_130.w vec1 1 ssa_295 = ior ssa_293, ssa_294 vec1 1 ssa_132 = inot ssa_295 intrinsic store_deref (ssa_126, ssa_132) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_133 = deref_var &flattening_tmp@11 (function_temp bool) vec1 1 ssa_134 = intrinsic load_deref (ssa_133) (0) /* access=0 */ /* succs: block_1 block_2 */ if ssa_134 { block block_1: /* preds: block_0 */ vec1 32 ssa_135 = deref_var &const_temp@22 (function_temp vec4) vec1 32 ssa_136 = deref_var &out@gl_FrontColor-temp (function_temp vec4) intrinsic copy_deref (ssa_136, ssa_135) () /* succs: block_3 */ } else { block block_2: /* preds: block_0 */ vec1 32 ssa_137 = deref_var &const_temp@23 (function_temp vec4) vec1 32 ssa_138 = deref_var &out@gl_FrontColor-temp (function_temp vec4) intrinsic copy_deref (ssa_138, ssa_137) () /* succs: block_3 */ } block block_3: /* preds: block_1 block_2 */ vec1 32 ssa_198 = deref_var &out@gl_Position-temp (function_temp vec4) vec1 32 ssa_199 = deref_var &gl_Position (shader_out vec4) intrinsic copy_deref (ssa_199, ssa_198) () vec1 32 ssa_200 = deref_var &out@gl_FrontColor-temp (function_temp vec4) vec1 32 ssa_201 = deref_var &gl_FrontColor (shader_out vec4) intrinsic copy_deref (ssa_201, ssa_200) () /* succs: block_4 */ block block_4: } nir_split_var_copies shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 0, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 0, 0) decl_function main (0 params) impl main { decl_var INTERP_MODE_NONE vec4 flattening_tmp decl_var INTERP_MODE_NONE int const_temp decl_var INTERP_MODE_NONE int const_temp@0 decl_var INTERP_MODE_NONE int const_temp@1 decl_var INTERP_MODE_NONE int const_temp@2 decl_var INTERP_MODE_NONE ivec3 vec_ctor decl_var INTERP_MODE_NONE int const_temp@3 decl_var INTERP_MODE_NONE mat4x3 mat_ctor decl_var INTERP_MODE_NONE uint const_temp@4 decl_var INTERP_MODE_NONE vec3 const_temp@5 decl_var INTERP_MODE_NONE uint const_temp@6 decl_var INTERP_MODE_NONE vec3 const_temp@7 decl_var INTERP_MODE_NONE uint const_temp@8 decl_var INTERP_MODE_NONE vec3 const_temp@9 decl_var INTERP_MODE_NONE uint const_temp@10 decl_var INTERP_MODE_NONE bool flattening_tmp@11 decl_var INTERP_MODE_NONE mat4x3 mat_op_to_vec decl_var INTERP_MODE_NONE mat4x3 const_temp@12 decl_var INTERP_MODE_NONE bvec4 mat_cmp_bvec decl_var INTERP_MODE_NONE int const_temp@13 decl_var INTERP_MODE_NONE int const_temp@14 decl_var INTERP_MODE_NONE int const_temp@15 decl_var INTERP_MODE_NONE int const_temp@16 decl_var INTERP_MODE_NONE int const_temp@17 decl_var INTERP_MODE_NONE int const_temp@18 decl_var INTERP_MODE_NONE int const_temp@19 decl_var INTERP_MODE_NONE int const_temp@20 decl_var INTERP_MODE_NONE bvec4 const_temp@21 decl_var INTERP_MODE_NONE vec4 const_temp@22 decl_var INTERP_MODE_NONE vec4 const_temp@23 decl_var INTERP_MODE_NONE vec4 out@gl_FrontColor-temp decl_var INTERP_MODE_NONE vec4 out@gl_Position-temp block block_0: /* preds: */ vec1 32 ssa_139 = deref_var &const_temp (function_temp int) vec1 32 ssa_140 = load_const (0x00000000 /* 0.000000 */) intrinsic store_deref (ssa_139, ssa_140) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_141 = deref_var &const_temp@0 (function_temp int) vec1 32 ssa_142 = load_const (0x00000001 /* 0.000000 */) intrinsic store_deref (ssa_141, ssa_142) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_143 = deref_var &const_temp@1 (function_temp int) vec1 32 ssa_144 = load_const (0x00000002 /* 0.000000 */) intrinsic store_deref (ssa_143, ssa_144) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_145 = deref_var &const_temp@2 (function_temp int) vec1 32 ssa_146 = load_const (0x00000003 /* 0.000000 */) intrinsic store_deref (ssa_145, ssa_146) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_147 = deref_var &const_temp@3 (function_temp int) vec1 32 ssa_148 = load_const (0x00000001 /* 0.000000 */) intrinsic store_deref (ssa_147, ssa_148) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_149 = deref_var &const_temp@4 (function_temp uint) vec1 32 ssa_150 = load_const (0x00000000 /* 0.000000 */) intrinsic store_deref (ssa_149, ssa_150) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_151 = deref_var &const_temp@5 (function_temp vec3) vec3 32 ssa_152 = load_const (0x40800000 /* 4.000000 */, 0x40a00000 /* 5.000000 */, 0x40c00000 /* 6.000000 */) intrinsic store_deref (ssa_151, ssa_152) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_153 = deref_var &const_temp@6 (function_temp uint) vec1 32 ssa_154 = load_const (0x00000001 /* 0.000000 */) intrinsic store_deref (ssa_153, ssa_154) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_155 = deref_var &const_temp@7 (function_temp vec3) vec3 32 ssa_156 = load_const (0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */) intrinsic store_deref (ssa_155, ssa_156) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_157 = deref_var &const_temp@8 (function_temp uint) vec1 32 ssa_158 = load_const (0x00000002 /* 0.000000 */) intrinsic store_deref (ssa_157, ssa_158) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_159 = deref_var &const_temp@9 (function_temp vec3) vec3 32 ssa_160 = load_const (0x41000000 /* 8.000000 */, 0x40e00000 /* 7.000000 */, 0x41200000 /* 10.000000 */) intrinsic store_deref (ssa_159, ssa_160) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_161 = deref_var &const_temp@10 (function_temp uint) vec1 32 ssa_162 = load_const (0x00000003 /* 0.000000 */) intrinsic store_deref (ssa_161, ssa_162) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_163 = deref_var &const_temp@12 (function_temp mat4x3) vec3 32 ssa_164 = load_const (0x3f800000 /* 1.000000 */, 0x40000000 /* 2.000000 */, 0x40400000 /* 3.000000 */) vec1 32 ssa_165 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_166 = deref_array &(*ssa_163)[0] (function_temp vec3) /* &const_temp@12[0] */ intrinsic store_deref (ssa_166, ssa_164) (7, 0) /* wrmask=xyz */ /* access=0 */ vec3 32 ssa_167 = load_const (0x40800000 /* 4.000000 */, 0x40a00000 /* 5.000000 */, 0x40c00000 /* 6.000000 */) vec1 32 ssa_168 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_169 = deref_array &(*ssa_163)[1] (function_temp vec3) /* &const_temp@12[1] */ intrinsic store_deref (ssa_169, ssa_167) (7, 0) /* wrmask=xyz */ /* access=0 */ vec3 32 ssa_170 = load_const (0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */) vec1 32 ssa_171 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_172 = deref_array &(*ssa_163)[2] (function_temp vec3) /* &const_temp@12[2] */ intrinsic store_deref (ssa_172, ssa_170) (7, 0) /* wrmask=xyz */ /* access=0 */ vec3 32 ssa_173 = load_const (0x41000000 /* 8.000000 */, 0x40e00000 /* 7.000000 */, 0x41200000 /* 10.000000 */) vec1 32 ssa_174 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_175 = deref_array &(*ssa_163)[3] (function_temp vec3) /* &const_temp@12[3] */ intrinsic store_deref (ssa_175, ssa_173) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_176 = deref_var &const_temp@13 (function_temp int) vec1 32 ssa_177 = load_const (0x00000000 /* 0.000000 */) intrinsic store_deref (ssa_176, ssa_177) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_178 = deref_var &const_temp@14 (function_temp int) vec1 32 ssa_179 = load_const (0x00000000 /* 0.000000 */) intrinsic store_deref (ssa_178, ssa_179) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_180 = deref_var &const_temp@15 (function_temp int) vec1 32 ssa_181 = load_const (0x00000001 /* 0.000000 */) intrinsic store_deref (ssa_180, ssa_181) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_182 = deref_var &const_temp@16 (function_temp int) vec1 32 ssa_183 = load_const (0x00000001 /* 0.000000 */) intrinsic store_deref (ssa_182, ssa_183) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_184 = deref_var &const_temp@17 (function_temp int) vec1 32 ssa_185 = load_const (0x00000002 /* 0.000000 */) intrinsic store_deref (ssa_184, ssa_185) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_186 = deref_var &const_temp@18 (function_temp int) vec1 32 ssa_187 = load_const (0x00000002 /* 0.000000 */) intrinsic store_deref (ssa_186, ssa_187) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_188 = deref_var &const_temp@19 (function_temp int) vec1 32 ssa_189 = load_const (0x00000003 /* 0.000000 */) intrinsic store_deref (ssa_188, ssa_189) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_190 = deref_var &const_temp@20 (function_temp int) vec1 32 ssa_191 = load_const (0x00000003 /* 0.000000 */) intrinsic store_deref (ssa_190, ssa_191) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_192 = deref_var &const_temp@21 (function_temp bvec4) vec4 1 ssa_193 = load_const (false, false, false, false) intrinsic store_deref (ssa_192, ssa_193) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_194 = deref_var &const_temp@22 (function_temp vec4) vec4 32 ssa_195 = load_const (0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */, 0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */) intrinsic store_deref (ssa_194, ssa_195) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_196 = deref_var &const_temp@23 (function_temp vec4) vec4 32 ssa_197 = load_const (0x3f800000 /* 1.000000 */, 0x00000000 /* 0.000000 */, 0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */) intrinsic store_deref (ssa_196, ssa_197) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_0 = deref_var &flattening_tmp (function_temp vec4) vec1 32 ssa_1 = deref_var &const_temp (function_temp int) vec1 32 ssa_2 = intrinsic load_deref (ssa_1) (0) /* access=0 */ vec1 32 ssa_3 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_4 = deref_array &(*ssa_3)[ssa_2] (uniform vec4) /* &gl_ModelViewProjectionMatrix[ssa_2] */ vec4 32 ssa_5 = intrinsic load_deref (ssa_4) (0) /* access=0 */ vec1 32 ssa_6 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_7 = intrinsic load_deref (ssa_6) (0) /* access=0 */ vec1 32 ssa_8 = imov ssa_7.x vec1 32 ssa_202 = fmul ssa_5.x, ssa_8 vec1 32 ssa_203 = fmul ssa_5.y, ssa_8 vec1 32 ssa_204 = fmul ssa_5.z, ssa_8 vec1 32 ssa_205 = fmul ssa_5.w, ssa_8 vec4 32 ssa_206 = vec4 ssa_202, ssa_203, ssa_204, ssa_205 vec1 32 ssa_10 = deref_var &const_temp@0 (function_temp int) vec1 32 ssa_11 = intrinsic load_deref (ssa_10) (0) /* access=0 */ vec1 32 ssa_12 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_13 = deref_array &(*ssa_12)[ssa_11] (uniform vec4) /* &gl_ModelViewProjectionMatrix[ssa_11] */ vec4 32 ssa_14 = intrinsic load_deref (ssa_13) (0) /* access=0 */ vec1 32 ssa_15 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_16 = intrinsic load_deref (ssa_15) (0) /* access=0 */ vec1 32 ssa_17 = imov ssa_16.y vec1 32 ssa_207 = fmul ssa_14.x, ssa_17 vec1 32 ssa_208 = fmul ssa_14.y, ssa_17 vec1 32 ssa_209 = fmul ssa_14.z, ssa_17 vec1 32 ssa_210 = fmul ssa_14.w, ssa_17 vec4 32 ssa_211 = vec4 ssa_207, ssa_208, ssa_209, ssa_210 vec1 32 ssa_212 = fadd ssa_206.x, ssa_211.x vec1 32 ssa_213 = fadd ssa_206.y, ssa_211.y vec1 32 ssa_214 = fadd ssa_206.z, ssa_211.z vec1 32 ssa_215 = fadd ssa_206.w, ssa_211.w vec4 32 ssa_216 = vec4 ssa_212, ssa_213, ssa_214, ssa_215 vec1 32 ssa_20 = deref_var &const_temp@1 (function_temp int) vec1 32 ssa_21 = intrinsic load_deref (ssa_20) (0) /* access=0 */ vec1 32 ssa_22 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_23 = deref_array &(*ssa_22)[ssa_21] (uniform vec4) /* &gl_ModelViewProjectionMatrix[ssa_21] */ vec4 32 ssa_24 = intrinsic load_deref (ssa_23) (0) /* access=0 */ vec1 32 ssa_25 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_26 = intrinsic load_deref (ssa_25) (0) /* access=0 */ vec1 32 ssa_27 = imov ssa_26.z vec1 32 ssa_217 = fmul ssa_24.x, ssa_27 vec1 32 ssa_218 = fmul ssa_24.y, ssa_27 vec1 32 ssa_219 = fmul ssa_24.z, ssa_27 vec1 32 ssa_220 = fmul ssa_24.w, ssa_27 vec4 32 ssa_221 = vec4 ssa_217, ssa_218, ssa_219, ssa_220 vec1 32 ssa_222 = fadd ssa_216.x, ssa_221.x vec1 32 ssa_223 = fadd ssa_216.y, ssa_221.y vec1 32 ssa_224 = fadd ssa_216.z, ssa_221.z vec1 32 ssa_225 = fadd ssa_216.w, ssa_221.w vec4 32 ssa_226 = vec4 ssa_222, ssa_223, ssa_224, ssa_225 vec1 32 ssa_30 = deref_var &const_temp@2 (function_temp int) vec1 32 ssa_31 = intrinsic load_deref (ssa_30) (0) /* access=0 */ vec1 32 ssa_32 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_33 = deref_array &(*ssa_32)[ssa_31] (uniform vec4) /* &gl_ModelViewProjectionMatrix[ssa_31] */ vec4 32 ssa_34 = intrinsic load_deref (ssa_33) (0) /* access=0 */ vec1 32 ssa_35 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_36 = intrinsic load_deref (ssa_35) (0) /* access=0 */ vec1 32 ssa_37 = imov ssa_36.w vec1 32 ssa_227 = fmul ssa_34.x, ssa_37 vec1 32 ssa_228 = fmul ssa_34.y, ssa_37 vec1 32 ssa_229 = fmul ssa_34.z, ssa_37 vec1 32 ssa_230 = fmul ssa_34.w, ssa_37 vec4 32 ssa_231 = vec4 ssa_227, ssa_228, ssa_229, ssa_230 vec1 32 ssa_232 = fadd ssa_226.x, ssa_231.x vec1 32 ssa_233 = fadd ssa_226.y, ssa_231.y vec1 32 ssa_234 = fadd ssa_226.z, ssa_231.z vec1 32 ssa_235 = fadd ssa_226.w, ssa_231.w vec4 32 ssa_236 = vec4 ssa_232, ssa_233, ssa_234, ssa_235 intrinsic store_deref (ssa_0, ssa_236) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_40 = deref_var &flattening_tmp (function_temp vec4) vec1 32 ssa_41 = deref_var &out@gl_Position-temp (function_temp vec4) intrinsic copy_deref (ssa_41, ssa_40) () vec1 32 ssa_42 = deref_var &vec_ctor (function_temp ivec3) vec1 32 ssa_43 = deref_var &const_temp@3 (function_temp int) vec1 32 ssa_44 = intrinsic load_deref (ssa_43) (0) /* access=0 */ vec1 32 ssa_237 = imov ssa_44 vec1 32 ssa_238 = imov ssa_44 vec1 32 ssa_239 = imov ssa_44 vec3 32 ssa_240 = vec3 ssa_237, ssa_238, ssa_239 intrinsic store_deref (ssa_42, ssa_240) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_46 = deref_var &vec_ctor (function_temp ivec3) vec1 32 ssa_47 = deref_var &j (uniform ivec2) vec2 32 ssa_48 = intrinsic load_deref (ssa_47) (0) /* access=0 */ vec1 32 ssa_241 = imov ssa_48.x vec1 32 ssa_242 = imov ssa_48.x vec1 32 ssa_243 = imov ssa_48.y vec3 32 ssa_244 = vec3 ssa_241, ssa_242, ssa_243 intrinsic store_deref (ssa_46, ssa_244) (6, 0) /* wrmask=yz */ /* access=0 */ vec1 32 ssa_50 = deref_var &const_temp@4 (function_temp uint) vec1 32 ssa_51 = intrinsic load_deref (ssa_50) (0) /* access=0 */ vec1 32 ssa_52 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_53 = deref_array &(*ssa_52)[ssa_51] (function_temp vec3) /* &mat_ctor[ssa_51] */ vec1 32 ssa_54 = deref_var &vec_ctor (function_temp ivec3) vec3 32 ssa_55 = intrinsic load_deref (ssa_54) (0) /* access=0 */ vec1 32 ssa_245 = i2f32 ssa_55.x vec1 32 ssa_246 = i2f32 ssa_55.y vec1 32 ssa_247 = i2f32 ssa_55.z vec3 32 ssa_248 = vec3 ssa_245, ssa_246, ssa_247 intrinsic store_deref (ssa_53, ssa_248) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_57 = deref_var &const_temp@5 (function_temp vec3) vec1 32 ssa_58 = deref_var &const_temp@6 (function_temp uint) vec1 32 ssa_59 = intrinsic load_deref (ssa_58) (0) /* access=0 */ vec1 32 ssa_60 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_61 = deref_array &(*ssa_60)[ssa_59] (function_temp vec3) /* &mat_ctor[ssa_59] */ intrinsic copy_deref (ssa_61, ssa_57) () vec1 32 ssa_62 = deref_var &const_temp@7 (function_temp vec3) vec1 32 ssa_63 = deref_var &const_temp@8 (function_temp uint) vec1 32 ssa_64 = intrinsic load_deref (ssa_63) (0) /* access=0 */ vec1 32 ssa_65 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_66 = deref_array &(*ssa_65)[ssa_64] (function_temp vec3) /* &mat_ctor[ssa_64] */ intrinsic copy_deref (ssa_66, ssa_62) () vec1 32 ssa_67 = deref_var &const_temp@9 (function_temp vec3) vec1 32 ssa_68 = deref_var &const_temp@10 (function_temp uint) vec1 32 ssa_69 = intrinsic load_deref (ssa_68) (0) /* access=0 */ vec1 32 ssa_70 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_71 = deref_array &(*ssa_70)[ssa_69] (function_temp vec3) /* &mat_ctor[ssa_69] */ intrinsic copy_deref (ssa_71, ssa_67) () vec1 32 ssa_72 = deref_var &const_temp@12 (function_temp mat4x3) vec1 32 ssa_73 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_296 = deref_array &(*ssa_72)[*] (function_temp vec3) /* &const_temp@12[*] */ vec1 32 ssa_297 = deref_array &(*ssa_73)[*] (function_temp vec3) /* &mat_op_to_vec[*] */ intrinsic copy_deref (ssa_297, ssa_296) () vec1 32 ssa_74 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 32 ssa_75 = deref_var &const_temp@13 (function_temp int) vec1 32 ssa_76 = intrinsic load_deref (ssa_75) (0) /* access=0 */ vec1 32 ssa_77 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_78 = deref_array &(*ssa_77)[ssa_76] (function_temp vec3) /* &mat_op_to_vec[ssa_76] */ vec3 32 ssa_79 = intrinsic load_deref (ssa_78) (0) /* access=0 */ vec1 32 ssa_80 = deref_var &const_temp@14 (function_temp int) vec1 32 ssa_81 = intrinsic load_deref (ssa_80) (0) /* access=0 */ vec1 32 ssa_82 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_83 = deref_array &(*ssa_82)[ssa_81] (function_temp vec3) /* &mat_ctor[ssa_81] */ vec3 32 ssa_84 = intrinsic load_deref (ssa_83) (0) /* access=0 */ vec1 1 ssa_249 = fne ssa_79.x, ssa_84.x vec1 1 ssa_250 = fne ssa_79.y, ssa_84.y vec1 1 ssa_251 = ior ssa_249, ssa_250 vec1 1 ssa_252 = fne ssa_79.z, ssa_84.z vec1 1 ssa_253 = ior ssa_251, ssa_252 vec1 1 ssa_254 = imov ssa_253 vec1 1 ssa_255 = imov ssa_253 vec1 1 ssa_256 = imov ssa_253 vec1 1 ssa_257 = imov ssa_253 vec4 1 ssa_258 = vec4 ssa_254, ssa_255, ssa_256, ssa_257 intrinsic store_deref (ssa_74, ssa_258) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_87 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 32 ssa_88 = deref_var &const_temp@15 (function_temp int) vec1 32 ssa_89 = intrinsic load_deref (ssa_88) (0) /* access=0 */ vec1 32 ssa_90 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_91 = deref_array &(*ssa_90)[ssa_89] (function_temp vec3) /* &mat_op_to_vec[ssa_89] */ vec3 32 ssa_92 = intrinsic load_deref (ssa_91) (0) /* access=0 */ vec1 32 ssa_93 = deref_var &const_temp@16 (function_temp int) vec1 32 ssa_94 = intrinsic load_deref (ssa_93) (0) /* access=0 */ vec1 32 ssa_95 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_96 = deref_array &(*ssa_95)[ssa_94] (function_temp vec3) /* &mat_ctor[ssa_94] */ vec3 32 ssa_97 = intrinsic load_deref (ssa_96) (0) /* access=0 */ vec1 1 ssa_259 = fne ssa_92.x, ssa_97.x vec1 1 ssa_260 = fne ssa_92.y, ssa_97.y vec1 1 ssa_261 = ior ssa_259, ssa_260 vec1 1 ssa_262 = fne ssa_92.z, ssa_97.z vec1 1 ssa_263 = ior ssa_261, ssa_262 vec1 1 ssa_264 = imov ssa_263 vec1 1 ssa_265 = imov ssa_263 vec1 1 ssa_266 = imov ssa_263 vec1 1 ssa_267 = imov ssa_263 vec4 1 ssa_268 = vec4 ssa_264, ssa_265, ssa_266, ssa_267 intrinsic store_deref (ssa_87, ssa_268) (2, 0) /* wrmask=y */ /* access=0 */ vec1 32 ssa_100 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 32 ssa_101 = deref_var &const_temp@17 (function_temp int) vec1 32 ssa_102 = intrinsic load_deref (ssa_101) (0) /* access=0 */ vec1 32 ssa_103 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_104 = deref_array &(*ssa_103)[ssa_102] (function_temp vec3) /* &mat_op_to_vec[ssa_102] */ vec3 32 ssa_105 = intrinsic load_deref (ssa_104) (0) /* access=0 */ vec1 32 ssa_106 = deref_var &const_temp@18 (function_temp int) vec1 32 ssa_107 = intrinsic load_deref (ssa_106) (0) /* access=0 */ vec1 32 ssa_108 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_109 = deref_array &(*ssa_108)[ssa_107] (function_temp vec3) /* &mat_ctor[ssa_107] */ vec3 32 ssa_110 = intrinsic load_deref (ssa_109) (0) /* access=0 */ vec1 1 ssa_269 = fne ssa_105.x, ssa_110.x vec1 1 ssa_270 = fne ssa_105.y, ssa_110.y vec1 1 ssa_271 = ior ssa_269, ssa_270 vec1 1 ssa_272 = fne ssa_105.z, ssa_110.z vec1 1 ssa_273 = ior ssa_271, ssa_272 vec1 1 ssa_274 = imov ssa_273 vec1 1 ssa_275 = imov ssa_273 vec1 1 ssa_276 = imov ssa_273 vec1 1 ssa_277 = imov ssa_273 vec4 1 ssa_278 = vec4 ssa_274, ssa_275, ssa_276, ssa_277 intrinsic store_deref (ssa_100, ssa_278) (4, 0) /* wrmask=z */ /* access=0 */ vec1 32 ssa_113 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 32 ssa_114 = deref_var &const_temp@19 (function_temp int) vec1 32 ssa_115 = intrinsic load_deref (ssa_114) (0) /* access=0 */ vec1 32 ssa_116 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_117 = deref_array &(*ssa_116)[ssa_115] (function_temp vec3) /* &mat_op_to_vec[ssa_115] */ vec3 32 ssa_118 = intrinsic load_deref (ssa_117) (0) /* access=0 */ vec1 32 ssa_119 = deref_var &const_temp@20 (function_temp int) vec1 32 ssa_120 = intrinsic load_deref (ssa_119) (0) /* access=0 */ vec1 32 ssa_121 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_122 = deref_array &(*ssa_121)[ssa_120] (function_temp vec3) /* &mat_ctor[ssa_120] */ vec3 32 ssa_123 = intrinsic load_deref (ssa_122) (0) /* access=0 */ vec1 1 ssa_279 = fne ssa_118.x, ssa_123.x vec1 1 ssa_280 = fne ssa_118.y, ssa_123.y vec1 1 ssa_281 = ior ssa_279, ssa_280 vec1 1 ssa_282 = fne ssa_118.z, ssa_123.z vec1 1 ssa_283 = ior ssa_281, ssa_282 vec1 1 ssa_284 = imov ssa_283 vec1 1 ssa_285 = imov ssa_283 vec1 1 ssa_286 = imov ssa_283 vec1 1 ssa_287 = imov ssa_283 vec4 1 ssa_288 = vec4 ssa_284, ssa_285, ssa_286, ssa_287 intrinsic store_deref (ssa_113, ssa_288) (8, 0) /* wrmask=w */ /* access=0 */ vec1 32 ssa_126 = deref_var &flattening_tmp@11 (function_temp bool) vec1 32 ssa_127 = deref_var &mat_cmp_bvec (function_temp bvec4) vec4 1 ssa_128 = intrinsic load_deref (ssa_127) (0) /* access=0 */ vec1 32 ssa_129 = deref_var &const_temp@21 (function_temp bvec4) vec4 1 ssa_130 = intrinsic load_deref (ssa_129) (0) /* access=0 */ vec1 1 ssa_289 = ine ssa_128.x, ssa_130.x vec1 1 ssa_290 = ine ssa_128.y, ssa_130.y vec1 1 ssa_291 = ior ssa_289, ssa_290 vec1 1 ssa_292 = ine ssa_128.z, ssa_130.z vec1 1 ssa_293 = ior ssa_291, ssa_292 vec1 1 ssa_294 = ine ssa_128.w, ssa_130.w vec1 1 ssa_295 = ior ssa_293, ssa_294 vec1 1 ssa_132 = inot ssa_295 intrinsic store_deref (ssa_126, ssa_132) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_133 = deref_var &flattening_tmp@11 (function_temp bool) vec1 1 ssa_134 = intrinsic load_deref (ssa_133) (0) /* access=0 */ /* succs: block_1 block_2 */ if ssa_134 { block block_1: /* preds: block_0 */ vec1 32 ssa_135 = deref_var &const_temp@22 (function_temp vec4) vec1 32 ssa_136 = deref_var &out@gl_FrontColor-temp (function_temp vec4) intrinsic copy_deref (ssa_136, ssa_135) () /* succs: block_3 */ } else { block block_2: /* preds: block_0 */ vec1 32 ssa_137 = deref_var &const_temp@23 (function_temp vec4) vec1 32 ssa_138 = deref_var &out@gl_FrontColor-temp (function_temp vec4) intrinsic copy_deref (ssa_138, ssa_137) () /* succs: block_3 */ } block block_3: /* preds: block_1 block_2 */ vec1 32 ssa_198 = deref_var &out@gl_Position-temp (function_temp vec4) vec1 32 ssa_199 = deref_var &gl_Position (shader_out vec4) intrinsic copy_deref (ssa_199, ssa_198) () vec1 32 ssa_200 = deref_var &out@gl_FrontColor-temp (function_temp vec4) vec1 32 ssa_201 = deref_var &gl_FrontColor (shader_out vec4) intrinsic copy_deref (ssa_201, ssa_200) () /* succs: block_4 */ block block_4: } nir_split_struct_vars nir_split_array_vars shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 0, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 0, 0) decl_function main (0 params) impl main { decl_var INTERP_MODE_NONE vec4 flattening_tmp decl_var INTERP_MODE_NONE int const_temp decl_var INTERP_MODE_NONE int const_temp@0 decl_var INTERP_MODE_NONE int const_temp@1 decl_var INTERP_MODE_NONE int const_temp@2 decl_var INTERP_MODE_NONE ivec3 vec_ctor decl_var INTERP_MODE_NONE int const_temp@3 decl_var INTERP_MODE_NONE mat4x3 mat_ctor decl_var INTERP_MODE_NONE uint const_temp@4 decl_var INTERP_MODE_NONE vec3 const_temp@5 decl_var INTERP_MODE_NONE uint const_temp@6 decl_var INTERP_MODE_NONE vec3 const_temp@7 decl_var INTERP_MODE_NONE uint const_temp@8 decl_var INTERP_MODE_NONE vec3 const_temp@9 decl_var INTERP_MODE_NONE uint const_temp@10 decl_var INTERP_MODE_NONE bool flattening_tmp@11 decl_var INTERP_MODE_NONE mat4x3 mat_op_to_vec decl_var INTERP_MODE_NONE bvec4 mat_cmp_bvec decl_var INTERP_MODE_NONE int const_temp@12 decl_var INTERP_MODE_NONE int const_temp@13 decl_var INTERP_MODE_NONE int const_temp@14 decl_var INTERP_MODE_NONE int const_temp@15 decl_var INTERP_MODE_NONE int const_temp@16 decl_var INTERP_MODE_NONE int const_temp@17 decl_var INTERP_MODE_NONE int const_temp@18 decl_var INTERP_MODE_NONE int const_temp@19 decl_var INTERP_MODE_NONE bvec4 const_temp@20 decl_var INTERP_MODE_NONE vec4 const_temp@21 decl_var INTERP_MODE_NONE vec4 const_temp@22 decl_var INTERP_MODE_NONE vec4 out@gl_FrontColor-temp decl_var INTERP_MODE_NONE vec4 out@gl_Position-temp decl_var INTERP_MODE_NONE vec3 (const_temp[0]) decl_var INTERP_MODE_NONE vec3 (const_temp[1]) decl_var INTERP_MODE_NONE vec3 (const_temp[2]) decl_var INTERP_MODE_NONE vec3 (const_temp[3]) block block_0: /* preds: */ vec1 32 ssa_139 = deref_var &const_temp (function_temp int) vec1 32 ssa_140 = load_const (0x00000000 /* 0.000000 */) intrinsic store_deref (ssa_139, ssa_140) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_141 = deref_var &const_temp@0 (function_temp int) vec1 32 ssa_142 = load_const (0x00000001 /* 0.000000 */) intrinsic store_deref (ssa_141, ssa_142) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_143 = deref_var &const_temp@1 (function_temp int) vec1 32 ssa_144 = load_const (0x00000002 /* 0.000000 */) intrinsic store_deref (ssa_143, ssa_144) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_145 = deref_var &const_temp@2 (function_temp int) vec1 32 ssa_146 = load_const (0x00000003 /* 0.000000 */) intrinsic store_deref (ssa_145, ssa_146) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_147 = deref_var &const_temp@3 (function_temp int) vec1 32 ssa_148 = load_const (0x00000001 /* 0.000000 */) intrinsic store_deref (ssa_147, ssa_148) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_149 = deref_var &const_temp@4 (function_temp uint) vec1 32 ssa_150 = load_const (0x00000000 /* 0.000000 */) intrinsic store_deref (ssa_149, ssa_150) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_151 = deref_var &const_temp@5 (function_temp vec3) vec3 32 ssa_152 = load_const (0x40800000 /* 4.000000 */, 0x40a00000 /* 5.000000 */, 0x40c00000 /* 6.000000 */) intrinsic store_deref (ssa_151, ssa_152) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_153 = deref_var &const_temp@6 (function_temp uint) vec1 32 ssa_154 = load_const (0x00000001 /* 0.000000 */) intrinsic store_deref (ssa_153, ssa_154) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_155 = deref_var &const_temp@7 (function_temp vec3) vec3 32 ssa_156 = load_const (0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */) intrinsic store_deref (ssa_155, ssa_156) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_157 = deref_var &const_temp@8 (function_temp uint) vec1 32 ssa_158 = load_const (0x00000002 /* 0.000000 */) intrinsic store_deref (ssa_157, ssa_158) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_159 = deref_var &const_temp@9 (function_temp vec3) vec3 32 ssa_160 = load_const (0x41000000 /* 8.000000 */, 0x40e00000 /* 7.000000 */, 0x41200000 /* 10.000000 */) intrinsic store_deref (ssa_159, ssa_160) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_161 = deref_var &const_temp@10 (function_temp uint) vec1 32 ssa_162 = load_const (0x00000003 /* 0.000000 */) intrinsic store_deref (ssa_161, ssa_162) (1, 0) /* wrmask=x */ /* access=0 */ vec3 32 ssa_164 = load_const (0x3f800000 /* 1.000000 */, 0x40000000 /* 2.000000 */, 0x40400000 /* 3.000000 */) vec1 32 ssa_165 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_310 = deref_var &(const_temp[0]) (function_temp vec3) intrinsic store_deref (ssa_310, ssa_164) (7, 0) /* wrmask=xyz */ /* access=0 */ vec3 32 ssa_167 = load_const (0x40800000 /* 4.000000 */, 0x40a00000 /* 5.000000 */, 0x40c00000 /* 6.000000 */) vec1 32 ssa_168 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_311 = deref_var &(const_temp[1]) (function_temp vec3) intrinsic store_deref (ssa_311, ssa_167) (7, 0) /* wrmask=xyz */ /* access=0 */ vec3 32 ssa_170 = load_const (0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */) vec1 32 ssa_171 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_312 = deref_var &(const_temp[2]) (function_temp vec3) intrinsic store_deref (ssa_312, ssa_170) (7, 0) /* wrmask=xyz */ /* access=0 */ vec3 32 ssa_173 = load_const (0x41000000 /* 8.000000 */, 0x40e00000 /* 7.000000 */, 0x41200000 /* 10.000000 */) vec1 32 ssa_174 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_313 = deref_var &(const_temp[3]) (function_temp vec3) intrinsic store_deref (ssa_313, ssa_173) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_176 = deref_var &const_temp@12 (function_temp int) vec1 32 ssa_177 = load_const (0x00000000 /* 0.000000 */) intrinsic store_deref (ssa_176, ssa_177) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_178 = deref_var &const_temp@13 (function_temp int) vec1 32 ssa_179 = load_const (0x00000000 /* 0.000000 */) intrinsic store_deref (ssa_178, ssa_179) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_180 = deref_var &const_temp@14 (function_temp int) vec1 32 ssa_181 = load_const (0x00000001 /* 0.000000 */) intrinsic store_deref (ssa_180, ssa_181) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_182 = deref_var &const_temp@15 (function_temp int) vec1 32 ssa_183 = load_const (0x00000001 /* 0.000000 */) intrinsic store_deref (ssa_182, ssa_183) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_184 = deref_var &const_temp@16 (function_temp int) vec1 32 ssa_185 = load_const (0x00000002 /* 0.000000 */) intrinsic store_deref (ssa_184, ssa_185) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_186 = deref_var &const_temp@17 (function_temp int) vec1 32 ssa_187 = load_const (0x00000002 /* 0.000000 */) intrinsic store_deref (ssa_186, ssa_187) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_188 = deref_var &const_temp@18 (function_temp int) vec1 32 ssa_189 = load_const (0x00000003 /* 0.000000 */) intrinsic store_deref (ssa_188, ssa_189) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_190 = deref_var &const_temp@19 (function_temp int) vec1 32 ssa_191 = load_const (0x00000003 /* 0.000000 */) intrinsic store_deref (ssa_190, ssa_191) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_192 = deref_var &const_temp@20 (function_temp bvec4) vec4 1 ssa_193 = load_const (false, false, false, false) intrinsic store_deref (ssa_192, ssa_193) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_194 = deref_var &const_temp@21 (function_temp vec4) vec4 32 ssa_195 = load_const (0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */, 0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */) intrinsic store_deref (ssa_194, ssa_195) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_196 = deref_var &const_temp@22 (function_temp vec4) vec4 32 ssa_197 = load_const (0x3f800000 /* 1.000000 */, 0x00000000 /* 0.000000 */, 0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */) intrinsic store_deref (ssa_196, ssa_197) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_0 = deref_var &flattening_tmp (function_temp vec4) vec1 32 ssa_1 = deref_var &const_temp (function_temp int) vec1 32 ssa_2 = intrinsic load_deref (ssa_1) (0) /* access=0 */ vec1 32 ssa_3 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_4 = deref_array &(*ssa_3)[ssa_2] (uniform vec4) /* &gl_ModelViewProjectionMatrix[ssa_2] */ vec4 32 ssa_5 = intrinsic load_deref (ssa_4) (0) /* access=0 */ vec1 32 ssa_6 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_7 = intrinsic load_deref (ssa_6) (0) /* access=0 */ vec1 32 ssa_8 = imov ssa_7.x vec1 32 ssa_202 = fmul ssa_5.x, ssa_8 vec1 32 ssa_203 = fmul ssa_5.y, ssa_8 vec1 32 ssa_204 = fmul ssa_5.z, ssa_8 vec1 32 ssa_205 = fmul ssa_5.w, ssa_8 vec4 32 ssa_206 = vec4 ssa_202, ssa_203, ssa_204, ssa_205 vec1 32 ssa_10 = deref_var &const_temp@0 (function_temp int) vec1 32 ssa_11 = intrinsic load_deref (ssa_10) (0) /* access=0 */ vec1 32 ssa_12 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_13 = deref_array &(*ssa_12)[ssa_11] (uniform vec4) /* &gl_ModelViewProjectionMatrix[ssa_11] */ vec4 32 ssa_14 = intrinsic load_deref (ssa_13) (0) /* access=0 */ vec1 32 ssa_15 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_16 = intrinsic load_deref (ssa_15) (0) /* access=0 */ vec1 32 ssa_17 = imov ssa_16.y vec1 32 ssa_207 = fmul ssa_14.x, ssa_17 vec1 32 ssa_208 = fmul ssa_14.y, ssa_17 vec1 32 ssa_209 = fmul ssa_14.z, ssa_17 vec1 32 ssa_210 = fmul ssa_14.w, ssa_17 vec4 32 ssa_211 = vec4 ssa_207, ssa_208, ssa_209, ssa_210 vec1 32 ssa_212 = fadd ssa_206.x, ssa_211.x vec1 32 ssa_213 = fadd ssa_206.y, ssa_211.y vec1 32 ssa_214 = fadd ssa_206.z, ssa_211.z vec1 32 ssa_215 = fadd ssa_206.w, ssa_211.w vec4 32 ssa_216 = vec4 ssa_212, ssa_213, ssa_214, ssa_215 vec1 32 ssa_20 = deref_var &const_temp@1 (function_temp int) vec1 32 ssa_21 = intrinsic load_deref (ssa_20) (0) /* access=0 */ vec1 32 ssa_22 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_23 = deref_array &(*ssa_22)[ssa_21] (uniform vec4) /* &gl_ModelViewProjectionMatrix[ssa_21] */ vec4 32 ssa_24 = intrinsic load_deref (ssa_23) (0) /* access=0 */ vec1 32 ssa_25 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_26 = intrinsic load_deref (ssa_25) (0) /* access=0 */ vec1 32 ssa_27 = imov ssa_26.z vec1 32 ssa_217 = fmul ssa_24.x, ssa_27 vec1 32 ssa_218 = fmul ssa_24.y, ssa_27 vec1 32 ssa_219 = fmul ssa_24.z, ssa_27 vec1 32 ssa_220 = fmul ssa_24.w, ssa_27 vec4 32 ssa_221 = vec4 ssa_217, ssa_218, ssa_219, ssa_220 vec1 32 ssa_222 = fadd ssa_216.x, ssa_221.x vec1 32 ssa_223 = fadd ssa_216.y, ssa_221.y vec1 32 ssa_224 = fadd ssa_216.z, ssa_221.z vec1 32 ssa_225 = fadd ssa_216.w, ssa_221.w vec4 32 ssa_226 = vec4 ssa_222, ssa_223, ssa_224, ssa_225 vec1 32 ssa_30 = deref_var &const_temp@2 (function_temp int) vec1 32 ssa_31 = intrinsic load_deref (ssa_30) (0) /* access=0 */ vec1 32 ssa_32 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_33 = deref_array &(*ssa_32)[ssa_31] (uniform vec4) /* &gl_ModelViewProjectionMatrix[ssa_31] */ vec4 32 ssa_34 = intrinsic load_deref (ssa_33) (0) /* access=0 */ vec1 32 ssa_35 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_36 = intrinsic load_deref (ssa_35) (0) /* access=0 */ vec1 32 ssa_37 = imov ssa_36.w vec1 32 ssa_227 = fmul ssa_34.x, ssa_37 vec1 32 ssa_228 = fmul ssa_34.y, ssa_37 vec1 32 ssa_229 = fmul ssa_34.z, ssa_37 vec1 32 ssa_230 = fmul ssa_34.w, ssa_37 vec4 32 ssa_231 = vec4 ssa_227, ssa_228, ssa_229, ssa_230 vec1 32 ssa_232 = fadd ssa_226.x, ssa_231.x vec1 32 ssa_233 = fadd ssa_226.y, ssa_231.y vec1 32 ssa_234 = fadd ssa_226.z, ssa_231.z vec1 32 ssa_235 = fadd ssa_226.w, ssa_231.w vec4 32 ssa_236 = vec4 ssa_232, ssa_233, ssa_234, ssa_235 intrinsic store_deref (ssa_0, ssa_236) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_40 = deref_var &flattening_tmp (function_temp vec4) vec1 32 ssa_41 = deref_var &out@gl_Position-temp (function_temp vec4) intrinsic copy_deref (ssa_41, ssa_40) () vec1 32 ssa_42 = deref_var &vec_ctor (function_temp ivec3) vec1 32 ssa_43 = deref_var &const_temp@3 (function_temp int) vec1 32 ssa_44 = intrinsic load_deref (ssa_43) (0) /* access=0 */ vec1 32 ssa_237 = imov ssa_44 vec1 32 ssa_238 = imov ssa_44 vec1 32 ssa_239 = imov ssa_44 vec3 32 ssa_240 = vec3 ssa_237, ssa_238, ssa_239 intrinsic store_deref (ssa_42, ssa_240) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_46 = deref_var &vec_ctor (function_temp ivec3) vec1 32 ssa_47 = deref_var &j (uniform ivec2) vec2 32 ssa_48 = intrinsic load_deref (ssa_47) (0) /* access=0 */ vec1 32 ssa_241 = imov ssa_48.x vec1 32 ssa_242 = imov ssa_48.x vec1 32 ssa_243 = imov ssa_48.y vec3 32 ssa_244 = vec3 ssa_241, ssa_242, ssa_243 intrinsic store_deref (ssa_46, ssa_244) (6, 0) /* wrmask=yz */ /* access=0 */ vec1 32 ssa_50 = deref_var &const_temp@4 (function_temp uint) vec1 32 ssa_51 = intrinsic load_deref (ssa_50) (0) /* access=0 */ vec1 32 ssa_52 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_53 = deref_array &(*ssa_52)[ssa_51] (function_temp vec3) /* &mat_ctor[ssa_51] */ vec1 32 ssa_54 = deref_var &vec_ctor (function_temp ivec3) vec3 32 ssa_55 = intrinsic load_deref (ssa_54) (0) /* access=0 */ vec1 32 ssa_245 = i2f32 ssa_55.x vec1 32 ssa_246 = i2f32 ssa_55.y vec1 32 ssa_247 = i2f32 ssa_55.z vec3 32 ssa_248 = vec3 ssa_245, ssa_246, ssa_247 intrinsic store_deref (ssa_53, ssa_248) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_57 = deref_var &const_temp@5 (function_temp vec3) vec1 32 ssa_58 = deref_var &const_temp@6 (function_temp uint) vec1 32 ssa_59 = intrinsic load_deref (ssa_58) (0) /* access=0 */ vec1 32 ssa_60 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_61 = deref_array &(*ssa_60)[ssa_59] (function_temp vec3) /* &mat_ctor[ssa_59] */ intrinsic copy_deref (ssa_61, ssa_57) () vec1 32 ssa_62 = deref_var &const_temp@7 (function_temp vec3) vec1 32 ssa_63 = deref_var &const_temp@8 (function_temp uint) vec1 32 ssa_64 = intrinsic load_deref (ssa_63) (0) /* access=0 */ vec1 32 ssa_65 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_66 = deref_array &(*ssa_65)[ssa_64] (function_temp vec3) /* &mat_ctor[ssa_64] */ intrinsic copy_deref (ssa_66, ssa_62) () vec1 32 ssa_67 = deref_var &const_temp@9 (function_temp vec3) vec1 32 ssa_68 = deref_var &const_temp@10 (function_temp uint) vec1 32 ssa_69 = intrinsic load_deref (ssa_68) (0) /* access=0 */ vec1 32 ssa_70 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_71 = deref_array &(*ssa_70)[ssa_69] (function_temp vec3) /* &mat_ctor[ssa_69] */ intrinsic copy_deref (ssa_71, ssa_67) () vec1 32 ssa_73 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_298 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_300 = deref_array &(*ssa_73)[0] (function_temp vec3) /* &mat_op_to_vec[0] */ vec1 32 ssa_314 = deref_var &(const_temp[0]) (function_temp vec3) intrinsic copy_deref (ssa_300, ssa_314) () vec1 32 ssa_301 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_303 = deref_array &(*ssa_73)[1] (function_temp vec3) /* &mat_op_to_vec[1] */ vec1 32 ssa_315 = deref_var &(const_temp[1]) (function_temp vec3) intrinsic copy_deref (ssa_303, ssa_315) () vec1 32 ssa_304 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_306 = deref_array &(*ssa_73)[2] (function_temp vec3) /* &mat_op_to_vec[2] */ vec1 32 ssa_316 = deref_var &(const_temp[2]) (function_temp vec3) intrinsic copy_deref (ssa_306, ssa_316) () vec1 32 ssa_307 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_309 = deref_array &(*ssa_73)[3] (function_temp vec3) /* &mat_op_to_vec[3] */ vec1 32 ssa_317 = deref_var &(const_temp[3]) (function_temp vec3) intrinsic copy_deref (ssa_309, ssa_317) () vec1 32 ssa_74 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 32 ssa_75 = deref_var &const_temp@12 (function_temp int) vec1 32 ssa_76 = intrinsic load_deref (ssa_75) (0) /* access=0 */ vec1 32 ssa_77 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_78 = deref_array &(*ssa_77)[ssa_76] (function_temp vec3) /* &mat_op_to_vec[ssa_76] */ vec3 32 ssa_79 = intrinsic load_deref (ssa_78) (0) /* access=0 */ vec1 32 ssa_80 = deref_var &const_temp@13 (function_temp int) vec1 32 ssa_81 = intrinsic load_deref (ssa_80) (0) /* access=0 */ vec1 32 ssa_82 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_83 = deref_array &(*ssa_82)[ssa_81] (function_temp vec3) /* &mat_ctor[ssa_81] */ vec3 32 ssa_84 = intrinsic load_deref (ssa_83) (0) /* access=0 */ vec1 1 ssa_249 = fne ssa_79.x, ssa_84.x vec1 1 ssa_250 = fne ssa_79.y, ssa_84.y vec1 1 ssa_251 = ior ssa_249, ssa_250 vec1 1 ssa_252 = fne ssa_79.z, ssa_84.z vec1 1 ssa_253 = ior ssa_251, ssa_252 vec1 1 ssa_254 = imov ssa_253 vec1 1 ssa_255 = imov ssa_253 vec1 1 ssa_256 = imov ssa_253 vec1 1 ssa_257 = imov ssa_253 vec4 1 ssa_258 = vec4 ssa_254, ssa_255, ssa_256, ssa_257 intrinsic store_deref (ssa_74, ssa_258) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_87 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 32 ssa_88 = deref_var &const_temp@14 (function_temp int) vec1 32 ssa_89 = intrinsic load_deref (ssa_88) (0) /* access=0 */ vec1 32 ssa_90 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_91 = deref_array &(*ssa_90)[ssa_89] (function_temp vec3) /* &mat_op_to_vec[ssa_89] */ vec3 32 ssa_92 = intrinsic load_deref (ssa_91) (0) /* access=0 */ vec1 32 ssa_93 = deref_var &const_temp@15 (function_temp int) vec1 32 ssa_94 = intrinsic load_deref (ssa_93) (0) /* access=0 */ vec1 32 ssa_95 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_96 = deref_array &(*ssa_95)[ssa_94] (function_temp vec3) /* &mat_ctor[ssa_94] */ vec3 32 ssa_97 = intrinsic load_deref (ssa_96) (0) /* access=0 */ vec1 1 ssa_259 = fne ssa_92.x, ssa_97.x vec1 1 ssa_260 = fne ssa_92.y, ssa_97.y vec1 1 ssa_261 = ior ssa_259, ssa_260 vec1 1 ssa_262 = fne ssa_92.z, ssa_97.z vec1 1 ssa_263 = ior ssa_261, ssa_262 vec1 1 ssa_264 = imov ssa_263 vec1 1 ssa_265 = imov ssa_263 vec1 1 ssa_266 = imov ssa_263 vec1 1 ssa_267 = imov ssa_263 vec4 1 ssa_268 = vec4 ssa_264, ssa_265, ssa_266, ssa_267 intrinsic store_deref (ssa_87, ssa_268) (2, 0) /* wrmask=y */ /* access=0 */ vec1 32 ssa_100 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 32 ssa_101 = deref_var &const_temp@16 (function_temp int) vec1 32 ssa_102 = intrinsic load_deref (ssa_101) (0) /* access=0 */ vec1 32 ssa_103 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_104 = deref_array &(*ssa_103)[ssa_102] (function_temp vec3) /* &mat_op_to_vec[ssa_102] */ vec3 32 ssa_105 = intrinsic load_deref (ssa_104) (0) /* access=0 */ vec1 32 ssa_106 = deref_var &const_temp@17 (function_temp int) vec1 32 ssa_107 = intrinsic load_deref (ssa_106) (0) /* access=0 */ vec1 32 ssa_108 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_109 = deref_array &(*ssa_108)[ssa_107] (function_temp vec3) /* &mat_ctor[ssa_107] */ vec3 32 ssa_110 = intrinsic load_deref (ssa_109) (0) /* access=0 */ vec1 1 ssa_269 = fne ssa_105.x, ssa_110.x vec1 1 ssa_270 = fne ssa_105.y, ssa_110.y vec1 1 ssa_271 = ior ssa_269, ssa_270 vec1 1 ssa_272 = fne ssa_105.z, ssa_110.z vec1 1 ssa_273 = ior ssa_271, ssa_272 vec1 1 ssa_274 = imov ssa_273 vec1 1 ssa_275 = imov ssa_273 vec1 1 ssa_276 = imov ssa_273 vec1 1 ssa_277 = imov ssa_273 vec4 1 ssa_278 = vec4 ssa_274, ssa_275, ssa_276, ssa_277 intrinsic store_deref (ssa_100, ssa_278) (4, 0) /* wrmask=z */ /* access=0 */ vec1 32 ssa_113 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 32 ssa_114 = deref_var &const_temp@18 (function_temp int) vec1 32 ssa_115 = intrinsic load_deref (ssa_114) (0) /* access=0 */ vec1 32 ssa_116 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_117 = deref_array &(*ssa_116)[ssa_115] (function_temp vec3) /* &mat_op_to_vec[ssa_115] */ vec3 32 ssa_118 = intrinsic load_deref (ssa_117) (0) /* access=0 */ vec1 32 ssa_119 = deref_var &const_temp@19 (function_temp int) vec1 32 ssa_120 = intrinsic load_deref (ssa_119) (0) /* access=0 */ vec1 32 ssa_121 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_122 = deref_array &(*ssa_121)[ssa_120] (function_temp vec3) /* &mat_ctor[ssa_120] */ vec3 32 ssa_123 = intrinsic load_deref (ssa_122) (0) /* access=0 */ vec1 1 ssa_279 = fne ssa_118.x, ssa_123.x vec1 1 ssa_280 = fne ssa_118.y, ssa_123.y vec1 1 ssa_281 = ior ssa_279, ssa_280 vec1 1 ssa_282 = fne ssa_118.z, ssa_123.z vec1 1 ssa_283 = ior ssa_281, ssa_282 vec1 1 ssa_284 = imov ssa_283 vec1 1 ssa_285 = imov ssa_283 vec1 1 ssa_286 = imov ssa_283 vec1 1 ssa_287 = imov ssa_283 vec4 1 ssa_288 = vec4 ssa_284, ssa_285, ssa_286, ssa_287 intrinsic store_deref (ssa_113, ssa_288) (8, 0) /* wrmask=w */ /* access=0 */ vec1 32 ssa_126 = deref_var &flattening_tmp@11 (function_temp bool) vec1 32 ssa_127 = deref_var &mat_cmp_bvec (function_temp bvec4) vec4 1 ssa_128 = intrinsic load_deref (ssa_127) (0) /* access=0 */ vec1 32 ssa_129 = deref_var &const_temp@20 (function_temp bvec4) vec4 1 ssa_130 = intrinsic load_deref (ssa_129) (0) /* access=0 */ vec1 1 ssa_289 = ine ssa_128.x, ssa_130.x vec1 1 ssa_290 = ine ssa_128.y, ssa_130.y vec1 1 ssa_291 = ior ssa_289, ssa_290 vec1 1 ssa_292 = ine ssa_128.z, ssa_130.z vec1 1 ssa_293 = ior ssa_291, ssa_292 vec1 1 ssa_294 = ine ssa_128.w, ssa_130.w vec1 1 ssa_295 = ior ssa_293, ssa_294 vec1 1 ssa_132 = inot ssa_295 intrinsic store_deref (ssa_126, ssa_132) (1, 0) /* wrmask=x */ /* access=0 */ vec1 32 ssa_133 = deref_var &flattening_tmp@11 (function_temp bool) vec1 1 ssa_134 = intrinsic load_deref (ssa_133) (0) /* access=0 */ /* succs: block_1 block_2 */ if ssa_134 { block block_1: /* preds: block_0 */ vec1 32 ssa_135 = deref_var &const_temp@21 (function_temp vec4) vec1 32 ssa_136 = deref_var &out@gl_FrontColor-temp (function_temp vec4) intrinsic copy_deref (ssa_136, ssa_135) () /* succs: block_3 */ } else { block block_2: /* preds: block_0 */ vec1 32 ssa_137 = deref_var &const_temp@22 (function_temp vec4) vec1 32 ssa_138 = deref_var &out@gl_FrontColor-temp (function_temp vec4) intrinsic copy_deref (ssa_138, ssa_137) () /* succs: block_3 */ } block block_3: /* preds: block_1 block_2 */ vec1 32 ssa_198 = deref_var &out@gl_Position-temp (function_temp vec4) vec1 32 ssa_199 = deref_var &gl_Position (shader_out vec4) intrinsic copy_deref (ssa_199, ssa_198) () vec1 32 ssa_200 = deref_var &out@gl_FrontColor-temp (function_temp vec4) vec1 32 ssa_201 = deref_var &gl_FrontColor (shader_out vec4) intrinsic copy_deref (ssa_201, ssa_200) () /* succs: block_4 */ block block_4: } nir_shrink_vec_array_vars nir_opt_deref nir_lower_vars_to_ssa shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 0, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 0, 0) decl_function main (0 params) impl main { decl_var INTERP_MODE_NONE vec4 flattening_tmp decl_var INTERP_MODE_NONE int const_temp decl_var INTERP_MODE_NONE int const_temp@0 decl_var INTERP_MODE_NONE int const_temp@1 decl_var INTERP_MODE_NONE int const_temp@2 decl_var INTERP_MODE_NONE ivec3 vec_ctor decl_var INTERP_MODE_NONE int const_temp@3 decl_var INTERP_MODE_NONE mat4x3 mat_ctor decl_var INTERP_MODE_NONE uint const_temp@4 decl_var INTERP_MODE_NONE vec3 const_temp@5 decl_var INTERP_MODE_NONE uint const_temp@6 decl_var INTERP_MODE_NONE vec3 const_temp@7 decl_var INTERP_MODE_NONE uint const_temp@8 decl_var INTERP_MODE_NONE vec3 const_temp@9 decl_var INTERP_MODE_NONE uint const_temp@10 decl_var INTERP_MODE_NONE bool flattening_tmp@11 decl_var INTERP_MODE_NONE mat4x3 mat_op_to_vec decl_var INTERP_MODE_NONE bvec4 mat_cmp_bvec decl_var INTERP_MODE_NONE int const_temp@12 decl_var INTERP_MODE_NONE int const_temp@13 decl_var INTERP_MODE_NONE int const_temp@14 decl_var INTERP_MODE_NONE int const_temp@15 decl_var INTERP_MODE_NONE int const_temp@16 decl_var INTERP_MODE_NONE int const_temp@17 decl_var INTERP_MODE_NONE int const_temp@18 decl_var INTERP_MODE_NONE int const_temp@19 decl_var INTERP_MODE_NONE bvec4 const_temp@20 decl_var INTERP_MODE_NONE vec4 const_temp@21 decl_var INTERP_MODE_NONE vec4 const_temp@22 decl_var INTERP_MODE_NONE vec4 out@gl_FrontColor-temp decl_var INTERP_MODE_NONE vec4 out@gl_Position-temp decl_var INTERP_MODE_NONE vec3 (const_temp[0]) decl_var INTERP_MODE_NONE vec3 (const_temp[1]) decl_var INTERP_MODE_NONE vec3 (const_temp[2]) decl_var INTERP_MODE_NONE vec3 (const_temp[3]) block block_0: /* preds: */ vec4 1 ssa_359 = undefined vec3 32 ssa_336 = undefined vec1 32 ssa_139 = deref_var &const_temp (function_temp int) vec1 32 ssa_140 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_141 = deref_var &const_temp@0 (function_temp int) vec1 32 ssa_142 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_143 = deref_var &const_temp@1 (function_temp int) vec1 32 ssa_144 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_145 = deref_var &const_temp@2 (function_temp int) vec1 32 ssa_146 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_147 = deref_var &const_temp@3 (function_temp int) vec1 32 ssa_148 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_149 = deref_var &const_temp@4 (function_temp uint) vec1 32 ssa_150 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_151 = deref_var &const_temp@5 (function_temp vec3) vec3 32 ssa_152 = load_const (0x40800000 /* 4.000000 */, 0x40a00000 /* 5.000000 */, 0x40c00000 /* 6.000000 */) vec1 32 ssa_153 = deref_var &const_temp@6 (function_temp uint) vec1 32 ssa_154 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_155 = deref_var &const_temp@7 (function_temp vec3) vec3 32 ssa_156 = load_const (0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */) vec1 32 ssa_157 = deref_var &const_temp@8 (function_temp uint) vec1 32 ssa_158 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_159 = deref_var &const_temp@9 (function_temp vec3) vec3 32 ssa_160 = load_const (0x41000000 /* 8.000000 */, 0x40e00000 /* 7.000000 */, 0x41200000 /* 10.000000 */) vec1 32 ssa_161 = deref_var &const_temp@10 (function_temp uint) vec1 32 ssa_162 = load_const (0x00000003 /* 0.000000 */) vec3 32 ssa_164 = load_const (0x3f800000 /* 1.000000 */, 0x40000000 /* 2.000000 */, 0x40400000 /* 3.000000 */) vec1 32 ssa_165 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_310 = deref_var &(const_temp[0]) (function_temp vec3) vec3 32 ssa_167 = load_const (0x40800000 /* 4.000000 */, 0x40a00000 /* 5.000000 */, 0x40c00000 /* 6.000000 */) vec1 32 ssa_168 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_311 = deref_var &(const_temp[1]) (function_temp vec3) vec3 32 ssa_170 = load_const (0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */) vec1 32 ssa_171 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_312 = deref_var &(const_temp[2]) (function_temp vec3) vec3 32 ssa_173 = load_const (0x41000000 /* 8.000000 */, 0x40e00000 /* 7.000000 */, 0x41200000 /* 10.000000 */) vec1 32 ssa_174 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_313 = deref_var &(const_temp[3]) (function_temp vec3) vec1 32 ssa_176 = deref_var &const_temp@12 (function_temp int) vec1 32 ssa_177 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_178 = deref_var &const_temp@13 (function_temp int) vec1 32 ssa_179 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_180 = deref_var &const_temp@14 (function_temp int) vec1 32 ssa_181 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_182 = deref_var &const_temp@15 (function_temp int) vec1 32 ssa_183 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_184 = deref_var &const_temp@16 (function_temp int) vec1 32 ssa_185 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_186 = deref_var &const_temp@17 (function_temp int) vec1 32 ssa_187 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_188 = deref_var &const_temp@18 (function_temp int) vec1 32 ssa_189 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_190 = deref_var &const_temp@19 (function_temp int) vec1 32 ssa_191 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_192 = deref_var &const_temp@20 (function_temp bvec4) vec4 1 ssa_193 = load_const (false, false, false, false) vec1 32 ssa_194 = deref_var &const_temp@21 (function_temp vec4) vec4 32 ssa_195 = load_const (0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */, 0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */) vec1 32 ssa_196 = deref_var &const_temp@22 (function_temp vec4) vec4 32 ssa_197 = load_const (0x3f800000 /* 1.000000 */, 0x00000000 /* 0.000000 */, 0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */) vec1 32 ssa_0 = deref_var &flattening_tmp (function_temp vec4) vec1 32 ssa_1 = deref_var &const_temp (function_temp int) vec1 32 ssa_330 = imov ssa_140 vec1 32 ssa_3 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_4 = deref_array &(*ssa_3)[ssa_330] (uniform vec4) /* &gl_ModelViewProjectionMatrix[ssa_330] */ vec4 32 ssa_5 = intrinsic load_deref (ssa_4) (0) /* access=0 */ vec1 32 ssa_6 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_7 = intrinsic load_deref (ssa_6) (0) /* access=0 */ vec1 32 ssa_8 = imov ssa_7.x vec1 32 ssa_202 = fmul ssa_5.x, ssa_8 vec1 32 ssa_203 = fmul ssa_5.y, ssa_8 vec1 32 ssa_204 = fmul ssa_5.z, ssa_8 vec1 32 ssa_205 = fmul ssa_5.w, ssa_8 vec4 32 ssa_206 = vec4 ssa_202, ssa_203, ssa_204, ssa_205 vec1 32 ssa_10 = deref_var &const_temp@0 (function_temp int) vec1 32 ssa_331 = imov ssa_142 vec1 32 ssa_12 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_13 = deref_array &(*ssa_12)[ssa_331] (uniform vec4) /* &gl_ModelViewProjectionMatrix[ssa_331] */ vec4 32 ssa_14 = intrinsic load_deref (ssa_13) (0) /* access=0 */ vec1 32 ssa_15 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_16 = intrinsic load_deref (ssa_15) (0) /* access=0 */ vec1 32 ssa_17 = imov ssa_16.y vec1 32 ssa_207 = fmul ssa_14.x, ssa_17 vec1 32 ssa_208 = fmul ssa_14.y, ssa_17 vec1 32 ssa_209 = fmul ssa_14.z, ssa_17 vec1 32 ssa_210 = fmul ssa_14.w, ssa_17 vec4 32 ssa_211 = vec4 ssa_207, ssa_208, ssa_209, ssa_210 vec1 32 ssa_212 = fadd ssa_206.x, ssa_211.x vec1 32 ssa_213 = fadd ssa_206.y, ssa_211.y vec1 32 ssa_214 = fadd ssa_206.z, ssa_211.z vec1 32 ssa_215 = fadd ssa_206.w, ssa_211.w vec4 32 ssa_216 = vec4 ssa_212, ssa_213, ssa_214, ssa_215 vec1 32 ssa_20 = deref_var &const_temp@1 (function_temp int) vec1 32 ssa_332 = imov ssa_144 vec1 32 ssa_22 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_23 = deref_array &(*ssa_22)[ssa_332] (uniform vec4) /* &gl_ModelViewProjectionMatrix[ssa_332] */ vec4 32 ssa_24 = intrinsic load_deref (ssa_23) (0) /* access=0 */ vec1 32 ssa_25 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_26 = intrinsic load_deref (ssa_25) (0) /* access=0 */ vec1 32 ssa_27 = imov ssa_26.z vec1 32 ssa_217 = fmul ssa_24.x, ssa_27 vec1 32 ssa_218 = fmul ssa_24.y, ssa_27 vec1 32 ssa_219 = fmul ssa_24.z, ssa_27 vec1 32 ssa_220 = fmul ssa_24.w, ssa_27 vec4 32 ssa_221 = vec4 ssa_217, ssa_218, ssa_219, ssa_220 vec1 32 ssa_222 = fadd ssa_216.x, ssa_221.x vec1 32 ssa_223 = fadd ssa_216.y, ssa_221.y vec1 32 ssa_224 = fadd ssa_216.z, ssa_221.z vec1 32 ssa_225 = fadd ssa_216.w, ssa_221.w vec4 32 ssa_226 = vec4 ssa_222, ssa_223, ssa_224, ssa_225 vec1 32 ssa_30 = deref_var &const_temp@2 (function_temp int) vec1 32 ssa_333 = imov ssa_146 vec1 32 ssa_32 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_33 = deref_array &(*ssa_32)[ssa_333] (uniform vec4) /* &gl_ModelViewProjectionMatrix[ssa_333] */ vec4 32 ssa_34 = intrinsic load_deref (ssa_33) (0) /* access=0 */ vec1 32 ssa_35 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_36 = intrinsic load_deref (ssa_35) (0) /* access=0 */ vec1 32 ssa_37 = imov ssa_36.w vec1 32 ssa_227 = fmul ssa_34.x, ssa_37 vec1 32 ssa_228 = fmul ssa_34.y, ssa_37 vec1 32 ssa_229 = fmul ssa_34.z, ssa_37 vec1 32 ssa_230 = fmul ssa_34.w, ssa_37 vec4 32 ssa_231 = vec4 ssa_227, ssa_228, ssa_229, ssa_230 vec1 32 ssa_232 = fadd ssa_226.x, ssa_231.x vec1 32 ssa_233 = fadd ssa_226.y, ssa_231.y vec1 32 ssa_234 = fadd ssa_226.z, ssa_231.z vec1 32 ssa_235 = fadd ssa_226.w, ssa_231.w vec4 32 ssa_236 = vec4 ssa_232, ssa_233, ssa_234, ssa_235 vec1 32 ssa_40 = deref_var &flattening_tmp (function_temp vec4) vec1 32 ssa_41 = deref_var &out@gl_Position-temp (function_temp vec4) vec4 32 ssa_334 = imov ssa_236 vec1 32 ssa_42 = deref_var &vec_ctor (function_temp ivec3) vec1 32 ssa_43 = deref_var &const_temp@3 (function_temp int) vec1 32 ssa_335 = imov ssa_148 vec1 32 ssa_237 = imov ssa_335 vec1 32 ssa_238 = imov ssa_335 vec1 32 ssa_239 = imov ssa_335 vec3 32 ssa_240 = vec3 ssa_237, ssa_238, ssa_239 vec1 32 ssa_337 = imov ssa_240.x vec1 32 ssa_338 = imov ssa_336.y vec1 32 ssa_339 = imov ssa_336.z vec3 32 ssa_340 = vec3 ssa_337, ssa_338, ssa_339 vec1 32 ssa_46 = deref_var &vec_ctor (function_temp ivec3) vec1 32 ssa_47 = deref_var &j (uniform ivec2) vec2 32 ssa_48 = intrinsic load_deref (ssa_47) (0) /* access=0 */ vec1 32 ssa_241 = imov ssa_48.x vec1 32 ssa_242 = imov ssa_48.x vec1 32 ssa_243 = imov ssa_48.y vec3 32 ssa_244 = vec3 ssa_241, ssa_242, ssa_243 vec1 32 ssa_341 = imov ssa_340.x vec1 32 ssa_342 = imov ssa_244.y vec1 32 ssa_343 = imov ssa_244.z vec3 32 ssa_344 = vec3 ssa_341, ssa_342, ssa_343 vec1 32 ssa_50 = deref_var &const_temp@4 (function_temp uint) vec1 32 ssa_345 = imov ssa_150 vec1 32 ssa_52 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_53 = deref_array &(*ssa_52)[ssa_345] (function_temp vec3) /* &mat_ctor[ssa_345] */ vec1 32 ssa_54 = deref_var &vec_ctor (function_temp ivec3) vec3 32 ssa_346 = imov ssa_344 vec1 32 ssa_245 = i2f32 ssa_346.x vec1 32 ssa_246 = i2f32 ssa_346.y vec1 32 ssa_247 = i2f32 ssa_346.z vec3 32 ssa_248 = vec3 ssa_245, ssa_246, ssa_247 intrinsic store_deref (ssa_53, ssa_248) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_57 = deref_var &const_temp@5 (function_temp vec3) vec1 32 ssa_58 = deref_var &const_temp@6 (function_temp uint) vec1 32 ssa_347 = imov ssa_154 vec1 32 ssa_60 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_61 = deref_array &(*ssa_60)[ssa_347] (function_temp vec3) /* &mat_ctor[ssa_347] */ vec3 32 ssa_348 = imov ssa_152 intrinsic store_deref (ssa_61, ssa_348) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_62 = deref_var &const_temp@7 (function_temp vec3) vec1 32 ssa_63 = deref_var &const_temp@8 (function_temp uint) vec1 32 ssa_349 = imov ssa_158 vec1 32 ssa_65 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_66 = deref_array &(*ssa_65)[ssa_349] (function_temp vec3) /* &mat_ctor[ssa_349] */ vec3 32 ssa_350 = imov ssa_156 intrinsic store_deref (ssa_66, ssa_350) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_67 = deref_var &const_temp@9 (function_temp vec3) vec1 32 ssa_68 = deref_var &const_temp@10 (function_temp uint) vec1 32 ssa_351 = imov ssa_162 vec1 32 ssa_70 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_71 = deref_array &(*ssa_70)[ssa_351] (function_temp vec3) /* &mat_ctor[ssa_351] */ vec3 32 ssa_352 = imov ssa_160 intrinsic store_deref (ssa_71, ssa_352) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_73 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_298 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_300 = deref_array &(*ssa_73)[0] (function_temp vec3) /* &mat_op_to_vec[0] */ vec1 32 ssa_314 = deref_var &(const_temp[0]) (function_temp vec3) vec3 32 ssa_353 = imov ssa_164 intrinsic store_deref (ssa_300, ssa_353) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_301 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_303 = deref_array &(*ssa_73)[1] (function_temp vec3) /* &mat_op_to_vec[1] */ vec1 32 ssa_315 = deref_var &(const_temp[1]) (function_temp vec3) vec3 32 ssa_354 = imov ssa_167 intrinsic store_deref (ssa_303, ssa_354) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_304 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_306 = deref_array &(*ssa_73)[2] (function_temp vec3) /* &mat_op_to_vec[2] */ vec1 32 ssa_316 = deref_var &(const_temp[2]) (function_temp vec3) vec3 32 ssa_355 = imov ssa_170 intrinsic store_deref (ssa_306, ssa_355) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_307 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_309 = deref_array &(*ssa_73)[3] (function_temp vec3) /* &mat_op_to_vec[3] */ vec1 32 ssa_317 = deref_var &(const_temp[3]) (function_temp vec3) vec3 32 ssa_356 = imov ssa_173 intrinsic store_deref (ssa_309, ssa_356) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_74 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 32 ssa_75 = deref_var &const_temp@12 (function_temp int) vec1 32 ssa_357 = imov ssa_177 vec1 32 ssa_77 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_78 = deref_array &(*ssa_77)[ssa_357] (function_temp vec3) /* &mat_op_to_vec[ssa_357] */ vec3 32 ssa_79 = intrinsic load_deref (ssa_78) (0) /* access=0 */ vec1 32 ssa_80 = deref_var &const_temp@13 (function_temp int) vec1 32 ssa_358 = imov ssa_179 vec1 32 ssa_82 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_83 = deref_array &(*ssa_82)[ssa_358] (function_temp vec3) /* &mat_ctor[ssa_358] */ vec3 32 ssa_84 = intrinsic load_deref (ssa_83) (0) /* access=0 */ vec1 1 ssa_249 = fne ssa_79.x, ssa_84.x vec1 1 ssa_250 = fne ssa_79.y, ssa_84.y vec1 1 ssa_251 = ior ssa_249, ssa_250 vec1 1 ssa_252 = fne ssa_79.z, ssa_84.z vec1 1 ssa_253 = ior ssa_251, ssa_252 vec1 1 ssa_254 = imov ssa_253 vec1 1 ssa_255 = imov ssa_253 vec1 1 ssa_256 = imov ssa_253 vec1 1 ssa_257 = imov ssa_253 vec4 1 ssa_258 = vec4 ssa_254, ssa_255, ssa_256, ssa_257 vec1 1 ssa_360 = imov ssa_258.x vec1 1 ssa_361 = imov ssa_359.y vec1 1 ssa_362 = imov ssa_359.z vec1 1 ssa_363 = imov ssa_359.w vec4 1 ssa_364 = vec4 ssa_360, ssa_361, ssa_362, ssa_363 vec1 32 ssa_87 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 32 ssa_88 = deref_var &const_temp@14 (function_temp int) vec1 32 ssa_365 = imov ssa_181 vec1 32 ssa_90 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_91 = deref_array &(*ssa_90)[ssa_365] (function_temp vec3) /* &mat_op_to_vec[ssa_365] */ vec3 32 ssa_92 = intrinsic load_deref (ssa_91) (0) /* access=0 */ vec1 32 ssa_93 = deref_var &const_temp@15 (function_temp int) vec1 32 ssa_366 = imov ssa_183 vec1 32 ssa_95 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_96 = deref_array &(*ssa_95)[ssa_366] (function_temp vec3) /* &mat_ctor[ssa_366] */ vec3 32 ssa_97 = intrinsic load_deref (ssa_96) (0) /* access=0 */ vec1 1 ssa_259 = fne ssa_92.x, ssa_97.x vec1 1 ssa_260 = fne ssa_92.y, ssa_97.y vec1 1 ssa_261 = ior ssa_259, ssa_260 vec1 1 ssa_262 = fne ssa_92.z, ssa_97.z vec1 1 ssa_263 = ior ssa_261, ssa_262 vec1 1 ssa_264 = imov ssa_263 vec1 1 ssa_265 = imov ssa_263 vec1 1 ssa_266 = imov ssa_263 vec1 1 ssa_267 = imov ssa_263 vec4 1 ssa_268 = vec4 ssa_264, ssa_265, ssa_266, ssa_267 vec1 1 ssa_367 = imov ssa_364.x vec1 1 ssa_368 = imov ssa_268.y vec1 1 ssa_369 = imov ssa_364.z vec1 1 ssa_370 = imov ssa_364.w vec4 1 ssa_371 = vec4 ssa_367, ssa_368, ssa_369, ssa_370 vec1 32 ssa_100 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 32 ssa_101 = deref_var &const_temp@16 (function_temp int) vec1 32 ssa_372 = imov ssa_185 vec1 32 ssa_103 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_104 = deref_array &(*ssa_103)[ssa_372] (function_temp vec3) /* &mat_op_to_vec[ssa_372] */ vec3 32 ssa_105 = intrinsic load_deref (ssa_104) (0) /* access=0 */ vec1 32 ssa_106 = deref_var &const_temp@17 (function_temp int) vec1 32 ssa_373 = imov ssa_187 vec1 32 ssa_108 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_109 = deref_array &(*ssa_108)[ssa_373] (function_temp vec3) /* &mat_ctor[ssa_373] */ vec3 32 ssa_110 = intrinsic load_deref (ssa_109) (0) /* access=0 */ vec1 1 ssa_269 = fne ssa_105.x, ssa_110.x vec1 1 ssa_270 = fne ssa_105.y, ssa_110.y vec1 1 ssa_271 = ior ssa_269, ssa_270 vec1 1 ssa_272 = fne ssa_105.z, ssa_110.z vec1 1 ssa_273 = ior ssa_271, ssa_272 vec1 1 ssa_274 = imov ssa_273 vec1 1 ssa_275 = imov ssa_273 vec1 1 ssa_276 = imov ssa_273 vec1 1 ssa_277 = imov ssa_273 vec4 1 ssa_278 = vec4 ssa_274, ssa_275, ssa_276, ssa_277 vec1 1 ssa_374 = imov ssa_371.x vec1 1 ssa_375 = imov ssa_371.y vec1 1 ssa_376 = imov ssa_278.z vec1 1 ssa_377 = imov ssa_371.w vec4 1 ssa_378 = vec4 ssa_374, ssa_375, ssa_376, ssa_377 vec1 32 ssa_113 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 32 ssa_114 = deref_var &const_temp@18 (function_temp int) vec1 32 ssa_379 = imov ssa_189 vec1 32 ssa_116 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_117 = deref_array &(*ssa_116)[ssa_379] (function_temp vec3) /* &mat_op_to_vec[ssa_379] */ vec3 32 ssa_118 = intrinsic load_deref (ssa_117) (0) /* access=0 */ vec1 32 ssa_119 = deref_var &const_temp@19 (function_temp int) vec1 32 ssa_380 = imov ssa_191 vec1 32 ssa_121 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_122 = deref_array &(*ssa_121)[ssa_380] (function_temp vec3) /* &mat_ctor[ssa_380] */ vec3 32 ssa_123 = intrinsic load_deref (ssa_122) (0) /* access=0 */ vec1 1 ssa_279 = fne ssa_118.x, ssa_123.x vec1 1 ssa_280 = fne ssa_118.y, ssa_123.y vec1 1 ssa_281 = ior ssa_279, ssa_280 vec1 1 ssa_282 = fne ssa_118.z, ssa_123.z vec1 1 ssa_283 = ior ssa_281, ssa_282 vec1 1 ssa_284 = imov ssa_283 vec1 1 ssa_285 = imov ssa_283 vec1 1 ssa_286 = imov ssa_283 vec1 1 ssa_287 = imov ssa_283 vec4 1 ssa_288 = vec4 ssa_284, ssa_285, ssa_286, ssa_287 vec1 1 ssa_381 = imov ssa_378.x vec1 1 ssa_382 = imov ssa_378.y vec1 1 ssa_383 = imov ssa_378.z vec1 1 ssa_384 = imov ssa_288.w vec4 1 ssa_385 = vec4 ssa_381, ssa_382, ssa_383, ssa_384 vec1 32 ssa_126 = deref_var &flattening_tmp@11 (function_temp bool) vec1 32 ssa_127 = deref_var &mat_cmp_bvec (function_temp bvec4) vec4 1 ssa_386 = imov ssa_385 vec1 32 ssa_129 = deref_var &const_temp@20 (function_temp bvec4) vec4 1 ssa_387 = imov ssa_193 vec1 1 ssa_289 = ine ssa_386.x, ssa_387.x vec1 1 ssa_290 = ine ssa_386.y, ssa_387.y vec1 1 ssa_291 = ior ssa_289, ssa_290 vec1 1 ssa_292 = ine ssa_386.z, ssa_387.z vec1 1 ssa_293 = ior ssa_291, ssa_292 vec1 1 ssa_294 = ine ssa_386.w, ssa_387.w vec1 1 ssa_295 = ior ssa_293, ssa_294 vec1 1 ssa_132 = inot ssa_295 vec1 32 ssa_133 = deref_var &flattening_tmp@11 (function_temp bool) vec1 1 ssa_388 = imov ssa_132 /* succs: block_1 block_2 */ if ssa_388 { block block_1: /* preds: block_0 */ vec1 32 ssa_135 = deref_var &const_temp@21 (function_temp vec4) vec1 32 ssa_136 = deref_var &out@gl_FrontColor-temp (function_temp vec4) vec4 32 ssa_389 = imov ssa_195 /* succs: block_3 */ } else { block block_2: /* preds: block_0 */ vec1 32 ssa_137 = deref_var &const_temp@22 (function_temp vec4) vec1 32 ssa_138 = deref_var &out@gl_FrontColor-temp (function_temp vec4) vec4 32 ssa_390 = imov ssa_197 /* succs: block_3 */ } block block_3: /* preds: block_1 block_2 */ vec4 32 ssa_393 = phi block_1: ssa_389, block_2: ssa_390 vec1 32 ssa_198 = deref_var &out@gl_Position-temp (function_temp vec4) vec1 32 ssa_199 = deref_var &gl_Position (shader_out vec4) vec4 32 ssa_391 = imov ssa_334 intrinsic store_deref (ssa_199, ssa_391) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_200 = deref_var &out@gl_FrontColor-temp (function_temp vec4) vec1 32 ssa_201 = deref_var &gl_FrontColor (shader_out vec4) vec4 32 ssa_392 = imov ssa_393 intrinsic store_deref (ssa_201, ssa_392) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_4 */ block block_4: } nir_opt_find_array_copies nir_opt_copy_prop_vars shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 0, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 0, 0) decl_function main (0 params) impl main { decl_var INTERP_MODE_NONE vec4 flattening_tmp decl_var INTERP_MODE_NONE int const_temp decl_var INTERP_MODE_NONE int const_temp@0 decl_var INTERP_MODE_NONE int const_temp@1 decl_var INTERP_MODE_NONE int const_temp@2 decl_var INTERP_MODE_NONE ivec3 vec_ctor decl_var INTERP_MODE_NONE int const_temp@3 decl_var INTERP_MODE_NONE mat4x3 mat_ctor decl_var INTERP_MODE_NONE uint const_temp@4 decl_var INTERP_MODE_NONE vec3 const_temp@5 decl_var INTERP_MODE_NONE uint const_temp@6 decl_var INTERP_MODE_NONE vec3 const_temp@7 decl_var INTERP_MODE_NONE uint const_temp@8 decl_var INTERP_MODE_NONE vec3 const_temp@9 decl_var INTERP_MODE_NONE uint const_temp@10 decl_var INTERP_MODE_NONE bool flattening_tmp@11 decl_var INTERP_MODE_NONE mat4x3 mat_op_to_vec decl_var INTERP_MODE_NONE bvec4 mat_cmp_bvec decl_var INTERP_MODE_NONE int const_temp@12 decl_var INTERP_MODE_NONE int const_temp@13 decl_var INTERP_MODE_NONE int const_temp@14 decl_var INTERP_MODE_NONE int const_temp@15 decl_var INTERP_MODE_NONE int const_temp@16 decl_var INTERP_MODE_NONE int const_temp@17 decl_var INTERP_MODE_NONE int const_temp@18 decl_var INTERP_MODE_NONE int const_temp@19 decl_var INTERP_MODE_NONE bvec4 const_temp@20 decl_var INTERP_MODE_NONE vec4 const_temp@21 decl_var INTERP_MODE_NONE vec4 const_temp@22 decl_var INTERP_MODE_NONE vec4 out@gl_FrontColor-temp decl_var INTERP_MODE_NONE vec4 out@gl_Position-temp decl_var INTERP_MODE_NONE vec3 (const_temp[0]) decl_var INTERP_MODE_NONE vec3 (const_temp[1]) decl_var INTERP_MODE_NONE vec3 (const_temp[2]) decl_var INTERP_MODE_NONE vec3 (const_temp[3]) block block_0: /* preds: */ vec4 1 ssa_0 = undefined vec3 32 ssa_1 = undefined vec1 32 ssa_2 = deref_var &const_temp (function_temp int) vec1 32 ssa_3 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_4 = deref_var &const_temp@0 (function_temp int) vec1 32 ssa_5 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_6 = deref_var &const_temp@1 (function_temp int) vec1 32 ssa_7 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_8 = deref_var &const_temp@2 (function_temp int) vec1 32 ssa_9 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_10 = deref_var &const_temp@3 (function_temp int) vec1 32 ssa_11 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_12 = deref_var &const_temp@4 (function_temp uint) vec1 32 ssa_13 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_14 = deref_var &const_temp@5 (function_temp vec3) vec3 32 ssa_15 = load_const (0x40800000 /* 4.000000 */, 0x40a00000 /* 5.000000 */, 0x40c00000 /* 6.000000 */) vec1 32 ssa_16 = deref_var &const_temp@6 (function_temp uint) vec1 32 ssa_17 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_18 = deref_var &const_temp@7 (function_temp vec3) vec3 32 ssa_19 = load_const (0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */) vec1 32 ssa_20 = deref_var &const_temp@8 (function_temp uint) vec1 32 ssa_21 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_22 = deref_var &const_temp@9 (function_temp vec3) vec3 32 ssa_23 = load_const (0x41000000 /* 8.000000 */, 0x40e00000 /* 7.000000 */, 0x41200000 /* 10.000000 */) vec1 32 ssa_24 = deref_var &const_temp@10 (function_temp uint) vec1 32 ssa_25 = load_const (0x00000003 /* 0.000000 */) vec3 32 ssa_26 = load_const (0x3f800000 /* 1.000000 */, 0x40000000 /* 2.000000 */, 0x40400000 /* 3.000000 */) vec1 32 ssa_27 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_28 = deref_var &(const_temp[0]) (function_temp vec3) vec3 32 ssa_29 = load_const (0x40800000 /* 4.000000 */, 0x40a00000 /* 5.000000 */, 0x40c00000 /* 6.000000 */) vec1 32 ssa_30 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_31 = deref_var &(const_temp[1]) (function_temp vec3) vec3 32 ssa_32 = load_const (0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */) vec1 32 ssa_33 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_34 = deref_var &(const_temp[2]) (function_temp vec3) vec3 32 ssa_35 = load_const (0x41000000 /* 8.000000 */, 0x40e00000 /* 7.000000 */, 0x41200000 /* 10.000000 */) vec1 32 ssa_36 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_37 = deref_var &(const_temp[3]) (function_temp vec3) vec1 32 ssa_38 = deref_var &const_temp@12 (function_temp int) vec1 32 ssa_39 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_40 = deref_var &const_temp@13 (function_temp int) vec1 32 ssa_41 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_42 = deref_var &const_temp@14 (function_temp int) vec1 32 ssa_43 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_44 = deref_var &const_temp@15 (function_temp int) vec1 32 ssa_45 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_46 = deref_var &const_temp@16 (function_temp int) vec1 32 ssa_47 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_48 = deref_var &const_temp@17 (function_temp int) vec1 32 ssa_49 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_50 = deref_var &const_temp@18 (function_temp int) vec1 32 ssa_51 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_52 = deref_var &const_temp@19 (function_temp int) vec1 32 ssa_53 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_54 = deref_var &const_temp@20 (function_temp bvec4) vec4 1 ssa_55 = load_const (false, false, false, false) vec1 32 ssa_56 = deref_var &const_temp@21 (function_temp vec4) vec4 32 ssa_57 = load_const (0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */, 0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */) vec1 32 ssa_58 = deref_var &const_temp@22 (function_temp vec4) vec4 32 ssa_59 = load_const (0x3f800000 /* 1.000000 */, 0x00000000 /* 0.000000 */, 0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */) vec1 32 ssa_60 = deref_var &flattening_tmp (function_temp vec4) vec1 32 ssa_61 = deref_var &const_temp (function_temp int) vec1 32 ssa_62 = imov ssa_3 vec1 32 ssa_63 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_64 = deref_array &(*ssa_63)[ssa_62] (uniform vec4) /* &gl_ModelViewProjectionMatrix[ssa_62] */ vec4 32 ssa_65 = intrinsic load_deref (ssa_64) (0) /* access=0 */ vec1 32 ssa_66 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_67 = intrinsic load_deref (ssa_66) (0) /* access=0 */ vec1 32 ssa_68 = imov ssa_67.x vec1 32 ssa_69 = fmul ssa_65.x, ssa_68 vec1 32 ssa_70 = fmul ssa_65.y, ssa_68 vec1 32 ssa_71 = fmul ssa_65.z, ssa_68 vec1 32 ssa_72 = fmul ssa_65.w, ssa_68 vec4 32 ssa_73 = vec4 ssa_69, ssa_70, ssa_71, ssa_72 vec1 32 ssa_74 = deref_var &const_temp@0 (function_temp int) vec1 32 ssa_75 = imov ssa_5 vec1 32 ssa_76 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_77 = deref_array &(*ssa_76)[ssa_75] (uniform vec4) /* &gl_ModelViewProjectionMatrix[ssa_75] */ vec4 32 ssa_78 = intrinsic load_deref (ssa_77) (0) /* access=0 */ vec1 32 ssa_79 = deref_var &gl_Vertex (shader_in vec4) vec1 32 ssa_81 = imov ssa_67.y vec1 32 ssa_82 = fmul ssa_78.x, ssa_81 vec1 32 ssa_83 = fmul ssa_78.y, ssa_81 vec1 32 ssa_84 = fmul ssa_78.z, ssa_81 vec1 32 ssa_85 = fmul ssa_78.w, ssa_81 vec4 32 ssa_86 = vec4 ssa_82, ssa_83, ssa_84, ssa_85 vec1 32 ssa_87 = fadd ssa_73.x, ssa_86.x vec1 32 ssa_88 = fadd ssa_73.y, ssa_86.y vec1 32 ssa_89 = fadd ssa_73.z, ssa_86.z vec1 32 ssa_90 = fadd ssa_73.w, ssa_86.w vec4 32 ssa_91 = vec4 ssa_87, ssa_88, ssa_89, ssa_90 vec1 32 ssa_92 = deref_var &const_temp@1 (function_temp int) vec1 32 ssa_93 = imov ssa_7 vec1 32 ssa_94 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_95 = deref_array &(*ssa_94)[ssa_93] (uniform vec4) /* &gl_ModelViewProjectionMatrix[ssa_93] */ vec4 32 ssa_96 = intrinsic load_deref (ssa_95) (0) /* access=0 */ vec1 32 ssa_97 = deref_var &gl_Vertex (shader_in vec4) vec1 32 ssa_99 = imov ssa_67.z vec1 32 ssa_100 = fmul ssa_96.x, ssa_99 vec1 32 ssa_101 = fmul ssa_96.y, ssa_99 vec1 32 ssa_102 = fmul ssa_96.z, ssa_99 vec1 32 ssa_103 = fmul ssa_96.w, ssa_99 vec4 32 ssa_104 = vec4 ssa_100, ssa_101, ssa_102, ssa_103 vec1 32 ssa_105 = fadd ssa_91.x, ssa_104.x vec1 32 ssa_106 = fadd ssa_91.y, ssa_104.y vec1 32 ssa_107 = fadd ssa_91.z, ssa_104.z vec1 32 ssa_108 = fadd ssa_91.w, ssa_104.w vec4 32 ssa_109 = vec4 ssa_105, ssa_106, ssa_107, ssa_108 vec1 32 ssa_110 = deref_var &const_temp@2 (function_temp int) vec1 32 ssa_111 = imov ssa_9 vec1 32 ssa_112 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_113 = deref_array &(*ssa_112)[ssa_111] (uniform vec4) /* &gl_ModelViewProjectionMatrix[ssa_111] */ vec4 32 ssa_114 = intrinsic load_deref (ssa_113) (0) /* access=0 */ vec1 32 ssa_115 = deref_var &gl_Vertex (shader_in vec4) vec1 32 ssa_117 = imov ssa_67.w vec1 32 ssa_118 = fmul ssa_114.x, ssa_117 vec1 32 ssa_119 = fmul ssa_114.y, ssa_117 vec1 32 ssa_120 = fmul ssa_114.z, ssa_117 vec1 32 ssa_121 = fmul ssa_114.w, ssa_117 vec4 32 ssa_122 = vec4 ssa_118, ssa_119, ssa_120, ssa_121 vec1 32 ssa_123 = fadd ssa_109.x, ssa_122.x vec1 32 ssa_124 = fadd ssa_109.y, ssa_122.y vec1 32 ssa_125 = fadd ssa_109.z, ssa_122.z vec1 32 ssa_126 = fadd ssa_109.w, ssa_122.w vec4 32 ssa_127 = vec4 ssa_123, ssa_124, ssa_125, ssa_126 vec1 32 ssa_128 = deref_var &flattening_tmp (function_temp vec4) vec1 32 ssa_129 = deref_var &out@gl_Position-temp (function_temp vec4) vec4 32 ssa_130 = imov ssa_127 vec1 32 ssa_131 = deref_var &vec_ctor (function_temp ivec3) vec1 32 ssa_132 = deref_var &const_temp@3 (function_temp int) vec1 32 ssa_133 = imov ssa_11 vec1 32 ssa_134 = imov ssa_133 vec1 32 ssa_135 = imov ssa_133 vec1 32 ssa_136 = imov ssa_133 vec3 32 ssa_137 = vec3 ssa_134, ssa_135, ssa_136 vec1 32 ssa_138 = imov ssa_137.x vec1 32 ssa_139 = imov ssa_1.y vec1 32 ssa_140 = imov ssa_1.z vec3 32 ssa_141 = vec3 ssa_138, ssa_139, ssa_140 vec1 32 ssa_142 = deref_var &vec_ctor (function_temp ivec3) vec1 32 ssa_143 = deref_var &j (uniform ivec2) vec2 32 ssa_144 = intrinsic load_deref (ssa_143) (0) /* access=0 */ vec1 32 ssa_145 = imov ssa_144.x vec1 32 ssa_146 = imov ssa_144.x vec1 32 ssa_147 = imov ssa_144.y vec3 32 ssa_148 = vec3 ssa_145, ssa_146, ssa_147 vec1 32 ssa_149 = imov ssa_141.x vec1 32 ssa_150 = imov ssa_148.y vec1 32 ssa_151 = imov ssa_148.z vec3 32 ssa_152 = vec3 ssa_149, ssa_150, ssa_151 vec1 32 ssa_153 = deref_var &const_temp@4 (function_temp uint) vec1 32 ssa_154 = imov ssa_13 vec1 32 ssa_155 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_156 = deref_array &(*ssa_155)[ssa_154] (function_temp vec3) /* &mat_ctor[ssa_154] */ vec1 32 ssa_157 = deref_var &vec_ctor (function_temp ivec3) vec3 32 ssa_158 = imov ssa_152 vec1 32 ssa_159 = i2f32 ssa_158.x vec1 32 ssa_160 = i2f32 ssa_158.y vec1 32 ssa_161 = i2f32 ssa_158.z vec3 32 ssa_162 = vec3 ssa_159, ssa_160, ssa_161 intrinsic store_deref (ssa_156, ssa_162) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_163 = deref_var &const_temp@5 (function_temp vec3) vec1 32 ssa_164 = deref_var &const_temp@6 (function_temp uint) vec1 32 ssa_165 = imov ssa_17 vec1 32 ssa_166 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_167 = deref_array &(*ssa_166)[ssa_165] (function_temp vec3) /* &mat_ctor[ssa_165] */ vec3 32 ssa_168 = imov ssa_15 intrinsic store_deref (ssa_167, ssa_168) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_169 = deref_var &const_temp@7 (function_temp vec3) vec1 32 ssa_170 = deref_var &const_temp@8 (function_temp uint) vec1 32 ssa_171 = imov ssa_21 vec1 32 ssa_172 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_173 = deref_array &(*ssa_172)[ssa_171] (function_temp vec3) /* &mat_ctor[ssa_171] */ vec3 32 ssa_174 = imov ssa_19 intrinsic store_deref (ssa_173, ssa_174) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_175 = deref_var &const_temp@9 (function_temp vec3) vec1 32 ssa_176 = deref_var &const_temp@10 (function_temp uint) vec1 32 ssa_177 = imov ssa_25 vec1 32 ssa_178 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_179 = deref_array &(*ssa_178)[ssa_177] (function_temp vec3) /* &mat_ctor[ssa_177] */ vec3 32 ssa_180 = imov ssa_23 intrinsic store_deref (ssa_179, ssa_180) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_181 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_182 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_183 = deref_array &(*ssa_181)[0] (function_temp vec3) /* &mat_op_to_vec[0] */ vec1 32 ssa_184 = deref_var &(const_temp[0]) (function_temp vec3) vec3 32 ssa_185 = imov ssa_26 intrinsic store_deref (ssa_183, ssa_185) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_186 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_187 = deref_array &(*ssa_181)[1] (function_temp vec3) /* &mat_op_to_vec[1] */ vec1 32 ssa_188 = deref_var &(const_temp[1]) (function_temp vec3) vec3 32 ssa_189 = imov ssa_29 intrinsic store_deref (ssa_187, ssa_189) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_190 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_191 = deref_array &(*ssa_181)[2] (function_temp vec3) /* &mat_op_to_vec[2] */ vec1 32 ssa_192 = deref_var &(const_temp[2]) (function_temp vec3) vec3 32 ssa_193 = imov ssa_32 intrinsic store_deref (ssa_191, ssa_193) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_194 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_195 = deref_array &(*ssa_181)[3] (function_temp vec3) /* &mat_op_to_vec[3] */ vec1 32 ssa_196 = deref_var &(const_temp[3]) (function_temp vec3) vec3 32 ssa_197 = imov ssa_35 intrinsic store_deref (ssa_195, ssa_197) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_198 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 32 ssa_199 = deref_var &const_temp@12 (function_temp int) vec1 32 ssa_200 = imov ssa_39 vec1 32 ssa_201 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_202 = deref_array &(*ssa_201)[ssa_200] (function_temp vec3) /* &mat_op_to_vec[ssa_200] */ vec3 32 ssa_203 = intrinsic load_deref (ssa_202) (0) /* access=0 */ vec1 32 ssa_204 = deref_var &const_temp@13 (function_temp int) vec1 32 ssa_205 = imov ssa_41 vec1 32 ssa_206 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_207 = deref_array &(*ssa_206)[ssa_205] (function_temp vec3) /* &mat_ctor[ssa_205] */ vec3 32 ssa_208 = intrinsic load_deref (ssa_207) (0) /* access=0 */ vec1 1 ssa_209 = fne ssa_203.x, ssa_208.x vec1 1 ssa_210 = fne ssa_203.y, ssa_208.y vec1 1 ssa_211 = ior ssa_209, ssa_210 vec1 1 ssa_212 = fne ssa_203.z, ssa_208.z vec1 1 ssa_213 = ior ssa_211, ssa_212 vec1 1 ssa_214 = imov ssa_213 vec1 1 ssa_215 = imov ssa_213 vec1 1 ssa_216 = imov ssa_213 vec1 1 ssa_217 = imov ssa_213 vec4 1 ssa_218 = vec4 ssa_214, ssa_215, ssa_216, ssa_217 vec1 1 ssa_219 = imov ssa_218.x vec1 1 ssa_220 = imov ssa_0.y vec1 1 ssa_221 = imov ssa_0.z vec1 1 ssa_222 = imov ssa_0.w vec4 1 ssa_223 = vec4 ssa_219, ssa_220, ssa_221, ssa_222 vec1 32 ssa_224 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 32 ssa_225 = deref_var &const_temp@14 (function_temp int) vec1 32 ssa_226 = imov ssa_43 vec1 32 ssa_227 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_228 = deref_array &(*ssa_227)[ssa_226] (function_temp vec3) /* &mat_op_to_vec[ssa_226] */ vec3 32 ssa_229 = intrinsic load_deref (ssa_228) (0) /* access=0 */ vec1 32 ssa_230 = deref_var &const_temp@15 (function_temp int) vec1 32 ssa_231 = imov ssa_45 vec1 32 ssa_232 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_233 = deref_array &(*ssa_232)[ssa_231] (function_temp vec3) /* &mat_ctor[ssa_231] */ vec3 32 ssa_234 = intrinsic load_deref (ssa_233) (0) /* access=0 */ vec1 1 ssa_235 = fne ssa_229.x, ssa_234.x vec1 1 ssa_236 = fne ssa_229.y, ssa_234.y vec1 1 ssa_237 = ior ssa_235, ssa_236 vec1 1 ssa_238 = fne ssa_229.z, ssa_234.z vec1 1 ssa_239 = ior ssa_237, ssa_238 vec1 1 ssa_240 = imov ssa_239 vec1 1 ssa_241 = imov ssa_239 vec1 1 ssa_242 = imov ssa_239 vec1 1 ssa_243 = imov ssa_239 vec4 1 ssa_244 = vec4 ssa_240, ssa_241, ssa_242, ssa_243 vec1 1 ssa_245 = imov ssa_223.x vec1 1 ssa_246 = imov ssa_244.y vec1 1 ssa_247 = imov ssa_223.z vec1 1 ssa_248 = imov ssa_223.w vec4 1 ssa_249 = vec4 ssa_245, ssa_246, ssa_247, ssa_248 vec1 32 ssa_250 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 32 ssa_251 = deref_var &const_temp@16 (function_temp int) vec1 32 ssa_252 = imov ssa_47 vec1 32 ssa_253 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_254 = deref_array &(*ssa_253)[ssa_252] (function_temp vec3) /* &mat_op_to_vec[ssa_252] */ vec3 32 ssa_255 = intrinsic load_deref (ssa_254) (0) /* access=0 */ vec1 32 ssa_256 = deref_var &const_temp@17 (function_temp int) vec1 32 ssa_257 = imov ssa_49 vec1 32 ssa_258 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_259 = deref_array &(*ssa_258)[ssa_257] (function_temp vec3) /* &mat_ctor[ssa_257] */ vec3 32 ssa_260 = intrinsic load_deref (ssa_259) (0) /* access=0 */ vec1 1 ssa_261 = fne ssa_255.x, ssa_260.x vec1 1 ssa_262 = fne ssa_255.y, ssa_260.y vec1 1 ssa_263 = ior ssa_261, ssa_262 vec1 1 ssa_264 = fne ssa_255.z, ssa_260.z vec1 1 ssa_265 = ior ssa_263, ssa_264 vec1 1 ssa_266 = imov ssa_265 vec1 1 ssa_267 = imov ssa_265 vec1 1 ssa_268 = imov ssa_265 vec1 1 ssa_269 = imov ssa_265 vec4 1 ssa_270 = vec4 ssa_266, ssa_267, ssa_268, ssa_269 vec1 1 ssa_271 = imov ssa_249.x vec1 1 ssa_272 = imov ssa_249.y vec1 1 ssa_273 = imov ssa_270.z vec1 1 ssa_274 = imov ssa_249.w vec4 1 ssa_275 = vec4 ssa_271, ssa_272, ssa_273, ssa_274 vec1 32 ssa_276 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 32 ssa_277 = deref_var &const_temp@18 (function_temp int) vec1 32 ssa_278 = imov ssa_51 vec1 32 ssa_279 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_280 = deref_array &(*ssa_279)[ssa_278] (function_temp vec3) /* &mat_op_to_vec[ssa_278] */ vec3 32 ssa_281 = intrinsic load_deref (ssa_280) (0) /* access=0 */ vec1 32 ssa_282 = deref_var &const_temp@19 (function_temp int) vec1 32 ssa_283 = imov ssa_53 vec1 32 ssa_284 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_285 = deref_array &(*ssa_284)[ssa_283] (function_temp vec3) /* &mat_ctor[ssa_283] */ vec3 32 ssa_286 = intrinsic load_deref (ssa_285) (0) /* access=0 */ vec1 1 ssa_287 = fne ssa_281.x, ssa_286.x vec1 1 ssa_288 = fne ssa_281.y, ssa_286.y vec1 1 ssa_289 = ior ssa_287, ssa_288 vec1 1 ssa_290 = fne ssa_281.z, ssa_286.z vec1 1 ssa_291 = ior ssa_289, ssa_290 vec1 1 ssa_292 = imov ssa_291 vec1 1 ssa_293 = imov ssa_291 vec1 1 ssa_294 = imov ssa_291 vec1 1 ssa_295 = imov ssa_291 vec4 1 ssa_296 = vec4 ssa_292, ssa_293, ssa_294, ssa_295 vec1 1 ssa_297 = imov ssa_275.x vec1 1 ssa_298 = imov ssa_275.y vec1 1 ssa_299 = imov ssa_275.z vec1 1 ssa_300 = imov ssa_296.w vec4 1 ssa_301 = vec4 ssa_297, ssa_298, ssa_299, ssa_300 vec1 32 ssa_302 = deref_var &flattening_tmp@11 (function_temp bool) vec1 32 ssa_303 = deref_var &mat_cmp_bvec (function_temp bvec4) vec4 1 ssa_304 = imov ssa_301 vec1 32 ssa_305 = deref_var &const_temp@20 (function_temp bvec4) vec4 1 ssa_306 = imov ssa_55 vec1 1 ssa_307 = ine ssa_304.x, ssa_306.x vec1 1 ssa_308 = ine ssa_304.y, ssa_306.y vec1 1 ssa_309 = ior ssa_307, ssa_308 vec1 1 ssa_310 = ine ssa_304.z, ssa_306.z vec1 1 ssa_311 = ior ssa_309, ssa_310 vec1 1 ssa_312 = ine ssa_304.w, ssa_306.w vec1 1 ssa_313 = ior ssa_311, ssa_312 vec1 1 ssa_314 = inot ssa_313 vec1 32 ssa_315 = deref_var &flattening_tmp@11 (function_temp bool) vec1 1 ssa_316 = imov ssa_314 /* succs: block_1 block_2 */ if ssa_316 { block block_1: /* preds: block_0 */ vec1 32 ssa_317 = deref_var &const_temp@21 (function_temp vec4) vec1 32 ssa_318 = deref_var &out@gl_FrontColor-temp (function_temp vec4) vec4 32 ssa_319 = imov ssa_57 /* succs: block_3 */ } else { block block_2: /* preds: block_0 */ vec1 32 ssa_320 = deref_var &const_temp@22 (function_temp vec4) vec1 32 ssa_321 = deref_var &out@gl_FrontColor-temp (function_temp vec4) vec4 32 ssa_322 = imov ssa_59 /* succs: block_3 */ } block block_3: /* preds: block_1 block_2 */ vec4 32 ssa_323 = phi block_1: ssa_319, block_2: ssa_322 vec1 32 ssa_324 = deref_var &out@gl_Position-temp (function_temp vec4) vec1 32 ssa_325 = deref_var &gl_Position (shader_out vec4) vec4 32 ssa_326 = imov ssa_130 intrinsic store_deref (ssa_325, ssa_326) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_327 = deref_var &out@gl_FrontColor-temp (function_temp vec4) vec1 32 ssa_328 = deref_var &gl_FrontColor (shader_out vec4) vec4 32 ssa_329 = imov ssa_323 intrinsic store_deref (ssa_328, ssa_329) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_4 */ block block_4: } nir_opt_dead_write_vars nir_lower_alu_to_scalar shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 0, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 0, 0) decl_function main (0 params) impl main { decl_var INTERP_MODE_NONE vec4 flattening_tmp decl_var INTERP_MODE_NONE int const_temp decl_var INTERP_MODE_NONE int const_temp@0 decl_var INTERP_MODE_NONE int const_temp@1 decl_var INTERP_MODE_NONE int const_temp@2 decl_var INTERP_MODE_NONE ivec3 vec_ctor decl_var INTERP_MODE_NONE int const_temp@3 decl_var INTERP_MODE_NONE mat4x3 mat_ctor decl_var INTERP_MODE_NONE uint const_temp@4 decl_var INTERP_MODE_NONE vec3 const_temp@5 decl_var INTERP_MODE_NONE uint const_temp@6 decl_var INTERP_MODE_NONE vec3 const_temp@7 decl_var INTERP_MODE_NONE uint const_temp@8 decl_var INTERP_MODE_NONE vec3 const_temp@9 decl_var INTERP_MODE_NONE uint const_temp@10 decl_var INTERP_MODE_NONE bool flattening_tmp@11 decl_var INTERP_MODE_NONE mat4x3 mat_op_to_vec decl_var INTERP_MODE_NONE bvec4 mat_cmp_bvec decl_var INTERP_MODE_NONE int const_temp@12 decl_var INTERP_MODE_NONE int const_temp@13 decl_var INTERP_MODE_NONE int const_temp@14 decl_var INTERP_MODE_NONE int const_temp@15 decl_var INTERP_MODE_NONE int const_temp@16 decl_var INTERP_MODE_NONE int const_temp@17 decl_var INTERP_MODE_NONE int const_temp@18 decl_var INTERP_MODE_NONE int const_temp@19 decl_var INTERP_MODE_NONE bvec4 const_temp@20 decl_var INTERP_MODE_NONE vec4 const_temp@21 decl_var INTERP_MODE_NONE vec4 const_temp@22 decl_var INTERP_MODE_NONE vec4 out@gl_FrontColor-temp decl_var INTERP_MODE_NONE vec4 out@gl_Position-temp decl_var INTERP_MODE_NONE vec3 (const_temp[0]) decl_var INTERP_MODE_NONE vec3 (const_temp[1]) decl_var INTERP_MODE_NONE vec3 (const_temp[2]) decl_var INTERP_MODE_NONE vec3 (const_temp[3]) block block_0: /* preds: */ vec4 1 ssa_0 = undefined vec3 32 ssa_1 = undefined vec1 32 ssa_2 = deref_var &const_temp (function_temp int) vec1 32 ssa_3 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_4 = deref_var &const_temp@0 (function_temp int) vec1 32 ssa_5 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_6 = deref_var &const_temp@1 (function_temp int) vec1 32 ssa_7 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_8 = deref_var &const_temp@2 (function_temp int) vec1 32 ssa_9 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_10 = deref_var &const_temp@3 (function_temp int) vec1 32 ssa_11 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_12 = deref_var &const_temp@4 (function_temp uint) vec1 32 ssa_13 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_14 = deref_var &const_temp@5 (function_temp vec3) vec3 32 ssa_15 = load_const (0x40800000 /* 4.000000 */, 0x40a00000 /* 5.000000 */, 0x40c00000 /* 6.000000 */) vec1 32 ssa_16 = deref_var &const_temp@6 (function_temp uint) vec1 32 ssa_17 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_18 = deref_var &const_temp@7 (function_temp vec3) vec3 32 ssa_19 = load_const (0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */) vec1 32 ssa_20 = deref_var &const_temp@8 (function_temp uint) vec1 32 ssa_21 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_22 = deref_var &const_temp@9 (function_temp vec3) vec3 32 ssa_23 = load_const (0x41000000 /* 8.000000 */, 0x40e00000 /* 7.000000 */, 0x41200000 /* 10.000000 */) vec1 32 ssa_24 = deref_var &const_temp@10 (function_temp uint) vec1 32 ssa_25 = load_const (0x00000003 /* 0.000000 */) vec3 32 ssa_26 = load_const (0x3f800000 /* 1.000000 */, 0x40000000 /* 2.000000 */, 0x40400000 /* 3.000000 */) vec1 32 ssa_27 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_28 = deref_var &(const_temp[0]) (function_temp vec3) vec3 32 ssa_29 = load_const (0x40800000 /* 4.000000 */, 0x40a00000 /* 5.000000 */, 0x40c00000 /* 6.000000 */) vec1 32 ssa_30 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_31 = deref_var &(const_temp[1]) (function_temp vec3) vec3 32 ssa_32 = load_const (0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */) vec1 32 ssa_33 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_34 = deref_var &(const_temp[2]) (function_temp vec3) vec3 32 ssa_35 = load_const (0x41000000 /* 8.000000 */, 0x40e00000 /* 7.000000 */, 0x41200000 /* 10.000000 */) vec1 32 ssa_36 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_37 = deref_var &(const_temp[3]) (function_temp vec3) vec1 32 ssa_38 = deref_var &const_temp@12 (function_temp int) vec1 32 ssa_39 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_40 = deref_var &const_temp@13 (function_temp int) vec1 32 ssa_41 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_42 = deref_var &const_temp@14 (function_temp int) vec1 32 ssa_43 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_44 = deref_var &const_temp@15 (function_temp int) vec1 32 ssa_45 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_46 = deref_var &const_temp@16 (function_temp int) vec1 32 ssa_47 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_48 = deref_var &const_temp@17 (function_temp int) vec1 32 ssa_49 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_50 = deref_var &const_temp@18 (function_temp int) vec1 32 ssa_51 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_52 = deref_var &const_temp@19 (function_temp int) vec1 32 ssa_53 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_54 = deref_var &const_temp@20 (function_temp bvec4) vec4 1 ssa_55 = load_const (false, false, false, false) vec1 32 ssa_56 = deref_var &const_temp@21 (function_temp vec4) vec4 32 ssa_57 = load_const (0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */, 0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */) vec1 32 ssa_58 = deref_var &const_temp@22 (function_temp vec4) vec4 32 ssa_59 = load_const (0x3f800000 /* 1.000000 */, 0x00000000 /* 0.000000 */, 0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */) vec1 32 ssa_60 = deref_var &flattening_tmp (function_temp vec4) vec1 32 ssa_61 = deref_var &const_temp (function_temp int) vec1 32 ssa_62 = imov ssa_3 vec1 32 ssa_63 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_64 = deref_array &(*ssa_63)[ssa_62] (uniform vec4) /* &gl_ModelViewProjectionMatrix[ssa_62] */ vec4 32 ssa_65 = intrinsic load_deref (ssa_64) (0) /* access=0 */ vec1 32 ssa_66 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_67 = intrinsic load_deref (ssa_66) (0) /* access=0 */ vec1 32 ssa_68 = imov ssa_67.x vec1 32 ssa_69 = fmul ssa_65.x, ssa_68 vec1 32 ssa_70 = fmul ssa_65.y, ssa_68 vec1 32 ssa_71 = fmul ssa_65.z, ssa_68 vec1 32 ssa_72 = fmul ssa_65.w, ssa_68 vec4 32 ssa_73 = vec4 ssa_69, ssa_70, ssa_71, ssa_72 vec1 32 ssa_74 = deref_var &const_temp@0 (function_temp int) vec1 32 ssa_75 = imov ssa_5 vec1 32 ssa_76 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_77 = deref_array &(*ssa_76)[ssa_75] (uniform vec4) /* &gl_ModelViewProjectionMatrix[ssa_75] */ vec4 32 ssa_78 = intrinsic load_deref (ssa_77) (0) /* access=0 */ vec1 32 ssa_79 = deref_var &gl_Vertex (shader_in vec4) vec1 32 ssa_81 = imov ssa_67.y vec1 32 ssa_82 = fmul ssa_78.x, ssa_81 vec1 32 ssa_83 = fmul ssa_78.y, ssa_81 vec1 32 ssa_84 = fmul ssa_78.z, ssa_81 vec1 32 ssa_85 = fmul ssa_78.w, ssa_81 vec4 32 ssa_86 = vec4 ssa_82, ssa_83, ssa_84, ssa_85 vec1 32 ssa_87 = fadd ssa_73.x, ssa_86.x vec1 32 ssa_88 = fadd ssa_73.y, ssa_86.y vec1 32 ssa_89 = fadd ssa_73.z, ssa_86.z vec1 32 ssa_90 = fadd ssa_73.w, ssa_86.w vec4 32 ssa_91 = vec4 ssa_87, ssa_88, ssa_89, ssa_90 vec1 32 ssa_92 = deref_var &const_temp@1 (function_temp int) vec1 32 ssa_93 = imov ssa_7 vec1 32 ssa_94 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_95 = deref_array &(*ssa_94)[ssa_93] (uniform vec4) /* &gl_ModelViewProjectionMatrix[ssa_93] */ vec4 32 ssa_96 = intrinsic load_deref (ssa_95) (0) /* access=0 */ vec1 32 ssa_97 = deref_var &gl_Vertex (shader_in vec4) vec1 32 ssa_99 = imov ssa_67.z vec1 32 ssa_100 = fmul ssa_96.x, ssa_99 vec1 32 ssa_101 = fmul ssa_96.y, ssa_99 vec1 32 ssa_102 = fmul ssa_96.z, ssa_99 vec1 32 ssa_103 = fmul ssa_96.w, ssa_99 vec4 32 ssa_104 = vec4 ssa_100, ssa_101, ssa_102, ssa_103 vec1 32 ssa_105 = fadd ssa_91.x, ssa_104.x vec1 32 ssa_106 = fadd ssa_91.y, ssa_104.y vec1 32 ssa_107 = fadd ssa_91.z, ssa_104.z vec1 32 ssa_108 = fadd ssa_91.w, ssa_104.w vec4 32 ssa_109 = vec4 ssa_105, ssa_106, ssa_107, ssa_108 vec1 32 ssa_110 = deref_var &const_temp@2 (function_temp int) vec1 32 ssa_111 = imov ssa_9 vec1 32 ssa_112 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_113 = deref_array &(*ssa_112)[ssa_111] (uniform vec4) /* &gl_ModelViewProjectionMatrix[ssa_111] */ vec4 32 ssa_114 = intrinsic load_deref (ssa_113) (0) /* access=0 */ vec1 32 ssa_115 = deref_var &gl_Vertex (shader_in vec4) vec1 32 ssa_117 = imov ssa_67.w vec1 32 ssa_118 = fmul ssa_114.x, ssa_117 vec1 32 ssa_119 = fmul ssa_114.y, ssa_117 vec1 32 ssa_120 = fmul ssa_114.z, ssa_117 vec1 32 ssa_121 = fmul ssa_114.w, ssa_117 vec4 32 ssa_122 = vec4 ssa_118, ssa_119, ssa_120, ssa_121 vec1 32 ssa_123 = fadd ssa_109.x, ssa_122.x vec1 32 ssa_124 = fadd ssa_109.y, ssa_122.y vec1 32 ssa_125 = fadd ssa_109.z, ssa_122.z vec1 32 ssa_126 = fadd ssa_109.w, ssa_122.w vec4 32 ssa_127 = vec4 ssa_123, ssa_124, ssa_125, ssa_126 vec1 32 ssa_128 = deref_var &flattening_tmp (function_temp vec4) vec1 32 ssa_129 = deref_var &out@gl_Position-temp (function_temp vec4) vec1 32 ssa_330 = imov ssa_127.x vec1 32 ssa_331 = imov ssa_127.y vec1 32 ssa_332 = imov ssa_127.z vec1 32 ssa_333 = imov ssa_127.w vec4 32 ssa_334 = vec4 ssa_330, ssa_331, ssa_332, ssa_333 vec1 32 ssa_131 = deref_var &vec_ctor (function_temp ivec3) vec1 32 ssa_132 = deref_var &const_temp@3 (function_temp int) vec1 32 ssa_133 = imov ssa_11 vec1 32 ssa_134 = imov ssa_133 vec1 32 ssa_135 = imov ssa_133 vec1 32 ssa_136 = imov ssa_133 vec3 32 ssa_137 = vec3 ssa_134, ssa_135, ssa_136 vec1 32 ssa_138 = imov ssa_137.x vec1 32 ssa_139 = imov ssa_1.y vec1 32 ssa_140 = imov ssa_1.z vec3 32 ssa_141 = vec3 ssa_138, ssa_139, ssa_140 vec1 32 ssa_142 = deref_var &vec_ctor (function_temp ivec3) vec1 32 ssa_143 = deref_var &j (uniform ivec2) vec2 32 ssa_144 = intrinsic load_deref (ssa_143) (0) /* access=0 */ vec1 32 ssa_145 = imov ssa_144.x vec1 32 ssa_146 = imov ssa_144.x vec1 32 ssa_147 = imov ssa_144.y vec3 32 ssa_148 = vec3 ssa_145, ssa_146, ssa_147 vec1 32 ssa_149 = imov ssa_141.x vec1 32 ssa_150 = imov ssa_148.y vec1 32 ssa_151 = imov ssa_148.z vec3 32 ssa_152 = vec3 ssa_149, ssa_150, ssa_151 vec1 32 ssa_153 = deref_var &const_temp@4 (function_temp uint) vec1 32 ssa_154 = imov ssa_13 vec1 32 ssa_155 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_156 = deref_array &(*ssa_155)[ssa_154] (function_temp vec3) /* &mat_ctor[ssa_154] */ vec1 32 ssa_157 = deref_var &vec_ctor (function_temp ivec3) vec1 32 ssa_335 = imov ssa_152.x vec1 32 ssa_336 = imov ssa_152.y vec1 32 ssa_337 = imov ssa_152.z vec3 32 ssa_338 = vec3 ssa_335, ssa_336, ssa_337 vec1 32 ssa_159 = i2f32 ssa_338.x vec1 32 ssa_160 = i2f32 ssa_338.y vec1 32 ssa_161 = i2f32 ssa_338.z vec3 32 ssa_162 = vec3 ssa_159, ssa_160, ssa_161 intrinsic store_deref (ssa_156, ssa_162) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_163 = deref_var &const_temp@5 (function_temp vec3) vec1 32 ssa_164 = deref_var &const_temp@6 (function_temp uint) vec1 32 ssa_165 = imov ssa_17 vec1 32 ssa_166 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_167 = deref_array &(*ssa_166)[ssa_165] (function_temp vec3) /* &mat_ctor[ssa_165] */ vec1 32 ssa_339 = imov ssa_15.x vec1 32 ssa_340 = imov ssa_15.y vec1 32 ssa_341 = imov ssa_15.z vec3 32 ssa_342 = vec3 ssa_339, ssa_340, ssa_341 intrinsic store_deref (ssa_167, ssa_342) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_169 = deref_var &const_temp@7 (function_temp vec3) vec1 32 ssa_170 = deref_var &const_temp@8 (function_temp uint) vec1 32 ssa_171 = imov ssa_21 vec1 32 ssa_172 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_173 = deref_array &(*ssa_172)[ssa_171] (function_temp vec3) /* &mat_ctor[ssa_171] */ vec1 32 ssa_343 = imov ssa_19.x vec1 32 ssa_344 = imov ssa_19.y vec1 32 ssa_345 = imov ssa_19.z vec3 32 ssa_346 = vec3 ssa_343, ssa_344, ssa_345 intrinsic store_deref (ssa_173, ssa_346) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_175 = deref_var &const_temp@9 (function_temp vec3) vec1 32 ssa_176 = deref_var &const_temp@10 (function_temp uint) vec1 32 ssa_177 = imov ssa_25 vec1 32 ssa_178 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_179 = deref_array &(*ssa_178)[ssa_177] (function_temp vec3) /* &mat_ctor[ssa_177] */ vec1 32 ssa_347 = imov ssa_23.x vec1 32 ssa_348 = imov ssa_23.y vec1 32 ssa_349 = imov ssa_23.z vec3 32 ssa_350 = vec3 ssa_347, ssa_348, ssa_349 intrinsic store_deref (ssa_179, ssa_350) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_181 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_182 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_183 = deref_array &(*ssa_181)[0] (function_temp vec3) /* &mat_op_to_vec[0] */ vec1 32 ssa_184 = deref_var &(const_temp[0]) (function_temp vec3) vec1 32 ssa_351 = imov ssa_26.x vec1 32 ssa_352 = imov ssa_26.y vec1 32 ssa_353 = imov ssa_26.z vec3 32 ssa_354 = vec3 ssa_351, ssa_352, ssa_353 intrinsic store_deref (ssa_183, ssa_354) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_186 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_187 = deref_array &(*ssa_181)[1] (function_temp vec3) /* &mat_op_to_vec[1] */ vec1 32 ssa_188 = deref_var &(const_temp[1]) (function_temp vec3) vec1 32 ssa_355 = imov ssa_29.x vec1 32 ssa_356 = imov ssa_29.y vec1 32 ssa_357 = imov ssa_29.z vec3 32 ssa_358 = vec3 ssa_355, ssa_356, ssa_357 intrinsic store_deref (ssa_187, ssa_358) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_190 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_191 = deref_array &(*ssa_181)[2] (function_temp vec3) /* &mat_op_to_vec[2] */ vec1 32 ssa_192 = deref_var &(const_temp[2]) (function_temp vec3) vec1 32 ssa_359 = imov ssa_32.x vec1 32 ssa_360 = imov ssa_32.y vec1 32 ssa_361 = imov ssa_32.z vec3 32 ssa_362 = vec3 ssa_359, ssa_360, ssa_361 intrinsic store_deref (ssa_191, ssa_362) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_194 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_195 = deref_array &(*ssa_181)[3] (function_temp vec3) /* &mat_op_to_vec[3] */ vec1 32 ssa_196 = deref_var &(const_temp[3]) (function_temp vec3) vec1 32 ssa_363 = imov ssa_35.x vec1 32 ssa_364 = imov ssa_35.y vec1 32 ssa_365 = imov ssa_35.z vec3 32 ssa_366 = vec3 ssa_363, ssa_364, ssa_365 intrinsic store_deref (ssa_195, ssa_366) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_198 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 32 ssa_199 = deref_var &const_temp@12 (function_temp int) vec1 32 ssa_200 = imov ssa_39 vec1 32 ssa_201 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_202 = deref_array &(*ssa_201)[ssa_200] (function_temp vec3) /* &mat_op_to_vec[ssa_200] */ vec3 32 ssa_203 = intrinsic load_deref (ssa_202) (0) /* access=0 */ vec1 32 ssa_204 = deref_var &const_temp@13 (function_temp int) vec1 32 ssa_205 = imov ssa_41 vec1 32 ssa_206 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_207 = deref_array &(*ssa_206)[ssa_205] (function_temp vec3) /* &mat_ctor[ssa_205] */ vec3 32 ssa_208 = intrinsic load_deref (ssa_207) (0) /* access=0 */ vec1 1 ssa_209 = fne ssa_203.x, ssa_208.x vec1 1 ssa_210 = fne ssa_203.y, ssa_208.y vec1 1 ssa_211 = ior ssa_209, ssa_210 vec1 1 ssa_212 = fne ssa_203.z, ssa_208.z vec1 1 ssa_213 = ior ssa_211, ssa_212 vec1 1 ssa_214 = imov ssa_213 vec1 1 ssa_215 = imov ssa_213 vec1 1 ssa_216 = imov ssa_213 vec1 1 ssa_217 = imov ssa_213 vec4 1 ssa_218 = vec4 ssa_214, ssa_215, ssa_216, ssa_217 vec1 1 ssa_219 = imov ssa_218.x vec1 1 ssa_220 = imov ssa_0.y vec1 1 ssa_221 = imov ssa_0.z vec1 1 ssa_222 = imov ssa_0.w vec4 1 ssa_223 = vec4 ssa_219, ssa_220, ssa_221, ssa_222 vec1 32 ssa_224 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 32 ssa_225 = deref_var &const_temp@14 (function_temp int) vec1 32 ssa_226 = imov ssa_43 vec1 32 ssa_227 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_228 = deref_array &(*ssa_227)[ssa_226] (function_temp vec3) /* &mat_op_to_vec[ssa_226] */ vec3 32 ssa_229 = intrinsic load_deref (ssa_228) (0) /* access=0 */ vec1 32 ssa_230 = deref_var &const_temp@15 (function_temp int) vec1 32 ssa_231 = imov ssa_45 vec1 32 ssa_232 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_233 = deref_array &(*ssa_232)[ssa_231] (function_temp vec3) /* &mat_ctor[ssa_231] */ vec3 32 ssa_234 = intrinsic load_deref (ssa_233) (0) /* access=0 */ vec1 1 ssa_235 = fne ssa_229.x, ssa_234.x vec1 1 ssa_236 = fne ssa_229.y, ssa_234.y vec1 1 ssa_237 = ior ssa_235, ssa_236 vec1 1 ssa_238 = fne ssa_229.z, ssa_234.z vec1 1 ssa_239 = ior ssa_237, ssa_238 vec1 1 ssa_240 = imov ssa_239 vec1 1 ssa_241 = imov ssa_239 vec1 1 ssa_242 = imov ssa_239 vec1 1 ssa_243 = imov ssa_239 vec4 1 ssa_244 = vec4 ssa_240, ssa_241, ssa_242, ssa_243 vec1 1 ssa_245 = imov ssa_223.x vec1 1 ssa_246 = imov ssa_244.y vec1 1 ssa_247 = imov ssa_223.z vec1 1 ssa_248 = imov ssa_223.w vec4 1 ssa_249 = vec4 ssa_245, ssa_246, ssa_247, ssa_248 vec1 32 ssa_250 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 32 ssa_251 = deref_var &const_temp@16 (function_temp int) vec1 32 ssa_252 = imov ssa_47 vec1 32 ssa_253 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_254 = deref_array &(*ssa_253)[ssa_252] (function_temp vec3) /* &mat_op_to_vec[ssa_252] */ vec3 32 ssa_255 = intrinsic load_deref (ssa_254) (0) /* access=0 */ vec1 32 ssa_256 = deref_var &const_temp@17 (function_temp int) vec1 32 ssa_257 = imov ssa_49 vec1 32 ssa_258 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_259 = deref_array &(*ssa_258)[ssa_257] (function_temp vec3) /* &mat_ctor[ssa_257] */ vec3 32 ssa_260 = intrinsic load_deref (ssa_259) (0) /* access=0 */ vec1 1 ssa_261 = fne ssa_255.x, ssa_260.x vec1 1 ssa_262 = fne ssa_255.y, ssa_260.y vec1 1 ssa_263 = ior ssa_261, ssa_262 vec1 1 ssa_264 = fne ssa_255.z, ssa_260.z vec1 1 ssa_265 = ior ssa_263, ssa_264 vec1 1 ssa_266 = imov ssa_265 vec1 1 ssa_267 = imov ssa_265 vec1 1 ssa_268 = imov ssa_265 vec1 1 ssa_269 = imov ssa_265 vec4 1 ssa_270 = vec4 ssa_266, ssa_267, ssa_268, ssa_269 vec1 1 ssa_271 = imov ssa_249.x vec1 1 ssa_272 = imov ssa_249.y vec1 1 ssa_273 = imov ssa_270.z vec1 1 ssa_274 = imov ssa_249.w vec4 1 ssa_275 = vec4 ssa_271, ssa_272, ssa_273, ssa_274 vec1 32 ssa_276 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 32 ssa_277 = deref_var &const_temp@18 (function_temp int) vec1 32 ssa_278 = imov ssa_51 vec1 32 ssa_279 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_280 = deref_array &(*ssa_279)[ssa_278] (function_temp vec3) /* &mat_op_to_vec[ssa_278] */ vec3 32 ssa_281 = intrinsic load_deref (ssa_280) (0) /* access=0 */ vec1 32 ssa_282 = deref_var &const_temp@19 (function_temp int) vec1 32 ssa_283 = imov ssa_53 vec1 32 ssa_284 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_285 = deref_array &(*ssa_284)[ssa_283] (function_temp vec3) /* &mat_ctor[ssa_283] */ vec3 32 ssa_286 = intrinsic load_deref (ssa_285) (0) /* access=0 */ vec1 1 ssa_287 = fne ssa_281.x, ssa_286.x vec1 1 ssa_288 = fne ssa_281.y, ssa_286.y vec1 1 ssa_289 = ior ssa_287, ssa_288 vec1 1 ssa_290 = fne ssa_281.z, ssa_286.z vec1 1 ssa_291 = ior ssa_289, ssa_290 vec1 1 ssa_292 = imov ssa_291 vec1 1 ssa_293 = imov ssa_291 vec1 1 ssa_294 = imov ssa_291 vec1 1 ssa_295 = imov ssa_291 vec4 1 ssa_296 = vec4 ssa_292, ssa_293, ssa_294, ssa_295 vec1 1 ssa_297 = imov ssa_275.x vec1 1 ssa_298 = imov ssa_275.y vec1 1 ssa_299 = imov ssa_275.z vec1 1 ssa_300 = imov ssa_296.w vec4 1 ssa_301 = vec4 ssa_297, ssa_298, ssa_299, ssa_300 vec1 32 ssa_302 = deref_var &flattening_tmp@11 (function_temp bool) vec1 32 ssa_303 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 1 ssa_367 = imov ssa_301.x vec1 1 ssa_368 = imov ssa_301.y vec1 1 ssa_369 = imov ssa_301.z vec1 1 ssa_370 = imov ssa_301.w vec4 1 ssa_371 = vec4 ssa_367, ssa_368, ssa_369, ssa_370 vec1 32 ssa_305 = deref_var &const_temp@20 (function_temp bvec4) vec1 1 ssa_372 = imov ssa_55.x vec1 1 ssa_373 = imov ssa_55.y vec1 1 ssa_374 = imov ssa_55.z vec1 1 ssa_375 = imov ssa_55.w vec4 1 ssa_376 = vec4 ssa_372, ssa_373, ssa_374, ssa_375 vec1 1 ssa_307 = ine ssa_371.x, ssa_376.x vec1 1 ssa_308 = ine ssa_371.y, ssa_376.y vec1 1 ssa_309 = ior ssa_307, ssa_308 vec1 1 ssa_310 = ine ssa_371.z, ssa_376.z vec1 1 ssa_311 = ior ssa_309, ssa_310 vec1 1 ssa_312 = ine ssa_371.w, ssa_376.w vec1 1 ssa_313 = ior ssa_311, ssa_312 vec1 1 ssa_314 = inot ssa_313 vec1 32 ssa_315 = deref_var &flattening_tmp@11 (function_temp bool) vec1 1 ssa_316 = imov ssa_314 /* succs: block_1 block_2 */ if ssa_316 { block block_1: /* preds: block_0 */ vec1 32 ssa_317 = deref_var &const_temp@21 (function_temp vec4) vec1 32 ssa_318 = deref_var &out@gl_FrontColor-temp (function_temp vec4) vec1 32 ssa_377 = imov ssa_57.x vec1 32 ssa_378 = imov ssa_57.y vec1 32 ssa_379 = imov ssa_57.z vec1 32 ssa_380 = imov ssa_57.w vec4 32 ssa_381 = vec4 ssa_377, ssa_378, ssa_379, ssa_380 /* succs: block_3 */ } else { block block_2: /* preds: block_0 */ vec1 32 ssa_320 = deref_var &const_temp@22 (function_temp vec4) vec1 32 ssa_321 = deref_var &out@gl_FrontColor-temp (function_temp vec4) vec1 32 ssa_382 = imov ssa_59.x vec1 32 ssa_383 = imov ssa_59.y vec1 32 ssa_384 = imov ssa_59.z vec1 32 ssa_385 = imov ssa_59.w vec4 32 ssa_386 = vec4 ssa_382, ssa_383, ssa_384, ssa_385 /* succs: block_3 */ } block block_3: /* preds: block_1 block_2 */ vec4 32 ssa_323 = phi block_1: ssa_381, block_2: ssa_386 vec1 32 ssa_324 = deref_var &out@gl_Position-temp (function_temp vec4) vec1 32 ssa_325 = deref_var &gl_Position (shader_out vec4) vec1 32 ssa_387 = imov ssa_334.x vec1 32 ssa_388 = imov ssa_334.y vec1 32 ssa_389 = imov ssa_334.z vec1 32 ssa_390 = imov ssa_334.w vec4 32 ssa_391 = vec4 ssa_387, ssa_388, ssa_389, ssa_390 intrinsic store_deref (ssa_325, ssa_391) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_327 = deref_var &out@gl_FrontColor-temp (function_temp vec4) vec1 32 ssa_328 = deref_var &gl_FrontColor (shader_out vec4) vec1 32 ssa_392 = imov ssa_323.x vec1 32 ssa_393 = imov ssa_323.y vec1 32 ssa_394 = imov ssa_323.z vec1 32 ssa_395 = imov ssa_323.w vec4 32 ssa_396 = vec4 ssa_392, ssa_393, ssa_394, ssa_395 intrinsic store_deref (ssa_328, ssa_396) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_4 */ block block_4: } nir_copy_prop shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 0, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 0, 0) decl_function main (0 params) impl main { decl_var INTERP_MODE_NONE vec4 flattening_tmp decl_var INTERP_MODE_NONE int const_temp decl_var INTERP_MODE_NONE int const_temp@0 decl_var INTERP_MODE_NONE int const_temp@1 decl_var INTERP_MODE_NONE int const_temp@2 decl_var INTERP_MODE_NONE ivec3 vec_ctor decl_var INTERP_MODE_NONE int const_temp@3 decl_var INTERP_MODE_NONE mat4x3 mat_ctor decl_var INTERP_MODE_NONE uint const_temp@4 decl_var INTERP_MODE_NONE vec3 const_temp@5 decl_var INTERP_MODE_NONE uint const_temp@6 decl_var INTERP_MODE_NONE vec3 const_temp@7 decl_var INTERP_MODE_NONE uint const_temp@8 decl_var INTERP_MODE_NONE vec3 const_temp@9 decl_var INTERP_MODE_NONE uint const_temp@10 decl_var INTERP_MODE_NONE bool flattening_tmp@11 decl_var INTERP_MODE_NONE mat4x3 mat_op_to_vec decl_var INTERP_MODE_NONE bvec4 mat_cmp_bvec decl_var INTERP_MODE_NONE int const_temp@12 decl_var INTERP_MODE_NONE int const_temp@13 decl_var INTERP_MODE_NONE int const_temp@14 decl_var INTERP_MODE_NONE int const_temp@15 decl_var INTERP_MODE_NONE int const_temp@16 decl_var INTERP_MODE_NONE int const_temp@17 decl_var INTERP_MODE_NONE int const_temp@18 decl_var INTERP_MODE_NONE int const_temp@19 decl_var INTERP_MODE_NONE bvec4 const_temp@20 decl_var INTERP_MODE_NONE vec4 const_temp@21 decl_var INTERP_MODE_NONE vec4 const_temp@22 decl_var INTERP_MODE_NONE vec4 out@gl_FrontColor-temp decl_var INTERP_MODE_NONE vec4 out@gl_Position-temp decl_var INTERP_MODE_NONE vec3 (const_temp[0]) decl_var INTERP_MODE_NONE vec3 (const_temp[1]) decl_var INTERP_MODE_NONE vec3 (const_temp[2]) decl_var INTERP_MODE_NONE vec3 (const_temp[3]) block block_0: /* preds: */ vec4 1 ssa_0 = undefined vec3 32 ssa_1 = undefined vec1 32 ssa_2 = deref_var &const_temp (function_temp int) vec1 32 ssa_3 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_4 = deref_var &const_temp@0 (function_temp int) vec1 32 ssa_5 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_6 = deref_var &const_temp@1 (function_temp int) vec1 32 ssa_7 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_8 = deref_var &const_temp@2 (function_temp int) vec1 32 ssa_9 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_10 = deref_var &const_temp@3 (function_temp int) vec1 32 ssa_11 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_12 = deref_var &const_temp@4 (function_temp uint) vec1 32 ssa_13 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_14 = deref_var &const_temp@5 (function_temp vec3) vec3 32 ssa_15 = load_const (0x40800000 /* 4.000000 */, 0x40a00000 /* 5.000000 */, 0x40c00000 /* 6.000000 */) vec1 32 ssa_16 = deref_var &const_temp@6 (function_temp uint) vec1 32 ssa_17 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_18 = deref_var &const_temp@7 (function_temp vec3) vec3 32 ssa_19 = load_const (0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */) vec1 32 ssa_20 = deref_var &const_temp@8 (function_temp uint) vec1 32 ssa_21 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_22 = deref_var &const_temp@9 (function_temp vec3) vec3 32 ssa_23 = load_const (0x41000000 /* 8.000000 */, 0x40e00000 /* 7.000000 */, 0x41200000 /* 10.000000 */) vec1 32 ssa_24 = deref_var &const_temp@10 (function_temp uint) vec1 32 ssa_25 = load_const (0x00000003 /* 0.000000 */) vec3 32 ssa_26 = load_const (0x3f800000 /* 1.000000 */, 0x40000000 /* 2.000000 */, 0x40400000 /* 3.000000 */) vec1 32 ssa_27 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_28 = deref_var &(const_temp[0]) (function_temp vec3) vec3 32 ssa_29 = load_const (0x40800000 /* 4.000000 */, 0x40a00000 /* 5.000000 */, 0x40c00000 /* 6.000000 */) vec1 32 ssa_30 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_31 = deref_var &(const_temp[1]) (function_temp vec3) vec3 32 ssa_32 = load_const (0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */) vec1 32 ssa_33 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_34 = deref_var &(const_temp[2]) (function_temp vec3) vec3 32 ssa_35 = load_const (0x41000000 /* 8.000000 */, 0x40e00000 /* 7.000000 */, 0x41200000 /* 10.000000 */) vec1 32 ssa_36 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_37 = deref_var &(const_temp[3]) (function_temp vec3) vec1 32 ssa_38 = deref_var &const_temp@12 (function_temp int) vec1 32 ssa_39 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_40 = deref_var &const_temp@13 (function_temp int) vec1 32 ssa_41 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_42 = deref_var &const_temp@14 (function_temp int) vec1 32 ssa_43 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_44 = deref_var &const_temp@15 (function_temp int) vec1 32 ssa_45 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_46 = deref_var &const_temp@16 (function_temp int) vec1 32 ssa_47 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_48 = deref_var &const_temp@17 (function_temp int) vec1 32 ssa_49 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_50 = deref_var &const_temp@18 (function_temp int) vec1 32 ssa_51 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_52 = deref_var &const_temp@19 (function_temp int) vec1 32 ssa_53 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_54 = deref_var &const_temp@20 (function_temp bvec4) vec4 1 ssa_55 = load_const (false, false, false, false) vec1 32 ssa_56 = deref_var &const_temp@21 (function_temp vec4) vec4 32 ssa_57 = load_const (0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */, 0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */) vec1 32 ssa_58 = deref_var &const_temp@22 (function_temp vec4) vec4 32 ssa_59 = load_const (0x3f800000 /* 1.000000 */, 0x00000000 /* 0.000000 */, 0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */) vec1 32 ssa_60 = deref_var &flattening_tmp (function_temp vec4) vec1 32 ssa_61 = deref_var &const_temp (function_temp int) vec1 32 ssa_62 = imov ssa_3 vec1 32 ssa_63 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_64 = deref_array &(*ssa_63)[0] (uniform vec4) /* &gl_ModelViewProjectionMatrix[0] */ vec4 32 ssa_65 = intrinsic load_deref (ssa_64) (0) /* access=0 */ vec1 32 ssa_66 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_67 = intrinsic load_deref (ssa_66) (0) /* access=0 */ vec1 32 ssa_68 = imov ssa_67.x vec1 32 ssa_69 = fmul ssa_65.x, ssa_67.x vec1 32 ssa_70 = fmul ssa_65.y, ssa_67.x vec1 32 ssa_71 = fmul ssa_65.z, ssa_67.x vec1 32 ssa_72 = fmul ssa_65.w, ssa_67.x vec4 32 ssa_73 = vec4 ssa_69, ssa_70, ssa_71, ssa_72 vec1 32 ssa_74 = deref_var &const_temp@0 (function_temp int) vec1 32 ssa_75 = imov ssa_5 vec1 32 ssa_76 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_77 = deref_array &(*ssa_76)[1] (uniform vec4) /* &gl_ModelViewProjectionMatrix[1] */ vec4 32 ssa_78 = intrinsic load_deref (ssa_77) (0) /* access=0 */ vec1 32 ssa_79 = deref_var &gl_Vertex (shader_in vec4) vec1 32 ssa_81 = imov ssa_67.y vec1 32 ssa_82 = fmul ssa_78.x, ssa_67.y vec1 32 ssa_83 = fmul ssa_78.y, ssa_67.y vec1 32 ssa_84 = fmul ssa_78.z, ssa_67.y vec1 32 ssa_85 = fmul ssa_78.w, ssa_67.y vec4 32 ssa_86 = vec4 ssa_82, ssa_83, ssa_84, ssa_85 vec1 32 ssa_87 = fadd ssa_69, ssa_82 vec1 32 ssa_88 = fadd ssa_70, ssa_83 vec1 32 ssa_89 = fadd ssa_71, ssa_84 vec1 32 ssa_90 = fadd ssa_72, ssa_85 vec4 32 ssa_91 = vec4 ssa_87, ssa_88, ssa_89, ssa_90 vec1 32 ssa_92 = deref_var &const_temp@1 (function_temp int) vec1 32 ssa_93 = imov ssa_7 vec1 32 ssa_94 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_95 = deref_array &(*ssa_94)[2] (uniform vec4) /* &gl_ModelViewProjectionMatrix[2] */ vec4 32 ssa_96 = intrinsic load_deref (ssa_95) (0) /* access=0 */ vec1 32 ssa_97 = deref_var &gl_Vertex (shader_in vec4) vec1 32 ssa_99 = imov ssa_67.z vec1 32 ssa_100 = fmul ssa_96.x, ssa_67.z vec1 32 ssa_101 = fmul ssa_96.y, ssa_67.z vec1 32 ssa_102 = fmul ssa_96.z, ssa_67.z vec1 32 ssa_103 = fmul ssa_96.w, ssa_67.z vec4 32 ssa_104 = vec4 ssa_100, ssa_101, ssa_102, ssa_103 vec1 32 ssa_105 = fadd ssa_87, ssa_100 vec1 32 ssa_106 = fadd ssa_88, ssa_101 vec1 32 ssa_107 = fadd ssa_89, ssa_102 vec1 32 ssa_108 = fadd ssa_90, ssa_103 vec4 32 ssa_109 = vec4 ssa_105, ssa_106, ssa_107, ssa_108 vec1 32 ssa_110 = deref_var &const_temp@2 (function_temp int) vec1 32 ssa_111 = imov ssa_9 vec1 32 ssa_112 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_113 = deref_array &(*ssa_112)[3] (uniform vec4) /* &gl_ModelViewProjectionMatrix[3] */ vec4 32 ssa_114 = intrinsic load_deref (ssa_113) (0) /* access=0 */ vec1 32 ssa_115 = deref_var &gl_Vertex (shader_in vec4) vec1 32 ssa_117 = imov ssa_67.w vec1 32 ssa_118 = fmul ssa_114.x, ssa_67.w vec1 32 ssa_119 = fmul ssa_114.y, ssa_67.w vec1 32 ssa_120 = fmul ssa_114.z, ssa_67.w vec1 32 ssa_121 = fmul ssa_114.w, ssa_67.w vec4 32 ssa_122 = vec4 ssa_118, ssa_119, ssa_120, ssa_121 vec1 32 ssa_123 = fadd ssa_105, ssa_118 vec1 32 ssa_124 = fadd ssa_106, ssa_119 vec1 32 ssa_125 = fadd ssa_107, ssa_120 vec1 32 ssa_126 = fadd ssa_108, ssa_121 vec4 32 ssa_127 = vec4 ssa_123, ssa_124, ssa_125, ssa_126 vec1 32 ssa_128 = deref_var &flattening_tmp (function_temp vec4) vec1 32 ssa_129 = deref_var &out@gl_Position-temp (function_temp vec4) vec1 32 ssa_330 = imov ssa_123 vec1 32 ssa_331 = imov ssa_124 vec1 32 ssa_332 = imov ssa_125 vec1 32 ssa_333 = imov ssa_126 vec4 32 ssa_334 = vec4 ssa_123, ssa_124, ssa_125, ssa_126 vec1 32 ssa_131 = deref_var &vec_ctor (function_temp ivec3) vec1 32 ssa_132 = deref_var &const_temp@3 (function_temp int) vec1 32 ssa_133 = imov ssa_11 vec1 32 ssa_134 = imov ssa_11 vec1 32 ssa_135 = imov ssa_11 vec1 32 ssa_136 = imov ssa_11 vec3 32 ssa_137 = vec3 ssa_11, ssa_11, ssa_11 vec1 32 ssa_138 = imov ssa_11 vec1 32 ssa_139 = imov ssa_1.y vec1 32 ssa_140 = imov ssa_1.z vec3 32 ssa_141 = vec3 ssa_11, ssa_1.y, ssa_1.z vec1 32 ssa_142 = deref_var &vec_ctor (function_temp ivec3) vec1 32 ssa_143 = deref_var &j (uniform ivec2) vec2 32 ssa_144 = intrinsic load_deref (ssa_143) (0) /* access=0 */ vec1 32 ssa_145 = imov ssa_144.x vec1 32 ssa_146 = imov ssa_144.x vec1 32 ssa_147 = imov ssa_144.y vec3 32 ssa_148 = vec3 ssa_144.x, ssa_144.x, ssa_144.y vec1 32 ssa_149 = imov ssa_11 vec1 32 ssa_150 = imov ssa_144.x vec1 32 ssa_151 = imov ssa_144.y vec3 32 ssa_152 = vec3 ssa_11, ssa_144.x, ssa_144.y vec1 32 ssa_153 = deref_var &const_temp@4 (function_temp uint) vec1 32 ssa_154 = imov ssa_13 vec1 32 ssa_155 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_156 = deref_array &(*ssa_155)[0] (function_temp vec3) /* &mat_ctor[0] */ vec1 32 ssa_157 = deref_var &vec_ctor (function_temp ivec3) vec1 32 ssa_335 = imov ssa_11 vec1 32 ssa_336 = imov ssa_144.x vec1 32 ssa_337 = imov ssa_144.y vec3 32 ssa_338 = vec3 ssa_11, ssa_144.x, ssa_144.y vec1 32 ssa_159 = i2f32 ssa_11 vec1 32 ssa_160 = i2f32 ssa_144.x vec1 32 ssa_161 = i2f32 ssa_144.y vec3 32 ssa_162 = vec3 ssa_159, ssa_160, ssa_161 intrinsic store_deref (ssa_156, ssa_162) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_163 = deref_var &const_temp@5 (function_temp vec3) vec1 32 ssa_164 = deref_var &const_temp@6 (function_temp uint) vec1 32 ssa_165 = imov ssa_17 vec1 32 ssa_166 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_167 = deref_array &(*ssa_166)[1] (function_temp vec3) /* &mat_ctor[1] */ vec1 32 ssa_339 = imov ssa_15.x vec1 32 ssa_340 = imov ssa_15.y vec1 32 ssa_341 = imov ssa_15.z vec3 32 ssa_342 = vec3 ssa_15.x, ssa_15.y, ssa_15.z intrinsic store_deref (ssa_167, ssa_15) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_169 = deref_var &const_temp@7 (function_temp vec3) vec1 32 ssa_170 = deref_var &const_temp@8 (function_temp uint) vec1 32 ssa_171 = imov ssa_21 vec1 32 ssa_172 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_173 = deref_array &(*ssa_172)[2] (function_temp vec3) /* &mat_ctor[2] */ vec1 32 ssa_343 = imov ssa_19.x vec1 32 ssa_344 = imov ssa_19.y vec1 32 ssa_345 = imov ssa_19.z vec3 32 ssa_346 = vec3 ssa_19.x, ssa_19.y, ssa_19.z intrinsic store_deref (ssa_173, ssa_19) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_175 = deref_var &const_temp@9 (function_temp vec3) vec1 32 ssa_176 = deref_var &const_temp@10 (function_temp uint) vec1 32 ssa_177 = imov ssa_25 vec1 32 ssa_178 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_179 = deref_array &(*ssa_178)[3] (function_temp vec3) /* &mat_ctor[3] */ vec1 32 ssa_347 = imov ssa_23.x vec1 32 ssa_348 = imov ssa_23.y vec1 32 ssa_349 = imov ssa_23.z vec3 32 ssa_350 = vec3 ssa_23.x, ssa_23.y, ssa_23.z intrinsic store_deref (ssa_179, ssa_23) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_181 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_182 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_183 = deref_array &(*ssa_181)[0] (function_temp vec3) /* &mat_op_to_vec[0] */ vec1 32 ssa_184 = deref_var &(const_temp[0]) (function_temp vec3) vec1 32 ssa_351 = imov ssa_26.x vec1 32 ssa_352 = imov ssa_26.y vec1 32 ssa_353 = imov ssa_26.z vec3 32 ssa_354 = vec3 ssa_26.x, ssa_26.y, ssa_26.z intrinsic store_deref (ssa_183, ssa_26) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_186 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_187 = deref_array &(*ssa_181)[1] (function_temp vec3) /* &mat_op_to_vec[1] */ vec1 32 ssa_188 = deref_var &(const_temp[1]) (function_temp vec3) vec1 32 ssa_355 = imov ssa_29.x vec1 32 ssa_356 = imov ssa_29.y vec1 32 ssa_357 = imov ssa_29.z vec3 32 ssa_358 = vec3 ssa_29.x, ssa_29.y, ssa_29.z intrinsic store_deref (ssa_187, ssa_29) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_190 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_191 = deref_array &(*ssa_181)[2] (function_temp vec3) /* &mat_op_to_vec[2] */ vec1 32 ssa_192 = deref_var &(const_temp[2]) (function_temp vec3) vec1 32 ssa_359 = imov ssa_32.x vec1 32 ssa_360 = imov ssa_32.y vec1 32 ssa_361 = imov ssa_32.z vec3 32 ssa_362 = vec3 ssa_32.x, ssa_32.y, ssa_32.z intrinsic store_deref (ssa_191, ssa_32) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_194 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_195 = deref_array &(*ssa_181)[3] (function_temp vec3) /* &mat_op_to_vec[3] */ vec1 32 ssa_196 = deref_var &(const_temp[3]) (function_temp vec3) vec1 32 ssa_363 = imov ssa_35.x vec1 32 ssa_364 = imov ssa_35.y vec1 32 ssa_365 = imov ssa_35.z vec3 32 ssa_366 = vec3 ssa_35.x, ssa_35.y, ssa_35.z intrinsic store_deref (ssa_195, ssa_35) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_198 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 32 ssa_199 = deref_var &const_temp@12 (function_temp int) vec1 32 ssa_200 = imov ssa_39 vec1 32 ssa_201 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_202 = deref_array &(*ssa_201)[0] (function_temp vec3) /* &mat_op_to_vec[0] */ vec3 32 ssa_203 = intrinsic load_deref (ssa_202) (0) /* access=0 */ vec1 32 ssa_204 = deref_var &const_temp@13 (function_temp int) vec1 32 ssa_205 = imov ssa_41 vec1 32 ssa_206 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_207 = deref_array &(*ssa_206)[0] (function_temp vec3) /* &mat_ctor[0] */ vec3 32 ssa_208 = intrinsic load_deref (ssa_207) (0) /* access=0 */ vec1 1 ssa_209 = fne ssa_203.x, ssa_208.x vec1 1 ssa_210 = fne ssa_203.y, ssa_208.y vec1 1 ssa_211 = ior ssa_209, ssa_210 vec1 1 ssa_212 = fne ssa_203.z, ssa_208.z vec1 1 ssa_213 = ior ssa_211, ssa_212 vec1 1 ssa_214 = imov ssa_213 vec1 1 ssa_215 = imov ssa_213 vec1 1 ssa_216 = imov ssa_213 vec1 1 ssa_217 = imov ssa_213 vec4 1 ssa_218 = vec4 ssa_213, ssa_213, ssa_213, ssa_213 vec1 1 ssa_219 = imov ssa_213 vec1 1 ssa_220 = imov ssa_0.y vec1 1 ssa_221 = imov ssa_0.z vec1 1 ssa_222 = imov ssa_0.w vec4 1 ssa_223 = vec4 ssa_213, ssa_0.y, ssa_0.z, ssa_0.w vec1 32 ssa_224 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 32 ssa_225 = deref_var &const_temp@14 (function_temp int) vec1 32 ssa_226 = imov ssa_43 vec1 32 ssa_227 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_228 = deref_array &(*ssa_227)[1] (function_temp vec3) /* &mat_op_to_vec[1] */ vec3 32 ssa_229 = intrinsic load_deref (ssa_228) (0) /* access=0 */ vec1 32 ssa_230 = deref_var &const_temp@15 (function_temp int) vec1 32 ssa_231 = imov ssa_45 vec1 32 ssa_232 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_233 = deref_array &(*ssa_232)[1] (function_temp vec3) /* &mat_ctor[1] */ vec3 32 ssa_234 = intrinsic load_deref (ssa_233) (0) /* access=0 */ vec1 1 ssa_235 = fne ssa_229.x, ssa_234.x vec1 1 ssa_236 = fne ssa_229.y, ssa_234.y vec1 1 ssa_237 = ior ssa_235, ssa_236 vec1 1 ssa_238 = fne ssa_229.z, ssa_234.z vec1 1 ssa_239 = ior ssa_237, ssa_238 vec1 1 ssa_240 = imov ssa_239 vec1 1 ssa_241 = imov ssa_239 vec1 1 ssa_242 = imov ssa_239 vec1 1 ssa_243 = imov ssa_239 vec4 1 ssa_244 = vec4 ssa_239, ssa_239, ssa_239, ssa_239 vec1 1 ssa_245 = imov ssa_213 vec1 1 ssa_246 = imov ssa_239 vec1 1 ssa_247 = imov ssa_0.z vec1 1 ssa_248 = imov ssa_0.w vec4 1 ssa_249 = vec4 ssa_213, ssa_239, ssa_0.z, ssa_0.w vec1 32 ssa_250 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 32 ssa_251 = deref_var &const_temp@16 (function_temp int) vec1 32 ssa_252 = imov ssa_47 vec1 32 ssa_253 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_254 = deref_array &(*ssa_253)[2] (function_temp vec3) /* &mat_op_to_vec[2] */ vec3 32 ssa_255 = intrinsic load_deref (ssa_254) (0) /* access=0 */ vec1 32 ssa_256 = deref_var &const_temp@17 (function_temp int) vec1 32 ssa_257 = imov ssa_49 vec1 32 ssa_258 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_259 = deref_array &(*ssa_258)[2] (function_temp vec3) /* &mat_ctor[2] */ vec3 32 ssa_260 = intrinsic load_deref (ssa_259) (0) /* access=0 */ vec1 1 ssa_261 = fne ssa_255.x, ssa_260.x vec1 1 ssa_262 = fne ssa_255.y, ssa_260.y vec1 1 ssa_263 = ior ssa_261, ssa_262 vec1 1 ssa_264 = fne ssa_255.z, ssa_260.z vec1 1 ssa_265 = ior ssa_263, ssa_264 vec1 1 ssa_266 = imov ssa_265 vec1 1 ssa_267 = imov ssa_265 vec1 1 ssa_268 = imov ssa_265 vec1 1 ssa_269 = imov ssa_265 vec4 1 ssa_270 = vec4 ssa_265, ssa_265, ssa_265, ssa_265 vec1 1 ssa_271 = imov ssa_213 vec1 1 ssa_272 = imov ssa_239 vec1 1 ssa_273 = imov ssa_265 vec1 1 ssa_274 = imov ssa_0.w vec4 1 ssa_275 = vec4 ssa_213, ssa_239, ssa_265, ssa_0.w vec1 32 ssa_276 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 32 ssa_277 = deref_var &const_temp@18 (function_temp int) vec1 32 ssa_278 = imov ssa_51 vec1 32 ssa_279 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_280 = deref_array &(*ssa_279)[3] (function_temp vec3) /* &mat_op_to_vec[3] */ vec3 32 ssa_281 = intrinsic load_deref (ssa_280) (0) /* access=0 */ vec1 32 ssa_282 = deref_var &const_temp@19 (function_temp int) vec1 32 ssa_283 = imov ssa_53 vec1 32 ssa_284 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_285 = deref_array &(*ssa_284)[3] (function_temp vec3) /* &mat_ctor[3] */ vec3 32 ssa_286 = intrinsic load_deref (ssa_285) (0) /* access=0 */ vec1 1 ssa_287 = fne ssa_281.x, ssa_286.x vec1 1 ssa_288 = fne ssa_281.y, ssa_286.y vec1 1 ssa_289 = ior ssa_287, ssa_288 vec1 1 ssa_290 = fne ssa_281.z, ssa_286.z vec1 1 ssa_291 = ior ssa_289, ssa_290 vec1 1 ssa_292 = imov ssa_291 vec1 1 ssa_293 = imov ssa_291 vec1 1 ssa_294 = imov ssa_291 vec1 1 ssa_295 = imov ssa_291 vec4 1 ssa_296 = vec4 ssa_291, ssa_291, ssa_291, ssa_291 vec1 1 ssa_297 = imov ssa_213 vec1 1 ssa_298 = imov ssa_239 vec1 1 ssa_299 = imov ssa_265 vec1 1 ssa_300 = imov ssa_291 vec4 1 ssa_301 = vec4 ssa_213, ssa_239, ssa_265, ssa_291 vec1 32 ssa_302 = deref_var &flattening_tmp@11 (function_temp bool) vec1 32 ssa_303 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 1 ssa_367 = imov ssa_213 vec1 1 ssa_368 = imov ssa_239 vec1 1 ssa_369 = imov ssa_265 vec1 1 ssa_370 = imov ssa_291 vec4 1 ssa_371 = vec4 ssa_213, ssa_239, ssa_265, ssa_291 vec1 32 ssa_305 = deref_var &const_temp@20 (function_temp bvec4) vec1 1 ssa_372 = imov ssa_55.x vec1 1 ssa_373 = imov ssa_55.y vec1 1 ssa_374 = imov ssa_55.z vec1 1 ssa_375 = imov ssa_55.w vec4 1 ssa_376 = vec4 ssa_55.x, ssa_55.y, ssa_55.z, ssa_55.w vec1 1 ssa_307 = ine ssa_213, ssa_55.x vec1 1 ssa_308 = ine ssa_239, ssa_55.y vec1 1 ssa_309 = ior ssa_307, ssa_308 vec1 1 ssa_310 = ine ssa_265, ssa_55.z vec1 1 ssa_311 = ior ssa_309, ssa_310 vec1 1 ssa_312 = ine ssa_291, ssa_55.w vec1 1 ssa_313 = ior ssa_311, ssa_312 vec1 1 ssa_314 = inot ssa_313 vec1 32 ssa_315 = deref_var &flattening_tmp@11 (function_temp bool) vec1 1 ssa_316 = imov ssa_314 /* succs: block_1 block_2 */ if ssa_314 { block block_1: /* preds: block_0 */ vec1 32 ssa_317 = deref_var &const_temp@21 (function_temp vec4) vec1 32 ssa_318 = deref_var &out@gl_FrontColor-temp (function_temp vec4) vec1 32 ssa_377 = imov ssa_57.x vec1 32 ssa_378 = imov ssa_57.y vec1 32 ssa_379 = imov ssa_57.z vec1 32 ssa_380 = imov ssa_57.w vec4 32 ssa_381 = vec4 ssa_57.x, ssa_57.y, ssa_57.z, ssa_57.w /* succs: block_3 */ } else { block block_2: /* preds: block_0 */ vec1 32 ssa_320 = deref_var &const_temp@22 (function_temp vec4) vec1 32 ssa_321 = deref_var &out@gl_FrontColor-temp (function_temp vec4) vec1 32 ssa_382 = imov ssa_59.x vec1 32 ssa_383 = imov ssa_59.y vec1 32 ssa_384 = imov ssa_59.z vec1 32 ssa_385 = imov ssa_59.w vec4 32 ssa_386 = vec4 ssa_59.x, ssa_59.y, ssa_59.z, ssa_59.w /* succs: block_3 */ } block block_3: /* preds: block_1 block_2 */ vec4 32 ssa_323 = phi block_1: ssa_57, block_2: ssa_59 vec1 32 ssa_324 = deref_var &out@gl_Position-temp (function_temp vec4) vec1 32 ssa_325 = deref_var &gl_Position (shader_out vec4) vec1 32 ssa_387 = imov ssa_123 vec1 32 ssa_388 = imov ssa_124 vec1 32 ssa_389 = imov ssa_125 vec1 32 ssa_390 = imov ssa_126 vec4 32 ssa_391 = vec4 ssa_123, ssa_124, ssa_125, ssa_126 intrinsic store_deref (ssa_325, ssa_391) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_327 = deref_var &out@gl_FrontColor-temp (function_temp vec4) vec1 32 ssa_328 = deref_var &gl_FrontColor (shader_out vec4) vec1 32 ssa_392 = imov ssa_323.x vec1 32 ssa_393 = imov ssa_323.y vec1 32 ssa_394 = imov ssa_323.z vec1 32 ssa_395 = imov ssa_323.w vec4 32 ssa_396 = vec4 ssa_323.x, ssa_323.y, ssa_323.z, ssa_323.w intrinsic store_deref (ssa_328, ssa_323) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_4 */ block block_4: } nir_lower_phis_to_scalar shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 0, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 0, 0) decl_function main (0 params) impl main { decl_var INTERP_MODE_NONE vec4 flattening_tmp decl_var INTERP_MODE_NONE int const_temp decl_var INTERP_MODE_NONE int const_temp@0 decl_var INTERP_MODE_NONE int const_temp@1 decl_var INTERP_MODE_NONE int const_temp@2 decl_var INTERP_MODE_NONE ivec3 vec_ctor decl_var INTERP_MODE_NONE int const_temp@3 decl_var INTERP_MODE_NONE mat4x3 mat_ctor decl_var INTERP_MODE_NONE uint const_temp@4 decl_var INTERP_MODE_NONE vec3 const_temp@5 decl_var INTERP_MODE_NONE uint const_temp@6 decl_var INTERP_MODE_NONE vec3 const_temp@7 decl_var INTERP_MODE_NONE uint const_temp@8 decl_var INTERP_MODE_NONE vec3 const_temp@9 decl_var INTERP_MODE_NONE uint const_temp@10 decl_var INTERP_MODE_NONE bool flattening_tmp@11 decl_var INTERP_MODE_NONE mat4x3 mat_op_to_vec decl_var INTERP_MODE_NONE bvec4 mat_cmp_bvec decl_var INTERP_MODE_NONE int const_temp@12 decl_var INTERP_MODE_NONE int const_temp@13 decl_var INTERP_MODE_NONE int const_temp@14 decl_var INTERP_MODE_NONE int const_temp@15 decl_var INTERP_MODE_NONE int const_temp@16 decl_var INTERP_MODE_NONE int const_temp@17 decl_var INTERP_MODE_NONE int const_temp@18 decl_var INTERP_MODE_NONE int const_temp@19 decl_var INTERP_MODE_NONE bvec4 const_temp@20 decl_var INTERP_MODE_NONE vec4 const_temp@21 decl_var INTERP_MODE_NONE vec4 const_temp@22 decl_var INTERP_MODE_NONE vec4 out@gl_FrontColor-temp decl_var INTERP_MODE_NONE vec4 out@gl_Position-temp decl_var INTERP_MODE_NONE vec3 (const_temp[0]) decl_var INTERP_MODE_NONE vec3 (const_temp[1]) decl_var INTERP_MODE_NONE vec3 (const_temp[2]) decl_var INTERP_MODE_NONE vec3 (const_temp[3]) block block_0: /* preds: */ vec4 1 ssa_0 = undefined vec3 32 ssa_1 = undefined vec1 32 ssa_2 = deref_var &const_temp (function_temp int) vec1 32 ssa_3 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_4 = deref_var &const_temp@0 (function_temp int) vec1 32 ssa_5 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_6 = deref_var &const_temp@1 (function_temp int) vec1 32 ssa_7 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_8 = deref_var &const_temp@2 (function_temp int) vec1 32 ssa_9 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_10 = deref_var &const_temp@3 (function_temp int) vec1 32 ssa_11 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_12 = deref_var &const_temp@4 (function_temp uint) vec1 32 ssa_13 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_14 = deref_var &const_temp@5 (function_temp vec3) vec3 32 ssa_15 = load_const (0x40800000 /* 4.000000 */, 0x40a00000 /* 5.000000 */, 0x40c00000 /* 6.000000 */) vec1 32 ssa_16 = deref_var &const_temp@6 (function_temp uint) vec1 32 ssa_17 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_18 = deref_var &const_temp@7 (function_temp vec3) vec3 32 ssa_19 = load_const (0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */) vec1 32 ssa_20 = deref_var &const_temp@8 (function_temp uint) vec1 32 ssa_21 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_22 = deref_var &const_temp@9 (function_temp vec3) vec3 32 ssa_23 = load_const (0x41000000 /* 8.000000 */, 0x40e00000 /* 7.000000 */, 0x41200000 /* 10.000000 */) vec1 32 ssa_24 = deref_var &const_temp@10 (function_temp uint) vec1 32 ssa_25 = load_const (0x00000003 /* 0.000000 */) vec3 32 ssa_26 = load_const (0x3f800000 /* 1.000000 */, 0x40000000 /* 2.000000 */, 0x40400000 /* 3.000000 */) vec1 32 ssa_27 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_28 = deref_var &(const_temp[0]) (function_temp vec3) vec3 32 ssa_29 = load_const (0x40800000 /* 4.000000 */, 0x40a00000 /* 5.000000 */, 0x40c00000 /* 6.000000 */) vec1 32 ssa_30 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_31 = deref_var &(const_temp[1]) (function_temp vec3) vec3 32 ssa_32 = load_const (0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */) vec1 32 ssa_33 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_34 = deref_var &(const_temp[2]) (function_temp vec3) vec3 32 ssa_35 = load_const (0x41000000 /* 8.000000 */, 0x40e00000 /* 7.000000 */, 0x41200000 /* 10.000000 */) vec1 32 ssa_36 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_37 = deref_var &(const_temp[3]) (function_temp vec3) vec1 32 ssa_38 = deref_var &const_temp@12 (function_temp int) vec1 32 ssa_39 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_40 = deref_var &const_temp@13 (function_temp int) vec1 32 ssa_41 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_42 = deref_var &const_temp@14 (function_temp int) vec1 32 ssa_43 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_44 = deref_var &const_temp@15 (function_temp int) vec1 32 ssa_45 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_46 = deref_var &const_temp@16 (function_temp int) vec1 32 ssa_47 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_48 = deref_var &const_temp@17 (function_temp int) vec1 32 ssa_49 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_50 = deref_var &const_temp@18 (function_temp int) vec1 32 ssa_51 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_52 = deref_var &const_temp@19 (function_temp int) vec1 32 ssa_53 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_54 = deref_var &const_temp@20 (function_temp bvec4) vec4 1 ssa_55 = load_const (false, false, false, false) vec1 32 ssa_56 = deref_var &const_temp@21 (function_temp vec4) vec4 32 ssa_57 = load_const (0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */, 0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */) vec1 32 ssa_58 = deref_var &const_temp@22 (function_temp vec4) vec4 32 ssa_59 = load_const (0x3f800000 /* 1.000000 */, 0x00000000 /* 0.000000 */, 0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */) vec1 32 ssa_60 = deref_var &flattening_tmp (function_temp vec4) vec1 32 ssa_61 = deref_var &const_temp (function_temp int) vec1 32 ssa_62 = imov ssa_3 vec1 32 ssa_63 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_64 = deref_array &(*ssa_63)[0] (uniform vec4) /* &gl_ModelViewProjectionMatrix[0] */ vec4 32 ssa_65 = intrinsic load_deref (ssa_64) (0) /* access=0 */ vec1 32 ssa_66 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_67 = intrinsic load_deref (ssa_66) (0) /* access=0 */ vec1 32 ssa_68 = imov ssa_67.x vec1 32 ssa_69 = fmul ssa_65.x, ssa_67.x vec1 32 ssa_70 = fmul ssa_65.y, ssa_67.x vec1 32 ssa_71 = fmul ssa_65.z, ssa_67.x vec1 32 ssa_72 = fmul ssa_65.w, ssa_67.x vec4 32 ssa_73 = vec4 ssa_69, ssa_70, ssa_71, ssa_72 vec1 32 ssa_74 = deref_var &const_temp@0 (function_temp int) vec1 32 ssa_75 = imov ssa_5 vec1 32 ssa_76 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_77 = deref_array &(*ssa_76)[1] (uniform vec4) /* &gl_ModelViewProjectionMatrix[1] */ vec4 32 ssa_78 = intrinsic load_deref (ssa_77) (0) /* access=0 */ vec1 32 ssa_79 = deref_var &gl_Vertex (shader_in vec4) vec1 32 ssa_81 = imov ssa_67.y vec1 32 ssa_82 = fmul ssa_78.x, ssa_67.y vec1 32 ssa_83 = fmul ssa_78.y, ssa_67.y vec1 32 ssa_84 = fmul ssa_78.z, ssa_67.y vec1 32 ssa_85 = fmul ssa_78.w, ssa_67.y vec4 32 ssa_86 = vec4 ssa_82, ssa_83, ssa_84, ssa_85 vec1 32 ssa_87 = fadd ssa_69, ssa_82 vec1 32 ssa_88 = fadd ssa_70, ssa_83 vec1 32 ssa_89 = fadd ssa_71, ssa_84 vec1 32 ssa_90 = fadd ssa_72, ssa_85 vec4 32 ssa_91 = vec4 ssa_87, ssa_88, ssa_89, ssa_90 vec1 32 ssa_92 = deref_var &const_temp@1 (function_temp int) vec1 32 ssa_93 = imov ssa_7 vec1 32 ssa_94 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_95 = deref_array &(*ssa_94)[2] (uniform vec4) /* &gl_ModelViewProjectionMatrix[2] */ vec4 32 ssa_96 = intrinsic load_deref (ssa_95) (0) /* access=0 */ vec1 32 ssa_97 = deref_var &gl_Vertex (shader_in vec4) vec1 32 ssa_99 = imov ssa_67.z vec1 32 ssa_100 = fmul ssa_96.x, ssa_67.z vec1 32 ssa_101 = fmul ssa_96.y, ssa_67.z vec1 32 ssa_102 = fmul ssa_96.z, ssa_67.z vec1 32 ssa_103 = fmul ssa_96.w, ssa_67.z vec4 32 ssa_104 = vec4 ssa_100, ssa_101, ssa_102, ssa_103 vec1 32 ssa_105 = fadd ssa_87, ssa_100 vec1 32 ssa_106 = fadd ssa_88, ssa_101 vec1 32 ssa_107 = fadd ssa_89, ssa_102 vec1 32 ssa_108 = fadd ssa_90, ssa_103 vec4 32 ssa_109 = vec4 ssa_105, ssa_106, ssa_107, ssa_108 vec1 32 ssa_110 = deref_var &const_temp@2 (function_temp int) vec1 32 ssa_111 = imov ssa_9 vec1 32 ssa_112 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_113 = deref_array &(*ssa_112)[3] (uniform vec4) /* &gl_ModelViewProjectionMatrix[3] */ vec4 32 ssa_114 = intrinsic load_deref (ssa_113) (0) /* access=0 */ vec1 32 ssa_115 = deref_var &gl_Vertex (shader_in vec4) vec1 32 ssa_117 = imov ssa_67.w vec1 32 ssa_118 = fmul ssa_114.x, ssa_67.w vec1 32 ssa_119 = fmul ssa_114.y, ssa_67.w vec1 32 ssa_120 = fmul ssa_114.z, ssa_67.w vec1 32 ssa_121 = fmul ssa_114.w, ssa_67.w vec4 32 ssa_122 = vec4 ssa_118, ssa_119, ssa_120, ssa_121 vec1 32 ssa_123 = fadd ssa_105, ssa_118 vec1 32 ssa_124 = fadd ssa_106, ssa_119 vec1 32 ssa_125 = fadd ssa_107, ssa_120 vec1 32 ssa_126 = fadd ssa_108, ssa_121 vec4 32 ssa_127 = vec4 ssa_123, ssa_124, ssa_125, ssa_126 vec1 32 ssa_128 = deref_var &flattening_tmp (function_temp vec4) vec1 32 ssa_129 = deref_var &out@gl_Position-temp (function_temp vec4) vec1 32 ssa_330 = imov ssa_123 vec1 32 ssa_331 = imov ssa_124 vec1 32 ssa_332 = imov ssa_125 vec1 32 ssa_333 = imov ssa_126 vec4 32 ssa_334 = vec4 ssa_123, ssa_124, ssa_125, ssa_126 vec1 32 ssa_131 = deref_var &vec_ctor (function_temp ivec3) vec1 32 ssa_132 = deref_var &const_temp@3 (function_temp int) vec1 32 ssa_133 = imov ssa_11 vec1 32 ssa_134 = imov ssa_11 vec1 32 ssa_135 = imov ssa_11 vec1 32 ssa_136 = imov ssa_11 vec3 32 ssa_137 = vec3 ssa_11, ssa_11, ssa_11 vec1 32 ssa_138 = imov ssa_11 vec1 32 ssa_139 = imov ssa_1.y vec1 32 ssa_140 = imov ssa_1.z vec3 32 ssa_141 = vec3 ssa_11, ssa_1.y, ssa_1.z vec1 32 ssa_142 = deref_var &vec_ctor (function_temp ivec3) vec1 32 ssa_143 = deref_var &j (uniform ivec2) vec2 32 ssa_144 = intrinsic load_deref (ssa_143) (0) /* access=0 */ vec1 32 ssa_145 = imov ssa_144.x vec1 32 ssa_146 = imov ssa_144.x vec1 32 ssa_147 = imov ssa_144.y vec3 32 ssa_148 = vec3 ssa_144.x, ssa_144.x, ssa_144.y vec1 32 ssa_149 = imov ssa_11 vec1 32 ssa_150 = imov ssa_144.x vec1 32 ssa_151 = imov ssa_144.y vec3 32 ssa_152 = vec3 ssa_11, ssa_144.x, ssa_144.y vec1 32 ssa_153 = deref_var &const_temp@4 (function_temp uint) vec1 32 ssa_154 = imov ssa_13 vec1 32 ssa_155 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_156 = deref_array &(*ssa_155)[0] (function_temp vec3) /* &mat_ctor[0] */ vec1 32 ssa_157 = deref_var &vec_ctor (function_temp ivec3) vec1 32 ssa_335 = imov ssa_11 vec1 32 ssa_336 = imov ssa_144.x vec1 32 ssa_337 = imov ssa_144.y vec3 32 ssa_338 = vec3 ssa_11, ssa_144.x, ssa_144.y vec1 32 ssa_159 = i2f32 ssa_11 vec1 32 ssa_160 = i2f32 ssa_144.x vec1 32 ssa_161 = i2f32 ssa_144.y vec3 32 ssa_162 = vec3 ssa_159, ssa_160, ssa_161 intrinsic store_deref (ssa_156, ssa_162) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_163 = deref_var &const_temp@5 (function_temp vec3) vec1 32 ssa_164 = deref_var &const_temp@6 (function_temp uint) vec1 32 ssa_165 = imov ssa_17 vec1 32 ssa_166 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_167 = deref_array &(*ssa_166)[1] (function_temp vec3) /* &mat_ctor[1] */ vec1 32 ssa_339 = imov ssa_15.x vec1 32 ssa_340 = imov ssa_15.y vec1 32 ssa_341 = imov ssa_15.z vec3 32 ssa_342 = vec3 ssa_15.x, ssa_15.y, ssa_15.z intrinsic store_deref (ssa_167, ssa_15) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_169 = deref_var &const_temp@7 (function_temp vec3) vec1 32 ssa_170 = deref_var &const_temp@8 (function_temp uint) vec1 32 ssa_171 = imov ssa_21 vec1 32 ssa_172 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_173 = deref_array &(*ssa_172)[2] (function_temp vec3) /* &mat_ctor[2] */ vec1 32 ssa_343 = imov ssa_19.x vec1 32 ssa_344 = imov ssa_19.y vec1 32 ssa_345 = imov ssa_19.z vec3 32 ssa_346 = vec3 ssa_19.x, ssa_19.y, ssa_19.z intrinsic store_deref (ssa_173, ssa_19) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_175 = deref_var &const_temp@9 (function_temp vec3) vec1 32 ssa_176 = deref_var &const_temp@10 (function_temp uint) vec1 32 ssa_177 = imov ssa_25 vec1 32 ssa_178 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_179 = deref_array &(*ssa_178)[3] (function_temp vec3) /* &mat_ctor[3] */ vec1 32 ssa_347 = imov ssa_23.x vec1 32 ssa_348 = imov ssa_23.y vec1 32 ssa_349 = imov ssa_23.z vec3 32 ssa_350 = vec3 ssa_23.x, ssa_23.y, ssa_23.z intrinsic store_deref (ssa_179, ssa_23) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_181 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_182 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_183 = deref_array &(*ssa_181)[0] (function_temp vec3) /* &mat_op_to_vec[0] */ vec1 32 ssa_184 = deref_var &(const_temp[0]) (function_temp vec3) vec1 32 ssa_351 = imov ssa_26.x vec1 32 ssa_352 = imov ssa_26.y vec1 32 ssa_353 = imov ssa_26.z vec3 32 ssa_354 = vec3 ssa_26.x, ssa_26.y, ssa_26.z intrinsic store_deref (ssa_183, ssa_26) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_186 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_187 = deref_array &(*ssa_181)[1] (function_temp vec3) /* &mat_op_to_vec[1] */ vec1 32 ssa_188 = deref_var &(const_temp[1]) (function_temp vec3) vec1 32 ssa_355 = imov ssa_29.x vec1 32 ssa_356 = imov ssa_29.y vec1 32 ssa_357 = imov ssa_29.z vec3 32 ssa_358 = vec3 ssa_29.x, ssa_29.y, ssa_29.z intrinsic store_deref (ssa_187, ssa_29) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_190 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_191 = deref_array &(*ssa_181)[2] (function_temp vec3) /* &mat_op_to_vec[2] */ vec1 32 ssa_192 = deref_var &(const_temp[2]) (function_temp vec3) vec1 32 ssa_359 = imov ssa_32.x vec1 32 ssa_360 = imov ssa_32.y vec1 32 ssa_361 = imov ssa_32.z vec3 32 ssa_362 = vec3 ssa_32.x, ssa_32.y, ssa_32.z intrinsic store_deref (ssa_191, ssa_32) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_194 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_195 = deref_array &(*ssa_181)[3] (function_temp vec3) /* &mat_op_to_vec[3] */ vec1 32 ssa_196 = deref_var &(const_temp[3]) (function_temp vec3) vec1 32 ssa_363 = imov ssa_35.x vec1 32 ssa_364 = imov ssa_35.y vec1 32 ssa_365 = imov ssa_35.z vec3 32 ssa_366 = vec3 ssa_35.x, ssa_35.y, ssa_35.z intrinsic store_deref (ssa_195, ssa_35) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_198 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 32 ssa_199 = deref_var &const_temp@12 (function_temp int) vec1 32 ssa_200 = imov ssa_39 vec1 32 ssa_201 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_202 = deref_array &(*ssa_201)[0] (function_temp vec3) /* &mat_op_to_vec[0] */ vec3 32 ssa_203 = intrinsic load_deref (ssa_202) (0) /* access=0 */ vec1 32 ssa_204 = deref_var &const_temp@13 (function_temp int) vec1 32 ssa_205 = imov ssa_41 vec1 32 ssa_206 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_207 = deref_array &(*ssa_206)[0] (function_temp vec3) /* &mat_ctor[0] */ vec3 32 ssa_208 = intrinsic load_deref (ssa_207) (0) /* access=0 */ vec1 1 ssa_209 = fne ssa_203.x, ssa_208.x vec1 1 ssa_210 = fne ssa_203.y, ssa_208.y vec1 1 ssa_211 = ior ssa_209, ssa_210 vec1 1 ssa_212 = fne ssa_203.z, ssa_208.z vec1 1 ssa_213 = ior ssa_211, ssa_212 vec1 1 ssa_214 = imov ssa_213 vec1 1 ssa_215 = imov ssa_213 vec1 1 ssa_216 = imov ssa_213 vec1 1 ssa_217 = imov ssa_213 vec4 1 ssa_218 = vec4 ssa_213, ssa_213, ssa_213, ssa_213 vec1 1 ssa_219 = imov ssa_213 vec1 1 ssa_220 = imov ssa_0.y vec1 1 ssa_221 = imov ssa_0.z vec1 1 ssa_222 = imov ssa_0.w vec4 1 ssa_223 = vec4 ssa_213, ssa_0.y, ssa_0.z, ssa_0.w vec1 32 ssa_224 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 32 ssa_225 = deref_var &const_temp@14 (function_temp int) vec1 32 ssa_226 = imov ssa_43 vec1 32 ssa_227 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_228 = deref_array &(*ssa_227)[1] (function_temp vec3) /* &mat_op_to_vec[1] */ vec3 32 ssa_229 = intrinsic load_deref (ssa_228) (0) /* access=0 */ vec1 32 ssa_230 = deref_var &const_temp@15 (function_temp int) vec1 32 ssa_231 = imov ssa_45 vec1 32 ssa_232 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_233 = deref_array &(*ssa_232)[1] (function_temp vec3) /* &mat_ctor[1] */ vec3 32 ssa_234 = intrinsic load_deref (ssa_233) (0) /* access=0 */ vec1 1 ssa_235 = fne ssa_229.x, ssa_234.x vec1 1 ssa_236 = fne ssa_229.y, ssa_234.y vec1 1 ssa_237 = ior ssa_235, ssa_236 vec1 1 ssa_238 = fne ssa_229.z, ssa_234.z vec1 1 ssa_239 = ior ssa_237, ssa_238 vec1 1 ssa_240 = imov ssa_239 vec1 1 ssa_241 = imov ssa_239 vec1 1 ssa_242 = imov ssa_239 vec1 1 ssa_243 = imov ssa_239 vec4 1 ssa_244 = vec4 ssa_239, ssa_239, ssa_239, ssa_239 vec1 1 ssa_245 = imov ssa_213 vec1 1 ssa_246 = imov ssa_239 vec1 1 ssa_247 = imov ssa_0.z vec1 1 ssa_248 = imov ssa_0.w vec4 1 ssa_249 = vec4 ssa_213, ssa_239, ssa_0.z, ssa_0.w vec1 32 ssa_250 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 32 ssa_251 = deref_var &const_temp@16 (function_temp int) vec1 32 ssa_252 = imov ssa_47 vec1 32 ssa_253 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_254 = deref_array &(*ssa_253)[2] (function_temp vec3) /* &mat_op_to_vec[2] */ vec3 32 ssa_255 = intrinsic load_deref (ssa_254) (0) /* access=0 */ vec1 32 ssa_256 = deref_var &const_temp@17 (function_temp int) vec1 32 ssa_257 = imov ssa_49 vec1 32 ssa_258 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_259 = deref_array &(*ssa_258)[2] (function_temp vec3) /* &mat_ctor[2] */ vec3 32 ssa_260 = intrinsic load_deref (ssa_259) (0) /* access=0 */ vec1 1 ssa_261 = fne ssa_255.x, ssa_260.x vec1 1 ssa_262 = fne ssa_255.y, ssa_260.y vec1 1 ssa_263 = ior ssa_261, ssa_262 vec1 1 ssa_264 = fne ssa_255.z, ssa_260.z vec1 1 ssa_265 = ior ssa_263, ssa_264 vec1 1 ssa_266 = imov ssa_265 vec1 1 ssa_267 = imov ssa_265 vec1 1 ssa_268 = imov ssa_265 vec1 1 ssa_269 = imov ssa_265 vec4 1 ssa_270 = vec4 ssa_265, ssa_265, ssa_265, ssa_265 vec1 1 ssa_271 = imov ssa_213 vec1 1 ssa_272 = imov ssa_239 vec1 1 ssa_273 = imov ssa_265 vec1 1 ssa_274 = imov ssa_0.w vec4 1 ssa_275 = vec4 ssa_213, ssa_239, ssa_265, ssa_0.w vec1 32 ssa_276 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 32 ssa_277 = deref_var &const_temp@18 (function_temp int) vec1 32 ssa_278 = imov ssa_51 vec1 32 ssa_279 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_280 = deref_array &(*ssa_279)[3] (function_temp vec3) /* &mat_op_to_vec[3] */ vec3 32 ssa_281 = intrinsic load_deref (ssa_280) (0) /* access=0 */ vec1 32 ssa_282 = deref_var &const_temp@19 (function_temp int) vec1 32 ssa_283 = imov ssa_53 vec1 32 ssa_284 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_285 = deref_array &(*ssa_284)[3] (function_temp vec3) /* &mat_ctor[3] */ vec3 32 ssa_286 = intrinsic load_deref (ssa_285) (0) /* access=0 */ vec1 1 ssa_287 = fne ssa_281.x, ssa_286.x vec1 1 ssa_288 = fne ssa_281.y, ssa_286.y vec1 1 ssa_289 = ior ssa_287, ssa_288 vec1 1 ssa_290 = fne ssa_281.z, ssa_286.z vec1 1 ssa_291 = ior ssa_289, ssa_290 vec1 1 ssa_292 = imov ssa_291 vec1 1 ssa_293 = imov ssa_291 vec1 1 ssa_294 = imov ssa_291 vec1 1 ssa_295 = imov ssa_291 vec4 1 ssa_296 = vec4 ssa_291, ssa_291, ssa_291, ssa_291 vec1 1 ssa_297 = imov ssa_213 vec1 1 ssa_298 = imov ssa_239 vec1 1 ssa_299 = imov ssa_265 vec1 1 ssa_300 = imov ssa_291 vec4 1 ssa_301 = vec4 ssa_213, ssa_239, ssa_265, ssa_291 vec1 32 ssa_302 = deref_var &flattening_tmp@11 (function_temp bool) vec1 32 ssa_303 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 1 ssa_367 = imov ssa_213 vec1 1 ssa_368 = imov ssa_239 vec1 1 ssa_369 = imov ssa_265 vec1 1 ssa_370 = imov ssa_291 vec4 1 ssa_371 = vec4 ssa_213, ssa_239, ssa_265, ssa_291 vec1 32 ssa_305 = deref_var &const_temp@20 (function_temp bvec4) vec1 1 ssa_372 = imov ssa_55.x vec1 1 ssa_373 = imov ssa_55.y vec1 1 ssa_374 = imov ssa_55.z vec1 1 ssa_375 = imov ssa_55.w vec4 1 ssa_376 = vec4 ssa_55.x, ssa_55.y, ssa_55.z, ssa_55.w vec1 1 ssa_307 = ine ssa_213, ssa_55.x vec1 1 ssa_308 = ine ssa_239, ssa_55.y vec1 1 ssa_309 = ior ssa_307, ssa_308 vec1 1 ssa_310 = ine ssa_265, ssa_55.z vec1 1 ssa_311 = ior ssa_309, ssa_310 vec1 1 ssa_312 = ine ssa_291, ssa_55.w vec1 1 ssa_313 = ior ssa_311, ssa_312 vec1 1 ssa_314 = inot ssa_313 vec1 32 ssa_315 = deref_var &flattening_tmp@11 (function_temp bool) vec1 1 ssa_316 = imov ssa_314 /* succs: block_1 block_2 */ if ssa_314 { block block_1: /* preds: block_0 */ vec1 32 ssa_317 = deref_var &const_temp@21 (function_temp vec4) vec1 32 ssa_318 = deref_var &out@gl_FrontColor-temp (function_temp vec4) vec1 32 ssa_377 = imov ssa_57.x vec1 32 ssa_378 = imov ssa_57.y vec1 32 ssa_379 = imov ssa_57.z vec1 32 ssa_380 = imov ssa_57.w vec4 32 ssa_381 = vec4 ssa_57.x, ssa_57.y, ssa_57.z, ssa_57.w vec1 32 ssa_397 = imov ssa_57.x vec1 32 ssa_400 = imov ssa_57.y vec1 32 ssa_403 = imov ssa_57.z vec1 32 ssa_406 = imov ssa_57.w /* succs: block_3 */ } else { block block_2: /* preds: block_0 */ vec1 32 ssa_320 = deref_var &const_temp@22 (function_temp vec4) vec1 32 ssa_321 = deref_var &out@gl_FrontColor-temp (function_temp vec4) vec1 32 ssa_382 = imov ssa_59.x vec1 32 ssa_383 = imov ssa_59.y vec1 32 ssa_384 = imov ssa_59.z vec1 32 ssa_385 = imov ssa_59.w vec4 32 ssa_386 = vec4 ssa_59.x, ssa_59.y, ssa_59.z, ssa_59.w vec1 32 ssa_398 = imov ssa_59.x vec1 32 ssa_401 = imov ssa_59.y vec1 32 ssa_404 = imov ssa_59.z vec1 32 ssa_407 = imov ssa_59.w /* succs: block_3 */ } block block_3: /* preds: block_1 block_2 */ vec1 32 ssa_399 = phi block_1: ssa_397, block_2: ssa_398 vec1 32 ssa_402 = phi block_1: ssa_400, block_2: ssa_401 vec1 32 ssa_405 = phi block_1: ssa_403, block_2: ssa_404 vec1 32 ssa_408 = phi block_1: ssa_406, block_2: ssa_407 vec4 32 ssa_409 = vec4 ssa_399, ssa_402, ssa_405, ssa_408 vec1 32 ssa_324 = deref_var &out@gl_Position-temp (function_temp vec4) vec1 32 ssa_325 = deref_var &gl_Position (shader_out vec4) vec1 32 ssa_387 = imov ssa_123 vec1 32 ssa_388 = imov ssa_124 vec1 32 ssa_389 = imov ssa_125 vec1 32 ssa_390 = imov ssa_126 vec4 32 ssa_391 = vec4 ssa_123, ssa_124, ssa_125, ssa_126 intrinsic store_deref (ssa_325, ssa_391) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_327 = deref_var &out@gl_FrontColor-temp (function_temp vec4) vec1 32 ssa_328 = deref_var &gl_FrontColor (shader_out vec4) vec1 32 ssa_392 = imov ssa_409.x vec1 32 ssa_393 = imov ssa_409.y vec1 32 ssa_394 = imov ssa_409.z vec1 32 ssa_395 = imov ssa_409.w vec4 32 ssa_396 = vec4 ssa_409.x, ssa_409.y, ssa_409.z, ssa_409.w intrinsic store_deref (ssa_328, ssa_409) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_4 */ block block_4: } nir_copy_prop shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 0, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 0, 0) decl_function main (0 params) impl main { decl_var INTERP_MODE_NONE vec4 flattening_tmp decl_var INTERP_MODE_NONE int const_temp decl_var INTERP_MODE_NONE int const_temp@0 decl_var INTERP_MODE_NONE int const_temp@1 decl_var INTERP_MODE_NONE int const_temp@2 decl_var INTERP_MODE_NONE ivec3 vec_ctor decl_var INTERP_MODE_NONE int const_temp@3 decl_var INTERP_MODE_NONE mat4x3 mat_ctor decl_var INTERP_MODE_NONE uint const_temp@4 decl_var INTERP_MODE_NONE vec3 const_temp@5 decl_var INTERP_MODE_NONE uint const_temp@6 decl_var INTERP_MODE_NONE vec3 const_temp@7 decl_var INTERP_MODE_NONE uint const_temp@8 decl_var INTERP_MODE_NONE vec3 const_temp@9 decl_var INTERP_MODE_NONE uint const_temp@10 decl_var INTERP_MODE_NONE bool flattening_tmp@11 decl_var INTERP_MODE_NONE mat4x3 mat_op_to_vec decl_var INTERP_MODE_NONE bvec4 mat_cmp_bvec decl_var INTERP_MODE_NONE int const_temp@12 decl_var INTERP_MODE_NONE int const_temp@13 decl_var INTERP_MODE_NONE int const_temp@14 decl_var INTERP_MODE_NONE int const_temp@15 decl_var INTERP_MODE_NONE int const_temp@16 decl_var INTERP_MODE_NONE int const_temp@17 decl_var INTERP_MODE_NONE int const_temp@18 decl_var INTERP_MODE_NONE int const_temp@19 decl_var INTERP_MODE_NONE bvec4 const_temp@20 decl_var INTERP_MODE_NONE vec4 const_temp@21 decl_var INTERP_MODE_NONE vec4 const_temp@22 decl_var INTERP_MODE_NONE vec4 out@gl_FrontColor-temp decl_var INTERP_MODE_NONE vec4 out@gl_Position-temp decl_var INTERP_MODE_NONE vec3 (const_temp[0]) decl_var INTERP_MODE_NONE vec3 (const_temp[1]) decl_var INTERP_MODE_NONE vec3 (const_temp[2]) decl_var INTERP_MODE_NONE vec3 (const_temp[3]) block block_0: /* preds: */ vec4 1 ssa_0 = undefined vec3 32 ssa_1 = undefined vec1 32 ssa_2 = deref_var &const_temp (function_temp int) vec1 32 ssa_3 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_4 = deref_var &const_temp@0 (function_temp int) vec1 32 ssa_5 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_6 = deref_var &const_temp@1 (function_temp int) vec1 32 ssa_7 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_8 = deref_var &const_temp@2 (function_temp int) vec1 32 ssa_9 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_10 = deref_var &const_temp@3 (function_temp int) vec1 32 ssa_11 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_12 = deref_var &const_temp@4 (function_temp uint) vec1 32 ssa_13 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_14 = deref_var &const_temp@5 (function_temp vec3) vec3 32 ssa_15 = load_const (0x40800000 /* 4.000000 */, 0x40a00000 /* 5.000000 */, 0x40c00000 /* 6.000000 */) vec1 32 ssa_16 = deref_var &const_temp@6 (function_temp uint) vec1 32 ssa_17 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_18 = deref_var &const_temp@7 (function_temp vec3) vec3 32 ssa_19 = load_const (0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */) vec1 32 ssa_20 = deref_var &const_temp@8 (function_temp uint) vec1 32 ssa_21 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_22 = deref_var &const_temp@9 (function_temp vec3) vec3 32 ssa_23 = load_const (0x41000000 /* 8.000000 */, 0x40e00000 /* 7.000000 */, 0x41200000 /* 10.000000 */) vec1 32 ssa_24 = deref_var &const_temp@10 (function_temp uint) vec1 32 ssa_25 = load_const (0x00000003 /* 0.000000 */) vec3 32 ssa_26 = load_const (0x3f800000 /* 1.000000 */, 0x40000000 /* 2.000000 */, 0x40400000 /* 3.000000 */) vec1 32 ssa_27 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_28 = deref_var &(const_temp[0]) (function_temp vec3) vec3 32 ssa_29 = load_const (0x40800000 /* 4.000000 */, 0x40a00000 /* 5.000000 */, 0x40c00000 /* 6.000000 */) vec1 32 ssa_30 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_31 = deref_var &(const_temp[1]) (function_temp vec3) vec3 32 ssa_32 = load_const (0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */) vec1 32 ssa_33 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_34 = deref_var &(const_temp[2]) (function_temp vec3) vec3 32 ssa_35 = load_const (0x41000000 /* 8.000000 */, 0x40e00000 /* 7.000000 */, 0x41200000 /* 10.000000 */) vec1 32 ssa_36 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_37 = deref_var &(const_temp[3]) (function_temp vec3) vec1 32 ssa_38 = deref_var &const_temp@12 (function_temp int) vec1 32 ssa_39 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_40 = deref_var &const_temp@13 (function_temp int) vec1 32 ssa_41 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_42 = deref_var &const_temp@14 (function_temp int) vec1 32 ssa_43 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_44 = deref_var &const_temp@15 (function_temp int) vec1 32 ssa_45 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_46 = deref_var &const_temp@16 (function_temp int) vec1 32 ssa_47 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_48 = deref_var &const_temp@17 (function_temp int) vec1 32 ssa_49 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_50 = deref_var &const_temp@18 (function_temp int) vec1 32 ssa_51 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_52 = deref_var &const_temp@19 (function_temp int) vec1 32 ssa_53 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_54 = deref_var &const_temp@20 (function_temp bvec4) vec4 1 ssa_55 = load_const (false, false, false, false) vec1 32 ssa_56 = deref_var &const_temp@21 (function_temp vec4) vec4 32 ssa_57 = load_const (0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */, 0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */) vec1 32 ssa_58 = deref_var &const_temp@22 (function_temp vec4) vec4 32 ssa_59 = load_const (0x3f800000 /* 1.000000 */, 0x00000000 /* 0.000000 */, 0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */) vec1 32 ssa_60 = deref_var &flattening_tmp (function_temp vec4) vec1 32 ssa_61 = deref_var &const_temp (function_temp int) vec1 32 ssa_62 = imov ssa_3 vec1 32 ssa_63 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_64 = deref_array &(*ssa_63)[0] (uniform vec4) /* &gl_ModelViewProjectionMatrix[0] */ vec4 32 ssa_65 = intrinsic load_deref (ssa_64) (0) /* access=0 */ vec1 32 ssa_66 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_67 = intrinsic load_deref (ssa_66) (0) /* access=0 */ vec1 32 ssa_68 = imov ssa_67.x vec1 32 ssa_69 = fmul ssa_65.x, ssa_67.x vec1 32 ssa_70 = fmul ssa_65.y, ssa_67.x vec1 32 ssa_71 = fmul ssa_65.z, ssa_67.x vec1 32 ssa_72 = fmul ssa_65.w, ssa_67.x vec4 32 ssa_73 = vec4 ssa_69, ssa_70, ssa_71, ssa_72 vec1 32 ssa_74 = deref_var &const_temp@0 (function_temp int) vec1 32 ssa_75 = imov ssa_5 vec1 32 ssa_76 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_77 = deref_array &(*ssa_76)[1] (uniform vec4) /* &gl_ModelViewProjectionMatrix[1] */ vec4 32 ssa_78 = intrinsic load_deref (ssa_77) (0) /* access=0 */ vec1 32 ssa_79 = deref_var &gl_Vertex (shader_in vec4) vec1 32 ssa_81 = imov ssa_67.y vec1 32 ssa_82 = fmul ssa_78.x, ssa_67.y vec1 32 ssa_83 = fmul ssa_78.y, ssa_67.y vec1 32 ssa_84 = fmul ssa_78.z, ssa_67.y vec1 32 ssa_85 = fmul ssa_78.w, ssa_67.y vec4 32 ssa_86 = vec4 ssa_82, ssa_83, ssa_84, ssa_85 vec1 32 ssa_87 = fadd ssa_69, ssa_82 vec1 32 ssa_88 = fadd ssa_70, ssa_83 vec1 32 ssa_89 = fadd ssa_71, ssa_84 vec1 32 ssa_90 = fadd ssa_72, ssa_85 vec4 32 ssa_91 = vec4 ssa_87, ssa_88, ssa_89, ssa_90 vec1 32 ssa_92 = deref_var &const_temp@1 (function_temp int) vec1 32 ssa_93 = imov ssa_7 vec1 32 ssa_94 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_95 = deref_array &(*ssa_94)[2] (uniform vec4) /* &gl_ModelViewProjectionMatrix[2] */ vec4 32 ssa_96 = intrinsic load_deref (ssa_95) (0) /* access=0 */ vec1 32 ssa_97 = deref_var &gl_Vertex (shader_in vec4) vec1 32 ssa_99 = imov ssa_67.z vec1 32 ssa_100 = fmul ssa_96.x, ssa_67.z vec1 32 ssa_101 = fmul ssa_96.y, ssa_67.z vec1 32 ssa_102 = fmul ssa_96.z, ssa_67.z vec1 32 ssa_103 = fmul ssa_96.w, ssa_67.z vec4 32 ssa_104 = vec4 ssa_100, ssa_101, ssa_102, ssa_103 vec1 32 ssa_105 = fadd ssa_87, ssa_100 vec1 32 ssa_106 = fadd ssa_88, ssa_101 vec1 32 ssa_107 = fadd ssa_89, ssa_102 vec1 32 ssa_108 = fadd ssa_90, ssa_103 vec4 32 ssa_109 = vec4 ssa_105, ssa_106, ssa_107, ssa_108 vec1 32 ssa_110 = deref_var &const_temp@2 (function_temp int) vec1 32 ssa_111 = imov ssa_9 vec1 32 ssa_112 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_113 = deref_array &(*ssa_112)[3] (uniform vec4) /* &gl_ModelViewProjectionMatrix[3] */ vec4 32 ssa_114 = intrinsic load_deref (ssa_113) (0) /* access=0 */ vec1 32 ssa_115 = deref_var &gl_Vertex (shader_in vec4) vec1 32 ssa_117 = imov ssa_67.w vec1 32 ssa_118 = fmul ssa_114.x, ssa_67.w vec1 32 ssa_119 = fmul ssa_114.y, ssa_67.w vec1 32 ssa_120 = fmul ssa_114.z, ssa_67.w vec1 32 ssa_121 = fmul ssa_114.w, ssa_67.w vec4 32 ssa_122 = vec4 ssa_118, ssa_119, ssa_120, ssa_121 vec1 32 ssa_123 = fadd ssa_105, ssa_118 vec1 32 ssa_124 = fadd ssa_106, ssa_119 vec1 32 ssa_125 = fadd ssa_107, ssa_120 vec1 32 ssa_126 = fadd ssa_108, ssa_121 vec4 32 ssa_127 = vec4 ssa_123, ssa_124, ssa_125, ssa_126 vec1 32 ssa_128 = deref_var &flattening_tmp (function_temp vec4) vec1 32 ssa_129 = deref_var &out@gl_Position-temp (function_temp vec4) vec1 32 ssa_330 = imov ssa_123 vec1 32 ssa_331 = imov ssa_124 vec1 32 ssa_332 = imov ssa_125 vec1 32 ssa_333 = imov ssa_126 vec4 32 ssa_334 = vec4 ssa_123, ssa_124, ssa_125, ssa_126 vec1 32 ssa_131 = deref_var &vec_ctor (function_temp ivec3) vec1 32 ssa_132 = deref_var &const_temp@3 (function_temp int) vec1 32 ssa_133 = imov ssa_11 vec1 32 ssa_134 = imov ssa_11 vec1 32 ssa_135 = imov ssa_11 vec1 32 ssa_136 = imov ssa_11 vec3 32 ssa_137 = vec3 ssa_11, ssa_11, ssa_11 vec1 32 ssa_138 = imov ssa_11 vec1 32 ssa_139 = imov ssa_1.y vec1 32 ssa_140 = imov ssa_1.z vec3 32 ssa_141 = vec3 ssa_11, ssa_1.y, ssa_1.z vec1 32 ssa_142 = deref_var &vec_ctor (function_temp ivec3) vec1 32 ssa_143 = deref_var &j (uniform ivec2) vec2 32 ssa_144 = intrinsic load_deref (ssa_143) (0) /* access=0 */ vec1 32 ssa_145 = imov ssa_144.x vec1 32 ssa_146 = imov ssa_144.x vec1 32 ssa_147 = imov ssa_144.y vec3 32 ssa_148 = vec3 ssa_144.x, ssa_144.x, ssa_144.y vec1 32 ssa_149 = imov ssa_11 vec1 32 ssa_150 = imov ssa_144.x vec1 32 ssa_151 = imov ssa_144.y vec3 32 ssa_152 = vec3 ssa_11, ssa_144.x, ssa_144.y vec1 32 ssa_153 = deref_var &const_temp@4 (function_temp uint) vec1 32 ssa_154 = imov ssa_13 vec1 32 ssa_155 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_156 = deref_array &(*ssa_155)[0] (function_temp vec3) /* &mat_ctor[0] */ vec1 32 ssa_157 = deref_var &vec_ctor (function_temp ivec3) vec1 32 ssa_335 = imov ssa_11 vec1 32 ssa_336 = imov ssa_144.x vec1 32 ssa_337 = imov ssa_144.y vec3 32 ssa_338 = vec3 ssa_11, ssa_144.x, ssa_144.y vec1 32 ssa_159 = i2f32 ssa_11 vec1 32 ssa_160 = i2f32 ssa_144.x vec1 32 ssa_161 = i2f32 ssa_144.y vec3 32 ssa_162 = vec3 ssa_159, ssa_160, ssa_161 intrinsic store_deref (ssa_156, ssa_162) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_163 = deref_var &const_temp@5 (function_temp vec3) vec1 32 ssa_164 = deref_var &const_temp@6 (function_temp uint) vec1 32 ssa_165 = imov ssa_17 vec1 32 ssa_166 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_167 = deref_array &(*ssa_166)[1] (function_temp vec3) /* &mat_ctor[1] */ vec1 32 ssa_339 = imov ssa_15.x vec1 32 ssa_340 = imov ssa_15.y vec1 32 ssa_341 = imov ssa_15.z vec3 32 ssa_342 = vec3 ssa_15.x, ssa_15.y, ssa_15.z intrinsic store_deref (ssa_167, ssa_15) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_169 = deref_var &const_temp@7 (function_temp vec3) vec1 32 ssa_170 = deref_var &const_temp@8 (function_temp uint) vec1 32 ssa_171 = imov ssa_21 vec1 32 ssa_172 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_173 = deref_array &(*ssa_172)[2] (function_temp vec3) /* &mat_ctor[2] */ vec1 32 ssa_343 = imov ssa_19.x vec1 32 ssa_344 = imov ssa_19.y vec1 32 ssa_345 = imov ssa_19.z vec3 32 ssa_346 = vec3 ssa_19.x, ssa_19.y, ssa_19.z intrinsic store_deref (ssa_173, ssa_19) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_175 = deref_var &const_temp@9 (function_temp vec3) vec1 32 ssa_176 = deref_var &const_temp@10 (function_temp uint) vec1 32 ssa_177 = imov ssa_25 vec1 32 ssa_178 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_179 = deref_array &(*ssa_178)[3] (function_temp vec3) /* &mat_ctor[3] */ vec1 32 ssa_347 = imov ssa_23.x vec1 32 ssa_348 = imov ssa_23.y vec1 32 ssa_349 = imov ssa_23.z vec3 32 ssa_350 = vec3 ssa_23.x, ssa_23.y, ssa_23.z intrinsic store_deref (ssa_179, ssa_23) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_181 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_182 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_183 = deref_array &(*ssa_181)[0] (function_temp vec3) /* &mat_op_to_vec[0] */ vec1 32 ssa_184 = deref_var &(const_temp[0]) (function_temp vec3) vec1 32 ssa_351 = imov ssa_26.x vec1 32 ssa_352 = imov ssa_26.y vec1 32 ssa_353 = imov ssa_26.z vec3 32 ssa_354 = vec3 ssa_26.x, ssa_26.y, ssa_26.z intrinsic store_deref (ssa_183, ssa_26) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_186 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_187 = deref_array &(*ssa_181)[1] (function_temp vec3) /* &mat_op_to_vec[1] */ vec1 32 ssa_188 = deref_var &(const_temp[1]) (function_temp vec3) vec1 32 ssa_355 = imov ssa_29.x vec1 32 ssa_356 = imov ssa_29.y vec1 32 ssa_357 = imov ssa_29.z vec3 32 ssa_358 = vec3 ssa_29.x, ssa_29.y, ssa_29.z intrinsic store_deref (ssa_187, ssa_29) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_190 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_191 = deref_array &(*ssa_181)[2] (function_temp vec3) /* &mat_op_to_vec[2] */ vec1 32 ssa_192 = deref_var &(const_temp[2]) (function_temp vec3) vec1 32 ssa_359 = imov ssa_32.x vec1 32 ssa_360 = imov ssa_32.y vec1 32 ssa_361 = imov ssa_32.z vec3 32 ssa_362 = vec3 ssa_32.x, ssa_32.y, ssa_32.z intrinsic store_deref (ssa_191, ssa_32) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_194 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_195 = deref_array &(*ssa_181)[3] (function_temp vec3) /* &mat_op_to_vec[3] */ vec1 32 ssa_196 = deref_var &(const_temp[3]) (function_temp vec3) vec1 32 ssa_363 = imov ssa_35.x vec1 32 ssa_364 = imov ssa_35.y vec1 32 ssa_365 = imov ssa_35.z vec3 32 ssa_366 = vec3 ssa_35.x, ssa_35.y, ssa_35.z intrinsic store_deref (ssa_195, ssa_35) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_198 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 32 ssa_199 = deref_var &const_temp@12 (function_temp int) vec1 32 ssa_200 = imov ssa_39 vec1 32 ssa_201 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_202 = deref_array &(*ssa_201)[0] (function_temp vec3) /* &mat_op_to_vec[0] */ vec3 32 ssa_203 = intrinsic load_deref (ssa_202) (0) /* access=0 */ vec1 32 ssa_204 = deref_var &const_temp@13 (function_temp int) vec1 32 ssa_205 = imov ssa_41 vec1 32 ssa_206 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_207 = deref_array &(*ssa_206)[0] (function_temp vec3) /* &mat_ctor[0] */ vec3 32 ssa_208 = intrinsic load_deref (ssa_207) (0) /* access=0 */ vec1 1 ssa_209 = fne ssa_203.x, ssa_208.x vec1 1 ssa_210 = fne ssa_203.y, ssa_208.y vec1 1 ssa_211 = ior ssa_209, ssa_210 vec1 1 ssa_212 = fne ssa_203.z, ssa_208.z vec1 1 ssa_213 = ior ssa_211, ssa_212 vec1 1 ssa_214 = imov ssa_213 vec1 1 ssa_215 = imov ssa_213 vec1 1 ssa_216 = imov ssa_213 vec1 1 ssa_217 = imov ssa_213 vec4 1 ssa_218 = vec4 ssa_213, ssa_213, ssa_213, ssa_213 vec1 1 ssa_219 = imov ssa_213 vec1 1 ssa_220 = imov ssa_0.y vec1 1 ssa_221 = imov ssa_0.z vec1 1 ssa_222 = imov ssa_0.w vec4 1 ssa_223 = vec4 ssa_213, ssa_0.y, ssa_0.z, ssa_0.w vec1 32 ssa_224 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 32 ssa_225 = deref_var &const_temp@14 (function_temp int) vec1 32 ssa_226 = imov ssa_43 vec1 32 ssa_227 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_228 = deref_array &(*ssa_227)[1] (function_temp vec3) /* &mat_op_to_vec[1] */ vec3 32 ssa_229 = intrinsic load_deref (ssa_228) (0) /* access=0 */ vec1 32 ssa_230 = deref_var &const_temp@15 (function_temp int) vec1 32 ssa_231 = imov ssa_45 vec1 32 ssa_232 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_233 = deref_array &(*ssa_232)[1] (function_temp vec3) /* &mat_ctor[1] */ vec3 32 ssa_234 = intrinsic load_deref (ssa_233) (0) /* access=0 */ vec1 1 ssa_235 = fne ssa_229.x, ssa_234.x vec1 1 ssa_236 = fne ssa_229.y, ssa_234.y vec1 1 ssa_237 = ior ssa_235, ssa_236 vec1 1 ssa_238 = fne ssa_229.z, ssa_234.z vec1 1 ssa_239 = ior ssa_237, ssa_238 vec1 1 ssa_240 = imov ssa_239 vec1 1 ssa_241 = imov ssa_239 vec1 1 ssa_242 = imov ssa_239 vec1 1 ssa_243 = imov ssa_239 vec4 1 ssa_244 = vec4 ssa_239, ssa_239, ssa_239, ssa_239 vec1 1 ssa_245 = imov ssa_213 vec1 1 ssa_246 = imov ssa_239 vec1 1 ssa_247 = imov ssa_0.z vec1 1 ssa_248 = imov ssa_0.w vec4 1 ssa_249 = vec4 ssa_213, ssa_239, ssa_0.z, ssa_0.w vec1 32 ssa_250 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 32 ssa_251 = deref_var &const_temp@16 (function_temp int) vec1 32 ssa_252 = imov ssa_47 vec1 32 ssa_253 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_254 = deref_array &(*ssa_253)[2] (function_temp vec3) /* &mat_op_to_vec[2] */ vec3 32 ssa_255 = intrinsic load_deref (ssa_254) (0) /* access=0 */ vec1 32 ssa_256 = deref_var &const_temp@17 (function_temp int) vec1 32 ssa_257 = imov ssa_49 vec1 32 ssa_258 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_259 = deref_array &(*ssa_258)[2] (function_temp vec3) /* &mat_ctor[2] */ vec3 32 ssa_260 = intrinsic load_deref (ssa_259) (0) /* access=0 */ vec1 1 ssa_261 = fne ssa_255.x, ssa_260.x vec1 1 ssa_262 = fne ssa_255.y, ssa_260.y vec1 1 ssa_263 = ior ssa_261, ssa_262 vec1 1 ssa_264 = fne ssa_255.z, ssa_260.z vec1 1 ssa_265 = ior ssa_263, ssa_264 vec1 1 ssa_266 = imov ssa_265 vec1 1 ssa_267 = imov ssa_265 vec1 1 ssa_268 = imov ssa_265 vec1 1 ssa_269 = imov ssa_265 vec4 1 ssa_270 = vec4 ssa_265, ssa_265, ssa_265, ssa_265 vec1 1 ssa_271 = imov ssa_213 vec1 1 ssa_272 = imov ssa_239 vec1 1 ssa_273 = imov ssa_265 vec1 1 ssa_274 = imov ssa_0.w vec4 1 ssa_275 = vec4 ssa_213, ssa_239, ssa_265, ssa_0.w vec1 32 ssa_276 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 32 ssa_277 = deref_var &const_temp@18 (function_temp int) vec1 32 ssa_278 = imov ssa_51 vec1 32 ssa_279 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_280 = deref_array &(*ssa_279)[3] (function_temp vec3) /* &mat_op_to_vec[3] */ vec3 32 ssa_281 = intrinsic load_deref (ssa_280) (0) /* access=0 */ vec1 32 ssa_282 = deref_var &const_temp@19 (function_temp int) vec1 32 ssa_283 = imov ssa_53 vec1 32 ssa_284 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_285 = deref_array &(*ssa_284)[3] (function_temp vec3) /* &mat_ctor[3] */ vec3 32 ssa_286 = intrinsic load_deref (ssa_285) (0) /* access=0 */ vec1 1 ssa_287 = fne ssa_281.x, ssa_286.x vec1 1 ssa_288 = fne ssa_281.y, ssa_286.y vec1 1 ssa_289 = ior ssa_287, ssa_288 vec1 1 ssa_290 = fne ssa_281.z, ssa_286.z vec1 1 ssa_291 = ior ssa_289, ssa_290 vec1 1 ssa_292 = imov ssa_291 vec1 1 ssa_293 = imov ssa_291 vec1 1 ssa_294 = imov ssa_291 vec1 1 ssa_295 = imov ssa_291 vec4 1 ssa_296 = vec4 ssa_291, ssa_291, ssa_291, ssa_291 vec1 1 ssa_297 = imov ssa_213 vec1 1 ssa_298 = imov ssa_239 vec1 1 ssa_299 = imov ssa_265 vec1 1 ssa_300 = imov ssa_291 vec4 1 ssa_301 = vec4 ssa_213, ssa_239, ssa_265, ssa_291 vec1 32 ssa_302 = deref_var &flattening_tmp@11 (function_temp bool) vec1 32 ssa_303 = deref_var &mat_cmp_bvec (function_temp bvec4) vec1 1 ssa_367 = imov ssa_213 vec1 1 ssa_368 = imov ssa_239 vec1 1 ssa_369 = imov ssa_265 vec1 1 ssa_370 = imov ssa_291 vec4 1 ssa_371 = vec4 ssa_213, ssa_239, ssa_265, ssa_291 vec1 32 ssa_305 = deref_var &const_temp@20 (function_temp bvec4) vec1 1 ssa_372 = imov ssa_55.x vec1 1 ssa_373 = imov ssa_55.y vec1 1 ssa_374 = imov ssa_55.z vec1 1 ssa_375 = imov ssa_55.w vec4 1 ssa_376 = vec4 ssa_55.x, ssa_55.y, ssa_55.z, ssa_55.w vec1 1 ssa_307 = ine ssa_213, ssa_55.x vec1 1 ssa_308 = ine ssa_239, ssa_55.y vec1 1 ssa_309 = ior ssa_307, ssa_308 vec1 1 ssa_310 = ine ssa_265, ssa_55.z vec1 1 ssa_311 = ior ssa_309, ssa_310 vec1 1 ssa_312 = ine ssa_291, ssa_55.w vec1 1 ssa_313 = ior ssa_311, ssa_312 vec1 1 ssa_314 = inot ssa_313 vec1 32 ssa_315 = deref_var &flattening_tmp@11 (function_temp bool) vec1 1 ssa_316 = imov ssa_314 /* succs: block_1 block_2 */ if ssa_314 { block block_1: /* preds: block_0 */ vec1 32 ssa_317 = deref_var &const_temp@21 (function_temp vec4) vec1 32 ssa_318 = deref_var &out@gl_FrontColor-temp (function_temp vec4) vec1 32 ssa_377 = imov ssa_57.x vec1 32 ssa_378 = imov ssa_57.y vec1 32 ssa_379 = imov ssa_57.z vec1 32 ssa_380 = imov ssa_57.w vec4 32 ssa_381 = vec4 ssa_57.x, ssa_57.y, ssa_57.z, ssa_57.w vec1 32 ssa_397 = imov ssa_57.x vec1 32 ssa_400 = imov ssa_57.y vec1 32 ssa_403 = imov ssa_57.z vec1 32 ssa_406 = imov ssa_57.w /* succs: block_3 */ } else { block block_2: /* preds: block_0 */ vec1 32 ssa_320 = deref_var &const_temp@22 (function_temp vec4) vec1 32 ssa_321 = deref_var &out@gl_FrontColor-temp (function_temp vec4) vec1 32 ssa_382 = imov ssa_59.x vec1 32 ssa_383 = imov ssa_59.y vec1 32 ssa_384 = imov ssa_59.z vec1 32 ssa_385 = imov ssa_59.w vec4 32 ssa_386 = vec4 ssa_59.x, ssa_59.y, ssa_59.z, ssa_59.w vec1 32 ssa_398 = imov ssa_59.x vec1 32 ssa_401 = imov ssa_59.y vec1 32 ssa_404 = imov ssa_59.z vec1 32 ssa_407 = imov ssa_59.w /* succs: block_3 */ } block block_3: /* preds: block_1 block_2 */ vec1 32 ssa_399 = phi block_1: ssa_397, block_2: ssa_398 vec1 32 ssa_402 = phi block_1: ssa_400, block_2: ssa_401 vec1 32 ssa_405 = phi block_1: ssa_403, block_2: ssa_404 vec1 32 ssa_408 = phi block_1: ssa_406, block_2: ssa_407 vec4 32 ssa_409 = vec4 ssa_399, ssa_402, ssa_405, ssa_408 vec1 32 ssa_324 = deref_var &out@gl_Position-temp (function_temp vec4) vec1 32 ssa_325 = deref_var &gl_Position (shader_out vec4) vec1 32 ssa_387 = imov ssa_123 vec1 32 ssa_388 = imov ssa_124 vec1 32 ssa_389 = imov ssa_125 vec1 32 ssa_390 = imov ssa_126 vec4 32 ssa_391 = vec4 ssa_123, ssa_124, ssa_125, ssa_126 intrinsic store_deref (ssa_325, ssa_391) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_327 = deref_var &out@gl_FrontColor-temp (function_temp vec4) vec1 32 ssa_328 = deref_var &gl_FrontColor (shader_out vec4) vec1 32 ssa_392 = imov ssa_399 vec1 32 ssa_393 = imov ssa_402 vec1 32 ssa_394 = imov ssa_405 vec1 32 ssa_395 = imov ssa_408 vec4 32 ssa_396 = vec4 ssa_399, ssa_402, ssa_405, ssa_408 intrinsic store_deref (ssa_328, ssa_409) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_4 */ block block_4: } nir_opt_dce shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 0, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 0, 0) decl_function main (0 params) impl main { decl_var INTERP_MODE_NONE vec4 flattening_tmp decl_var INTERP_MODE_NONE int const_temp decl_var INTERP_MODE_NONE int const_temp@0 decl_var INTERP_MODE_NONE int const_temp@1 decl_var INTERP_MODE_NONE int const_temp@2 decl_var INTERP_MODE_NONE ivec3 vec_ctor decl_var INTERP_MODE_NONE int const_temp@3 decl_var INTERP_MODE_NONE mat4x3 mat_ctor decl_var INTERP_MODE_NONE uint const_temp@4 decl_var INTERP_MODE_NONE vec3 const_temp@5 decl_var INTERP_MODE_NONE uint const_temp@6 decl_var INTERP_MODE_NONE vec3 const_temp@7 decl_var INTERP_MODE_NONE uint const_temp@8 decl_var INTERP_MODE_NONE vec3 const_temp@9 decl_var INTERP_MODE_NONE uint const_temp@10 decl_var INTERP_MODE_NONE bool flattening_tmp@11 decl_var INTERP_MODE_NONE mat4x3 mat_op_to_vec decl_var INTERP_MODE_NONE bvec4 mat_cmp_bvec decl_var INTERP_MODE_NONE int const_temp@12 decl_var INTERP_MODE_NONE int const_temp@13 decl_var INTERP_MODE_NONE int const_temp@14 decl_var INTERP_MODE_NONE int const_temp@15 decl_var INTERP_MODE_NONE int const_temp@16 decl_var INTERP_MODE_NONE int const_temp@17 decl_var INTERP_MODE_NONE int const_temp@18 decl_var INTERP_MODE_NONE int const_temp@19 decl_var INTERP_MODE_NONE bvec4 const_temp@20 decl_var INTERP_MODE_NONE vec4 const_temp@21 decl_var INTERP_MODE_NONE vec4 const_temp@22 decl_var INTERP_MODE_NONE vec4 out@gl_FrontColor-temp decl_var INTERP_MODE_NONE vec4 out@gl_Position-temp decl_var INTERP_MODE_NONE vec3 (const_temp[0]) decl_var INTERP_MODE_NONE vec3 (const_temp[1]) decl_var INTERP_MODE_NONE vec3 (const_temp[2]) decl_var INTERP_MODE_NONE vec3 (const_temp[3]) block block_0: /* preds: */ vec1 32 ssa_3 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_5 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_7 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_9 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_11 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_13 = load_const (0x00000000 /* 0.000000 */) vec3 32 ssa_15 = load_const (0x40800000 /* 4.000000 */, 0x40a00000 /* 5.000000 */, 0x40c00000 /* 6.000000 */) vec1 32 ssa_17 = load_const (0x00000001 /* 0.000000 */) vec3 32 ssa_19 = load_const (0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */) vec1 32 ssa_21 = load_const (0x00000002 /* 0.000000 */) vec3 32 ssa_23 = load_const (0x41000000 /* 8.000000 */, 0x40e00000 /* 7.000000 */, 0x41200000 /* 10.000000 */) vec1 32 ssa_25 = load_const (0x00000003 /* 0.000000 */) vec3 32 ssa_26 = load_const (0x3f800000 /* 1.000000 */, 0x40000000 /* 2.000000 */, 0x40400000 /* 3.000000 */) vec3 32 ssa_29 = load_const (0x40800000 /* 4.000000 */, 0x40a00000 /* 5.000000 */, 0x40c00000 /* 6.000000 */) vec3 32 ssa_32 = load_const (0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */) vec3 32 ssa_35 = load_const (0x41000000 /* 8.000000 */, 0x40e00000 /* 7.000000 */, 0x41200000 /* 10.000000 */) vec1 32 ssa_39 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_41 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_43 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_45 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_47 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_49 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_51 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_53 = load_const (0x00000003 /* 0.000000 */) vec4 1 ssa_55 = load_const (false, false, false, false) vec4 32 ssa_57 = load_const (0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */, 0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */) vec4 32 ssa_59 = load_const (0x3f800000 /* 1.000000 */, 0x00000000 /* 0.000000 */, 0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */) vec1 32 ssa_63 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_64 = deref_array &(*ssa_63)[0] (uniform vec4) /* &gl_ModelViewProjectionMatrix[0] */ vec4 32 ssa_65 = intrinsic load_deref (ssa_64) (0) /* access=0 */ vec1 32 ssa_66 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_67 = intrinsic load_deref (ssa_66) (0) /* access=0 */ vec1 32 ssa_69 = fmul ssa_65.x, ssa_67.x vec1 32 ssa_70 = fmul ssa_65.y, ssa_67.x vec1 32 ssa_71 = fmul ssa_65.z, ssa_67.x vec1 32 ssa_72 = fmul ssa_65.w, ssa_67.x vec1 32 ssa_76 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_77 = deref_array &(*ssa_76)[1] (uniform vec4) /* &gl_ModelViewProjectionMatrix[1] */ vec4 32 ssa_78 = intrinsic load_deref (ssa_77) (0) /* access=0 */ vec1 32 ssa_82 = fmul ssa_78.x, ssa_67.y vec1 32 ssa_83 = fmul ssa_78.y, ssa_67.y vec1 32 ssa_84 = fmul ssa_78.z, ssa_67.y vec1 32 ssa_85 = fmul ssa_78.w, ssa_67.y vec1 32 ssa_87 = fadd ssa_69, ssa_82 vec1 32 ssa_88 = fadd ssa_70, ssa_83 vec1 32 ssa_89 = fadd ssa_71, ssa_84 vec1 32 ssa_90 = fadd ssa_72, ssa_85 vec1 32 ssa_94 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_95 = deref_array &(*ssa_94)[2] (uniform vec4) /* &gl_ModelViewProjectionMatrix[2] */ vec4 32 ssa_96 = intrinsic load_deref (ssa_95) (0) /* access=0 */ vec1 32 ssa_100 = fmul ssa_96.x, ssa_67.z vec1 32 ssa_101 = fmul ssa_96.y, ssa_67.z vec1 32 ssa_102 = fmul ssa_96.z, ssa_67.z vec1 32 ssa_103 = fmul ssa_96.w, ssa_67.z vec1 32 ssa_105 = fadd ssa_87, ssa_100 vec1 32 ssa_106 = fadd ssa_88, ssa_101 vec1 32 ssa_107 = fadd ssa_89, ssa_102 vec1 32 ssa_108 = fadd ssa_90, ssa_103 vec1 32 ssa_112 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_113 = deref_array &(*ssa_112)[3] (uniform vec4) /* &gl_ModelViewProjectionMatrix[3] */ vec4 32 ssa_114 = intrinsic load_deref (ssa_113) (0) /* access=0 */ vec1 32 ssa_118 = fmul ssa_114.x, ssa_67.w vec1 32 ssa_119 = fmul ssa_114.y, ssa_67.w vec1 32 ssa_120 = fmul ssa_114.z, ssa_67.w vec1 32 ssa_121 = fmul ssa_114.w, ssa_67.w vec1 32 ssa_123 = fadd ssa_105, ssa_118 vec1 32 ssa_124 = fadd ssa_106, ssa_119 vec1 32 ssa_125 = fadd ssa_107, ssa_120 vec1 32 ssa_126 = fadd ssa_108, ssa_121 vec1 32 ssa_143 = deref_var &j (uniform ivec2) vec2 32 ssa_144 = intrinsic load_deref (ssa_143) (0) /* access=0 */ vec1 32 ssa_155 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_156 = deref_array &(*ssa_155)[0] (function_temp vec3) /* &mat_ctor[0] */ vec1 32 ssa_159 = i2f32 ssa_11 vec1 32 ssa_160 = i2f32 ssa_144.x vec1 32 ssa_161 = i2f32 ssa_144.y vec3 32 ssa_162 = vec3 ssa_159, ssa_160, ssa_161 intrinsic store_deref (ssa_156, ssa_162) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_166 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_167 = deref_array &(*ssa_166)[1] (function_temp vec3) /* &mat_ctor[1] */ intrinsic store_deref (ssa_167, ssa_15) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_172 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_173 = deref_array &(*ssa_172)[2] (function_temp vec3) /* &mat_ctor[2] */ intrinsic store_deref (ssa_173, ssa_19) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_178 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_179 = deref_array &(*ssa_178)[3] (function_temp vec3) /* &mat_ctor[3] */ intrinsic store_deref (ssa_179, ssa_23) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_181 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_182 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_183 = deref_array &(*ssa_181)[0] (function_temp vec3) /* &mat_op_to_vec[0] */ intrinsic store_deref (ssa_183, ssa_26) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_186 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_187 = deref_array &(*ssa_181)[1] (function_temp vec3) /* &mat_op_to_vec[1] */ intrinsic store_deref (ssa_187, ssa_29) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_190 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_191 = deref_array &(*ssa_181)[2] (function_temp vec3) /* &mat_op_to_vec[2] */ intrinsic store_deref (ssa_191, ssa_32) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_194 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_195 = deref_array &(*ssa_181)[3] (function_temp vec3) /* &mat_op_to_vec[3] */ intrinsic store_deref (ssa_195, ssa_35) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_201 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_202 = deref_array &(*ssa_201)[0] (function_temp vec3) /* &mat_op_to_vec[0] */ vec3 32 ssa_203 = intrinsic load_deref (ssa_202) (0) /* access=0 */ vec1 32 ssa_206 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_207 = deref_array &(*ssa_206)[0] (function_temp vec3) /* &mat_ctor[0] */ vec3 32 ssa_208 = intrinsic load_deref (ssa_207) (0) /* access=0 */ vec1 1 ssa_209 = fne ssa_203.x, ssa_208.x vec1 1 ssa_210 = fne ssa_203.y, ssa_208.y vec1 1 ssa_211 = ior ssa_209, ssa_210 vec1 1 ssa_212 = fne ssa_203.z, ssa_208.z vec1 1 ssa_213 = ior ssa_211, ssa_212 vec1 32 ssa_227 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_228 = deref_array &(*ssa_227)[1] (function_temp vec3) /* &mat_op_to_vec[1] */ vec3 32 ssa_229 = intrinsic load_deref (ssa_228) (0) /* access=0 */ vec1 32 ssa_232 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_233 = deref_array &(*ssa_232)[1] (function_temp vec3) /* &mat_ctor[1] */ vec3 32 ssa_234 = intrinsic load_deref (ssa_233) (0) /* access=0 */ vec1 1 ssa_235 = fne ssa_229.x, ssa_234.x vec1 1 ssa_236 = fne ssa_229.y, ssa_234.y vec1 1 ssa_237 = ior ssa_235, ssa_236 vec1 1 ssa_238 = fne ssa_229.z, ssa_234.z vec1 1 ssa_239 = ior ssa_237, ssa_238 vec1 32 ssa_253 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_254 = deref_array &(*ssa_253)[2] (function_temp vec3) /* &mat_op_to_vec[2] */ vec3 32 ssa_255 = intrinsic load_deref (ssa_254) (0) /* access=0 */ vec1 32 ssa_258 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_259 = deref_array &(*ssa_258)[2] (function_temp vec3) /* &mat_ctor[2] */ vec3 32 ssa_260 = intrinsic load_deref (ssa_259) (0) /* access=0 */ vec1 1 ssa_261 = fne ssa_255.x, ssa_260.x vec1 1 ssa_262 = fne ssa_255.y, ssa_260.y vec1 1 ssa_263 = ior ssa_261, ssa_262 vec1 1 ssa_264 = fne ssa_255.z, ssa_260.z vec1 1 ssa_265 = ior ssa_263, ssa_264 vec1 32 ssa_279 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_280 = deref_array &(*ssa_279)[3] (function_temp vec3) /* &mat_op_to_vec[3] */ vec3 32 ssa_281 = intrinsic load_deref (ssa_280) (0) /* access=0 */ vec1 32 ssa_284 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_285 = deref_array &(*ssa_284)[3] (function_temp vec3) /* &mat_ctor[3] */ vec3 32 ssa_286 = intrinsic load_deref (ssa_285) (0) /* access=0 */ vec1 1 ssa_287 = fne ssa_281.x, ssa_286.x vec1 1 ssa_288 = fne ssa_281.y, ssa_286.y vec1 1 ssa_289 = ior ssa_287, ssa_288 vec1 1 ssa_290 = fne ssa_281.z, ssa_286.z vec1 1 ssa_291 = ior ssa_289, ssa_290 vec1 1 ssa_307 = ine ssa_213, ssa_55.x vec1 1 ssa_308 = ine ssa_239, ssa_55.y vec1 1 ssa_309 = ior ssa_307, ssa_308 vec1 1 ssa_310 = ine ssa_265, ssa_55.z vec1 1 ssa_311 = ior ssa_309, ssa_310 vec1 1 ssa_312 = ine ssa_291, ssa_55.w vec1 1 ssa_313 = ior ssa_311, ssa_312 vec1 1 ssa_314 = inot ssa_313 /* succs: block_1 block_2 */ if ssa_314 { block block_1: /* preds: block_0 */ vec1 32 ssa_397 = imov ssa_57.x vec1 32 ssa_400 = imov ssa_57.y vec1 32 ssa_403 = imov ssa_57.z vec1 32 ssa_406 = imov ssa_57.w /* succs: block_3 */ } else { block block_2: /* preds: block_0 */ vec1 32 ssa_398 = imov ssa_59.x vec1 32 ssa_401 = imov ssa_59.y vec1 32 ssa_404 = imov ssa_59.z vec1 32 ssa_407 = imov ssa_59.w /* succs: block_3 */ } block block_3: /* preds: block_1 block_2 */ vec1 32 ssa_399 = phi block_1: ssa_397, block_2: ssa_398 vec1 32 ssa_402 = phi block_1: ssa_400, block_2: ssa_401 vec1 32 ssa_405 = phi block_1: ssa_403, block_2: ssa_404 vec1 32 ssa_408 = phi block_1: ssa_406, block_2: ssa_407 vec4 32 ssa_409 = vec4 ssa_399, ssa_402, ssa_405, ssa_408 vec1 32 ssa_325 = deref_var &gl_Position (shader_out vec4) vec4 32 ssa_391 = vec4 ssa_123, ssa_124, ssa_125, ssa_126 intrinsic store_deref (ssa_325, ssa_391) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_328 = deref_var &gl_FrontColor (shader_out vec4) intrinsic store_deref (ssa_328, ssa_409) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_4 */ block block_4: } nir_opt_cse shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 0, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 0, 0) decl_function main (0 params) impl main { decl_var INTERP_MODE_NONE vec4 flattening_tmp decl_var INTERP_MODE_NONE int const_temp decl_var INTERP_MODE_NONE int const_temp@0 decl_var INTERP_MODE_NONE int const_temp@1 decl_var INTERP_MODE_NONE int const_temp@2 decl_var INTERP_MODE_NONE ivec3 vec_ctor decl_var INTERP_MODE_NONE int const_temp@3 decl_var INTERP_MODE_NONE mat4x3 mat_ctor decl_var INTERP_MODE_NONE uint const_temp@4 decl_var INTERP_MODE_NONE vec3 const_temp@5 decl_var INTERP_MODE_NONE uint const_temp@6 decl_var INTERP_MODE_NONE vec3 const_temp@7 decl_var INTERP_MODE_NONE uint const_temp@8 decl_var INTERP_MODE_NONE vec3 const_temp@9 decl_var INTERP_MODE_NONE uint const_temp@10 decl_var INTERP_MODE_NONE bool flattening_tmp@11 decl_var INTERP_MODE_NONE mat4x3 mat_op_to_vec decl_var INTERP_MODE_NONE bvec4 mat_cmp_bvec decl_var INTERP_MODE_NONE int const_temp@12 decl_var INTERP_MODE_NONE int const_temp@13 decl_var INTERP_MODE_NONE int const_temp@14 decl_var INTERP_MODE_NONE int const_temp@15 decl_var INTERP_MODE_NONE int const_temp@16 decl_var INTERP_MODE_NONE int const_temp@17 decl_var INTERP_MODE_NONE int const_temp@18 decl_var INTERP_MODE_NONE int const_temp@19 decl_var INTERP_MODE_NONE bvec4 const_temp@20 decl_var INTERP_MODE_NONE vec4 const_temp@21 decl_var INTERP_MODE_NONE vec4 const_temp@22 decl_var INTERP_MODE_NONE vec4 out@gl_FrontColor-temp decl_var INTERP_MODE_NONE vec4 out@gl_Position-temp decl_var INTERP_MODE_NONE vec3 (const_temp[0]) decl_var INTERP_MODE_NONE vec3 (const_temp[1]) decl_var INTERP_MODE_NONE vec3 (const_temp[2]) decl_var INTERP_MODE_NONE vec3 (const_temp[3]) block block_0: /* preds: */ vec1 32 ssa_3 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_5 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_7 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_9 = load_const (0x00000003 /* 0.000000 */) vec3 32 ssa_15 = load_const (0x40800000 /* 4.000000 */, 0x40a00000 /* 5.000000 */, 0x40c00000 /* 6.000000 */) vec3 32 ssa_19 = load_const (0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */) vec3 32 ssa_23 = load_const (0x41000000 /* 8.000000 */, 0x40e00000 /* 7.000000 */, 0x41200000 /* 10.000000 */) vec3 32 ssa_26 = load_const (0x3f800000 /* 1.000000 */, 0x40000000 /* 2.000000 */, 0x40400000 /* 3.000000 */) vec4 1 ssa_55 = load_const (false, false, false, false) vec4 32 ssa_57 = load_const (0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */, 0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */) vec4 32 ssa_59 = load_const (0x3f800000 /* 1.000000 */, 0x00000000 /* 0.000000 */, 0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */) vec1 32 ssa_63 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_64 = deref_array &(*ssa_63)[0] (uniform vec4) /* &gl_ModelViewProjectionMatrix[0] */ vec4 32 ssa_65 = intrinsic load_deref (ssa_64) (0) /* access=0 */ vec1 32 ssa_66 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_67 = intrinsic load_deref (ssa_66) (0) /* access=0 */ vec1 32 ssa_69 = fmul ssa_65.x, ssa_67.x vec1 32 ssa_70 = fmul ssa_65.y, ssa_67.x vec1 32 ssa_71 = fmul ssa_65.z, ssa_67.x vec1 32 ssa_72 = fmul ssa_65.w, ssa_67.x vec1 32 ssa_77 = deref_array &(*ssa_63)[1] (uniform vec4) /* &gl_ModelViewProjectionMatrix[1] */ vec4 32 ssa_78 = intrinsic load_deref (ssa_77) (0) /* access=0 */ vec1 32 ssa_82 = fmul ssa_78.x, ssa_67.y vec1 32 ssa_83 = fmul ssa_78.y, ssa_67.y vec1 32 ssa_84 = fmul ssa_78.z, ssa_67.y vec1 32 ssa_85 = fmul ssa_78.w, ssa_67.y vec1 32 ssa_87 = fadd ssa_69, ssa_82 vec1 32 ssa_88 = fadd ssa_70, ssa_83 vec1 32 ssa_89 = fadd ssa_71, ssa_84 vec1 32 ssa_90 = fadd ssa_72, ssa_85 vec1 32 ssa_95 = deref_array &(*ssa_63)[2] (uniform vec4) /* &gl_ModelViewProjectionMatrix[2] */ vec4 32 ssa_96 = intrinsic load_deref (ssa_95) (0) /* access=0 */ vec1 32 ssa_100 = fmul ssa_96.x, ssa_67.z vec1 32 ssa_101 = fmul ssa_96.y, ssa_67.z vec1 32 ssa_102 = fmul ssa_96.z, ssa_67.z vec1 32 ssa_103 = fmul ssa_96.w, ssa_67.z vec1 32 ssa_105 = fadd ssa_87, ssa_100 vec1 32 ssa_106 = fadd ssa_88, ssa_101 vec1 32 ssa_107 = fadd ssa_89, ssa_102 vec1 32 ssa_108 = fadd ssa_90, ssa_103 vec1 32 ssa_113 = deref_array &(*ssa_63)[3] (uniform vec4) /* &gl_ModelViewProjectionMatrix[3] */ vec4 32 ssa_114 = intrinsic load_deref (ssa_113) (0) /* access=0 */ vec1 32 ssa_118 = fmul ssa_114.x, ssa_67.w vec1 32 ssa_119 = fmul ssa_114.y, ssa_67.w vec1 32 ssa_120 = fmul ssa_114.z, ssa_67.w vec1 32 ssa_121 = fmul ssa_114.w, ssa_67.w vec1 32 ssa_123 = fadd ssa_105, ssa_118 vec1 32 ssa_124 = fadd ssa_106, ssa_119 vec1 32 ssa_125 = fadd ssa_107, ssa_120 vec1 32 ssa_126 = fadd ssa_108, ssa_121 vec1 32 ssa_143 = deref_var &j (uniform ivec2) vec2 32 ssa_144 = intrinsic load_deref (ssa_143) (0) /* access=0 */ vec1 32 ssa_155 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_156 = deref_array &(*ssa_155)[0] (function_temp vec3) /* &mat_ctor[0] */ vec1 32 ssa_159 = i2f32 ssa_5 vec1 32 ssa_160 = i2f32 ssa_144.x vec1 32 ssa_161 = i2f32 ssa_144.y vec3 32 ssa_162 = vec3 ssa_159, ssa_160, ssa_161 intrinsic store_deref (ssa_156, ssa_162) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_167 = deref_array &(*ssa_155)[1] (function_temp vec3) /* &mat_ctor[1] */ intrinsic store_deref (ssa_167, ssa_15) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_173 = deref_array &(*ssa_155)[2] (function_temp vec3) /* &mat_ctor[2] */ intrinsic store_deref (ssa_173, ssa_19) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_179 = deref_array &(*ssa_155)[3] (function_temp vec3) /* &mat_ctor[3] */ intrinsic store_deref (ssa_179, ssa_23) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_181 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_183 = deref_array &(*ssa_181)[0] (function_temp vec3) /* &mat_op_to_vec[0] */ intrinsic store_deref (ssa_183, ssa_26) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_187 = deref_array &(*ssa_181)[1] (function_temp vec3) /* &mat_op_to_vec[1] */ intrinsic store_deref (ssa_187, ssa_15) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_191 = deref_array &(*ssa_181)[2] (function_temp vec3) /* &mat_op_to_vec[2] */ intrinsic store_deref (ssa_191, ssa_19) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_195 = deref_array &(*ssa_181)[3] (function_temp vec3) /* &mat_op_to_vec[3] */ intrinsic store_deref (ssa_195, ssa_23) (7, 0) /* wrmask=xyz */ /* access=0 */ vec3 32 ssa_203 = intrinsic load_deref (ssa_183) (0) /* access=0 */ vec3 32 ssa_208 = intrinsic load_deref (ssa_156) (0) /* access=0 */ vec1 1 ssa_209 = fne ssa_203.x, ssa_208.x vec1 1 ssa_210 = fne ssa_203.y, ssa_208.y vec1 1 ssa_211 = ior ssa_209, ssa_210 vec1 1 ssa_212 = fne ssa_203.z, ssa_208.z vec1 1 ssa_213 = ior ssa_211, ssa_212 vec3 32 ssa_229 = intrinsic load_deref (ssa_187) (0) /* access=0 */ vec3 32 ssa_234 = intrinsic load_deref (ssa_167) (0) /* access=0 */ vec1 1 ssa_235 = fne ssa_229.x, ssa_234.x vec1 1 ssa_236 = fne ssa_229.y, ssa_234.y vec1 1 ssa_237 = ior ssa_235, ssa_236 vec1 1 ssa_238 = fne ssa_229.z, ssa_234.z vec1 1 ssa_239 = ior ssa_237, ssa_238 vec3 32 ssa_255 = intrinsic load_deref (ssa_191) (0) /* access=0 */ vec3 32 ssa_260 = intrinsic load_deref (ssa_173) (0) /* access=0 */ vec1 1 ssa_261 = fne ssa_255.x, ssa_260.x vec1 1 ssa_262 = fne ssa_255.y, ssa_260.y vec1 1 ssa_263 = ior ssa_261, ssa_262 vec1 1 ssa_264 = fne ssa_255.z, ssa_260.z vec1 1 ssa_265 = ior ssa_263, ssa_264 vec3 32 ssa_281 = intrinsic load_deref (ssa_195) (0) /* access=0 */ vec3 32 ssa_286 = intrinsic load_deref (ssa_179) (0) /* access=0 */ vec1 1 ssa_287 = fne ssa_281.x, ssa_286.x vec1 1 ssa_288 = fne ssa_281.y, ssa_286.y vec1 1 ssa_289 = ior ssa_287, ssa_288 vec1 1 ssa_290 = fne ssa_281.z, ssa_286.z vec1 1 ssa_291 = ior ssa_289, ssa_290 vec1 1 ssa_307 = ine ssa_213, ssa_55.x vec1 1 ssa_308 = ine ssa_239, ssa_55.y vec1 1 ssa_309 = ior ssa_307, ssa_308 vec1 1 ssa_310 = ine ssa_265, ssa_55.z vec1 1 ssa_311 = ior ssa_309, ssa_310 vec1 1 ssa_312 = ine ssa_291, ssa_55.w vec1 1 ssa_313 = ior ssa_311, ssa_312 vec1 1 ssa_314 = inot ssa_313 /* succs: block_1 block_2 */ if ssa_314 { block block_1: /* preds: block_0 */ vec1 32 ssa_397 = imov ssa_57.x vec1 32 ssa_400 = imov ssa_57.y vec1 32 ssa_403 = imov ssa_57.z vec1 32 ssa_406 = imov ssa_57.w /* succs: block_3 */ } else { block block_2: /* preds: block_0 */ vec1 32 ssa_398 = imov ssa_59.x vec1 32 ssa_401 = imov ssa_59.y vec1 32 ssa_404 = imov ssa_59.z vec1 32 ssa_407 = imov ssa_59.w /* succs: block_3 */ } block block_3: /* preds: block_1 block_2 */ vec1 32 ssa_399 = phi block_1: ssa_397, block_2: ssa_398 vec1 32 ssa_402 = phi block_1: ssa_400, block_2: ssa_401 vec1 32 ssa_405 = phi block_1: ssa_403, block_2: ssa_404 vec1 32 ssa_408 = phi block_1: ssa_406, block_2: ssa_407 vec4 32 ssa_409 = vec4 ssa_399, ssa_402, ssa_405, ssa_408 vec1 32 ssa_325 = deref_var &gl_Position (shader_out vec4) vec4 32 ssa_391 = vec4 ssa_123, ssa_124, ssa_125, ssa_126 intrinsic store_deref (ssa_325, ssa_391) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_328 = deref_var &gl_FrontColor (shader_out vec4) intrinsic store_deref (ssa_328, ssa_409) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_4 */ block block_4: } nir_opt_peephole_select shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 0, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 0, 0) decl_function main (0 params) impl main { decl_var INTERP_MODE_NONE vec4 flattening_tmp decl_var INTERP_MODE_NONE int const_temp decl_var INTERP_MODE_NONE int const_temp@0 decl_var INTERP_MODE_NONE int const_temp@1 decl_var INTERP_MODE_NONE int const_temp@2 decl_var INTERP_MODE_NONE ivec3 vec_ctor decl_var INTERP_MODE_NONE int const_temp@3 decl_var INTERP_MODE_NONE mat4x3 mat_ctor decl_var INTERP_MODE_NONE uint const_temp@4 decl_var INTERP_MODE_NONE vec3 const_temp@5 decl_var INTERP_MODE_NONE uint const_temp@6 decl_var INTERP_MODE_NONE vec3 const_temp@7 decl_var INTERP_MODE_NONE uint const_temp@8 decl_var INTERP_MODE_NONE vec3 const_temp@9 decl_var INTERP_MODE_NONE uint const_temp@10 decl_var INTERP_MODE_NONE bool flattening_tmp@11 decl_var INTERP_MODE_NONE mat4x3 mat_op_to_vec decl_var INTERP_MODE_NONE bvec4 mat_cmp_bvec decl_var INTERP_MODE_NONE int const_temp@12 decl_var INTERP_MODE_NONE int const_temp@13 decl_var INTERP_MODE_NONE int const_temp@14 decl_var INTERP_MODE_NONE int const_temp@15 decl_var INTERP_MODE_NONE int const_temp@16 decl_var INTERP_MODE_NONE int const_temp@17 decl_var INTERP_MODE_NONE int const_temp@18 decl_var INTERP_MODE_NONE int const_temp@19 decl_var INTERP_MODE_NONE bvec4 const_temp@20 decl_var INTERP_MODE_NONE vec4 const_temp@21 decl_var INTERP_MODE_NONE vec4 const_temp@22 decl_var INTERP_MODE_NONE vec4 out@gl_FrontColor-temp decl_var INTERP_MODE_NONE vec4 out@gl_Position-temp decl_var INTERP_MODE_NONE vec3 (const_temp[0]) decl_var INTERP_MODE_NONE vec3 (const_temp[1]) decl_var INTERP_MODE_NONE vec3 (const_temp[2]) decl_var INTERP_MODE_NONE vec3 (const_temp[3]) block block_0: /* preds: */ vec1 32 ssa_3 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_5 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_7 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_9 = load_const (0x00000003 /* 0.000000 */) vec3 32 ssa_15 = load_const (0x40800000 /* 4.000000 */, 0x40a00000 /* 5.000000 */, 0x40c00000 /* 6.000000 */) vec3 32 ssa_19 = load_const (0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */) vec3 32 ssa_23 = load_const (0x41000000 /* 8.000000 */, 0x40e00000 /* 7.000000 */, 0x41200000 /* 10.000000 */) vec3 32 ssa_26 = load_const (0x3f800000 /* 1.000000 */, 0x40000000 /* 2.000000 */, 0x40400000 /* 3.000000 */) vec4 1 ssa_55 = load_const (false, false, false, false) vec4 32 ssa_57 = load_const (0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */, 0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */) vec4 32 ssa_59 = load_const (0x3f800000 /* 1.000000 */, 0x00000000 /* 0.000000 */, 0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */) vec1 32 ssa_63 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_64 = deref_array &(*ssa_63)[0] (uniform vec4) /* &gl_ModelViewProjectionMatrix[0] */ vec4 32 ssa_65 = intrinsic load_deref (ssa_64) (0) /* access=0 */ vec1 32 ssa_66 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_67 = intrinsic load_deref (ssa_66) (0) /* access=0 */ vec1 32 ssa_69 = fmul ssa_65.x, ssa_67.x vec1 32 ssa_70 = fmul ssa_65.y, ssa_67.x vec1 32 ssa_71 = fmul ssa_65.z, ssa_67.x vec1 32 ssa_72 = fmul ssa_65.w, ssa_67.x vec1 32 ssa_77 = deref_array &(*ssa_63)[1] (uniform vec4) /* &gl_ModelViewProjectionMatrix[1] */ vec4 32 ssa_78 = intrinsic load_deref (ssa_77) (0) /* access=0 */ vec1 32 ssa_82 = fmul ssa_78.x, ssa_67.y vec1 32 ssa_83 = fmul ssa_78.y, ssa_67.y vec1 32 ssa_84 = fmul ssa_78.z, ssa_67.y vec1 32 ssa_85 = fmul ssa_78.w, ssa_67.y vec1 32 ssa_87 = fadd ssa_69, ssa_82 vec1 32 ssa_88 = fadd ssa_70, ssa_83 vec1 32 ssa_89 = fadd ssa_71, ssa_84 vec1 32 ssa_90 = fadd ssa_72, ssa_85 vec1 32 ssa_95 = deref_array &(*ssa_63)[2] (uniform vec4) /* &gl_ModelViewProjectionMatrix[2] */ vec4 32 ssa_96 = intrinsic load_deref (ssa_95) (0) /* access=0 */ vec1 32 ssa_100 = fmul ssa_96.x, ssa_67.z vec1 32 ssa_101 = fmul ssa_96.y, ssa_67.z vec1 32 ssa_102 = fmul ssa_96.z, ssa_67.z vec1 32 ssa_103 = fmul ssa_96.w, ssa_67.z vec1 32 ssa_105 = fadd ssa_87, ssa_100 vec1 32 ssa_106 = fadd ssa_88, ssa_101 vec1 32 ssa_107 = fadd ssa_89, ssa_102 vec1 32 ssa_108 = fadd ssa_90, ssa_103 vec1 32 ssa_113 = deref_array &(*ssa_63)[3] (uniform vec4) /* &gl_ModelViewProjectionMatrix[3] */ vec4 32 ssa_114 = intrinsic load_deref (ssa_113) (0) /* access=0 */ vec1 32 ssa_118 = fmul ssa_114.x, ssa_67.w vec1 32 ssa_119 = fmul ssa_114.y, ssa_67.w vec1 32 ssa_120 = fmul ssa_114.z, ssa_67.w vec1 32 ssa_121 = fmul ssa_114.w, ssa_67.w vec1 32 ssa_123 = fadd ssa_105, ssa_118 vec1 32 ssa_124 = fadd ssa_106, ssa_119 vec1 32 ssa_125 = fadd ssa_107, ssa_120 vec1 32 ssa_126 = fadd ssa_108, ssa_121 vec1 32 ssa_143 = deref_var &j (uniform ivec2) vec2 32 ssa_144 = intrinsic load_deref (ssa_143) (0) /* access=0 */ vec1 32 ssa_155 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_156 = deref_array &(*ssa_155)[0] (function_temp vec3) /* &mat_ctor[0] */ vec1 32 ssa_159 = i2f32 ssa_5 vec1 32 ssa_160 = i2f32 ssa_144.x vec1 32 ssa_161 = i2f32 ssa_144.y vec3 32 ssa_162 = vec3 ssa_159, ssa_160, ssa_161 intrinsic store_deref (ssa_156, ssa_162) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_167 = deref_array &(*ssa_155)[1] (function_temp vec3) /* &mat_ctor[1] */ intrinsic store_deref (ssa_167, ssa_15) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_173 = deref_array &(*ssa_155)[2] (function_temp vec3) /* &mat_ctor[2] */ intrinsic store_deref (ssa_173, ssa_19) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_179 = deref_array &(*ssa_155)[3] (function_temp vec3) /* &mat_ctor[3] */ intrinsic store_deref (ssa_179, ssa_23) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_181 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_183 = deref_array &(*ssa_181)[0] (function_temp vec3) /* &mat_op_to_vec[0] */ intrinsic store_deref (ssa_183, ssa_26) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_187 = deref_array &(*ssa_181)[1] (function_temp vec3) /* &mat_op_to_vec[1] */ intrinsic store_deref (ssa_187, ssa_15) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_191 = deref_array &(*ssa_181)[2] (function_temp vec3) /* &mat_op_to_vec[2] */ intrinsic store_deref (ssa_191, ssa_19) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_195 = deref_array &(*ssa_181)[3] (function_temp vec3) /* &mat_op_to_vec[3] */ intrinsic store_deref (ssa_195, ssa_23) (7, 0) /* wrmask=xyz */ /* access=0 */ vec3 32 ssa_203 = intrinsic load_deref (ssa_183) (0) /* access=0 */ vec3 32 ssa_208 = intrinsic load_deref (ssa_156) (0) /* access=0 */ vec1 1 ssa_209 = fne ssa_203.x, ssa_208.x vec1 1 ssa_210 = fne ssa_203.y, ssa_208.y vec1 1 ssa_211 = ior ssa_209, ssa_210 vec1 1 ssa_212 = fne ssa_203.z, ssa_208.z vec1 1 ssa_213 = ior ssa_211, ssa_212 vec3 32 ssa_229 = intrinsic load_deref (ssa_187) (0) /* access=0 */ vec3 32 ssa_234 = intrinsic load_deref (ssa_167) (0) /* access=0 */ vec1 1 ssa_235 = fne ssa_229.x, ssa_234.x vec1 1 ssa_236 = fne ssa_229.y, ssa_234.y vec1 1 ssa_237 = ior ssa_235, ssa_236 vec1 1 ssa_238 = fne ssa_229.z, ssa_234.z vec1 1 ssa_239 = ior ssa_237, ssa_238 vec3 32 ssa_255 = intrinsic load_deref (ssa_191) (0) /* access=0 */ vec3 32 ssa_260 = intrinsic load_deref (ssa_173) (0) /* access=0 */ vec1 1 ssa_261 = fne ssa_255.x, ssa_260.x vec1 1 ssa_262 = fne ssa_255.y, ssa_260.y vec1 1 ssa_263 = ior ssa_261, ssa_262 vec1 1 ssa_264 = fne ssa_255.z, ssa_260.z vec1 1 ssa_265 = ior ssa_263, ssa_264 vec3 32 ssa_281 = intrinsic load_deref (ssa_195) (0) /* access=0 */ vec3 32 ssa_286 = intrinsic load_deref (ssa_179) (0) /* access=0 */ vec1 1 ssa_287 = fne ssa_281.x, ssa_286.x vec1 1 ssa_288 = fne ssa_281.y, ssa_286.y vec1 1 ssa_289 = ior ssa_287, ssa_288 vec1 1 ssa_290 = fne ssa_281.z, ssa_286.z vec1 1 ssa_291 = ior ssa_289, ssa_290 vec1 1 ssa_307 = ine ssa_213, ssa_55.x vec1 1 ssa_308 = ine ssa_239, ssa_55.y vec1 1 ssa_309 = ior ssa_307, ssa_308 vec1 1 ssa_310 = ine ssa_265, ssa_55.z vec1 1 ssa_311 = ior ssa_309, ssa_310 vec1 1 ssa_312 = ine ssa_291, ssa_55.w vec1 1 ssa_313 = ior ssa_311, ssa_312 vec1 1 ssa_314 = inot ssa_313 vec1 32 ssa_397 = imov ssa_57.x vec1 32 ssa_400 = imov ssa_57.y vec1 32 ssa_403 = imov ssa_57.z vec1 32 ssa_406 = imov ssa_57.w vec1 32 ssa_398 = imov ssa_59.x vec1 32 ssa_401 = imov ssa_59.y vec1 32 ssa_404 = imov ssa_59.z vec1 32 ssa_407 = imov ssa_59.w vec1 32 ssa_410 = bcsel ssa_314, ssa_397, ssa_398 vec1 32 ssa_411 = bcsel ssa_314, ssa_400, ssa_401 vec1 32 ssa_412 = bcsel ssa_314, ssa_403, ssa_404 vec1 32 ssa_413 = bcsel ssa_314, ssa_406, ssa_407 vec4 32 ssa_409 = vec4 ssa_410, ssa_411, ssa_412, ssa_413 vec1 32 ssa_325 = deref_var &gl_Position (shader_out vec4) vec4 32 ssa_391 = vec4 ssa_123, ssa_124, ssa_125, ssa_126 intrinsic store_deref (ssa_325, ssa_391) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_328 = deref_var &gl_FrontColor (shader_out vec4) intrinsic store_deref (ssa_328, ssa_409) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } nir_opt_peephole_select nir_opt_intrinsics nir_opt_idiv_const nir_opt_algebraic shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 0, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 0, 0) decl_function main (0 params) impl main { decl_var INTERP_MODE_NONE vec4 flattening_tmp decl_var INTERP_MODE_NONE int const_temp decl_var INTERP_MODE_NONE int const_temp@0 decl_var INTERP_MODE_NONE int const_temp@1 decl_var INTERP_MODE_NONE int const_temp@2 decl_var INTERP_MODE_NONE ivec3 vec_ctor decl_var INTERP_MODE_NONE int const_temp@3 decl_var INTERP_MODE_NONE mat4x3 mat_ctor decl_var INTERP_MODE_NONE uint const_temp@4 decl_var INTERP_MODE_NONE vec3 const_temp@5 decl_var INTERP_MODE_NONE uint const_temp@6 decl_var INTERP_MODE_NONE vec3 const_temp@7 decl_var INTERP_MODE_NONE uint const_temp@8 decl_var INTERP_MODE_NONE vec3 const_temp@9 decl_var INTERP_MODE_NONE uint const_temp@10 decl_var INTERP_MODE_NONE bool flattening_tmp@11 decl_var INTERP_MODE_NONE mat4x3 mat_op_to_vec decl_var INTERP_MODE_NONE bvec4 mat_cmp_bvec decl_var INTERP_MODE_NONE int const_temp@12 decl_var INTERP_MODE_NONE int const_temp@13 decl_var INTERP_MODE_NONE int const_temp@14 decl_var INTERP_MODE_NONE int const_temp@15 decl_var INTERP_MODE_NONE int const_temp@16 decl_var INTERP_MODE_NONE int const_temp@17 decl_var INTERP_MODE_NONE int const_temp@18 decl_var INTERP_MODE_NONE int const_temp@19 decl_var INTERP_MODE_NONE bvec4 const_temp@20 decl_var INTERP_MODE_NONE vec4 const_temp@21 decl_var INTERP_MODE_NONE vec4 const_temp@22 decl_var INTERP_MODE_NONE vec4 out@gl_FrontColor-temp decl_var INTERP_MODE_NONE vec4 out@gl_Position-temp decl_var INTERP_MODE_NONE vec3 (const_temp[0]) decl_var INTERP_MODE_NONE vec3 (const_temp[1]) decl_var INTERP_MODE_NONE vec3 (const_temp[2]) decl_var INTERP_MODE_NONE vec3 (const_temp[3]) block block_0: /* preds: */ vec1 32 ssa_3 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_5 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_7 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_9 = load_const (0x00000003 /* 0.000000 */) vec3 32 ssa_15 = load_const (0x40800000 /* 4.000000 */, 0x40a00000 /* 5.000000 */, 0x40c00000 /* 6.000000 */) vec3 32 ssa_19 = load_const (0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */) vec3 32 ssa_23 = load_const (0x41000000 /* 8.000000 */, 0x40e00000 /* 7.000000 */, 0x41200000 /* 10.000000 */) vec3 32 ssa_26 = load_const (0x3f800000 /* 1.000000 */, 0x40000000 /* 2.000000 */, 0x40400000 /* 3.000000 */) vec4 1 ssa_55 = load_const (false, false, false, false) vec4 32 ssa_57 = load_const (0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */, 0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */) vec4 32 ssa_59 = load_const (0x3f800000 /* 1.000000 */, 0x00000000 /* 0.000000 */, 0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */) vec1 32 ssa_63 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_64 = deref_array &(*ssa_63)[0] (uniform vec4) /* &gl_ModelViewProjectionMatrix[0] */ vec4 32 ssa_65 = intrinsic load_deref (ssa_64) (0) /* access=0 */ vec1 32 ssa_66 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_67 = intrinsic load_deref (ssa_66) (0) /* access=0 */ vec1 32 ssa_69 = fmul ssa_65.x, ssa_67.x vec1 32 ssa_70 = fmul ssa_65.y, ssa_67.x vec1 32 ssa_71 = fmul ssa_65.z, ssa_67.x vec1 32 ssa_72 = fmul ssa_65.w, ssa_67.x vec1 32 ssa_77 = deref_array &(*ssa_63)[1] (uniform vec4) /* &gl_ModelViewProjectionMatrix[1] */ vec4 32 ssa_78 = intrinsic load_deref (ssa_77) (0) /* access=0 */ vec1 32 ssa_82 = fmul ssa_78.x, ssa_67.y vec1 32 ssa_83 = fmul ssa_78.y, ssa_67.y vec1 32 ssa_84 = fmul ssa_78.z, ssa_67.y vec1 32 ssa_85 = fmul ssa_78.w, ssa_67.y vec1 32 ssa_87 = fadd ssa_69, ssa_82 vec1 32 ssa_88 = fadd ssa_70, ssa_83 vec1 32 ssa_89 = fadd ssa_71, ssa_84 vec1 32 ssa_90 = fadd ssa_72, ssa_85 vec1 32 ssa_95 = deref_array &(*ssa_63)[2] (uniform vec4) /* &gl_ModelViewProjectionMatrix[2] */ vec4 32 ssa_96 = intrinsic load_deref (ssa_95) (0) /* access=0 */ vec1 32 ssa_100 = fmul ssa_96.x, ssa_67.z vec1 32 ssa_101 = fmul ssa_96.y, ssa_67.z vec1 32 ssa_102 = fmul ssa_96.z, ssa_67.z vec1 32 ssa_103 = fmul ssa_96.w, ssa_67.z vec1 32 ssa_105 = fadd ssa_87, ssa_100 vec1 32 ssa_106 = fadd ssa_88, ssa_101 vec1 32 ssa_107 = fadd ssa_89, ssa_102 vec1 32 ssa_108 = fadd ssa_90, ssa_103 vec1 32 ssa_113 = deref_array &(*ssa_63)[3] (uniform vec4) /* &gl_ModelViewProjectionMatrix[3] */ vec4 32 ssa_114 = intrinsic load_deref (ssa_113) (0) /* access=0 */ vec1 32 ssa_118 = fmul ssa_114.x, ssa_67.w vec1 32 ssa_119 = fmul ssa_114.y, ssa_67.w vec1 32 ssa_120 = fmul ssa_114.z, ssa_67.w vec1 32 ssa_121 = fmul ssa_114.w, ssa_67.w vec1 32 ssa_123 = fadd ssa_105, ssa_118 vec1 32 ssa_124 = fadd ssa_106, ssa_119 vec1 32 ssa_125 = fadd ssa_107, ssa_120 vec1 32 ssa_126 = fadd ssa_108, ssa_121 vec1 32 ssa_143 = deref_var &j (uniform ivec2) vec2 32 ssa_144 = intrinsic load_deref (ssa_143) (0) /* access=0 */ vec1 32 ssa_155 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_156 = deref_array &(*ssa_155)[0] (function_temp vec3) /* &mat_ctor[0] */ vec1 32 ssa_159 = i2f32 ssa_5 vec1 32 ssa_160 = i2f32 ssa_144.x vec1 32 ssa_161 = i2f32 ssa_144.y vec3 32 ssa_162 = vec3 ssa_159, ssa_160, ssa_161 intrinsic store_deref (ssa_156, ssa_162) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_167 = deref_array &(*ssa_155)[1] (function_temp vec3) /* &mat_ctor[1] */ intrinsic store_deref (ssa_167, ssa_15) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_173 = deref_array &(*ssa_155)[2] (function_temp vec3) /* &mat_ctor[2] */ intrinsic store_deref (ssa_173, ssa_19) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_179 = deref_array &(*ssa_155)[3] (function_temp vec3) /* &mat_ctor[3] */ intrinsic store_deref (ssa_179, ssa_23) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_181 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_183 = deref_array &(*ssa_181)[0] (function_temp vec3) /* &mat_op_to_vec[0] */ intrinsic store_deref (ssa_183, ssa_26) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_187 = deref_array &(*ssa_181)[1] (function_temp vec3) /* &mat_op_to_vec[1] */ intrinsic store_deref (ssa_187, ssa_15) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_191 = deref_array &(*ssa_181)[2] (function_temp vec3) /* &mat_op_to_vec[2] */ intrinsic store_deref (ssa_191, ssa_19) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_195 = deref_array &(*ssa_181)[3] (function_temp vec3) /* &mat_op_to_vec[3] */ intrinsic store_deref (ssa_195, ssa_23) (7, 0) /* wrmask=xyz */ /* access=0 */ vec3 32 ssa_203 = intrinsic load_deref (ssa_183) (0) /* access=0 */ vec3 32 ssa_208 = intrinsic load_deref (ssa_156) (0) /* access=0 */ vec1 1 ssa_209 = fne ssa_203.x, ssa_208.x vec1 1 ssa_210 = fne ssa_203.y, ssa_208.y vec1 1 ssa_211 = ior ssa_209, ssa_210 vec1 1 ssa_212 = fne ssa_203.z, ssa_208.z vec1 1 ssa_213 = ior ssa_211, ssa_212 vec3 32 ssa_229 = intrinsic load_deref (ssa_187) (0) /* access=0 */ vec3 32 ssa_234 = intrinsic load_deref (ssa_167) (0) /* access=0 */ vec1 1 ssa_235 = fne ssa_229.x, ssa_234.x vec1 1 ssa_236 = fne ssa_229.y, ssa_234.y vec1 1 ssa_237 = ior ssa_235, ssa_236 vec1 1 ssa_238 = fne ssa_229.z, ssa_234.z vec1 1 ssa_239 = ior ssa_237, ssa_238 vec3 32 ssa_255 = intrinsic load_deref (ssa_191) (0) /* access=0 */ vec3 32 ssa_260 = intrinsic load_deref (ssa_173) (0) /* access=0 */ vec1 1 ssa_261 = fne ssa_255.x, ssa_260.x vec1 1 ssa_262 = fne ssa_255.y, ssa_260.y vec1 1 ssa_263 = ior ssa_261, ssa_262 vec1 1 ssa_264 = fne ssa_255.z, ssa_260.z vec1 1 ssa_265 = ior ssa_263, ssa_264 vec3 32 ssa_281 = intrinsic load_deref (ssa_195) (0) /* access=0 */ vec3 32 ssa_286 = intrinsic load_deref (ssa_179) (0) /* access=0 */ vec1 1 ssa_287 = fne ssa_281.x, ssa_286.x vec1 1 ssa_288 = fne ssa_281.y, ssa_286.y vec1 1 ssa_289 = ior ssa_287, ssa_288 vec1 1 ssa_290 = fne ssa_281.z, ssa_286.z vec1 1 ssa_291 = ior ssa_289, ssa_290 vec1 1 ssa_425 = imov ssa_213 vec1 1 ssa_424 = imov ssa_239 vec1 1 ssa_309 = ior ssa_425, ssa_424 vec1 1 ssa_423 = imov ssa_265 vec1 1 ssa_311 = ior ssa_309, ssa_423 vec1 1 ssa_422 = imov ssa_291 vec1 1 ssa_313 = ior ssa_311, ssa_422 vec1 1 ssa_314 = inot ssa_313 vec1 32 ssa_397 = imov ssa_57.x vec1 32 ssa_400 = imov ssa_57.y vec1 32 ssa_403 = imov ssa_57.z vec1 32 ssa_406 = imov ssa_57.w vec1 32 ssa_398 = imov ssa_59.x vec1 32 ssa_401 = imov ssa_59.y vec1 32 ssa_404 = imov ssa_59.z vec1 32 ssa_407 = imov ssa_59.w vec1 32 ssa_420 = bcsel ssa_313, ssa_398, ssa_397 vec1 32 ssa_421 = imov ssa_420 vec1 32 ssa_418 = bcsel ssa_313, ssa_401, ssa_400 vec1 32 ssa_419 = imov ssa_418 vec1 32 ssa_416 = bcsel ssa_313, ssa_404, ssa_403 vec1 32 ssa_417 = imov ssa_416 vec1 32 ssa_414 = bcsel ssa_313, ssa_407, ssa_406 vec1 32 ssa_415 = imov ssa_414 vec4 32 ssa_409 = vec4 ssa_421, ssa_419, ssa_417, ssa_415 vec1 32 ssa_325 = deref_var &gl_Position (shader_out vec4) vec4 32 ssa_391 = vec4 ssa_123, ssa_124, ssa_125, ssa_126 intrinsic store_deref (ssa_325, ssa_391) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_328 = deref_var &gl_FrontColor (shader_out vec4) intrinsic store_deref (ssa_328, ssa_409) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } nir_opt_constant_folding shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 0, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 0, 0) decl_function main (0 params) impl main { decl_var INTERP_MODE_NONE vec4 flattening_tmp decl_var INTERP_MODE_NONE int const_temp decl_var INTERP_MODE_NONE int const_temp@0 decl_var INTERP_MODE_NONE int const_temp@1 decl_var INTERP_MODE_NONE int const_temp@2 decl_var INTERP_MODE_NONE ivec3 vec_ctor decl_var INTERP_MODE_NONE int const_temp@3 decl_var INTERP_MODE_NONE mat4x3 mat_ctor decl_var INTERP_MODE_NONE uint const_temp@4 decl_var INTERP_MODE_NONE vec3 const_temp@5 decl_var INTERP_MODE_NONE uint const_temp@6 decl_var INTERP_MODE_NONE vec3 const_temp@7 decl_var INTERP_MODE_NONE uint const_temp@8 decl_var INTERP_MODE_NONE vec3 const_temp@9 decl_var INTERP_MODE_NONE uint const_temp@10 decl_var INTERP_MODE_NONE bool flattening_tmp@11 decl_var INTERP_MODE_NONE mat4x3 mat_op_to_vec decl_var INTERP_MODE_NONE bvec4 mat_cmp_bvec decl_var INTERP_MODE_NONE int const_temp@12 decl_var INTERP_MODE_NONE int const_temp@13 decl_var INTERP_MODE_NONE int const_temp@14 decl_var INTERP_MODE_NONE int const_temp@15 decl_var INTERP_MODE_NONE int const_temp@16 decl_var INTERP_MODE_NONE int const_temp@17 decl_var INTERP_MODE_NONE int const_temp@18 decl_var INTERP_MODE_NONE int const_temp@19 decl_var INTERP_MODE_NONE bvec4 const_temp@20 decl_var INTERP_MODE_NONE vec4 const_temp@21 decl_var INTERP_MODE_NONE vec4 const_temp@22 decl_var INTERP_MODE_NONE vec4 out@gl_FrontColor-temp decl_var INTERP_MODE_NONE vec4 out@gl_Position-temp decl_var INTERP_MODE_NONE vec3 (const_temp[0]) decl_var INTERP_MODE_NONE vec3 (const_temp[1]) decl_var INTERP_MODE_NONE vec3 (const_temp[2]) decl_var INTERP_MODE_NONE vec3 (const_temp[3]) block block_0: /* preds: */ vec1 32 ssa_3 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_5 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_7 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_9 = load_const (0x00000003 /* 0.000000 */) vec3 32 ssa_15 = load_const (0x40800000 /* 4.000000 */, 0x40a00000 /* 5.000000 */, 0x40c00000 /* 6.000000 */) vec3 32 ssa_19 = load_const (0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */) vec3 32 ssa_23 = load_const (0x41000000 /* 8.000000 */, 0x40e00000 /* 7.000000 */, 0x41200000 /* 10.000000 */) vec3 32 ssa_26 = load_const (0x3f800000 /* 1.000000 */, 0x40000000 /* 2.000000 */, 0x40400000 /* 3.000000 */) vec4 1 ssa_55 = load_const (false, false, false, false) vec4 32 ssa_57 = load_const (0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */, 0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */) vec4 32 ssa_59 = load_const (0x3f800000 /* 1.000000 */, 0x00000000 /* 0.000000 */, 0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */) vec1 32 ssa_63 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_64 = deref_array &(*ssa_63)[0] (uniform vec4) /* &gl_ModelViewProjectionMatrix[0] */ vec4 32 ssa_65 = intrinsic load_deref (ssa_64) (0) /* access=0 */ vec1 32 ssa_66 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_67 = intrinsic load_deref (ssa_66) (0) /* access=0 */ vec1 32 ssa_69 = fmul ssa_65.x, ssa_67.x vec1 32 ssa_70 = fmul ssa_65.y, ssa_67.x vec1 32 ssa_71 = fmul ssa_65.z, ssa_67.x vec1 32 ssa_72 = fmul ssa_65.w, ssa_67.x vec1 32 ssa_77 = deref_array &(*ssa_63)[1] (uniform vec4) /* &gl_ModelViewProjectionMatrix[1] */ vec4 32 ssa_78 = intrinsic load_deref (ssa_77) (0) /* access=0 */ vec1 32 ssa_82 = fmul ssa_78.x, ssa_67.y vec1 32 ssa_83 = fmul ssa_78.y, ssa_67.y vec1 32 ssa_84 = fmul ssa_78.z, ssa_67.y vec1 32 ssa_85 = fmul ssa_78.w, ssa_67.y vec1 32 ssa_87 = fadd ssa_69, ssa_82 vec1 32 ssa_88 = fadd ssa_70, ssa_83 vec1 32 ssa_89 = fadd ssa_71, ssa_84 vec1 32 ssa_90 = fadd ssa_72, ssa_85 vec1 32 ssa_95 = deref_array &(*ssa_63)[2] (uniform vec4) /* &gl_ModelViewProjectionMatrix[2] */ vec4 32 ssa_96 = intrinsic load_deref (ssa_95) (0) /* access=0 */ vec1 32 ssa_100 = fmul ssa_96.x, ssa_67.z vec1 32 ssa_101 = fmul ssa_96.y, ssa_67.z vec1 32 ssa_102 = fmul ssa_96.z, ssa_67.z vec1 32 ssa_103 = fmul ssa_96.w, ssa_67.z vec1 32 ssa_105 = fadd ssa_87, ssa_100 vec1 32 ssa_106 = fadd ssa_88, ssa_101 vec1 32 ssa_107 = fadd ssa_89, ssa_102 vec1 32 ssa_108 = fadd ssa_90, ssa_103 vec1 32 ssa_113 = deref_array &(*ssa_63)[3] (uniform vec4) /* &gl_ModelViewProjectionMatrix[3] */ vec4 32 ssa_114 = intrinsic load_deref (ssa_113) (0) /* access=0 */ vec1 32 ssa_118 = fmul ssa_114.x, ssa_67.w vec1 32 ssa_119 = fmul ssa_114.y, ssa_67.w vec1 32 ssa_120 = fmul ssa_114.z, ssa_67.w vec1 32 ssa_121 = fmul ssa_114.w, ssa_67.w vec1 32 ssa_123 = fadd ssa_105, ssa_118 vec1 32 ssa_124 = fadd ssa_106, ssa_119 vec1 32 ssa_125 = fadd ssa_107, ssa_120 vec1 32 ssa_126 = fadd ssa_108, ssa_121 vec1 32 ssa_143 = deref_var &j (uniform ivec2) vec2 32 ssa_144 = intrinsic load_deref (ssa_143) (0) /* access=0 */ vec1 32 ssa_155 = deref_var &mat_ctor (function_temp mat4x3) vec1 32 ssa_156 = deref_array &(*ssa_155)[0] (function_temp vec3) /* &mat_ctor[0] */ vec1 32 ssa_426 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_160 = i2f32 ssa_144.x vec1 32 ssa_161 = i2f32 ssa_144.y vec3 32 ssa_162 = vec3 ssa_426, ssa_160, ssa_161 intrinsic store_deref (ssa_156, ssa_162) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_167 = deref_array &(*ssa_155)[1] (function_temp vec3) /* &mat_ctor[1] */ intrinsic store_deref (ssa_167, ssa_15) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_173 = deref_array &(*ssa_155)[2] (function_temp vec3) /* &mat_ctor[2] */ intrinsic store_deref (ssa_173, ssa_19) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_179 = deref_array &(*ssa_155)[3] (function_temp vec3) /* &mat_ctor[3] */ intrinsic store_deref (ssa_179, ssa_23) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_181 = deref_var &mat_op_to_vec (function_temp mat4x3) vec1 32 ssa_183 = deref_array &(*ssa_181)[0] (function_temp vec3) /* &mat_op_to_vec[0] */ intrinsic store_deref (ssa_183, ssa_26) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_187 = deref_array &(*ssa_181)[1] (function_temp vec3) /* &mat_op_to_vec[1] */ intrinsic store_deref (ssa_187, ssa_15) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_191 = deref_array &(*ssa_181)[2] (function_temp vec3) /* &mat_op_to_vec[2] */ intrinsic store_deref (ssa_191, ssa_19) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_195 = deref_array &(*ssa_181)[3] (function_temp vec3) /* &mat_op_to_vec[3] */ intrinsic store_deref (ssa_195, ssa_23) (7, 0) /* wrmask=xyz */ /* access=0 */ vec3 32 ssa_203 = intrinsic load_deref (ssa_183) (0) /* access=0 */ vec3 32 ssa_208 = intrinsic load_deref (ssa_156) (0) /* access=0 */ vec1 1 ssa_209 = fne ssa_203.x, ssa_208.x vec1 1 ssa_210 = fne ssa_203.y, ssa_208.y vec1 1 ssa_211 = ior ssa_209, ssa_210 vec1 1 ssa_212 = fne ssa_203.z, ssa_208.z vec1 1 ssa_213 = ior ssa_211, ssa_212 vec3 32 ssa_229 = intrinsic load_deref (ssa_187) (0) /* access=0 */ vec3 32 ssa_234 = intrinsic load_deref (ssa_167) (0) /* access=0 */ vec1 1 ssa_235 = fne ssa_229.x, ssa_234.x vec1 1 ssa_236 = fne ssa_229.y, ssa_234.y vec1 1 ssa_237 = ior ssa_235, ssa_236 vec1 1 ssa_238 = fne ssa_229.z, ssa_234.z vec1 1 ssa_239 = ior ssa_237, ssa_238 vec3 32 ssa_255 = intrinsic load_deref (ssa_191) (0) /* access=0 */ vec3 32 ssa_260 = intrinsic load_deref (ssa_173) (0) /* access=0 */ vec1 1 ssa_261 = fne ssa_255.x, ssa_260.x vec1 1 ssa_262 = fne ssa_255.y, ssa_260.y vec1 1 ssa_263 = ior ssa_261, ssa_262 vec1 1 ssa_264 = fne ssa_255.z, ssa_260.z vec1 1 ssa_265 = ior ssa_263, ssa_264 vec3 32 ssa_281 = intrinsic load_deref (ssa_195) (0) /* access=0 */ vec3 32 ssa_286 = intrinsic load_deref (ssa_179) (0) /* access=0 */ vec1 1 ssa_287 = fne ssa_281.x, ssa_286.x vec1 1 ssa_288 = fne ssa_281.y, ssa_286.y vec1 1 ssa_289 = ior ssa_287, ssa_288 vec1 1 ssa_290 = fne ssa_281.z, ssa_286.z vec1 1 ssa_291 = ior ssa_289, ssa_290 vec1 1 ssa_425 = imov ssa_213 vec1 1 ssa_424 = imov ssa_239 vec1 1 ssa_309 = ior ssa_425, ssa_424 vec1 1 ssa_423 = imov ssa_265 vec1 1 ssa_311 = ior ssa_309, ssa_423 vec1 1 ssa_422 = imov ssa_291 vec1 1 ssa_313 = ior ssa_311, ssa_422 vec1 1 ssa_314 = inot ssa_313 vec1 32 ssa_427 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_428 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_429 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_430 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_431 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_432 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_433 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_434 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_420 = bcsel ssa_313, ssa_431, ssa_427 vec1 32 ssa_421 = imov ssa_420 vec1 32 ssa_418 = bcsel ssa_313, ssa_432, ssa_428 vec1 32 ssa_419 = imov ssa_418 vec1 32 ssa_416 = bcsel ssa_313, ssa_433, ssa_429 vec1 32 ssa_417 = imov ssa_416 vec1 32 ssa_414 = bcsel ssa_313, ssa_434, ssa_430 vec1 32 ssa_415 = imov ssa_414 vec4 32 ssa_409 = vec4 ssa_421, ssa_419, ssa_417, ssa_415 vec1 32 ssa_325 = deref_var &gl_Position (shader_out vec4) vec4 32 ssa_391 = vec4 ssa_123, ssa_124, ssa_125, ssa_126 intrinsic store_deref (ssa_325, ssa_391) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_328 = deref_var &gl_FrontColor (shader_out vec4) intrinsic store_deref (ssa_328, ssa_409) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } nir_opt_dead_cf nir_opt_trivial_continues nir_opt_if nir_opt_loop_unroll nir_opt_remove_phis nir_opt_undef nir_lower_pack nir_split_array_vars shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 0, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 0, 0) decl_function main (0 params) impl main { decl_var INTERP_MODE_NONE vec4 flattening_tmp decl_var INTERP_MODE_NONE int const_temp decl_var INTERP_MODE_NONE int const_temp@0 decl_var INTERP_MODE_NONE int const_temp@1 decl_var INTERP_MODE_NONE int const_temp@2 decl_var INTERP_MODE_NONE ivec3 vec_ctor decl_var INTERP_MODE_NONE int const_temp@3 decl_var INTERP_MODE_NONE uint const_temp@4 decl_var INTERP_MODE_NONE vec3 const_temp@5 decl_var INTERP_MODE_NONE uint const_temp@6 decl_var INTERP_MODE_NONE vec3 const_temp@7 decl_var INTERP_MODE_NONE uint const_temp@8 decl_var INTERP_MODE_NONE vec3 const_temp@9 decl_var INTERP_MODE_NONE uint const_temp@10 decl_var INTERP_MODE_NONE bool flattening_tmp@11 decl_var INTERP_MODE_NONE bvec4 mat_cmp_bvec decl_var INTERP_MODE_NONE int const_temp@12 decl_var INTERP_MODE_NONE int const_temp@13 decl_var INTERP_MODE_NONE int const_temp@14 decl_var INTERP_MODE_NONE int const_temp@15 decl_var INTERP_MODE_NONE int const_temp@16 decl_var INTERP_MODE_NONE int const_temp@17 decl_var INTERP_MODE_NONE int const_temp@18 decl_var INTERP_MODE_NONE int const_temp@19 decl_var INTERP_MODE_NONE bvec4 const_temp@20 decl_var INTERP_MODE_NONE vec4 const_temp@21 decl_var INTERP_MODE_NONE vec4 const_temp@22 decl_var INTERP_MODE_NONE vec4 out@gl_FrontColor-temp decl_var INTERP_MODE_NONE vec4 out@gl_Position-temp decl_var INTERP_MODE_NONE vec3 (const_temp[0]) decl_var INTERP_MODE_NONE vec3 (const_temp[1]) decl_var INTERP_MODE_NONE vec3 (const_temp[2]) decl_var INTERP_MODE_NONE vec3 (const_temp[3]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[0]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[1]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[2]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[3]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[0]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[1]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[2]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[3]) block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_1 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_2 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_3 = load_const (0x00000003 /* 0.000000 */) vec3 32 ssa_4 = load_const (0x40800000 /* 4.000000 */, 0x40a00000 /* 5.000000 */, 0x40c00000 /* 6.000000 */) vec3 32 ssa_5 = load_const (0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */) vec3 32 ssa_6 = load_const (0x41000000 /* 8.000000 */, 0x40e00000 /* 7.000000 */, 0x41200000 /* 10.000000 */) vec3 32 ssa_7 = load_const (0x3f800000 /* 1.000000 */, 0x40000000 /* 2.000000 */, 0x40400000 /* 3.000000 */) vec4 1 ssa_8 = load_const (false, false, false, false) vec4 32 ssa_9 = load_const (0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */, 0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */) vec4 32 ssa_10 = load_const (0x3f800000 /* 1.000000 */, 0x00000000 /* 0.000000 */, 0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */) vec1 32 ssa_11 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_12 = deref_array &(*ssa_11)[0] (uniform vec4) /* &gl_ModelViewProjectionMatrix[0] */ vec4 32 ssa_13 = intrinsic load_deref (ssa_12) (0) /* access=0 */ vec1 32 ssa_14 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_15 = intrinsic load_deref (ssa_14) (0) /* access=0 */ vec1 32 ssa_16 = fmul ssa_13.x, ssa_15.x vec1 32 ssa_17 = fmul ssa_13.y, ssa_15.x vec1 32 ssa_18 = fmul ssa_13.z, ssa_15.x vec1 32 ssa_19 = fmul ssa_13.w, ssa_15.x vec1 32 ssa_20 = deref_array &(*ssa_11)[1] (uniform vec4) /* &gl_ModelViewProjectionMatrix[1] */ vec4 32 ssa_21 = intrinsic load_deref (ssa_20) (0) /* access=0 */ vec1 32 ssa_22 = fmul ssa_21.x, ssa_15.y vec1 32 ssa_23 = fmul ssa_21.y, ssa_15.y vec1 32 ssa_24 = fmul ssa_21.z, ssa_15.y vec1 32 ssa_25 = fmul ssa_21.w, ssa_15.y vec1 32 ssa_26 = fadd ssa_16, ssa_22 vec1 32 ssa_27 = fadd ssa_17, ssa_23 vec1 32 ssa_28 = fadd ssa_18, ssa_24 vec1 32 ssa_29 = fadd ssa_19, ssa_25 vec1 32 ssa_30 = deref_array &(*ssa_11)[2] (uniform vec4) /* &gl_ModelViewProjectionMatrix[2] */ vec4 32 ssa_31 = intrinsic load_deref (ssa_30) (0) /* access=0 */ vec1 32 ssa_32 = fmul ssa_31.x, ssa_15.z vec1 32 ssa_33 = fmul ssa_31.y, ssa_15.z vec1 32 ssa_34 = fmul ssa_31.z, ssa_15.z vec1 32 ssa_35 = fmul ssa_31.w, ssa_15.z vec1 32 ssa_36 = fadd ssa_26, ssa_32 vec1 32 ssa_37 = fadd ssa_27, ssa_33 vec1 32 ssa_38 = fadd ssa_28, ssa_34 vec1 32 ssa_39 = fadd ssa_29, ssa_35 vec1 32 ssa_40 = deref_array &(*ssa_11)[3] (uniform vec4) /* &gl_ModelViewProjectionMatrix[3] */ vec4 32 ssa_41 = intrinsic load_deref (ssa_40) (0) /* access=0 */ vec1 32 ssa_42 = fmul ssa_41.x, ssa_15.w vec1 32 ssa_43 = fmul ssa_41.y, ssa_15.w vec1 32 ssa_44 = fmul ssa_41.z, ssa_15.w vec1 32 ssa_45 = fmul ssa_41.w, ssa_15.w vec1 32 ssa_46 = fadd ssa_36, ssa_42 vec1 32 ssa_47 = fadd ssa_37, ssa_43 vec1 32 ssa_48 = fadd ssa_38, ssa_44 vec1 32 ssa_49 = fadd ssa_39, ssa_45 vec1 32 ssa_50 = deref_var &j (uniform ivec2) vec2 32 ssa_51 = intrinsic load_deref (ssa_50) (0) /* access=0 */ vec1 32 ssa_54 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_55 = i2f32 ssa_51.x vec1 32 ssa_56 = i2f32 ssa_51.y vec3 32 ssa_57 = vec3 ssa_54, ssa_55, ssa_56 vec1 32 ssa_122 = deref_var &(mat_ctor[0]) (function_temp vec3) intrinsic store_deref (ssa_122, ssa_57) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_123 = deref_var &(mat_ctor[1]) (function_temp vec3) intrinsic store_deref (ssa_123, ssa_4) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_124 = deref_var &(mat_ctor[2]) (function_temp vec3) intrinsic store_deref (ssa_124, ssa_5) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_125 = deref_var &(mat_ctor[3]) (function_temp vec3) intrinsic store_deref (ssa_125, ssa_6) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_126 = deref_var &(mat_op_to_vec[0]) (function_temp vec3) intrinsic store_deref (ssa_126, ssa_7) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_127 = deref_var &(mat_op_to_vec[1]) (function_temp vec3) intrinsic store_deref (ssa_127, ssa_4) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_128 = deref_var &(mat_op_to_vec[2]) (function_temp vec3) intrinsic store_deref (ssa_128, ssa_5) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_129 = deref_var &(mat_op_to_vec[3]) (function_temp vec3) intrinsic store_deref (ssa_129, ssa_6) (7, 0) /* wrmask=xyz */ /* access=0 */ vec1 32 ssa_130 = deref_var &(mat_op_to_vec[0]) (function_temp vec3) vec3 32 ssa_66 = intrinsic load_deref (ssa_130) (0) /* access=0 */ vec1 32 ssa_131 = deref_var &(mat_ctor[0]) (function_temp vec3) vec3 32 ssa_67 = intrinsic load_deref (ssa_131) (0) /* access=0 */ vec1 1 ssa_68 = fne ssa_66.x, ssa_67.x vec1 1 ssa_69 = fne ssa_66.y, ssa_67.y vec1 1 ssa_70 = ior ssa_68, ssa_69 vec1 1 ssa_71 = fne ssa_66.z, ssa_67.z vec1 1 ssa_72 = ior ssa_70, ssa_71 vec1 32 ssa_132 = deref_var &(mat_op_to_vec[1]) (function_temp vec3) vec3 32 ssa_73 = intrinsic load_deref (ssa_132) (0) /* access=0 */ vec1 32 ssa_133 = deref_var &(mat_ctor[1]) (function_temp vec3) vec3 32 ssa_74 = intrinsic load_deref (ssa_133) (0) /* access=0 */ vec1 1 ssa_75 = fne ssa_73.x, ssa_74.x vec1 1 ssa_76 = fne ssa_73.y, ssa_74.y vec1 1 ssa_77 = ior ssa_75, ssa_76 vec1 1 ssa_78 = fne ssa_73.z, ssa_74.z vec1 1 ssa_79 = ior ssa_77, ssa_78 vec1 32 ssa_134 = deref_var &(mat_op_to_vec[2]) (function_temp vec3) vec3 32 ssa_80 = intrinsic load_deref (ssa_134) (0) /* access=0 */ vec1 32 ssa_135 = deref_var &(mat_ctor[2]) (function_temp vec3) vec3 32 ssa_81 = intrinsic load_deref (ssa_135) (0) /* access=0 */ vec1 1 ssa_82 = fne ssa_80.x, ssa_81.x vec1 1 ssa_83 = fne ssa_80.y, ssa_81.y vec1 1 ssa_84 = ior ssa_82, ssa_83 vec1 1 ssa_85 = fne ssa_80.z, ssa_81.z vec1 1 ssa_86 = ior ssa_84, ssa_85 vec1 32 ssa_136 = deref_var &(mat_op_to_vec[3]) (function_temp vec3) vec3 32 ssa_87 = intrinsic load_deref (ssa_136) (0) /* access=0 */ vec1 32 ssa_137 = deref_var &(mat_ctor[3]) (function_temp vec3) vec3 32 ssa_88 = intrinsic load_deref (ssa_137) (0) /* access=0 */ vec1 1 ssa_89 = fne ssa_87.x, ssa_88.x vec1 1 ssa_90 = fne ssa_87.y, ssa_88.y vec1 1 ssa_91 = ior ssa_89, ssa_90 vec1 1 ssa_92 = fne ssa_87.z, ssa_88.z vec1 1 ssa_93 = ior ssa_91, ssa_92 vec1 1 ssa_94 = imov ssa_72 vec1 1 ssa_95 = imov ssa_79 vec1 1 ssa_96 = ior ssa_94, ssa_95 vec1 1 ssa_97 = imov ssa_86 vec1 1 ssa_98 = ior ssa_96, ssa_97 vec1 1 ssa_99 = imov ssa_93 vec1 1 ssa_100 = ior ssa_98, ssa_99 vec1 1 ssa_101 = inot ssa_100 vec1 32 ssa_102 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_103 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_104 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_105 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_106 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_107 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_108 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_109 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_110 = bcsel ssa_100, ssa_106, ssa_102 vec1 32 ssa_111 = imov ssa_110 vec1 32 ssa_112 = bcsel ssa_100, ssa_107, ssa_103 vec1 32 ssa_113 = imov ssa_112 vec1 32 ssa_114 = bcsel ssa_100, ssa_108, ssa_104 vec1 32 ssa_115 = imov ssa_114 vec1 32 ssa_116 = bcsel ssa_100, ssa_109, ssa_105 vec1 32 ssa_117 = imov ssa_116 vec4 32 ssa_118 = vec4 ssa_111, ssa_113, ssa_115, ssa_117 vec1 32 ssa_119 = deref_var &gl_Position (shader_out vec4) vec4 32 ssa_120 = vec4 ssa_46, ssa_47, ssa_48, ssa_49 intrinsic store_deref (ssa_119, ssa_120) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_121 = deref_var &gl_FrontColor (shader_out vec4) intrinsic store_deref (ssa_121, ssa_118) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } nir_shrink_vec_array_vars nir_opt_deref nir_lower_vars_to_ssa shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 0, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 0, 0) decl_function main (0 params) impl main { decl_var INTERP_MODE_NONE vec4 flattening_tmp decl_var INTERP_MODE_NONE int const_temp decl_var INTERP_MODE_NONE int const_temp@0 decl_var INTERP_MODE_NONE int const_temp@1 decl_var INTERP_MODE_NONE int const_temp@2 decl_var INTERP_MODE_NONE ivec3 vec_ctor decl_var INTERP_MODE_NONE int const_temp@3 decl_var INTERP_MODE_NONE uint const_temp@4 decl_var INTERP_MODE_NONE vec3 const_temp@5 decl_var INTERP_MODE_NONE uint const_temp@6 decl_var INTERP_MODE_NONE vec3 const_temp@7 decl_var INTERP_MODE_NONE uint const_temp@8 decl_var INTERP_MODE_NONE vec3 const_temp@9 decl_var INTERP_MODE_NONE uint const_temp@10 decl_var INTERP_MODE_NONE bool flattening_tmp@11 decl_var INTERP_MODE_NONE bvec4 mat_cmp_bvec decl_var INTERP_MODE_NONE int const_temp@12 decl_var INTERP_MODE_NONE int const_temp@13 decl_var INTERP_MODE_NONE int const_temp@14 decl_var INTERP_MODE_NONE int const_temp@15 decl_var INTERP_MODE_NONE int const_temp@16 decl_var INTERP_MODE_NONE int const_temp@17 decl_var INTERP_MODE_NONE int const_temp@18 decl_var INTERP_MODE_NONE int const_temp@19 decl_var INTERP_MODE_NONE bvec4 const_temp@20 decl_var INTERP_MODE_NONE vec4 const_temp@21 decl_var INTERP_MODE_NONE vec4 const_temp@22 decl_var INTERP_MODE_NONE vec4 out@gl_FrontColor-temp decl_var INTERP_MODE_NONE vec4 out@gl_Position-temp decl_var INTERP_MODE_NONE vec3 (const_temp[0]) decl_var INTERP_MODE_NONE vec3 (const_temp[1]) decl_var INTERP_MODE_NONE vec3 (const_temp[2]) decl_var INTERP_MODE_NONE vec3 (const_temp[3]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[0]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[1]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[2]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[3]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[0]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[1]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[2]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[3]) block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_1 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_2 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_3 = load_const (0x00000003 /* 0.000000 */) vec3 32 ssa_4 = load_const (0x40800000 /* 4.000000 */, 0x40a00000 /* 5.000000 */, 0x40c00000 /* 6.000000 */) vec3 32 ssa_5 = load_const (0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */) vec3 32 ssa_6 = load_const (0x41000000 /* 8.000000 */, 0x40e00000 /* 7.000000 */, 0x41200000 /* 10.000000 */) vec3 32 ssa_7 = load_const (0x3f800000 /* 1.000000 */, 0x40000000 /* 2.000000 */, 0x40400000 /* 3.000000 */) vec4 1 ssa_8 = load_const (false, false, false, false) vec4 32 ssa_9 = load_const (0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */, 0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */) vec4 32 ssa_10 = load_const (0x3f800000 /* 1.000000 */, 0x00000000 /* 0.000000 */, 0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */) vec1 32 ssa_11 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_12 = deref_array &(*ssa_11)[0] (uniform vec4) /* &gl_ModelViewProjectionMatrix[0] */ vec4 32 ssa_13 = intrinsic load_deref (ssa_12) (0) /* access=0 */ vec1 32 ssa_14 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_15 = intrinsic load_deref (ssa_14) (0) /* access=0 */ vec1 32 ssa_16 = fmul ssa_13.x, ssa_15.x vec1 32 ssa_17 = fmul ssa_13.y, ssa_15.x vec1 32 ssa_18 = fmul ssa_13.z, ssa_15.x vec1 32 ssa_19 = fmul ssa_13.w, ssa_15.x vec1 32 ssa_20 = deref_array &(*ssa_11)[1] (uniform vec4) /* &gl_ModelViewProjectionMatrix[1] */ vec4 32 ssa_21 = intrinsic load_deref (ssa_20) (0) /* access=0 */ vec1 32 ssa_22 = fmul ssa_21.x, ssa_15.y vec1 32 ssa_23 = fmul ssa_21.y, ssa_15.y vec1 32 ssa_24 = fmul ssa_21.z, ssa_15.y vec1 32 ssa_25 = fmul ssa_21.w, ssa_15.y vec1 32 ssa_26 = fadd ssa_16, ssa_22 vec1 32 ssa_27 = fadd ssa_17, ssa_23 vec1 32 ssa_28 = fadd ssa_18, ssa_24 vec1 32 ssa_29 = fadd ssa_19, ssa_25 vec1 32 ssa_30 = deref_array &(*ssa_11)[2] (uniform vec4) /* &gl_ModelViewProjectionMatrix[2] */ vec4 32 ssa_31 = intrinsic load_deref (ssa_30) (0) /* access=0 */ vec1 32 ssa_32 = fmul ssa_31.x, ssa_15.z vec1 32 ssa_33 = fmul ssa_31.y, ssa_15.z vec1 32 ssa_34 = fmul ssa_31.z, ssa_15.z vec1 32 ssa_35 = fmul ssa_31.w, ssa_15.z vec1 32 ssa_36 = fadd ssa_26, ssa_32 vec1 32 ssa_37 = fadd ssa_27, ssa_33 vec1 32 ssa_38 = fadd ssa_28, ssa_34 vec1 32 ssa_39 = fadd ssa_29, ssa_35 vec1 32 ssa_40 = deref_array &(*ssa_11)[3] (uniform vec4) /* &gl_ModelViewProjectionMatrix[3] */ vec4 32 ssa_41 = intrinsic load_deref (ssa_40) (0) /* access=0 */ vec1 32 ssa_42 = fmul ssa_41.x, ssa_15.w vec1 32 ssa_43 = fmul ssa_41.y, ssa_15.w vec1 32 ssa_44 = fmul ssa_41.z, ssa_15.w vec1 32 ssa_45 = fmul ssa_41.w, ssa_15.w vec1 32 ssa_46 = fadd ssa_36, ssa_42 vec1 32 ssa_47 = fadd ssa_37, ssa_43 vec1 32 ssa_48 = fadd ssa_38, ssa_44 vec1 32 ssa_49 = fadd ssa_39, ssa_45 vec1 32 ssa_50 = deref_var &j (uniform ivec2) vec2 32 ssa_51 = intrinsic load_deref (ssa_50) (0) /* access=0 */ vec1 32 ssa_54 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_55 = i2f32 ssa_51.x vec1 32 ssa_56 = i2f32 ssa_51.y vec3 32 ssa_57 = vec3 ssa_54, ssa_55, ssa_56 vec1 32 ssa_122 = deref_var &(mat_ctor[0]) (function_temp vec3) vec1 32 ssa_123 = deref_var &(mat_ctor[1]) (function_temp vec3) vec1 32 ssa_124 = deref_var &(mat_ctor[2]) (function_temp vec3) vec1 32 ssa_125 = deref_var &(mat_ctor[3]) (function_temp vec3) vec1 32 ssa_126 = deref_var &(mat_op_to_vec[0]) (function_temp vec3) vec1 32 ssa_127 = deref_var &(mat_op_to_vec[1]) (function_temp vec3) vec1 32 ssa_128 = deref_var &(mat_op_to_vec[2]) (function_temp vec3) vec1 32 ssa_129 = deref_var &(mat_op_to_vec[3]) (function_temp vec3) vec1 32 ssa_130 = deref_var &(mat_op_to_vec[0]) (function_temp vec3) vec3 32 ssa_138 = imov ssa_7 vec1 32 ssa_131 = deref_var &(mat_ctor[0]) (function_temp vec3) vec3 32 ssa_139 = imov ssa_57 vec1 1 ssa_68 = fne ssa_138.x, ssa_139.x vec1 1 ssa_69 = fne ssa_138.y, ssa_139.y vec1 1 ssa_70 = ior ssa_68, ssa_69 vec1 1 ssa_71 = fne ssa_138.z, ssa_139.z vec1 1 ssa_72 = ior ssa_70, ssa_71 vec1 32 ssa_132 = deref_var &(mat_op_to_vec[1]) (function_temp vec3) vec3 32 ssa_140 = imov ssa_4 vec1 32 ssa_133 = deref_var &(mat_ctor[1]) (function_temp vec3) vec3 32 ssa_141 = imov ssa_4 vec1 1 ssa_75 = fne ssa_140.x, ssa_141.x vec1 1 ssa_76 = fne ssa_140.y, ssa_141.y vec1 1 ssa_77 = ior ssa_75, ssa_76 vec1 1 ssa_78 = fne ssa_140.z, ssa_141.z vec1 1 ssa_79 = ior ssa_77, ssa_78 vec1 32 ssa_134 = deref_var &(mat_op_to_vec[2]) (function_temp vec3) vec3 32 ssa_142 = imov ssa_5 vec1 32 ssa_135 = deref_var &(mat_ctor[2]) (function_temp vec3) vec3 32 ssa_143 = imov ssa_5 vec1 1 ssa_82 = fne ssa_142.x, ssa_143.x vec1 1 ssa_83 = fne ssa_142.y, ssa_143.y vec1 1 ssa_84 = ior ssa_82, ssa_83 vec1 1 ssa_85 = fne ssa_142.z, ssa_143.z vec1 1 ssa_86 = ior ssa_84, ssa_85 vec1 32 ssa_136 = deref_var &(mat_op_to_vec[3]) (function_temp vec3) vec3 32 ssa_144 = imov ssa_6 vec1 32 ssa_137 = deref_var &(mat_ctor[3]) (function_temp vec3) vec3 32 ssa_145 = imov ssa_6 vec1 1 ssa_89 = fne ssa_144.x, ssa_145.x vec1 1 ssa_90 = fne ssa_144.y, ssa_145.y vec1 1 ssa_91 = ior ssa_89, ssa_90 vec1 1 ssa_92 = fne ssa_144.z, ssa_145.z vec1 1 ssa_93 = ior ssa_91, ssa_92 vec1 1 ssa_94 = imov ssa_72 vec1 1 ssa_95 = imov ssa_79 vec1 1 ssa_96 = ior ssa_94, ssa_95 vec1 1 ssa_97 = imov ssa_86 vec1 1 ssa_98 = ior ssa_96, ssa_97 vec1 1 ssa_99 = imov ssa_93 vec1 1 ssa_100 = ior ssa_98, ssa_99 vec1 1 ssa_101 = inot ssa_100 vec1 32 ssa_102 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_103 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_104 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_105 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_106 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_107 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_108 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_109 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_110 = bcsel ssa_100, ssa_106, ssa_102 vec1 32 ssa_111 = imov ssa_110 vec1 32 ssa_112 = bcsel ssa_100, ssa_107, ssa_103 vec1 32 ssa_113 = imov ssa_112 vec1 32 ssa_114 = bcsel ssa_100, ssa_108, ssa_104 vec1 32 ssa_115 = imov ssa_114 vec1 32 ssa_116 = bcsel ssa_100, ssa_109, ssa_105 vec1 32 ssa_117 = imov ssa_116 vec4 32 ssa_118 = vec4 ssa_111, ssa_113, ssa_115, ssa_117 vec1 32 ssa_119 = deref_var &gl_Position (shader_out vec4) vec4 32 ssa_120 = vec4 ssa_46, ssa_47, ssa_48, ssa_49 intrinsic store_deref (ssa_119, ssa_120) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_121 = deref_var &gl_FrontColor (shader_out vec4) intrinsic store_deref (ssa_121, ssa_118) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } nir_opt_find_array_copies nir_opt_copy_prop_vars nir_opt_dead_write_vars nir_lower_alu_to_scalar shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 0, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 0, 0) decl_function main (0 params) impl main { decl_var INTERP_MODE_NONE vec4 flattening_tmp decl_var INTERP_MODE_NONE int const_temp decl_var INTERP_MODE_NONE int const_temp@0 decl_var INTERP_MODE_NONE int const_temp@1 decl_var INTERP_MODE_NONE int const_temp@2 decl_var INTERP_MODE_NONE ivec3 vec_ctor decl_var INTERP_MODE_NONE int const_temp@3 decl_var INTERP_MODE_NONE uint const_temp@4 decl_var INTERP_MODE_NONE vec3 const_temp@5 decl_var INTERP_MODE_NONE uint const_temp@6 decl_var INTERP_MODE_NONE vec3 const_temp@7 decl_var INTERP_MODE_NONE uint const_temp@8 decl_var INTERP_MODE_NONE vec3 const_temp@9 decl_var INTERP_MODE_NONE uint const_temp@10 decl_var INTERP_MODE_NONE bool flattening_tmp@11 decl_var INTERP_MODE_NONE bvec4 mat_cmp_bvec decl_var INTERP_MODE_NONE int const_temp@12 decl_var INTERP_MODE_NONE int const_temp@13 decl_var INTERP_MODE_NONE int const_temp@14 decl_var INTERP_MODE_NONE int const_temp@15 decl_var INTERP_MODE_NONE int const_temp@16 decl_var INTERP_MODE_NONE int const_temp@17 decl_var INTERP_MODE_NONE int const_temp@18 decl_var INTERP_MODE_NONE int const_temp@19 decl_var INTERP_MODE_NONE bvec4 const_temp@20 decl_var INTERP_MODE_NONE vec4 const_temp@21 decl_var INTERP_MODE_NONE vec4 const_temp@22 decl_var INTERP_MODE_NONE vec4 out@gl_FrontColor-temp decl_var INTERP_MODE_NONE vec4 out@gl_Position-temp decl_var INTERP_MODE_NONE vec3 (const_temp[0]) decl_var INTERP_MODE_NONE vec3 (const_temp[1]) decl_var INTERP_MODE_NONE vec3 (const_temp[2]) decl_var INTERP_MODE_NONE vec3 (const_temp[3]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[0]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[1]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[2]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[3]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[0]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[1]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[2]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[3]) block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_1 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_2 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_3 = load_const (0x00000003 /* 0.000000 */) vec3 32 ssa_4 = load_const (0x40800000 /* 4.000000 */, 0x40a00000 /* 5.000000 */, 0x40c00000 /* 6.000000 */) vec3 32 ssa_5 = load_const (0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */) vec3 32 ssa_6 = load_const (0x41000000 /* 8.000000 */, 0x40e00000 /* 7.000000 */, 0x41200000 /* 10.000000 */) vec3 32 ssa_7 = load_const (0x3f800000 /* 1.000000 */, 0x40000000 /* 2.000000 */, 0x40400000 /* 3.000000 */) vec4 1 ssa_8 = load_const (false, false, false, false) vec4 32 ssa_9 = load_const (0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */, 0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */) vec4 32 ssa_10 = load_const (0x3f800000 /* 1.000000 */, 0x00000000 /* 0.000000 */, 0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */) vec1 32 ssa_11 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_12 = deref_array &(*ssa_11)[0] (uniform vec4) /* &gl_ModelViewProjectionMatrix[0] */ vec4 32 ssa_13 = intrinsic load_deref (ssa_12) (0) /* access=0 */ vec1 32 ssa_14 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_15 = intrinsic load_deref (ssa_14) (0) /* access=0 */ vec1 32 ssa_16 = fmul ssa_13.x, ssa_15.x vec1 32 ssa_17 = fmul ssa_13.y, ssa_15.x vec1 32 ssa_18 = fmul ssa_13.z, ssa_15.x vec1 32 ssa_19 = fmul ssa_13.w, ssa_15.x vec1 32 ssa_20 = deref_array &(*ssa_11)[1] (uniform vec4) /* &gl_ModelViewProjectionMatrix[1] */ vec4 32 ssa_21 = intrinsic load_deref (ssa_20) (0) /* access=0 */ vec1 32 ssa_22 = fmul ssa_21.x, ssa_15.y vec1 32 ssa_23 = fmul ssa_21.y, ssa_15.y vec1 32 ssa_24 = fmul ssa_21.z, ssa_15.y vec1 32 ssa_25 = fmul ssa_21.w, ssa_15.y vec1 32 ssa_26 = fadd ssa_16, ssa_22 vec1 32 ssa_27 = fadd ssa_17, ssa_23 vec1 32 ssa_28 = fadd ssa_18, ssa_24 vec1 32 ssa_29 = fadd ssa_19, ssa_25 vec1 32 ssa_30 = deref_array &(*ssa_11)[2] (uniform vec4) /* &gl_ModelViewProjectionMatrix[2] */ vec4 32 ssa_31 = intrinsic load_deref (ssa_30) (0) /* access=0 */ vec1 32 ssa_32 = fmul ssa_31.x, ssa_15.z vec1 32 ssa_33 = fmul ssa_31.y, ssa_15.z vec1 32 ssa_34 = fmul ssa_31.z, ssa_15.z vec1 32 ssa_35 = fmul ssa_31.w, ssa_15.z vec1 32 ssa_36 = fadd ssa_26, ssa_32 vec1 32 ssa_37 = fadd ssa_27, ssa_33 vec1 32 ssa_38 = fadd ssa_28, ssa_34 vec1 32 ssa_39 = fadd ssa_29, ssa_35 vec1 32 ssa_40 = deref_array &(*ssa_11)[3] (uniform vec4) /* &gl_ModelViewProjectionMatrix[3] */ vec4 32 ssa_41 = intrinsic load_deref (ssa_40) (0) /* access=0 */ vec1 32 ssa_42 = fmul ssa_41.x, ssa_15.w vec1 32 ssa_43 = fmul ssa_41.y, ssa_15.w vec1 32 ssa_44 = fmul ssa_41.z, ssa_15.w vec1 32 ssa_45 = fmul ssa_41.w, ssa_15.w vec1 32 ssa_46 = fadd ssa_36, ssa_42 vec1 32 ssa_47 = fadd ssa_37, ssa_43 vec1 32 ssa_48 = fadd ssa_38, ssa_44 vec1 32 ssa_49 = fadd ssa_39, ssa_45 vec1 32 ssa_50 = deref_var &j (uniform ivec2) vec2 32 ssa_51 = intrinsic load_deref (ssa_50) (0) /* access=0 */ vec1 32 ssa_52 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_53 = i2f32 ssa_51.x vec1 32 ssa_54 = i2f32 ssa_51.y vec3 32 ssa_55 = vec3 ssa_52, ssa_53, ssa_54 vec1 32 ssa_56 = deref_var &(mat_ctor[0]) (function_temp vec3) vec1 32 ssa_57 = deref_var &(mat_ctor[1]) (function_temp vec3) vec1 32 ssa_58 = deref_var &(mat_ctor[2]) (function_temp vec3) vec1 32 ssa_59 = deref_var &(mat_ctor[3]) (function_temp vec3) vec1 32 ssa_60 = deref_var &(mat_op_to_vec[0]) (function_temp vec3) vec1 32 ssa_61 = deref_var &(mat_op_to_vec[1]) (function_temp vec3) vec1 32 ssa_62 = deref_var &(mat_op_to_vec[2]) (function_temp vec3) vec1 32 ssa_63 = deref_var &(mat_op_to_vec[3]) (function_temp vec3) vec1 32 ssa_64 = deref_var &(mat_op_to_vec[0]) (function_temp vec3) vec1 32 ssa_128 = imov ssa_7.x vec1 32 ssa_129 = imov ssa_7.y vec1 32 ssa_130 = imov ssa_7.z vec3 32 ssa_131 = vec3 ssa_128, ssa_129, ssa_130 vec1 32 ssa_66 = deref_var &(mat_ctor[0]) (function_temp vec3) vec1 32 ssa_132 = imov ssa_55.x vec1 32 ssa_133 = imov ssa_55.y vec1 32 ssa_134 = imov ssa_55.z vec3 32 ssa_135 = vec3 ssa_132, ssa_133, ssa_134 vec1 1 ssa_68 = fne ssa_131.x, ssa_135.x vec1 1 ssa_69 = fne ssa_131.y, ssa_135.y vec1 1 ssa_70 = ior ssa_68, ssa_69 vec1 1 ssa_71 = fne ssa_131.z, ssa_135.z vec1 1 ssa_72 = ior ssa_70, ssa_71 vec1 32 ssa_73 = deref_var &(mat_op_to_vec[1]) (function_temp vec3) vec1 32 ssa_136 = imov ssa_4.x vec1 32 ssa_137 = imov ssa_4.y vec1 32 ssa_138 = imov ssa_4.z vec3 32 ssa_139 = vec3 ssa_136, ssa_137, ssa_138 vec1 32 ssa_75 = deref_var &(mat_ctor[1]) (function_temp vec3) vec1 32 ssa_140 = imov ssa_4.x vec1 32 ssa_141 = imov ssa_4.y vec1 32 ssa_142 = imov ssa_4.z vec3 32 ssa_143 = vec3 ssa_140, ssa_141, ssa_142 vec1 1 ssa_77 = fne ssa_139.x, ssa_143.x vec1 1 ssa_78 = fne ssa_139.y, ssa_143.y vec1 1 ssa_79 = ior ssa_77, ssa_78 vec1 1 ssa_80 = fne ssa_139.z, ssa_143.z vec1 1 ssa_81 = ior ssa_79, ssa_80 vec1 32 ssa_82 = deref_var &(mat_op_to_vec[2]) (function_temp vec3) vec1 32 ssa_144 = imov ssa_5.x vec1 32 ssa_145 = imov ssa_5.y vec1 32 ssa_146 = imov ssa_5.z vec3 32 ssa_147 = vec3 ssa_144, ssa_145, ssa_146 vec1 32 ssa_84 = deref_var &(mat_ctor[2]) (function_temp vec3) vec1 32 ssa_148 = imov ssa_5.x vec1 32 ssa_149 = imov ssa_5.y vec1 32 ssa_150 = imov ssa_5.z vec3 32 ssa_151 = vec3 ssa_148, ssa_149, ssa_150 vec1 1 ssa_86 = fne ssa_147.x, ssa_151.x vec1 1 ssa_87 = fne ssa_147.y, ssa_151.y vec1 1 ssa_88 = ior ssa_86, ssa_87 vec1 1 ssa_89 = fne ssa_147.z, ssa_151.z vec1 1 ssa_90 = ior ssa_88, ssa_89 vec1 32 ssa_91 = deref_var &(mat_op_to_vec[3]) (function_temp vec3) vec1 32 ssa_152 = imov ssa_6.x vec1 32 ssa_153 = imov ssa_6.y vec1 32 ssa_154 = imov ssa_6.z vec3 32 ssa_155 = vec3 ssa_152, ssa_153, ssa_154 vec1 32 ssa_93 = deref_var &(mat_ctor[3]) (function_temp vec3) vec1 32 ssa_156 = imov ssa_6.x vec1 32 ssa_157 = imov ssa_6.y vec1 32 ssa_158 = imov ssa_6.z vec3 32 ssa_159 = vec3 ssa_156, ssa_157, ssa_158 vec1 1 ssa_95 = fne ssa_155.x, ssa_159.x vec1 1 ssa_96 = fne ssa_155.y, ssa_159.y vec1 1 ssa_97 = ior ssa_95, ssa_96 vec1 1 ssa_98 = fne ssa_155.z, ssa_159.z vec1 1 ssa_99 = ior ssa_97, ssa_98 vec1 1 ssa_100 = imov ssa_72 vec1 1 ssa_101 = imov ssa_81 vec1 1 ssa_102 = ior ssa_100, ssa_101 vec1 1 ssa_103 = imov ssa_90 vec1 1 ssa_104 = ior ssa_102, ssa_103 vec1 1 ssa_105 = imov ssa_99 vec1 1 ssa_106 = ior ssa_104, ssa_105 vec1 1 ssa_107 = inot ssa_106 vec1 32 ssa_108 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_109 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_110 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_111 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_112 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_113 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_114 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_115 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_116 = bcsel ssa_106, ssa_112, ssa_108 vec1 32 ssa_117 = imov ssa_116 vec1 32 ssa_118 = bcsel ssa_106, ssa_113, ssa_109 vec1 32 ssa_119 = imov ssa_118 vec1 32 ssa_120 = bcsel ssa_106, ssa_114, ssa_110 vec1 32 ssa_121 = imov ssa_120 vec1 32 ssa_122 = bcsel ssa_106, ssa_115, ssa_111 vec1 32 ssa_123 = imov ssa_122 vec4 32 ssa_124 = vec4 ssa_117, ssa_119, ssa_121, ssa_123 vec1 32 ssa_125 = deref_var &gl_Position (shader_out vec4) vec4 32 ssa_126 = vec4 ssa_46, ssa_47, ssa_48, ssa_49 intrinsic store_deref (ssa_125, ssa_126) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_127 = deref_var &gl_FrontColor (shader_out vec4) intrinsic store_deref (ssa_127, ssa_124) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } nir_copy_prop shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 0, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 0, 0) decl_function main (0 params) impl main { decl_var INTERP_MODE_NONE vec4 flattening_tmp decl_var INTERP_MODE_NONE int const_temp decl_var INTERP_MODE_NONE int const_temp@0 decl_var INTERP_MODE_NONE int const_temp@1 decl_var INTERP_MODE_NONE int const_temp@2 decl_var INTERP_MODE_NONE ivec3 vec_ctor decl_var INTERP_MODE_NONE int const_temp@3 decl_var INTERP_MODE_NONE uint const_temp@4 decl_var INTERP_MODE_NONE vec3 const_temp@5 decl_var INTERP_MODE_NONE uint const_temp@6 decl_var INTERP_MODE_NONE vec3 const_temp@7 decl_var INTERP_MODE_NONE uint const_temp@8 decl_var INTERP_MODE_NONE vec3 const_temp@9 decl_var INTERP_MODE_NONE uint const_temp@10 decl_var INTERP_MODE_NONE bool flattening_tmp@11 decl_var INTERP_MODE_NONE bvec4 mat_cmp_bvec decl_var INTERP_MODE_NONE int const_temp@12 decl_var INTERP_MODE_NONE int const_temp@13 decl_var INTERP_MODE_NONE int const_temp@14 decl_var INTERP_MODE_NONE int const_temp@15 decl_var INTERP_MODE_NONE int const_temp@16 decl_var INTERP_MODE_NONE int const_temp@17 decl_var INTERP_MODE_NONE int const_temp@18 decl_var INTERP_MODE_NONE int const_temp@19 decl_var INTERP_MODE_NONE bvec4 const_temp@20 decl_var INTERP_MODE_NONE vec4 const_temp@21 decl_var INTERP_MODE_NONE vec4 const_temp@22 decl_var INTERP_MODE_NONE vec4 out@gl_FrontColor-temp decl_var INTERP_MODE_NONE vec4 out@gl_Position-temp decl_var INTERP_MODE_NONE vec3 (const_temp[0]) decl_var INTERP_MODE_NONE vec3 (const_temp[1]) decl_var INTERP_MODE_NONE vec3 (const_temp[2]) decl_var INTERP_MODE_NONE vec3 (const_temp[3]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[0]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[1]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[2]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[3]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[0]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[1]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[2]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[3]) block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_1 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_2 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_3 = load_const (0x00000003 /* 0.000000 */) vec3 32 ssa_4 = load_const (0x40800000 /* 4.000000 */, 0x40a00000 /* 5.000000 */, 0x40c00000 /* 6.000000 */) vec3 32 ssa_5 = load_const (0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */) vec3 32 ssa_6 = load_const (0x41000000 /* 8.000000 */, 0x40e00000 /* 7.000000 */, 0x41200000 /* 10.000000 */) vec3 32 ssa_7 = load_const (0x3f800000 /* 1.000000 */, 0x40000000 /* 2.000000 */, 0x40400000 /* 3.000000 */) vec4 1 ssa_8 = load_const (false, false, false, false) vec4 32 ssa_9 = load_const (0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */, 0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */) vec4 32 ssa_10 = load_const (0x3f800000 /* 1.000000 */, 0x00000000 /* 0.000000 */, 0x00000000 /* 0.000000 */, 0x3f800000 /* 1.000000 */) vec1 32 ssa_11 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_12 = deref_array &(*ssa_11)[0] (uniform vec4) /* &gl_ModelViewProjectionMatrix[0] */ vec4 32 ssa_13 = intrinsic load_deref (ssa_12) (0) /* access=0 */ vec1 32 ssa_14 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_15 = intrinsic load_deref (ssa_14) (0) /* access=0 */ vec1 32 ssa_16 = fmul ssa_13.x, ssa_15.x vec1 32 ssa_17 = fmul ssa_13.y, ssa_15.x vec1 32 ssa_18 = fmul ssa_13.z, ssa_15.x vec1 32 ssa_19 = fmul ssa_13.w, ssa_15.x vec1 32 ssa_20 = deref_array &(*ssa_11)[1] (uniform vec4) /* &gl_ModelViewProjectionMatrix[1] */ vec4 32 ssa_21 = intrinsic load_deref (ssa_20) (0) /* access=0 */ vec1 32 ssa_22 = fmul ssa_21.x, ssa_15.y vec1 32 ssa_23 = fmul ssa_21.y, ssa_15.y vec1 32 ssa_24 = fmul ssa_21.z, ssa_15.y vec1 32 ssa_25 = fmul ssa_21.w, ssa_15.y vec1 32 ssa_26 = fadd ssa_16, ssa_22 vec1 32 ssa_27 = fadd ssa_17, ssa_23 vec1 32 ssa_28 = fadd ssa_18, ssa_24 vec1 32 ssa_29 = fadd ssa_19, ssa_25 vec1 32 ssa_30 = deref_array &(*ssa_11)[2] (uniform vec4) /* &gl_ModelViewProjectionMatrix[2] */ vec4 32 ssa_31 = intrinsic load_deref (ssa_30) (0) /* access=0 */ vec1 32 ssa_32 = fmul ssa_31.x, ssa_15.z vec1 32 ssa_33 = fmul ssa_31.y, ssa_15.z vec1 32 ssa_34 = fmul ssa_31.z, ssa_15.z vec1 32 ssa_35 = fmul ssa_31.w, ssa_15.z vec1 32 ssa_36 = fadd ssa_26, ssa_32 vec1 32 ssa_37 = fadd ssa_27, ssa_33 vec1 32 ssa_38 = fadd ssa_28, ssa_34 vec1 32 ssa_39 = fadd ssa_29, ssa_35 vec1 32 ssa_40 = deref_array &(*ssa_11)[3] (uniform vec4) /* &gl_ModelViewProjectionMatrix[3] */ vec4 32 ssa_41 = intrinsic load_deref (ssa_40) (0) /* access=0 */ vec1 32 ssa_42 = fmul ssa_41.x, ssa_15.w vec1 32 ssa_43 = fmul ssa_41.y, ssa_15.w vec1 32 ssa_44 = fmul ssa_41.z, ssa_15.w vec1 32 ssa_45 = fmul ssa_41.w, ssa_15.w vec1 32 ssa_46 = fadd ssa_36, ssa_42 vec1 32 ssa_47 = fadd ssa_37, ssa_43 vec1 32 ssa_48 = fadd ssa_38, ssa_44 vec1 32 ssa_49 = fadd ssa_39, ssa_45 vec1 32 ssa_50 = deref_var &j (uniform ivec2) vec2 32 ssa_51 = intrinsic load_deref (ssa_50) (0) /* access=0 */ vec1 32 ssa_52 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_53 = i2f32 ssa_51.x vec1 32 ssa_54 = i2f32 ssa_51.y vec3 32 ssa_55 = vec3 ssa_52, ssa_53, ssa_54 vec1 32 ssa_56 = deref_var &(mat_ctor[0]) (function_temp vec3) vec1 32 ssa_57 = deref_var &(mat_ctor[1]) (function_temp vec3) vec1 32 ssa_58 = deref_var &(mat_ctor[2]) (function_temp vec3) vec1 32 ssa_59 = deref_var &(mat_ctor[3]) (function_temp vec3) vec1 32 ssa_60 = deref_var &(mat_op_to_vec[0]) (function_temp vec3) vec1 32 ssa_61 = deref_var &(mat_op_to_vec[1]) (function_temp vec3) vec1 32 ssa_62 = deref_var &(mat_op_to_vec[2]) (function_temp vec3) vec1 32 ssa_63 = deref_var &(mat_op_to_vec[3]) (function_temp vec3) vec1 32 ssa_64 = deref_var &(mat_op_to_vec[0]) (function_temp vec3) vec1 32 ssa_128 = imov ssa_7.x vec1 32 ssa_129 = imov ssa_7.y vec1 32 ssa_130 = imov ssa_7.z vec3 32 ssa_131 = vec3 ssa_7.x, ssa_7.y, ssa_7.z vec1 32 ssa_66 = deref_var &(mat_ctor[0]) (function_temp vec3) vec1 32 ssa_132 = imov ssa_52 vec1 32 ssa_133 = imov ssa_53 vec1 32 ssa_134 = imov ssa_54 vec3 32 ssa_135 = vec3 ssa_52, ssa_53, ssa_54 vec1 1 ssa_68 = fne ssa_7.x, ssa_52 vec1 1 ssa_69 = fne ssa_7.y, ssa_53 vec1 1 ssa_70 = ior ssa_68, ssa_69 vec1 1 ssa_71 = fne ssa_7.z, ssa_54 vec1 1 ssa_72 = ior ssa_70, ssa_71 vec1 32 ssa_73 = deref_var &(mat_op_to_vec[1]) (function_temp vec3) vec1 32 ssa_136 = imov ssa_4.x vec1 32 ssa_137 = imov ssa_4.y vec1 32 ssa_138 = imov ssa_4.z vec3 32 ssa_139 = vec3 ssa_4.x, ssa_4.y, ssa_4.z vec1 32 ssa_75 = deref_var &(mat_ctor[1]) (function_temp vec3) vec1 32 ssa_140 = imov ssa_4.x vec1 32 ssa_141 = imov ssa_4.y vec1 32 ssa_142 = imov ssa_4.z vec3 32 ssa_143 = vec3 ssa_4.x, ssa_4.y, ssa_4.z vec1 1 ssa_77 = fne ssa_4.x, ssa_4.x vec1 1 ssa_78 = fne ssa_4.y, ssa_4.y vec1 1 ssa_79 = ior ssa_77, ssa_78 vec1 1 ssa_80 = fne ssa_4.z, ssa_4.z vec1 1 ssa_81 = ior ssa_79, ssa_80 vec1 32 ssa_82 = deref_var &(mat_op_to_vec[2]) (function_temp vec3) vec1 32 ssa_144 = imov ssa_5.x vec1 32 ssa_145 = imov ssa_5.y vec1 32 ssa_146 = imov ssa_5.z vec3 32 ssa_147 = vec3 ssa_5.x, ssa_5.y, ssa_5.z vec1 32 ssa_84 = deref_var &(mat_ctor[2]) (function_temp vec3) vec1 32 ssa_148 = imov ssa_5.x vec1 32 ssa_149 = imov ssa_5.y vec1 32 ssa_150 = imov ssa_5.z vec3 32 ssa_151 = vec3 ssa_5.x, ssa_5.y, ssa_5.z vec1 1 ssa_86 = fne ssa_5.x, ssa_5.x vec1 1 ssa_87 = fne ssa_5.y, ssa_5.y vec1 1 ssa_88 = ior ssa_86, ssa_87 vec1 1 ssa_89 = fne ssa_5.z, ssa_5.z vec1 1 ssa_90 = ior ssa_88, ssa_89 vec1 32 ssa_91 = deref_var &(mat_op_to_vec[3]) (function_temp vec3) vec1 32 ssa_152 = imov ssa_6.x vec1 32 ssa_153 = imov ssa_6.y vec1 32 ssa_154 = imov ssa_6.z vec3 32 ssa_155 = vec3 ssa_6.x, ssa_6.y, ssa_6.z vec1 32 ssa_93 = deref_var &(mat_ctor[3]) (function_temp vec3) vec1 32 ssa_156 = imov ssa_6.x vec1 32 ssa_157 = imov ssa_6.y vec1 32 ssa_158 = imov ssa_6.z vec3 32 ssa_159 = vec3 ssa_6.x, ssa_6.y, ssa_6.z vec1 1 ssa_95 = fne ssa_6.x, ssa_6.x vec1 1 ssa_96 = fne ssa_6.y, ssa_6.y vec1 1 ssa_97 = ior ssa_95, ssa_96 vec1 1 ssa_98 = fne ssa_6.z, ssa_6.z vec1 1 ssa_99 = ior ssa_97, ssa_98 vec1 1 ssa_100 = imov ssa_72 vec1 1 ssa_101 = imov ssa_81 vec1 1 ssa_102 = ior ssa_72, ssa_81 vec1 1 ssa_103 = imov ssa_90 vec1 1 ssa_104 = ior ssa_102, ssa_90 vec1 1 ssa_105 = imov ssa_99 vec1 1 ssa_106 = ior ssa_104, ssa_99 vec1 1 ssa_107 = inot ssa_106 vec1 32 ssa_108 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_109 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_110 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_111 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_112 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_113 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_114 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_115 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_116 = bcsel ssa_106, ssa_112, ssa_108 vec1 32 ssa_117 = imov ssa_116 vec1 32 ssa_118 = bcsel ssa_106, ssa_113, ssa_109 vec1 32 ssa_119 = imov ssa_118 vec1 32 ssa_120 = bcsel ssa_106, ssa_114, ssa_110 vec1 32 ssa_121 = imov ssa_120 vec1 32 ssa_122 = bcsel ssa_106, ssa_115, ssa_111 vec1 32 ssa_123 = imov ssa_122 vec4 32 ssa_124 = vec4 ssa_116, ssa_118, ssa_120, ssa_122 vec1 32 ssa_125 = deref_var &gl_Position (shader_out vec4) vec4 32 ssa_126 = vec4 ssa_46, ssa_47, ssa_48, ssa_49 intrinsic store_deref (ssa_125, ssa_126) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_127 = deref_var &gl_FrontColor (shader_out vec4) intrinsic store_deref (ssa_127, ssa_124) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } nir_lower_phis_to_scalar nir_copy_prop nir_opt_dce shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 0, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 0, 0) decl_function main (0 params) impl main { decl_var INTERP_MODE_NONE vec4 flattening_tmp decl_var INTERP_MODE_NONE int const_temp decl_var INTERP_MODE_NONE int const_temp@0 decl_var INTERP_MODE_NONE int const_temp@1 decl_var INTERP_MODE_NONE int const_temp@2 decl_var INTERP_MODE_NONE ivec3 vec_ctor decl_var INTERP_MODE_NONE int const_temp@3 decl_var INTERP_MODE_NONE uint const_temp@4 decl_var INTERP_MODE_NONE vec3 const_temp@5 decl_var INTERP_MODE_NONE uint const_temp@6 decl_var INTERP_MODE_NONE vec3 const_temp@7 decl_var INTERP_MODE_NONE uint const_temp@8 decl_var INTERP_MODE_NONE vec3 const_temp@9 decl_var INTERP_MODE_NONE uint const_temp@10 decl_var INTERP_MODE_NONE bool flattening_tmp@11 decl_var INTERP_MODE_NONE bvec4 mat_cmp_bvec decl_var INTERP_MODE_NONE int const_temp@12 decl_var INTERP_MODE_NONE int const_temp@13 decl_var INTERP_MODE_NONE int const_temp@14 decl_var INTERP_MODE_NONE int const_temp@15 decl_var INTERP_MODE_NONE int const_temp@16 decl_var INTERP_MODE_NONE int const_temp@17 decl_var INTERP_MODE_NONE int const_temp@18 decl_var INTERP_MODE_NONE int const_temp@19 decl_var INTERP_MODE_NONE bvec4 const_temp@20 decl_var INTERP_MODE_NONE vec4 const_temp@21 decl_var INTERP_MODE_NONE vec4 const_temp@22 decl_var INTERP_MODE_NONE vec4 out@gl_FrontColor-temp decl_var INTERP_MODE_NONE vec4 out@gl_Position-temp decl_var INTERP_MODE_NONE vec3 (const_temp[0]) decl_var INTERP_MODE_NONE vec3 (const_temp[1]) decl_var INTERP_MODE_NONE vec3 (const_temp[2]) decl_var INTERP_MODE_NONE vec3 (const_temp[3]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[0]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[1]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[2]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[3]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[0]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[1]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[2]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[3]) block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_1 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_2 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_3 = load_const (0x00000003 /* 0.000000 */) vec3 32 ssa_4 = load_const (0x40800000 /* 4.000000 */, 0x40a00000 /* 5.000000 */, 0x40c00000 /* 6.000000 */) vec3 32 ssa_5 = load_const (0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */) vec3 32 ssa_6 = load_const (0x41000000 /* 8.000000 */, 0x40e00000 /* 7.000000 */, 0x41200000 /* 10.000000 */) vec3 32 ssa_7 = load_const (0x3f800000 /* 1.000000 */, 0x40000000 /* 2.000000 */, 0x40400000 /* 3.000000 */) vec1 32 ssa_11 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_12 = deref_array &(*ssa_11)[0] (uniform vec4) /* &gl_ModelViewProjectionMatrix[0] */ vec4 32 ssa_13 = intrinsic load_deref (ssa_12) (0) /* access=0 */ vec1 32 ssa_14 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_15 = intrinsic load_deref (ssa_14) (0) /* access=0 */ vec1 32 ssa_16 = fmul ssa_13.x, ssa_15.x vec1 32 ssa_17 = fmul ssa_13.y, ssa_15.x vec1 32 ssa_18 = fmul ssa_13.z, ssa_15.x vec1 32 ssa_19 = fmul ssa_13.w, ssa_15.x vec1 32 ssa_20 = deref_array &(*ssa_11)[1] (uniform vec4) /* &gl_ModelViewProjectionMatrix[1] */ vec4 32 ssa_21 = intrinsic load_deref (ssa_20) (0) /* access=0 */ vec1 32 ssa_22 = fmul ssa_21.x, ssa_15.y vec1 32 ssa_23 = fmul ssa_21.y, ssa_15.y vec1 32 ssa_24 = fmul ssa_21.z, ssa_15.y vec1 32 ssa_25 = fmul ssa_21.w, ssa_15.y vec1 32 ssa_26 = fadd ssa_16, ssa_22 vec1 32 ssa_27 = fadd ssa_17, ssa_23 vec1 32 ssa_28 = fadd ssa_18, ssa_24 vec1 32 ssa_29 = fadd ssa_19, ssa_25 vec1 32 ssa_30 = deref_array &(*ssa_11)[2] (uniform vec4) /* &gl_ModelViewProjectionMatrix[2] */ vec4 32 ssa_31 = intrinsic load_deref (ssa_30) (0) /* access=0 */ vec1 32 ssa_32 = fmul ssa_31.x, ssa_15.z vec1 32 ssa_33 = fmul ssa_31.y, ssa_15.z vec1 32 ssa_34 = fmul ssa_31.z, ssa_15.z vec1 32 ssa_35 = fmul ssa_31.w, ssa_15.z vec1 32 ssa_36 = fadd ssa_26, ssa_32 vec1 32 ssa_37 = fadd ssa_27, ssa_33 vec1 32 ssa_38 = fadd ssa_28, ssa_34 vec1 32 ssa_39 = fadd ssa_29, ssa_35 vec1 32 ssa_40 = deref_array &(*ssa_11)[3] (uniform vec4) /* &gl_ModelViewProjectionMatrix[3] */ vec4 32 ssa_41 = intrinsic load_deref (ssa_40) (0) /* access=0 */ vec1 32 ssa_42 = fmul ssa_41.x, ssa_15.w vec1 32 ssa_43 = fmul ssa_41.y, ssa_15.w vec1 32 ssa_44 = fmul ssa_41.z, ssa_15.w vec1 32 ssa_45 = fmul ssa_41.w, ssa_15.w vec1 32 ssa_46 = fadd ssa_36, ssa_42 vec1 32 ssa_47 = fadd ssa_37, ssa_43 vec1 32 ssa_48 = fadd ssa_38, ssa_44 vec1 32 ssa_49 = fadd ssa_39, ssa_45 vec1 32 ssa_50 = deref_var &j (uniform ivec2) vec2 32 ssa_51 = intrinsic load_deref (ssa_50) (0) /* access=0 */ vec1 32 ssa_52 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_53 = i2f32 ssa_51.x vec1 32 ssa_54 = i2f32 ssa_51.y vec1 1 ssa_68 = fne ssa_7.x, ssa_52 vec1 1 ssa_69 = fne ssa_7.y, ssa_53 vec1 1 ssa_70 = ior ssa_68, ssa_69 vec1 1 ssa_71 = fne ssa_7.z, ssa_54 vec1 1 ssa_72 = ior ssa_70, ssa_71 vec1 1 ssa_77 = fne ssa_4.x, ssa_4.x vec1 1 ssa_78 = fne ssa_4.y, ssa_4.y vec1 1 ssa_79 = ior ssa_77, ssa_78 vec1 1 ssa_80 = fne ssa_4.z, ssa_4.z vec1 1 ssa_81 = ior ssa_79, ssa_80 vec1 1 ssa_86 = fne ssa_5.x, ssa_5.x vec1 1 ssa_87 = fne ssa_5.y, ssa_5.y vec1 1 ssa_88 = ior ssa_86, ssa_87 vec1 1 ssa_89 = fne ssa_5.z, ssa_5.z vec1 1 ssa_90 = ior ssa_88, ssa_89 vec1 1 ssa_95 = fne ssa_6.x, ssa_6.x vec1 1 ssa_96 = fne ssa_6.y, ssa_6.y vec1 1 ssa_97 = ior ssa_95, ssa_96 vec1 1 ssa_98 = fne ssa_6.z, ssa_6.z vec1 1 ssa_99 = ior ssa_97, ssa_98 vec1 1 ssa_102 = ior ssa_72, ssa_81 vec1 1 ssa_104 = ior ssa_102, ssa_90 vec1 1 ssa_106 = ior ssa_104, ssa_99 vec1 32 ssa_108 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_109 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_110 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_111 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_112 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_113 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_114 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_115 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_116 = bcsel ssa_106, ssa_112, ssa_108 vec1 32 ssa_118 = bcsel ssa_106, ssa_113, ssa_109 vec1 32 ssa_120 = bcsel ssa_106, ssa_114, ssa_110 vec1 32 ssa_122 = bcsel ssa_106, ssa_115, ssa_111 vec4 32 ssa_124 = vec4 ssa_116, ssa_118, ssa_120, ssa_122 vec1 32 ssa_125 = deref_var &gl_Position (shader_out vec4) vec4 32 ssa_126 = vec4 ssa_46, ssa_47, ssa_48, ssa_49 intrinsic store_deref (ssa_125, ssa_126) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_127 = deref_var &gl_FrontColor (shader_out vec4) intrinsic store_deref (ssa_127, ssa_124) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } nir_opt_cse shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 0, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 0, 0) decl_function main (0 params) impl main { decl_var INTERP_MODE_NONE vec4 flattening_tmp decl_var INTERP_MODE_NONE int const_temp decl_var INTERP_MODE_NONE int const_temp@0 decl_var INTERP_MODE_NONE int const_temp@1 decl_var INTERP_MODE_NONE int const_temp@2 decl_var INTERP_MODE_NONE ivec3 vec_ctor decl_var INTERP_MODE_NONE int const_temp@3 decl_var INTERP_MODE_NONE uint const_temp@4 decl_var INTERP_MODE_NONE vec3 const_temp@5 decl_var INTERP_MODE_NONE uint const_temp@6 decl_var INTERP_MODE_NONE vec3 const_temp@7 decl_var INTERP_MODE_NONE uint const_temp@8 decl_var INTERP_MODE_NONE vec3 const_temp@9 decl_var INTERP_MODE_NONE uint const_temp@10 decl_var INTERP_MODE_NONE bool flattening_tmp@11 decl_var INTERP_MODE_NONE bvec4 mat_cmp_bvec decl_var INTERP_MODE_NONE int const_temp@12 decl_var INTERP_MODE_NONE int const_temp@13 decl_var INTERP_MODE_NONE int const_temp@14 decl_var INTERP_MODE_NONE int const_temp@15 decl_var INTERP_MODE_NONE int const_temp@16 decl_var INTERP_MODE_NONE int const_temp@17 decl_var INTERP_MODE_NONE int const_temp@18 decl_var INTERP_MODE_NONE int const_temp@19 decl_var INTERP_MODE_NONE bvec4 const_temp@20 decl_var INTERP_MODE_NONE vec4 const_temp@21 decl_var INTERP_MODE_NONE vec4 const_temp@22 decl_var INTERP_MODE_NONE vec4 out@gl_FrontColor-temp decl_var INTERP_MODE_NONE vec4 out@gl_Position-temp decl_var INTERP_MODE_NONE vec3 (const_temp[0]) decl_var INTERP_MODE_NONE vec3 (const_temp[1]) decl_var INTERP_MODE_NONE vec3 (const_temp[2]) decl_var INTERP_MODE_NONE vec3 (const_temp[3]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[0]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[1]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[2]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[3]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[0]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[1]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[2]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[3]) block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_1 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_2 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_3 = load_const (0x00000003 /* 0.000000 */) vec3 32 ssa_4 = load_const (0x40800000 /* 4.000000 */, 0x40a00000 /* 5.000000 */, 0x40c00000 /* 6.000000 */) vec3 32 ssa_5 = load_const (0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */) vec3 32 ssa_6 = load_const (0x41000000 /* 8.000000 */, 0x40e00000 /* 7.000000 */, 0x41200000 /* 10.000000 */) vec3 32 ssa_7 = load_const (0x3f800000 /* 1.000000 */, 0x40000000 /* 2.000000 */, 0x40400000 /* 3.000000 */) vec1 32 ssa_11 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_12 = deref_array &(*ssa_11)[0] (uniform vec4) /* &gl_ModelViewProjectionMatrix[0] */ vec4 32 ssa_13 = intrinsic load_deref (ssa_12) (0) /* access=0 */ vec1 32 ssa_14 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_15 = intrinsic load_deref (ssa_14) (0) /* access=0 */ vec1 32 ssa_16 = fmul ssa_13.x, ssa_15.x vec1 32 ssa_17 = fmul ssa_13.y, ssa_15.x vec1 32 ssa_18 = fmul ssa_13.z, ssa_15.x vec1 32 ssa_19 = fmul ssa_13.w, ssa_15.x vec1 32 ssa_20 = deref_array &(*ssa_11)[1] (uniform vec4) /* &gl_ModelViewProjectionMatrix[1] */ vec4 32 ssa_21 = intrinsic load_deref (ssa_20) (0) /* access=0 */ vec1 32 ssa_22 = fmul ssa_21.x, ssa_15.y vec1 32 ssa_23 = fmul ssa_21.y, ssa_15.y vec1 32 ssa_24 = fmul ssa_21.z, ssa_15.y vec1 32 ssa_25 = fmul ssa_21.w, ssa_15.y vec1 32 ssa_26 = fadd ssa_16, ssa_22 vec1 32 ssa_27 = fadd ssa_17, ssa_23 vec1 32 ssa_28 = fadd ssa_18, ssa_24 vec1 32 ssa_29 = fadd ssa_19, ssa_25 vec1 32 ssa_30 = deref_array &(*ssa_11)[2] (uniform vec4) /* &gl_ModelViewProjectionMatrix[2] */ vec4 32 ssa_31 = intrinsic load_deref (ssa_30) (0) /* access=0 */ vec1 32 ssa_32 = fmul ssa_31.x, ssa_15.z vec1 32 ssa_33 = fmul ssa_31.y, ssa_15.z vec1 32 ssa_34 = fmul ssa_31.z, ssa_15.z vec1 32 ssa_35 = fmul ssa_31.w, ssa_15.z vec1 32 ssa_36 = fadd ssa_26, ssa_32 vec1 32 ssa_37 = fadd ssa_27, ssa_33 vec1 32 ssa_38 = fadd ssa_28, ssa_34 vec1 32 ssa_39 = fadd ssa_29, ssa_35 vec1 32 ssa_40 = deref_array &(*ssa_11)[3] (uniform vec4) /* &gl_ModelViewProjectionMatrix[3] */ vec4 32 ssa_41 = intrinsic load_deref (ssa_40) (0) /* access=0 */ vec1 32 ssa_42 = fmul ssa_41.x, ssa_15.w vec1 32 ssa_43 = fmul ssa_41.y, ssa_15.w vec1 32 ssa_44 = fmul ssa_41.z, ssa_15.w vec1 32 ssa_45 = fmul ssa_41.w, ssa_15.w vec1 32 ssa_46 = fadd ssa_36, ssa_42 vec1 32 ssa_47 = fadd ssa_37, ssa_43 vec1 32 ssa_48 = fadd ssa_38, ssa_44 vec1 32 ssa_49 = fadd ssa_39, ssa_45 vec1 32 ssa_50 = deref_var &j (uniform ivec2) vec2 32 ssa_51 = intrinsic load_deref (ssa_50) (0) /* access=0 */ vec1 32 ssa_52 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_53 = i2f32 ssa_51.x vec1 32 ssa_54 = i2f32 ssa_51.y vec1 1 ssa_68 = fne ssa_7.x, ssa_52 vec1 1 ssa_69 = fne ssa_7.y, ssa_53 vec1 1 ssa_70 = ior ssa_68, ssa_69 vec1 1 ssa_71 = fne ssa_7.z, ssa_54 vec1 1 ssa_72 = ior ssa_70, ssa_71 vec1 1 ssa_77 = fne ssa_4.x, ssa_4.x vec1 1 ssa_78 = fne ssa_4.y, ssa_4.y vec1 1 ssa_79 = ior ssa_77, ssa_78 vec1 1 ssa_80 = fne ssa_4.z, ssa_4.z vec1 1 ssa_81 = ior ssa_79, ssa_80 vec1 1 ssa_86 = fne ssa_5.x, ssa_5.x vec1 1 ssa_87 = fne ssa_5.y, ssa_5.y vec1 1 ssa_88 = ior ssa_86, ssa_87 vec1 1 ssa_89 = fne ssa_5.z, ssa_5.z vec1 1 ssa_90 = ior ssa_88, ssa_89 vec1 1 ssa_95 = fne ssa_6.x, ssa_6.x vec1 1 ssa_96 = fne ssa_6.y, ssa_6.y vec1 1 ssa_97 = ior ssa_95, ssa_96 vec1 1 ssa_98 = fne ssa_6.z, ssa_6.z vec1 1 ssa_99 = ior ssa_97, ssa_98 vec1 1 ssa_102 = ior ssa_72, ssa_81 vec1 1 ssa_104 = ior ssa_102, ssa_90 vec1 1 ssa_106 = ior ssa_104, ssa_99 vec1 32 ssa_116 = bcsel ssa_106, ssa_52, ssa_0 vec1 32 ssa_118 = bcsel ssa_106, ssa_0, ssa_52 vec1 32 ssa_120 = bcsel ssa_106, ssa_0, ssa_0 vec1 32 ssa_122 = bcsel ssa_106, ssa_52, ssa_52 vec4 32 ssa_124 = vec4 ssa_116, ssa_118, ssa_120, ssa_122 vec1 32 ssa_125 = deref_var &gl_Position (shader_out vec4) vec4 32 ssa_126 = vec4 ssa_46, ssa_47, ssa_48, ssa_49 intrinsic store_deref (ssa_125, ssa_126) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_127 = deref_var &gl_FrontColor (shader_out vec4) intrinsic store_deref (ssa_127, ssa_124) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } nir_opt_peephole_select nir_opt_peephole_select nir_opt_intrinsics nir_opt_idiv_const nir_opt_algebraic shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 0, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 0, 0) decl_function main (0 params) impl main { decl_var INTERP_MODE_NONE vec4 flattening_tmp decl_var INTERP_MODE_NONE int const_temp decl_var INTERP_MODE_NONE int const_temp@0 decl_var INTERP_MODE_NONE int const_temp@1 decl_var INTERP_MODE_NONE int const_temp@2 decl_var INTERP_MODE_NONE ivec3 vec_ctor decl_var INTERP_MODE_NONE int const_temp@3 decl_var INTERP_MODE_NONE uint const_temp@4 decl_var INTERP_MODE_NONE vec3 const_temp@5 decl_var INTERP_MODE_NONE uint const_temp@6 decl_var INTERP_MODE_NONE vec3 const_temp@7 decl_var INTERP_MODE_NONE uint const_temp@8 decl_var INTERP_MODE_NONE vec3 const_temp@9 decl_var INTERP_MODE_NONE uint const_temp@10 decl_var INTERP_MODE_NONE bool flattening_tmp@11 decl_var INTERP_MODE_NONE bvec4 mat_cmp_bvec decl_var INTERP_MODE_NONE int const_temp@12 decl_var INTERP_MODE_NONE int const_temp@13 decl_var INTERP_MODE_NONE int const_temp@14 decl_var INTERP_MODE_NONE int const_temp@15 decl_var INTERP_MODE_NONE int const_temp@16 decl_var INTERP_MODE_NONE int const_temp@17 decl_var INTERP_MODE_NONE int const_temp@18 decl_var INTERP_MODE_NONE int const_temp@19 decl_var INTERP_MODE_NONE bvec4 const_temp@20 decl_var INTERP_MODE_NONE vec4 const_temp@21 decl_var INTERP_MODE_NONE vec4 const_temp@22 decl_var INTERP_MODE_NONE vec4 out@gl_FrontColor-temp decl_var INTERP_MODE_NONE vec4 out@gl_Position-temp decl_var INTERP_MODE_NONE vec3 (const_temp[0]) decl_var INTERP_MODE_NONE vec3 (const_temp[1]) decl_var INTERP_MODE_NONE vec3 (const_temp[2]) decl_var INTERP_MODE_NONE vec3 (const_temp[3]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[0]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[1]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[2]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[3]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[0]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[1]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[2]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[3]) block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_1 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_2 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_3 = load_const (0x00000003 /* 0.000000 */) vec3 32 ssa_4 = load_const (0x40800000 /* 4.000000 */, 0x40a00000 /* 5.000000 */, 0x40c00000 /* 6.000000 */) vec3 32 ssa_5 = load_const (0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */) vec3 32 ssa_6 = load_const (0x41000000 /* 8.000000 */, 0x40e00000 /* 7.000000 */, 0x41200000 /* 10.000000 */) vec3 32 ssa_7 = load_const (0x3f800000 /* 1.000000 */, 0x40000000 /* 2.000000 */, 0x40400000 /* 3.000000 */) vec1 32 ssa_11 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_12 = deref_array &(*ssa_11)[0] (uniform vec4) /* &gl_ModelViewProjectionMatrix[0] */ vec4 32 ssa_13 = intrinsic load_deref (ssa_12) (0) /* access=0 */ vec1 32 ssa_14 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_15 = intrinsic load_deref (ssa_14) (0) /* access=0 */ vec1 32 ssa_16 = fmul ssa_13.x, ssa_15.x vec1 32 ssa_17 = fmul ssa_13.y, ssa_15.x vec1 32 ssa_18 = fmul ssa_13.z, ssa_15.x vec1 32 ssa_19 = fmul ssa_13.w, ssa_15.x vec1 32 ssa_20 = deref_array &(*ssa_11)[1] (uniform vec4) /* &gl_ModelViewProjectionMatrix[1] */ vec4 32 ssa_21 = intrinsic load_deref (ssa_20) (0) /* access=0 */ vec1 32 ssa_22 = fmul ssa_21.x, ssa_15.y vec1 32 ssa_23 = fmul ssa_21.y, ssa_15.y vec1 32 ssa_24 = fmul ssa_21.z, ssa_15.y vec1 32 ssa_25 = fmul ssa_21.w, ssa_15.y vec1 32 ssa_26 = fadd ssa_16, ssa_22 vec1 32 ssa_27 = fadd ssa_17, ssa_23 vec1 32 ssa_28 = fadd ssa_18, ssa_24 vec1 32 ssa_29 = fadd ssa_19, ssa_25 vec1 32 ssa_30 = deref_array &(*ssa_11)[2] (uniform vec4) /* &gl_ModelViewProjectionMatrix[2] */ vec4 32 ssa_31 = intrinsic load_deref (ssa_30) (0) /* access=0 */ vec1 32 ssa_32 = fmul ssa_31.x, ssa_15.z vec1 32 ssa_33 = fmul ssa_31.y, ssa_15.z vec1 32 ssa_34 = fmul ssa_31.z, ssa_15.z vec1 32 ssa_35 = fmul ssa_31.w, ssa_15.z vec1 32 ssa_36 = fadd ssa_26, ssa_32 vec1 32 ssa_37 = fadd ssa_27, ssa_33 vec1 32 ssa_38 = fadd ssa_28, ssa_34 vec1 32 ssa_39 = fadd ssa_29, ssa_35 vec1 32 ssa_40 = deref_array &(*ssa_11)[3] (uniform vec4) /* &gl_ModelViewProjectionMatrix[3] */ vec4 32 ssa_41 = intrinsic load_deref (ssa_40) (0) /* access=0 */ vec1 32 ssa_42 = fmul ssa_41.x, ssa_15.w vec1 32 ssa_43 = fmul ssa_41.y, ssa_15.w vec1 32 ssa_44 = fmul ssa_41.z, ssa_15.w vec1 32 ssa_45 = fmul ssa_41.w, ssa_15.w vec1 32 ssa_46 = fadd ssa_36, ssa_42 vec1 32 ssa_47 = fadd ssa_37, ssa_43 vec1 32 ssa_48 = fadd ssa_38, ssa_44 vec1 32 ssa_49 = fadd ssa_39, ssa_45 vec1 32 ssa_50 = deref_var &j (uniform ivec2) vec2 32 ssa_51 = intrinsic load_deref (ssa_50) (0) /* access=0 */ vec1 32 ssa_52 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_53 = i2f32 ssa_51.x vec1 32 ssa_54 = i2f32 ssa_51.y vec1 1 ssa_68 = fne ssa_7.x, ssa_52 vec1 1 ssa_69 = fne ssa_7.y, ssa_53 vec1 1 ssa_70 = ior ssa_68, ssa_69 vec1 1 ssa_71 = fne ssa_7.z, ssa_54 vec1 1 ssa_72 = ior ssa_70, ssa_71 vec1 1 ssa_77 = fne ssa_4.x, ssa_4.x vec1 1 ssa_78 = fne ssa_4.y, ssa_4.y vec1 1 ssa_79 = ior ssa_77, ssa_78 vec1 1 ssa_80 = fne ssa_4.z, ssa_4.z vec1 1 ssa_81 = ior ssa_79, ssa_80 vec1 1 ssa_86 = fne ssa_5.x, ssa_5.x vec1 1 ssa_87 = fne ssa_5.y, ssa_5.y vec1 1 ssa_88 = ior ssa_86, ssa_87 vec1 1 ssa_89 = fne ssa_5.z, ssa_5.z vec1 1 ssa_90 = ior ssa_88, ssa_89 vec1 1 ssa_95 = fne ssa_6.x, ssa_6.x vec1 1 ssa_96 = fne ssa_6.y, ssa_6.y vec1 1 ssa_97 = ior ssa_95, ssa_96 vec1 1 ssa_98 = fne ssa_6.z, ssa_6.z vec1 1 ssa_99 = ior ssa_97, ssa_98 vec1 1 ssa_102 = ior ssa_72, ssa_81 vec1 1 ssa_104 = ior ssa_102, ssa_90 vec1 1 ssa_106 = ior ssa_104, ssa_99 vec1 32 ssa_165 = b2f32 ssa_106 vec1 32 ssa_166 = imov ssa_165 vec1 1 ssa_162 = inot ssa_106 vec1 32 ssa_163 = b2f32 ssa_162 vec1 32 ssa_164 = imov ssa_163 vec1 32 ssa_161 = imov ssa_0 vec1 32 ssa_160 = imov ssa_52 vec4 32 ssa_124 = vec4 ssa_166, ssa_164, ssa_161, ssa_160 vec1 32 ssa_125 = deref_var &gl_Position (shader_out vec4) vec4 32 ssa_126 = vec4 ssa_46, ssa_47, ssa_48, ssa_49 intrinsic store_deref (ssa_125, ssa_126) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_127 = deref_var &gl_FrontColor (shader_out vec4) intrinsic store_deref (ssa_127, ssa_124) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } nir_opt_constant_folding shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 0, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 0, 0) decl_function main (0 params) impl main { decl_var INTERP_MODE_NONE vec4 flattening_tmp decl_var INTERP_MODE_NONE int const_temp decl_var INTERP_MODE_NONE int const_temp@0 decl_var INTERP_MODE_NONE int const_temp@1 decl_var INTERP_MODE_NONE int const_temp@2 decl_var INTERP_MODE_NONE ivec3 vec_ctor decl_var INTERP_MODE_NONE int const_temp@3 decl_var INTERP_MODE_NONE uint const_temp@4 decl_var INTERP_MODE_NONE vec3 const_temp@5 decl_var INTERP_MODE_NONE uint const_temp@6 decl_var INTERP_MODE_NONE vec3 const_temp@7 decl_var INTERP_MODE_NONE uint const_temp@8 decl_var INTERP_MODE_NONE vec3 const_temp@9 decl_var INTERP_MODE_NONE uint const_temp@10 decl_var INTERP_MODE_NONE bool flattening_tmp@11 decl_var INTERP_MODE_NONE bvec4 mat_cmp_bvec decl_var INTERP_MODE_NONE int const_temp@12 decl_var INTERP_MODE_NONE int const_temp@13 decl_var INTERP_MODE_NONE int const_temp@14 decl_var INTERP_MODE_NONE int const_temp@15 decl_var INTERP_MODE_NONE int const_temp@16 decl_var INTERP_MODE_NONE int const_temp@17 decl_var INTERP_MODE_NONE int const_temp@18 decl_var INTERP_MODE_NONE int const_temp@19 decl_var INTERP_MODE_NONE bvec4 const_temp@20 decl_var INTERP_MODE_NONE vec4 const_temp@21 decl_var INTERP_MODE_NONE vec4 const_temp@22 decl_var INTERP_MODE_NONE vec4 out@gl_FrontColor-temp decl_var INTERP_MODE_NONE vec4 out@gl_Position-temp decl_var INTERP_MODE_NONE vec3 (const_temp[0]) decl_var INTERP_MODE_NONE vec3 (const_temp[1]) decl_var INTERP_MODE_NONE vec3 (const_temp[2]) decl_var INTERP_MODE_NONE vec3 (const_temp[3]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[0]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[1]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[2]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[3]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[0]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[1]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[2]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[3]) block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_1 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_2 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_3 = load_const (0x00000003 /* 0.000000 */) vec3 32 ssa_4 = load_const (0x40800000 /* 4.000000 */, 0x40a00000 /* 5.000000 */, 0x40c00000 /* 6.000000 */) vec3 32 ssa_5 = load_const (0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */) vec3 32 ssa_6 = load_const (0x41000000 /* 8.000000 */, 0x40e00000 /* 7.000000 */, 0x41200000 /* 10.000000 */) vec3 32 ssa_7 = load_const (0x3f800000 /* 1.000000 */, 0x40000000 /* 2.000000 */, 0x40400000 /* 3.000000 */) vec1 32 ssa_11 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_12 = deref_array &(*ssa_11)[0] (uniform vec4) /* &gl_ModelViewProjectionMatrix[0] */ vec4 32 ssa_13 = intrinsic load_deref (ssa_12) (0) /* access=0 */ vec1 32 ssa_14 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_15 = intrinsic load_deref (ssa_14) (0) /* access=0 */ vec1 32 ssa_16 = fmul ssa_13.x, ssa_15.x vec1 32 ssa_17 = fmul ssa_13.y, ssa_15.x vec1 32 ssa_18 = fmul ssa_13.z, ssa_15.x vec1 32 ssa_19 = fmul ssa_13.w, ssa_15.x vec1 32 ssa_20 = deref_array &(*ssa_11)[1] (uniform vec4) /* &gl_ModelViewProjectionMatrix[1] */ vec4 32 ssa_21 = intrinsic load_deref (ssa_20) (0) /* access=0 */ vec1 32 ssa_22 = fmul ssa_21.x, ssa_15.y vec1 32 ssa_23 = fmul ssa_21.y, ssa_15.y vec1 32 ssa_24 = fmul ssa_21.z, ssa_15.y vec1 32 ssa_25 = fmul ssa_21.w, ssa_15.y vec1 32 ssa_26 = fadd ssa_16, ssa_22 vec1 32 ssa_27 = fadd ssa_17, ssa_23 vec1 32 ssa_28 = fadd ssa_18, ssa_24 vec1 32 ssa_29 = fadd ssa_19, ssa_25 vec1 32 ssa_30 = deref_array &(*ssa_11)[2] (uniform vec4) /* &gl_ModelViewProjectionMatrix[2] */ vec4 32 ssa_31 = intrinsic load_deref (ssa_30) (0) /* access=0 */ vec1 32 ssa_32 = fmul ssa_31.x, ssa_15.z vec1 32 ssa_33 = fmul ssa_31.y, ssa_15.z vec1 32 ssa_34 = fmul ssa_31.z, ssa_15.z vec1 32 ssa_35 = fmul ssa_31.w, ssa_15.z vec1 32 ssa_36 = fadd ssa_26, ssa_32 vec1 32 ssa_37 = fadd ssa_27, ssa_33 vec1 32 ssa_38 = fadd ssa_28, ssa_34 vec1 32 ssa_39 = fadd ssa_29, ssa_35 vec1 32 ssa_40 = deref_array &(*ssa_11)[3] (uniform vec4) /* &gl_ModelViewProjectionMatrix[3] */ vec4 32 ssa_41 = intrinsic load_deref (ssa_40) (0) /* access=0 */ vec1 32 ssa_42 = fmul ssa_41.x, ssa_15.w vec1 32 ssa_43 = fmul ssa_41.y, ssa_15.w vec1 32 ssa_44 = fmul ssa_41.z, ssa_15.w vec1 32 ssa_45 = fmul ssa_41.w, ssa_15.w vec1 32 ssa_46 = fadd ssa_36, ssa_42 vec1 32 ssa_47 = fadd ssa_37, ssa_43 vec1 32 ssa_48 = fadd ssa_38, ssa_44 vec1 32 ssa_49 = fadd ssa_39, ssa_45 vec1 32 ssa_50 = deref_var &j (uniform ivec2) vec2 32 ssa_51 = intrinsic load_deref (ssa_50) (0) /* access=0 */ vec1 32 ssa_52 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_53 = i2f32 ssa_51.x vec1 32 ssa_54 = i2f32 ssa_51.y vec1 1 ssa_167 = load_const (false) vec1 1 ssa_69 = fne ssa_7.y, ssa_53 vec1 1 ssa_70 = ior ssa_167, ssa_69 vec1 1 ssa_71 = fne ssa_7.z, ssa_54 vec1 1 ssa_72 = ior ssa_70, ssa_71 vec1 1 ssa_168 = load_const (false) vec1 1 ssa_169 = load_const (false) vec1 1 ssa_170 = load_const (false) vec1 1 ssa_171 = load_const (false) vec1 1 ssa_172 = load_const (false) vec1 1 ssa_173 = load_const (false) vec1 1 ssa_174 = load_const (false) vec1 1 ssa_175 = load_const (false) vec1 1 ssa_176 = load_const (false) vec1 1 ssa_177 = load_const (false) vec1 1 ssa_178 = load_const (false) vec1 1 ssa_179 = load_const (false) vec1 1 ssa_180 = load_const (false) vec1 1 ssa_181 = load_const (false) vec1 1 ssa_182 = load_const (false) vec1 1 ssa_102 = ior ssa_72, ssa_172 vec1 1 ssa_104 = ior ssa_102, ssa_177 vec1 1 ssa_106 = ior ssa_104, ssa_182 vec1 32 ssa_165 = b2f32 ssa_106 vec1 32 ssa_166 = imov ssa_165 vec1 1 ssa_162 = inot ssa_106 vec1 32 ssa_163 = b2f32 ssa_162 vec1 32 ssa_164 = imov ssa_163 vec1 32 ssa_183 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_184 = load_const (0x3f800000 /* 1.000000 */) vec4 32 ssa_124 = vec4 ssa_166, ssa_164, ssa_183, ssa_184 vec1 32 ssa_125 = deref_var &gl_Position (shader_out vec4) vec4 32 ssa_126 = vec4 ssa_46, ssa_47, ssa_48, ssa_49 intrinsic store_deref (ssa_125, ssa_126) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_127 = deref_var &gl_FrontColor (shader_out vec4) intrinsic store_deref (ssa_127, ssa_124) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } nir_opt_dead_cf nir_opt_trivial_continues nir_opt_if nir_opt_loop_unroll nir_opt_remove_phis nir_opt_undef nir_lower_pack nir_split_array_vars nir_shrink_vec_array_vars nir_opt_deref nir_lower_vars_to_ssa nir_opt_find_array_copies nir_opt_copy_prop_vars nir_opt_dead_write_vars nir_lower_alu_to_scalar nir_copy_prop shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 0, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 0, 0) decl_function main (0 params) impl main { decl_var INTERP_MODE_NONE vec4 flattening_tmp decl_var INTERP_MODE_NONE int const_temp decl_var INTERP_MODE_NONE int const_temp@0 decl_var INTERP_MODE_NONE int const_temp@1 decl_var INTERP_MODE_NONE int const_temp@2 decl_var INTERP_MODE_NONE ivec3 vec_ctor decl_var INTERP_MODE_NONE int const_temp@3 decl_var INTERP_MODE_NONE uint const_temp@4 decl_var INTERP_MODE_NONE vec3 const_temp@5 decl_var INTERP_MODE_NONE uint const_temp@6 decl_var INTERP_MODE_NONE vec3 const_temp@7 decl_var INTERP_MODE_NONE uint const_temp@8 decl_var INTERP_MODE_NONE vec3 const_temp@9 decl_var INTERP_MODE_NONE uint const_temp@10 decl_var INTERP_MODE_NONE bool flattening_tmp@11 decl_var INTERP_MODE_NONE bvec4 mat_cmp_bvec decl_var INTERP_MODE_NONE int const_temp@12 decl_var INTERP_MODE_NONE int const_temp@13 decl_var INTERP_MODE_NONE int const_temp@14 decl_var INTERP_MODE_NONE int const_temp@15 decl_var INTERP_MODE_NONE int const_temp@16 decl_var INTERP_MODE_NONE int const_temp@17 decl_var INTERP_MODE_NONE int const_temp@18 decl_var INTERP_MODE_NONE int const_temp@19 decl_var INTERP_MODE_NONE bvec4 const_temp@20 decl_var INTERP_MODE_NONE vec4 const_temp@21 decl_var INTERP_MODE_NONE vec4 const_temp@22 decl_var INTERP_MODE_NONE vec4 out@gl_FrontColor-temp decl_var INTERP_MODE_NONE vec4 out@gl_Position-temp decl_var INTERP_MODE_NONE vec3 (const_temp[0]) decl_var INTERP_MODE_NONE vec3 (const_temp[1]) decl_var INTERP_MODE_NONE vec3 (const_temp[2]) decl_var INTERP_MODE_NONE vec3 (const_temp[3]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[0]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[1]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[2]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[3]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[0]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[1]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[2]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[3]) block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_1 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_2 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_3 = load_const (0x00000003 /* 0.000000 */) vec3 32 ssa_4 = load_const (0x40800000 /* 4.000000 */, 0x40a00000 /* 5.000000 */, 0x40c00000 /* 6.000000 */) vec3 32 ssa_5 = load_const (0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */, 0x41100000 /* 9.000000 */) vec3 32 ssa_6 = load_const (0x41000000 /* 8.000000 */, 0x40e00000 /* 7.000000 */, 0x41200000 /* 10.000000 */) vec3 32 ssa_7 = load_const (0x3f800000 /* 1.000000 */, 0x40000000 /* 2.000000 */, 0x40400000 /* 3.000000 */) vec1 32 ssa_8 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_9 = deref_array &(*ssa_8)[0] (uniform vec4) /* &gl_ModelViewProjectionMatrix[0] */ vec4 32 ssa_10 = intrinsic load_deref (ssa_9) (0) /* access=0 */ vec1 32 ssa_11 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_12 = intrinsic load_deref (ssa_11) (0) /* access=0 */ vec1 32 ssa_13 = fmul ssa_10.x, ssa_12.x vec1 32 ssa_14 = fmul ssa_10.y, ssa_12.x vec1 32 ssa_15 = fmul ssa_10.z, ssa_12.x vec1 32 ssa_16 = fmul ssa_10.w, ssa_12.x vec1 32 ssa_17 = deref_array &(*ssa_8)[1] (uniform vec4) /* &gl_ModelViewProjectionMatrix[1] */ vec4 32 ssa_18 = intrinsic load_deref (ssa_17) (0) /* access=0 */ vec1 32 ssa_19 = fmul ssa_18.x, ssa_12.y vec1 32 ssa_20 = fmul ssa_18.y, ssa_12.y vec1 32 ssa_21 = fmul ssa_18.z, ssa_12.y vec1 32 ssa_22 = fmul ssa_18.w, ssa_12.y vec1 32 ssa_23 = fadd ssa_13, ssa_19 vec1 32 ssa_24 = fadd ssa_14, ssa_20 vec1 32 ssa_25 = fadd ssa_15, ssa_21 vec1 32 ssa_26 = fadd ssa_16, ssa_22 vec1 32 ssa_27 = deref_array &(*ssa_8)[2] (uniform vec4) /* &gl_ModelViewProjectionMatrix[2] */ vec4 32 ssa_28 = intrinsic load_deref (ssa_27) (0) /* access=0 */ vec1 32 ssa_29 = fmul ssa_28.x, ssa_12.z vec1 32 ssa_30 = fmul ssa_28.y, ssa_12.z vec1 32 ssa_31 = fmul ssa_28.z, ssa_12.z vec1 32 ssa_32 = fmul ssa_28.w, ssa_12.z vec1 32 ssa_33 = fadd ssa_23, ssa_29 vec1 32 ssa_34 = fadd ssa_24, ssa_30 vec1 32 ssa_35 = fadd ssa_25, ssa_31 vec1 32 ssa_36 = fadd ssa_26, ssa_32 vec1 32 ssa_37 = deref_array &(*ssa_8)[3] (uniform vec4) /* &gl_ModelViewProjectionMatrix[3] */ vec4 32 ssa_38 = intrinsic load_deref (ssa_37) (0) /* access=0 */ vec1 32 ssa_39 = fmul ssa_38.x, ssa_12.w vec1 32 ssa_40 = fmul ssa_38.y, ssa_12.w vec1 32 ssa_41 = fmul ssa_38.z, ssa_12.w vec1 32 ssa_42 = fmul ssa_38.w, ssa_12.w vec1 32 ssa_43 = fadd ssa_33, ssa_39 vec1 32 ssa_44 = fadd ssa_34, ssa_40 vec1 32 ssa_45 = fadd ssa_35, ssa_41 vec1 32 ssa_46 = fadd ssa_36, ssa_42 vec1 32 ssa_47 = deref_var &j (uniform ivec2) vec2 32 ssa_48 = intrinsic load_deref (ssa_47) (0) /* access=0 */ vec1 32 ssa_49 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_50 = i2f32 ssa_48.x vec1 32 ssa_51 = i2f32 ssa_48.y vec1 1 ssa_52 = load_const (false) vec1 1 ssa_53 = fne ssa_7.y, ssa_50 vec1 1 ssa_54 = ior ssa_52, ssa_53 vec1 1 ssa_55 = fne ssa_7.z, ssa_51 vec1 1 ssa_56 = ior ssa_54, ssa_55 vec1 1 ssa_57 = load_const (false) vec1 1 ssa_58 = load_const (false) vec1 1 ssa_59 = load_const (false) vec1 1 ssa_60 = load_const (false) vec1 1 ssa_61 = load_const (false) vec1 1 ssa_62 = load_const (false) vec1 1 ssa_63 = load_const (false) vec1 1 ssa_64 = load_const (false) vec1 1 ssa_65 = load_const (false) vec1 1 ssa_66 = load_const (false) vec1 1 ssa_67 = load_const (false) vec1 1 ssa_68 = load_const (false) vec1 1 ssa_69 = load_const (false) vec1 1 ssa_70 = load_const (false) vec1 1 ssa_71 = load_const (false) vec1 1 ssa_72 = ior ssa_56, ssa_61 vec1 1 ssa_73 = ior ssa_72, ssa_66 vec1 1 ssa_74 = ior ssa_73, ssa_71 vec1 32 ssa_75 = b2f32 ssa_74 vec1 32 ssa_76 = imov ssa_75 vec1 1 ssa_77 = inot ssa_74 vec1 32 ssa_78 = b2f32 ssa_77 vec1 32 ssa_79 = imov ssa_78 vec1 32 ssa_80 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_81 = load_const (0x3f800000 /* 1.000000 */) vec4 32 ssa_82 = vec4 ssa_75, ssa_78, ssa_80, ssa_81 vec1 32 ssa_83 = deref_var &gl_Position (shader_out vec4) vec4 32 ssa_84 = vec4 ssa_43, ssa_44, ssa_45, ssa_46 intrinsic store_deref (ssa_83, ssa_84) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_85 = deref_var &gl_FrontColor (shader_out vec4) intrinsic store_deref (ssa_85, ssa_82) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } nir_lower_phis_to_scalar nir_copy_prop nir_opt_dce shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 0, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 0, 0) decl_function main (0 params) impl main { decl_var INTERP_MODE_NONE vec4 flattening_tmp decl_var INTERP_MODE_NONE int const_temp decl_var INTERP_MODE_NONE int const_temp@0 decl_var INTERP_MODE_NONE int const_temp@1 decl_var INTERP_MODE_NONE int const_temp@2 decl_var INTERP_MODE_NONE ivec3 vec_ctor decl_var INTERP_MODE_NONE int const_temp@3 decl_var INTERP_MODE_NONE uint const_temp@4 decl_var INTERP_MODE_NONE vec3 const_temp@5 decl_var INTERP_MODE_NONE uint const_temp@6 decl_var INTERP_MODE_NONE vec3 const_temp@7 decl_var INTERP_MODE_NONE uint const_temp@8 decl_var INTERP_MODE_NONE vec3 const_temp@9 decl_var INTERP_MODE_NONE uint const_temp@10 decl_var INTERP_MODE_NONE bool flattening_tmp@11 decl_var INTERP_MODE_NONE bvec4 mat_cmp_bvec decl_var INTERP_MODE_NONE int const_temp@12 decl_var INTERP_MODE_NONE int const_temp@13 decl_var INTERP_MODE_NONE int const_temp@14 decl_var INTERP_MODE_NONE int const_temp@15 decl_var INTERP_MODE_NONE int const_temp@16 decl_var INTERP_MODE_NONE int const_temp@17 decl_var INTERP_MODE_NONE int const_temp@18 decl_var INTERP_MODE_NONE int const_temp@19 decl_var INTERP_MODE_NONE bvec4 const_temp@20 decl_var INTERP_MODE_NONE vec4 const_temp@21 decl_var INTERP_MODE_NONE vec4 const_temp@22 decl_var INTERP_MODE_NONE vec4 out@gl_FrontColor-temp decl_var INTERP_MODE_NONE vec4 out@gl_Position-temp decl_var INTERP_MODE_NONE vec3 (const_temp[0]) decl_var INTERP_MODE_NONE vec3 (const_temp[1]) decl_var INTERP_MODE_NONE vec3 (const_temp[2]) decl_var INTERP_MODE_NONE vec3 (const_temp[3]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[0]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[1]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[2]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[3]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[0]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[1]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[2]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[3]) block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_1 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_2 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_3 = load_const (0x00000003 /* 0.000000 */) vec3 32 ssa_7 = load_const (0x3f800000 /* 1.000000 */, 0x40000000 /* 2.000000 */, 0x40400000 /* 3.000000 */) vec1 32 ssa_8 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_9 = deref_array &(*ssa_8)[0] (uniform vec4) /* &gl_ModelViewProjectionMatrix[0] */ vec4 32 ssa_10 = intrinsic load_deref (ssa_9) (0) /* access=0 */ vec1 32 ssa_11 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_12 = intrinsic load_deref (ssa_11) (0) /* access=0 */ vec1 32 ssa_13 = fmul ssa_10.x, ssa_12.x vec1 32 ssa_14 = fmul ssa_10.y, ssa_12.x vec1 32 ssa_15 = fmul ssa_10.z, ssa_12.x vec1 32 ssa_16 = fmul ssa_10.w, ssa_12.x vec1 32 ssa_17 = deref_array &(*ssa_8)[1] (uniform vec4) /* &gl_ModelViewProjectionMatrix[1] */ vec4 32 ssa_18 = intrinsic load_deref (ssa_17) (0) /* access=0 */ vec1 32 ssa_19 = fmul ssa_18.x, ssa_12.y vec1 32 ssa_20 = fmul ssa_18.y, ssa_12.y vec1 32 ssa_21 = fmul ssa_18.z, ssa_12.y vec1 32 ssa_22 = fmul ssa_18.w, ssa_12.y vec1 32 ssa_23 = fadd ssa_13, ssa_19 vec1 32 ssa_24 = fadd ssa_14, ssa_20 vec1 32 ssa_25 = fadd ssa_15, ssa_21 vec1 32 ssa_26 = fadd ssa_16, ssa_22 vec1 32 ssa_27 = deref_array &(*ssa_8)[2] (uniform vec4) /* &gl_ModelViewProjectionMatrix[2] */ vec4 32 ssa_28 = intrinsic load_deref (ssa_27) (0) /* access=0 */ vec1 32 ssa_29 = fmul ssa_28.x, ssa_12.z vec1 32 ssa_30 = fmul ssa_28.y, ssa_12.z vec1 32 ssa_31 = fmul ssa_28.z, ssa_12.z vec1 32 ssa_32 = fmul ssa_28.w, ssa_12.z vec1 32 ssa_33 = fadd ssa_23, ssa_29 vec1 32 ssa_34 = fadd ssa_24, ssa_30 vec1 32 ssa_35 = fadd ssa_25, ssa_31 vec1 32 ssa_36 = fadd ssa_26, ssa_32 vec1 32 ssa_37 = deref_array &(*ssa_8)[3] (uniform vec4) /* &gl_ModelViewProjectionMatrix[3] */ vec4 32 ssa_38 = intrinsic load_deref (ssa_37) (0) /* access=0 */ vec1 32 ssa_39 = fmul ssa_38.x, ssa_12.w vec1 32 ssa_40 = fmul ssa_38.y, ssa_12.w vec1 32 ssa_41 = fmul ssa_38.z, ssa_12.w vec1 32 ssa_42 = fmul ssa_38.w, ssa_12.w vec1 32 ssa_43 = fadd ssa_33, ssa_39 vec1 32 ssa_44 = fadd ssa_34, ssa_40 vec1 32 ssa_45 = fadd ssa_35, ssa_41 vec1 32 ssa_46 = fadd ssa_36, ssa_42 vec1 32 ssa_47 = deref_var &j (uniform ivec2) vec2 32 ssa_48 = intrinsic load_deref (ssa_47) (0) /* access=0 */ vec1 32 ssa_50 = i2f32 ssa_48.x vec1 32 ssa_51 = i2f32 ssa_48.y vec1 1 ssa_52 = load_const (false) vec1 1 ssa_53 = fne ssa_7.y, ssa_50 vec1 1 ssa_54 = ior ssa_52, ssa_53 vec1 1 ssa_55 = fne ssa_7.z, ssa_51 vec1 1 ssa_56 = ior ssa_54, ssa_55 vec1 1 ssa_61 = load_const (false) vec1 1 ssa_66 = load_const (false) vec1 1 ssa_71 = load_const (false) vec1 1 ssa_72 = ior ssa_56, ssa_61 vec1 1 ssa_73 = ior ssa_72, ssa_66 vec1 1 ssa_74 = ior ssa_73, ssa_71 vec1 32 ssa_75 = b2f32 ssa_74 vec1 1 ssa_77 = inot ssa_74 vec1 32 ssa_78 = b2f32 ssa_77 vec1 32 ssa_80 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_81 = load_const (0x3f800000 /* 1.000000 */) vec4 32 ssa_82 = vec4 ssa_75, ssa_78, ssa_80, ssa_81 vec1 32 ssa_83 = deref_var &gl_Position (shader_out vec4) vec4 32 ssa_84 = vec4 ssa_43, ssa_44, ssa_45, ssa_46 intrinsic store_deref (ssa_83, ssa_84) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_85 = deref_var &gl_FrontColor (shader_out vec4) intrinsic store_deref (ssa_85, ssa_82) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } nir_opt_cse shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 0, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 0, 0) decl_function main (0 params) impl main { decl_var INTERP_MODE_NONE vec4 flattening_tmp decl_var INTERP_MODE_NONE int const_temp decl_var INTERP_MODE_NONE int const_temp@0 decl_var INTERP_MODE_NONE int const_temp@1 decl_var INTERP_MODE_NONE int const_temp@2 decl_var INTERP_MODE_NONE ivec3 vec_ctor decl_var INTERP_MODE_NONE int const_temp@3 decl_var INTERP_MODE_NONE uint const_temp@4 decl_var INTERP_MODE_NONE vec3 const_temp@5 decl_var INTERP_MODE_NONE uint const_temp@6 decl_var INTERP_MODE_NONE vec3 const_temp@7 decl_var INTERP_MODE_NONE uint const_temp@8 decl_var INTERP_MODE_NONE vec3 const_temp@9 decl_var INTERP_MODE_NONE uint const_temp@10 decl_var INTERP_MODE_NONE bool flattening_tmp@11 decl_var INTERP_MODE_NONE bvec4 mat_cmp_bvec decl_var INTERP_MODE_NONE int const_temp@12 decl_var INTERP_MODE_NONE int const_temp@13 decl_var INTERP_MODE_NONE int const_temp@14 decl_var INTERP_MODE_NONE int const_temp@15 decl_var INTERP_MODE_NONE int const_temp@16 decl_var INTERP_MODE_NONE int const_temp@17 decl_var INTERP_MODE_NONE int const_temp@18 decl_var INTERP_MODE_NONE int const_temp@19 decl_var INTERP_MODE_NONE bvec4 const_temp@20 decl_var INTERP_MODE_NONE vec4 const_temp@21 decl_var INTERP_MODE_NONE vec4 const_temp@22 decl_var INTERP_MODE_NONE vec4 out@gl_FrontColor-temp decl_var INTERP_MODE_NONE vec4 out@gl_Position-temp decl_var INTERP_MODE_NONE vec3 (const_temp[0]) decl_var INTERP_MODE_NONE vec3 (const_temp[1]) decl_var INTERP_MODE_NONE vec3 (const_temp[2]) decl_var INTERP_MODE_NONE vec3 (const_temp[3]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[0]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[1]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[2]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[3]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[0]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[1]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[2]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[3]) block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_1 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_2 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_3 = load_const (0x00000003 /* 0.000000 */) vec3 32 ssa_7 = load_const (0x3f800000 /* 1.000000 */, 0x40000000 /* 2.000000 */, 0x40400000 /* 3.000000 */) vec1 32 ssa_8 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_9 = deref_array &(*ssa_8)[0] (uniform vec4) /* &gl_ModelViewProjectionMatrix[0] */ vec4 32 ssa_10 = intrinsic load_deref (ssa_9) (0) /* access=0 */ vec1 32 ssa_11 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_12 = intrinsic load_deref (ssa_11) (0) /* access=0 */ vec1 32 ssa_13 = fmul ssa_10.x, ssa_12.x vec1 32 ssa_14 = fmul ssa_10.y, ssa_12.x vec1 32 ssa_15 = fmul ssa_10.z, ssa_12.x vec1 32 ssa_16 = fmul ssa_10.w, ssa_12.x vec1 32 ssa_17 = deref_array &(*ssa_8)[1] (uniform vec4) /* &gl_ModelViewProjectionMatrix[1] */ vec4 32 ssa_18 = intrinsic load_deref (ssa_17) (0) /* access=0 */ vec1 32 ssa_19 = fmul ssa_18.x, ssa_12.y vec1 32 ssa_20 = fmul ssa_18.y, ssa_12.y vec1 32 ssa_21 = fmul ssa_18.z, ssa_12.y vec1 32 ssa_22 = fmul ssa_18.w, ssa_12.y vec1 32 ssa_23 = fadd ssa_13, ssa_19 vec1 32 ssa_24 = fadd ssa_14, ssa_20 vec1 32 ssa_25 = fadd ssa_15, ssa_21 vec1 32 ssa_26 = fadd ssa_16, ssa_22 vec1 32 ssa_27 = deref_array &(*ssa_8)[2] (uniform vec4) /* &gl_ModelViewProjectionMatrix[2] */ vec4 32 ssa_28 = intrinsic load_deref (ssa_27) (0) /* access=0 */ vec1 32 ssa_29 = fmul ssa_28.x, ssa_12.z vec1 32 ssa_30 = fmul ssa_28.y, ssa_12.z vec1 32 ssa_31 = fmul ssa_28.z, ssa_12.z vec1 32 ssa_32 = fmul ssa_28.w, ssa_12.z vec1 32 ssa_33 = fadd ssa_23, ssa_29 vec1 32 ssa_34 = fadd ssa_24, ssa_30 vec1 32 ssa_35 = fadd ssa_25, ssa_31 vec1 32 ssa_36 = fadd ssa_26, ssa_32 vec1 32 ssa_37 = deref_array &(*ssa_8)[3] (uniform vec4) /* &gl_ModelViewProjectionMatrix[3] */ vec4 32 ssa_38 = intrinsic load_deref (ssa_37) (0) /* access=0 */ vec1 32 ssa_39 = fmul ssa_38.x, ssa_12.w vec1 32 ssa_40 = fmul ssa_38.y, ssa_12.w vec1 32 ssa_41 = fmul ssa_38.z, ssa_12.w vec1 32 ssa_42 = fmul ssa_38.w, ssa_12.w vec1 32 ssa_43 = fadd ssa_33, ssa_39 vec1 32 ssa_44 = fadd ssa_34, ssa_40 vec1 32 ssa_45 = fadd ssa_35, ssa_41 vec1 32 ssa_46 = fadd ssa_36, ssa_42 vec1 32 ssa_47 = deref_var &j (uniform ivec2) vec2 32 ssa_48 = intrinsic load_deref (ssa_47) (0) /* access=0 */ vec1 32 ssa_50 = i2f32 ssa_48.x vec1 32 ssa_51 = i2f32 ssa_48.y vec1 1 ssa_52 = load_const (false) vec1 1 ssa_53 = fne ssa_7.y, ssa_50 vec1 1 ssa_54 = ior ssa_52, ssa_53 vec1 1 ssa_55 = fne ssa_7.z, ssa_51 vec1 1 ssa_56 = ior ssa_54, ssa_55 vec1 1 ssa_72 = ior ssa_56, ssa_52 vec1 1 ssa_73 = ior ssa_72, ssa_52 vec1 1 ssa_74 = ior ssa_73, ssa_52 vec1 32 ssa_75 = b2f32 ssa_74 vec1 1 ssa_77 = inot ssa_74 vec1 32 ssa_78 = b2f32 ssa_77 vec1 32 ssa_81 = load_const (0x3f800000 /* 1.000000 */) vec4 32 ssa_82 = vec4 ssa_75, ssa_78, ssa_0, ssa_81 vec1 32 ssa_83 = deref_var &gl_Position (shader_out vec4) vec4 32 ssa_84 = vec4 ssa_43, ssa_44, ssa_45, ssa_46 intrinsic store_deref (ssa_83, ssa_84) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_85 = deref_var &gl_FrontColor (shader_out vec4) intrinsic store_deref (ssa_85, ssa_82) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } nir_opt_peephole_select nir_opt_peephole_select nir_opt_intrinsics nir_opt_idiv_const nir_opt_algebraic shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 0, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 0, 0) decl_function main (0 params) impl main { decl_var INTERP_MODE_NONE vec4 flattening_tmp decl_var INTERP_MODE_NONE int const_temp decl_var INTERP_MODE_NONE int const_temp@0 decl_var INTERP_MODE_NONE int const_temp@1 decl_var INTERP_MODE_NONE int const_temp@2 decl_var INTERP_MODE_NONE ivec3 vec_ctor decl_var INTERP_MODE_NONE int const_temp@3 decl_var INTERP_MODE_NONE uint const_temp@4 decl_var INTERP_MODE_NONE vec3 const_temp@5 decl_var INTERP_MODE_NONE uint const_temp@6 decl_var INTERP_MODE_NONE vec3 const_temp@7 decl_var INTERP_MODE_NONE uint const_temp@8 decl_var INTERP_MODE_NONE vec3 const_temp@9 decl_var INTERP_MODE_NONE uint const_temp@10 decl_var INTERP_MODE_NONE bool flattening_tmp@11 decl_var INTERP_MODE_NONE bvec4 mat_cmp_bvec decl_var INTERP_MODE_NONE int const_temp@12 decl_var INTERP_MODE_NONE int const_temp@13 decl_var INTERP_MODE_NONE int const_temp@14 decl_var INTERP_MODE_NONE int const_temp@15 decl_var INTERP_MODE_NONE int const_temp@16 decl_var INTERP_MODE_NONE int const_temp@17 decl_var INTERP_MODE_NONE int const_temp@18 decl_var INTERP_MODE_NONE int const_temp@19 decl_var INTERP_MODE_NONE bvec4 const_temp@20 decl_var INTERP_MODE_NONE vec4 const_temp@21 decl_var INTERP_MODE_NONE vec4 const_temp@22 decl_var INTERP_MODE_NONE vec4 out@gl_FrontColor-temp decl_var INTERP_MODE_NONE vec4 out@gl_Position-temp decl_var INTERP_MODE_NONE vec3 (const_temp[0]) decl_var INTERP_MODE_NONE vec3 (const_temp[1]) decl_var INTERP_MODE_NONE vec3 (const_temp[2]) decl_var INTERP_MODE_NONE vec3 (const_temp[3]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[0]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[1]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[2]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[3]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[0]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[1]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[2]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[3]) block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_1 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_2 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_3 = load_const (0x00000003 /* 0.000000 */) vec3 32 ssa_7 = load_const (0x3f800000 /* 1.000000 */, 0x40000000 /* 2.000000 */, 0x40400000 /* 3.000000 */) vec1 32 ssa_8 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_9 = deref_array &(*ssa_8)[0] (uniform vec4) /* &gl_ModelViewProjectionMatrix[0] */ vec4 32 ssa_10 = intrinsic load_deref (ssa_9) (0) /* access=0 */ vec1 32 ssa_11 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_12 = intrinsic load_deref (ssa_11) (0) /* access=0 */ vec1 32 ssa_13 = fmul ssa_10.x, ssa_12.x vec1 32 ssa_14 = fmul ssa_10.y, ssa_12.x vec1 32 ssa_15 = fmul ssa_10.z, ssa_12.x vec1 32 ssa_16 = fmul ssa_10.w, ssa_12.x vec1 32 ssa_17 = deref_array &(*ssa_8)[1] (uniform vec4) /* &gl_ModelViewProjectionMatrix[1] */ vec4 32 ssa_18 = intrinsic load_deref (ssa_17) (0) /* access=0 */ vec1 32 ssa_19 = fmul ssa_18.x, ssa_12.y vec1 32 ssa_20 = fmul ssa_18.y, ssa_12.y vec1 32 ssa_21 = fmul ssa_18.z, ssa_12.y vec1 32 ssa_22 = fmul ssa_18.w, ssa_12.y vec1 32 ssa_23 = fadd ssa_13, ssa_19 vec1 32 ssa_24 = fadd ssa_14, ssa_20 vec1 32 ssa_25 = fadd ssa_15, ssa_21 vec1 32 ssa_26 = fadd ssa_16, ssa_22 vec1 32 ssa_27 = deref_array &(*ssa_8)[2] (uniform vec4) /* &gl_ModelViewProjectionMatrix[2] */ vec4 32 ssa_28 = intrinsic load_deref (ssa_27) (0) /* access=0 */ vec1 32 ssa_29 = fmul ssa_28.x, ssa_12.z vec1 32 ssa_30 = fmul ssa_28.y, ssa_12.z vec1 32 ssa_31 = fmul ssa_28.z, ssa_12.z vec1 32 ssa_32 = fmul ssa_28.w, ssa_12.z vec1 32 ssa_33 = fadd ssa_23, ssa_29 vec1 32 ssa_34 = fadd ssa_24, ssa_30 vec1 32 ssa_35 = fadd ssa_25, ssa_31 vec1 32 ssa_36 = fadd ssa_26, ssa_32 vec1 32 ssa_37 = deref_array &(*ssa_8)[3] (uniform vec4) /* &gl_ModelViewProjectionMatrix[3] */ vec4 32 ssa_38 = intrinsic load_deref (ssa_37) (0) /* access=0 */ vec1 32 ssa_39 = fmul ssa_38.x, ssa_12.w vec1 32 ssa_40 = fmul ssa_38.y, ssa_12.w vec1 32 ssa_41 = fmul ssa_38.z, ssa_12.w vec1 32 ssa_42 = fmul ssa_38.w, ssa_12.w vec1 32 ssa_43 = fadd ssa_33, ssa_39 vec1 32 ssa_44 = fadd ssa_34, ssa_40 vec1 32 ssa_45 = fadd ssa_35, ssa_41 vec1 32 ssa_46 = fadd ssa_36, ssa_42 vec1 32 ssa_47 = deref_var &j (uniform ivec2) vec2 32 ssa_48 = intrinsic load_deref (ssa_47) (0) /* access=0 */ vec1 32 ssa_50 = i2f32 ssa_48.x vec1 32 ssa_51 = i2f32 ssa_48.y vec1 1 ssa_52 = load_const (false) vec1 1 ssa_53 = fne ssa_7.y, ssa_50 vec1 1 ssa_89 = imov ssa_53 vec1 1 ssa_55 = fne ssa_7.z, ssa_51 vec1 1 ssa_56 = ior ssa_89, ssa_55 vec1 1 ssa_88 = imov ssa_56 vec1 1 ssa_87 = imov ssa_88 vec1 1 ssa_86 = imov ssa_87 vec1 32 ssa_75 = b2f32 ssa_86 vec1 1 ssa_77 = inot ssa_86 vec1 32 ssa_78 = b2f32 ssa_77 vec1 32 ssa_81 = load_const (0x3f800000 /* 1.000000 */) vec4 32 ssa_82 = vec4 ssa_75, ssa_78, ssa_0, ssa_81 vec1 32 ssa_83 = deref_var &gl_Position (shader_out vec4) vec4 32 ssa_84 = vec4 ssa_43, ssa_44, ssa_45, ssa_46 intrinsic store_deref (ssa_83, ssa_84) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_85 = deref_var &gl_FrontColor (shader_out vec4) intrinsic store_deref (ssa_85, ssa_82) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } nir_opt_constant_folding nir_opt_dead_cf nir_opt_trivial_continues nir_opt_if nir_opt_loop_unroll nir_opt_remove_phis nir_opt_undef nir_lower_pack nir_split_array_vars nir_shrink_vec_array_vars nir_opt_deref nir_lower_vars_to_ssa nir_opt_find_array_copies nir_opt_copy_prop_vars nir_opt_dead_write_vars nir_lower_alu_to_scalar nir_copy_prop shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 0, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 0, 0) decl_function main (0 params) impl main { decl_var INTERP_MODE_NONE vec4 flattening_tmp decl_var INTERP_MODE_NONE int const_temp decl_var INTERP_MODE_NONE int const_temp@0 decl_var INTERP_MODE_NONE int const_temp@1 decl_var INTERP_MODE_NONE int const_temp@2 decl_var INTERP_MODE_NONE ivec3 vec_ctor decl_var INTERP_MODE_NONE int const_temp@3 decl_var INTERP_MODE_NONE uint const_temp@4 decl_var INTERP_MODE_NONE vec3 const_temp@5 decl_var INTERP_MODE_NONE uint const_temp@6 decl_var INTERP_MODE_NONE vec3 const_temp@7 decl_var INTERP_MODE_NONE uint const_temp@8 decl_var INTERP_MODE_NONE vec3 const_temp@9 decl_var INTERP_MODE_NONE uint const_temp@10 decl_var INTERP_MODE_NONE bool flattening_tmp@11 decl_var INTERP_MODE_NONE bvec4 mat_cmp_bvec decl_var INTERP_MODE_NONE int const_temp@12 decl_var INTERP_MODE_NONE int const_temp@13 decl_var INTERP_MODE_NONE int const_temp@14 decl_var INTERP_MODE_NONE int const_temp@15 decl_var INTERP_MODE_NONE int const_temp@16 decl_var INTERP_MODE_NONE int const_temp@17 decl_var INTERP_MODE_NONE int const_temp@18 decl_var INTERP_MODE_NONE int const_temp@19 decl_var INTERP_MODE_NONE bvec4 const_temp@20 decl_var INTERP_MODE_NONE vec4 const_temp@21 decl_var INTERP_MODE_NONE vec4 const_temp@22 decl_var INTERP_MODE_NONE vec4 out@gl_FrontColor-temp decl_var INTERP_MODE_NONE vec4 out@gl_Position-temp decl_var INTERP_MODE_NONE vec3 (const_temp[0]) decl_var INTERP_MODE_NONE vec3 (const_temp[1]) decl_var INTERP_MODE_NONE vec3 (const_temp[2]) decl_var INTERP_MODE_NONE vec3 (const_temp[3]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[0]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[1]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[2]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[3]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[0]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[1]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[2]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[3]) block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_1 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_2 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_3 = load_const (0x00000003 /* 0.000000 */) vec3 32 ssa_4 = load_const (0x3f800000 /* 1.000000 */, 0x40000000 /* 2.000000 */, 0x40400000 /* 3.000000 */) vec1 32 ssa_5 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_6 = deref_array &(*ssa_5)[0] (uniform vec4) /* &gl_ModelViewProjectionMatrix[0] */ vec4 32 ssa_7 = intrinsic load_deref (ssa_6) (0) /* access=0 */ vec1 32 ssa_8 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_9 = intrinsic load_deref (ssa_8) (0) /* access=0 */ vec1 32 ssa_10 = fmul ssa_7.x, ssa_9.x vec1 32 ssa_11 = fmul ssa_7.y, ssa_9.x vec1 32 ssa_12 = fmul ssa_7.z, ssa_9.x vec1 32 ssa_13 = fmul ssa_7.w, ssa_9.x vec1 32 ssa_14 = deref_array &(*ssa_5)[1] (uniform vec4) /* &gl_ModelViewProjectionMatrix[1] */ vec4 32 ssa_15 = intrinsic load_deref (ssa_14) (0) /* access=0 */ vec1 32 ssa_16 = fmul ssa_15.x, ssa_9.y vec1 32 ssa_17 = fmul ssa_15.y, ssa_9.y vec1 32 ssa_18 = fmul ssa_15.z, ssa_9.y vec1 32 ssa_19 = fmul ssa_15.w, ssa_9.y vec1 32 ssa_20 = fadd ssa_10, ssa_16 vec1 32 ssa_21 = fadd ssa_11, ssa_17 vec1 32 ssa_22 = fadd ssa_12, ssa_18 vec1 32 ssa_23 = fadd ssa_13, ssa_19 vec1 32 ssa_24 = deref_array &(*ssa_5)[2] (uniform vec4) /* &gl_ModelViewProjectionMatrix[2] */ vec4 32 ssa_25 = intrinsic load_deref (ssa_24) (0) /* access=0 */ vec1 32 ssa_26 = fmul ssa_25.x, ssa_9.z vec1 32 ssa_27 = fmul ssa_25.y, ssa_9.z vec1 32 ssa_28 = fmul ssa_25.z, ssa_9.z vec1 32 ssa_29 = fmul ssa_25.w, ssa_9.z vec1 32 ssa_30 = fadd ssa_20, ssa_26 vec1 32 ssa_31 = fadd ssa_21, ssa_27 vec1 32 ssa_32 = fadd ssa_22, ssa_28 vec1 32 ssa_33 = fadd ssa_23, ssa_29 vec1 32 ssa_34 = deref_array &(*ssa_5)[3] (uniform vec4) /* &gl_ModelViewProjectionMatrix[3] */ vec4 32 ssa_35 = intrinsic load_deref (ssa_34) (0) /* access=0 */ vec1 32 ssa_36 = fmul ssa_35.x, ssa_9.w vec1 32 ssa_37 = fmul ssa_35.y, ssa_9.w vec1 32 ssa_38 = fmul ssa_35.z, ssa_9.w vec1 32 ssa_39 = fmul ssa_35.w, ssa_9.w vec1 32 ssa_40 = fadd ssa_30, ssa_36 vec1 32 ssa_41 = fadd ssa_31, ssa_37 vec1 32 ssa_42 = fadd ssa_32, ssa_38 vec1 32 ssa_43 = fadd ssa_33, ssa_39 vec1 32 ssa_44 = deref_var &j (uniform ivec2) vec2 32 ssa_45 = intrinsic load_deref (ssa_44) (0) /* access=0 */ vec1 32 ssa_46 = i2f32 ssa_45.x vec1 32 ssa_47 = i2f32 ssa_45.y vec1 1 ssa_48 = load_const (false) vec1 1 ssa_49 = fne ssa_4.y, ssa_46 vec1 1 ssa_50 = imov ssa_49 vec1 1 ssa_51 = fne ssa_4.z, ssa_47 vec1 1 ssa_52 = ior ssa_49, ssa_51 vec1 1 ssa_53 = imov ssa_52 vec1 1 ssa_54 = imov ssa_52 vec1 1 ssa_55 = imov ssa_52 vec1 32 ssa_56 = b2f32 ssa_52 vec1 1 ssa_57 = inot ssa_52 vec1 32 ssa_58 = b2f32 ssa_57 vec1 32 ssa_59 = load_const (0x3f800000 /* 1.000000 */) vec4 32 ssa_60 = vec4 ssa_56, ssa_58, ssa_0, ssa_59 vec1 32 ssa_61 = deref_var &gl_Position (shader_out vec4) vec4 32 ssa_62 = vec4 ssa_40, ssa_41, ssa_42, ssa_43 intrinsic store_deref (ssa_61, ssa_62) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_63 = deref_var &gl_FrontColor (shader_out vec4) intrinsic store_deref (ssa_63, ssa_60) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } nir_lower_phis_to_scalar nir_copy_prop nir_opt_dce shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 0, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 0, 0) decl_function main (0 params) impl main { decl_var INTERP_MODE_NONE vec4 flattening_tmp decl_var INTERP_MODE_NONE int const_temp decl_var INTERP_MODE_NONE int const_temp@0 decl_var INTERP_MODE_NONE int const_temp@1 decl_var INTERP_MODE_NONE int const_temp@2 decl_var INTERP_MODE_NONE ivec3 vec_ctor decl_var INTERP_MODE_NONE int const_temp@3 decl_var INTERP_MODE_NONE uint const_temp@4 decl_var INTERP_MODE_NONE vec3 const_temp@5 decl_var INTERP_MODE_NONE uint const_temp@6 decl_var INTERP_MODE_NONE vec3 const_temp@7 decl_var INTERP_MODE_NONE uint const_temp@8 decl_var INTERP_MODE_NONE vec3 const_temp@9 decl_var INTERP_MODE_NONE uint const_temp@10 decl_var INTERP_MODE_NONE bool flattening_tmp@11 decl_var INTERP_MODE_NONE bvec4 mat_cmp_bvec decl_var INTERP_MODE_NONE int const_temp@12 decl_var INTERP_MODE_NONE int const_temp@13 decl_var INTERP_MODE_NONE int const_temp@14 decl_var INTERP_MODE_NONE int const_temp@15 decl_var INTERP_MODE_NONE int const_temp@16 decl_var INTERP_MODE_NONE int const_temp@17 decl_var INTERP_MODE_NONE int const_temp@18 decl_var INTERP_MODE_NONE int const_temp@19 decl_var INTERP_MODE_NONE bvec4 const_temp@20 decl_var INTERP_MODE_NONE vec4 const_temp@21 decl_var INTERP_MODE_NONE vec4 const_temp@22 decl_var INTERP_MODE_NONE vec4 out@gl_FrontColor-temp decl_var INTERP_MODE_NONE vec4 out@gl_Position-temp decl_var INTERP_MODE_NONE vec3 (const_temp[0]) decl_var INTERP_MODE_NONE vec3 (const_temp[1]) decl_var INTERP_MODE_NONE vec3 (const_temp[2]) decl_var INTERP_MODE_NONE vec3 (const_temp[3]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[0]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[1]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[2]) decl_var INTERP_MODE_NONE vec3 (mat_ctor[3]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[0]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[1]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[2]) decl_var INTERP_MODE_NONE vec3 (mat_op_to_vec[3]) block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_1 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_2 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_3 = load_const (0x00000003 /* 0.000000 */) vec3 32 ssa_4 = load_const (0x3f800000 /* 1.000000 */, 0x40000000 /* 2.000000 */, 0x40400000 /* 3.000000 */) vec1 32 ssa_5 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_6 = deref_array &(*ssa_5)[0] (uniform vec4) /* &gl_ModelViewProjectionMatrix[0] */ vec4 32 ssa_7 = intrinsic load_deref (ssa_6) (0) /* access=0 */ vec1 32 ssa_8 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_9 = intrinsic load_deref (ssa_8) (0) /* access=0 */ vec1 32 ssa_10 = fmul ssa_7.x, ssa_9.x vec1 32 ssa_11 = fmul ssa_7.y, ssa_9.x vec1 32 ssa_12 = fmul ssa_7.z, ssa_9.x vec1 32 ssa_13 = fmul ssa_7.w, ssa_9.x vec1 32 ssa_14 = deref_array &(*ssa_5)[1] (uniform vec4) /* &gl_ModelViewProjectionMatrix[1] */ vec4 32 ssa_15 = intrinsic load_deref (ssa_14) (0) /* access=0 */ vec1 32 ssa_16 = fmul ssa_15.x, ssa_9.y vec1 32 ssa_17 = fmul ssa_15.y, ssa_9.y vec1 32 ssa_18 = fmul ssa_15.z, ssa_9.y vec1 32 ssa_19 = fmul ssa_15.w, ssa_9.y vec1 32 ssa_20 = fadd ssa_10, ssa_16 vec1 32 ssa_21 = fadd ssa_11, ssa_17 vec1 32 ssa_22 = fadd ssa_12, ssa_18 vec1 32 ssa_23 = fadd ssa_13, ssa_19 vec1 32 ssa_24 = deref_array &(*ssa_5)[2] (uniform vec4) /* &gl_ModelViewProjectionMatrix[2] */ vec4 32 ssa_25 = intrinsic load_deref (ssa_24) (0) /* access=0 */ vec1 32 ssa_26 = fmul ssa_25.x, ssa_9.z vec1 32 ssa_27 = fmul ssa_25.y, ssa_9.z vec1 32 ssa_28 = fmul ssa_25.z, ssa_9.z vec1 32 ssa_29 = fmul ssa_25.w, ssa_9.z vec1 32 ssa_30 = fadd ssa_20, ssa_26 vec1 32 ssa_31 = fadd ssa_21, ssa_27 vec1 32 ssa_32 = fadd ssa_22, ssa_28 vec1 32 ssa_33 = fadd ssa_23, ssa_29 vec1 32 ssa_34 = deref_array &(*ssa_5)[3] (uniform vec4) /* &gl_ModelViewProjectionMatrix[3] */ vec4 32 ssa_35 = intrinsic load_deref (ssa_34) (0) /* access=0 */ vec1 32 ssa_36 = fmul ssa_35.x, ssa_9.w vec1 32 ssa_37 = fmul ssa_35.y, ssa_9.w vec1 32 ssa_38 = fmul ssa_35.z, ssa_9.w vec1 32 ssa_39 = fmul ssa_35.w, ssa_9.w vec1 32 ssa_40 = fadd ssa_30, ssa_36 vec1 32 ssa_41 = fadd ssa_31, ssa_37 vec1 32 ssa_42 = fadd ssa_32, ssa_38 vec1 32 ssa_43 = fadd ssa_33, ssa_39 vec1 32 ssa_44 = deref_var &j (uniform ivec2) vec2 32 ssa_45 = intrinsic load_deref (ssa_44) (0) /* access=0 */ vec1 32 ssa_46 = i2f32 ssa_45.x vec1 32 ssa_47 = i2f32 ssa_45.y vec1 1 ssa_49 = fne ssa_4.y, ssa_46 vec1 1 ssa_51 = fne ssa_4.z, ssa_47 vec1 1 ssa_52 = ior ssa_49, ssa_51 vec1 32 ssa_56 = b2f32 ssa_52 vec1 1 ssa_57 = inot ssa_52 vec1 32 ssa_58 = b2f32 ssa_57 vec1 32 ssa_59 = load_const (0x3f800000 /* 1.000000 */) vec4 32 ssa_60 = vec4 ssa_56, ssa_58, ssa_0, ssa_59 vec1 32 ssa_61 = deref_var &gl_Position (shader_out vec4) vec4 32 ssa_62 = vec4 ssa_40, ssa_41, ssa_42, ssa_43 intrinsic store_deref (ssa_61, ssa_62) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_63 = deref_var &gl_FrontColor (shader_out vec4) intrinsic store_deref (ssa_63, ssa_60) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } nir_opt_cse nir_opt_peephole_select nir_opt_peephole_select nir_opt_intrinsics nir_opt_idiv_const nir_opt_algebraic nir_opt_constant_folding nir_opt_dead_cf nir_opt_trivial_continues nir_opt_if nir_opt_loop_unroll nir_opt_remove_phis nir_opt_undef nir_lower_pack nir_split_array_vars nir_shrink_vec_array_vars nir_opt_deref nir_lower_vars_to_ssa nir_opt_find_array_copies nir_opt_copy_prop_vars nir_opt_dead_write_vars nir_lower_alu_to_scalar nir_copy_prop nir_lower_phis_to_scalar nir_copy_prop nir_opt_dce nir_opt_cse nir_opt_peephole_select nir_opt_peephole_select nir_opt_intrinsics nir_opt_idiv_const nir_opt_algebraic nir_opt_constant_folding nir_opt_dead_cf nir_opt_trivial_continues nir_opt_if nir_opt_loop_unroll nir_opt_remove_phis nir_opt_undef nir_lower_pack nir_remove_dead_variables shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 0, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 0, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_1 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_2 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_3 = load_const (0x00000003 /* 0.000000 */) vec3 32 ssa_4 = load_const (0x3f800000 /* 1.000000 */, 0x40000000 /* 2.000000 */, 0x40400000 /* 3.000000 */) vec1 32 ssa_5 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_6 = deref_array &(*ssa_5)[0] (uniform vec4) /* &gl_ModelViewProjectionMatrix[0] */ vec4 32 ssa_7 = intrinsic load_deref (ssa_6) (0) /* access=0 */ vec1 32 ssa_8 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_9 = intrinsic load_deref (ssa_8) (0) /* access=0 */ vec1 32 ssa_10 = fmul ssa_7.x, ssa_9.x vec1 32 ssa_11 = fmul ssa_7.y, ssa_9.x vec1 32 ssa_12 = fmul ssa_7.z, ssa_9.x vec1 32 ssa_13 = fmul ssa_7.w, ssa_9.x vec1 32 ssa_14 = deref_array &(*ssa_5)[1] (uniform vec4) /* &gl_ModelViewProjectionMatrix[1] */ vec4 32 ssa_15 = intrinsic load_deref (ssa_14) (0) /* access=0 */ vec1 32 ssa_16 = fmul ssa_15.x, ssa_9.y vec1 32 ssa_17 = fmul ssa_15.y, ssa_9.y vec1 32 ssa_18 = fmul ssa_15.z, ssa_9.y vec1 32 ssa_19 = fmul ssa_15.w, ssa_9.y vec1 32 ssa_20 = fadd ssa_10, ssa_16 vec1 32 ssa_21 = fadd ssa_11, ssa_17 vec1 32 ssa_22 = fadd ssa_12, ssa_18 vec1 32 ssa_23 = fadd ssa_13, ssa_19 vec1 32 ssa_24 = deref_array &(*ssa_5)[2] (uniform vec4) /* &gl_ModelViewProjectionMatrix[2] */ vec4 32 ssa_25 = intrinsic load_deref (ssa_24) (0) /* access=0 */ vec1 32 ssa_26 = fmul ssa_25.x, ssa_9.z vec1 32 ssa_27 = fmul ssa_25.y, ssa_9.z vec1 32 ssa_28 = fmul ssa_25.z, ssa_9.z vec1 32 ssa_29 = fmul ssa_25.w, ssa_9.z vec1 32 ssa_30 = fadd ssa_20, ssa_26 vec1 32 ssa_31 = fadd ssa_21, ssa_27 vec1 32 ssa_32 = fadd ssa_22, ssa_28 vec1 32 ssa_33 = fadd ssa_23, ssa_29 vec1 32 ssa_34 = deref_array &(*ssa_5)[3] (uniform vec4) /* &gl_ModelViewProjectionMatrix[3] */ vec4 32 ssa_35 = intrinsic load_deref (ssa_34) (0) /* access=0 */ vec1 32 ssa_36 = fmul ssa_35.x, ssa_9.w vec1 32 ssa_37 = fmul ssa_35.y, ssa_9.w vec1 32 ssa_38 = fmul ssa_35.z, ssa_9.w vec1 32 ssa_39 = fmul ssa_35.w, ssa_9.w vec1 32 ssa_40 = fadd ssa_30, ssa_36 vec1 32 ssa_41 = fadd ssa_31, ssa_37 vec1 32 ssa_42 = fadd ssa_32, ssa_38 vec1 32 ssa_43 = fadd ssa_33, ssa_39 vec1 32 ssa_44 = deref_var &j (uniform ivec2) vec2 32 ssa_45 = intrinsic load_deref (ssa_44) (0) /* access=0 */ vec1 32 ssa_46 = i2f32 ssa_45.x vec1 32 ssa_47 = i2f32 ssa_45.y vec1 1 ssa_48 = fne ssa_4.y, ssa_46 vec1 1 ssa_49 = fne ssa_4.z, ssa_47 vec1 1 ssa_50 = ior ssa_48, ssa_49 vec1 32 ssa_51 = b2f32 ssa_50 vec1 1 ssa_52 = inot ssa_50 vec1 32 ssa_53 = b2f32 ssa_52 vec1 32 ssa_54 = load_const (0x3f800000 /* 1.000000 */) vec4 32 ssa_55 = vec4 ssa_51, ssa_53, ssa_0, ssa_54 vec1 32 ssa_56 = deref_var &gl_Position (shader_out vec4) vec4 32 ssa_57 = vec4 ssa_40, ssa_41, ssa_42, ssa_43 intrinsic store_deref (ssa_56, ssa_57) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_58 = deref_var &gl_FrontColor (shader_out vec4) intrinsic store_deref (ssa_58, ssa_55) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } nir_lower_bit_size nir_lower_load_const_to_scalar shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 0, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 0, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_1 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_2 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_3 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_59 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_60 = load_const (0x40000000 /* 2.000000 */) vec1 32 ssa_61 = load_const (0x40400000 /* 3.000000 */) vec3 32 ssa_62 = vec3 ssa_59, ssa_60, ssa_61 vec1 32 ssa_5 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_6 = deref_array &(*ssa_5)[0] (uniform vec4) /* &gl_ModelViewProjectionMatrix[0] */ vec4 32 ssa_7 = intrinsic load_deref (ssa_6) (0) /* access=0 */ vec1 32 ssa_8 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_9 = intrinsic load_deref (ssa_8) (0) /* access=0 */ vec1 32 ssa_10 = fmul ssa_7.x, ssa_9.x vec1 32 ssa_11 = fmul ssa_7.y, ssa_9.x vec1 32 ssa_12 = fmul ssa_7.z, ssa_9.x vec1 32 ssa_13 = fmul ssa_7.w, ssa_9.x vec1 32 ssa_14 = deref_array &(*ssa_5)[1] (uniform vec4) /* &gl_ModelViewProjectionMatrix[1] */ vec4 32 ssa_15 = intrinsic load_deref (ssa_14) (0) /* access=0 */ vec1 32 ssa_16 = fmul ssa_15.x, ssa_9.y vec1 32 ssa_17 = fmul ssa_15.y, ssa_9.y vec1 32 ssa_18 = fmul ssa_15.z, ssa_9.y vec1 32 ssa_19 = fmul ssa_15.w, ssa_9.y vec1 32 ssa_20 = fadd ssa_10, ssa_16 vec1 32 ssa_21 = fadd ssa_11, ssa_17 vec1 32 ssa_22 = fadd ssa_12, ssa_18 vec1 32 ssa_23 = fadd ssa_13, ssa_19 vec1 32 ssa_24 = deref_array &(*ssa_5)[2] (uniform vec4) /* &gl_ModelViewProjectionMatrix[2] */ vec4 32 ssa_25 = intrinsic load_deref (ssa_24) (0) /* access=0 */ vec1 32 ssa_26 = fmul ssa_25.x, ssa_9.z vec1 32 ssa_27 = fmul ssa_25.y, ssa_9.z vec1 32 ssa_28 = fmul ssa_25.z, ssa_9.z vec1 32 ssa_29 = fmul ssa_25.w, ssa_9.z vec1 32 ssa_30 = fadd ssa_20, ssa_26 vec1 32 ssa_31 = fadd ssa_21, ssa_27 vec1 32 ssa_32 = fadd ssa_22, ssa_28 vec1 32 ssa_33 = fadd ssa_23, ssa_29 vec1 32 ssa_34 = deref_array &(*ssa_5)[3] (uniform vec4) /* &gl_ModelViewProjectionMatrix[3] */ vec4 32 ssa_35 = intrinsic load_deref (ssa_34) (0) /* access=0 */ vec1 32 ssa_36 = fmul ssa_35.x, ssa_9.w vec1 32 ssa_37 = fmul ssa_35.y, ssa_9.w vec1 32 ssa_38 = fmul ssa_35.z, ssa_9.w vec1 32 ssa_39 = fmul ssa_35.w, ssa_9.w vec1 32 ssa_40 = fadd ssa_30, ssa_36 vec1 32 ssa_41 = fadd ssa_31, ssa_37 vec1 32 ssa_42 = fadd ssa_32, ssa_38 vec1 32 ssa_43 = fadd ssa_33, ssa_39 vec1 32 ssa_44 = deref_var &j (uniform ivec2) vec2 32 ssa_45 = intrinsic load_deref (ssa_44) (0) /* access=0 */ vec1 32 ssa_46 = i2f32 ssa_45.x vec1 32 ssa_47 = i2f32 ssa_45.y vec1 1 ssa_48 = fne ssa_62.y, ssa_46 vec1 1 ssa_49 = fne ssa_62.z, ssa_47 vec1 1 ssa_50 = ior ssa_48, ssa_49 vec1 32 ssa_51 = b2f32 ssa_50 vec1 1 ssa_52 = inot ssa_50 vec1 32 ssa_53 = b2f32 ssa_52 vec1 32 ssa_54 = load_const (0x3f800000 /* 1.000000 */) vec4 32 ssa_55 = vec4 ssa_51, ssa_53, ssa_0, ssa_54 vec1 32 ssa_56 = deref_var &gl_Position (shader_out vec4) vec4 32 ssa_57 = vec4 ssa_40, ssa_41, ssa_42, ssa_43 intrinsic store_deref (ssa_56, ssa_57) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_58 = deref_var &gl_FrontColor (shader_out vec4) intrinsic store_deref (ssa_58, ssa_55) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } nir_lower_var_copies nir_lower_system_values nir_lower_subgroups nir_lower_clip_cull_distance_arrays nir_lower_indirect_derefs brw_nir_lower_mem_access_bit_sizes nir_split_array_vars nir_shrink_vec_array_vars nir_opt_deref nir_lower_vars_to_ssa nir_opt_copy_prop_vars nir_opt_dead_write_vars nir_lower_alu_to_scalar nir_copy_prop shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 0, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 0, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_1 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_2 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_3 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_59 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_60 = load_const (0x40000000 /* 2.000000 */) vec1 32 ssa_61 = load_const (0x40400000 /* 3.000000 */) vec3 32 ssa_62 = vec3 ssa_59, ssa_60, ssa_61 vec1 32 ssa_5 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_6 = deref_array &(*ssa_5)[0] (uniform vec4) /* &gl_ModelViewProjectionMatrix[0] */ vec4 32 ssa_7 = intrinsic load_deref (ssa_6) (0) /* access=0 */ vec1 32 ssa_8 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_9 = intrinsic load_deref (ssa_8) (0) /* access=0 */ vec1 32 ssa_10 = fmul ssa_7.x, ssa_9.x vec1 32 ssa_11 = fmul ssa_7.y, ssa_9.x vec1 32 ssa_12 = fmul ssa_7.z, ssa_9.x vec1 32 ssa_13 = fmul ssa_7.w, ssa_9.x vec1 32 ssa_14 = deref_array &(*ssa_5)[1] (uniform vec4) /* &gl_ModelViewProjectionMatrix[1] */ vec4 32 ssa_15 = intrinsic load_deref (ssa_14) (0) /* access=0 */ vec1 32 ssa_16 = fmul ssa_15.x, ssa_9.y vec1 32 ssa_17 = fmul ssa_15.y, ssa_9.y vec1 32 ssa_18 = fmul ssa_15.z, ssa_9.y vec1 32 ssa_19 = fmul ssa_15.w, ssa_9.y vec1 32 ssa_20 = fadd ssa_10, ssa_16 vec1 32 ssa_21 = fadd ssa_11, ssa_17 vec1 32 ssa_22 = fadd ssa_12, ssa_18 vec1 32 ssa_23 = fadd ssa_13, ssa_19 vec1 32 ssa_24 = deref_array &(*ssa_5)[2] (uniform vec4) /* &gl_ModelViewProjectionMatrix[2] */ vec4 32 ssa_25 = intrinsic load_deref (ssa_24) (0) /* access=0 */ vec1 32 ssa_26 = fmul ssa_25.x, ssa_9.z vec1 32 ssa_27 = fmul ssa_25.y, ssa_9.z vec1 32 ssa_28 = fmul ssa_25.z, ssa_9.z vec1 32 ssa_29 = fmul ssa_25.w, ssa_9.z vec1 32 ssa_30 = fadd ssa_20, ssa_26 vec1 32 ssa_31 = fadd ssa_21, ssa_27 vec1 32 ssa_32 = fadd ssa_22, ssa_28 vec1 32 ssa_33 = fadd ssa_23, ssa_29 vec1 32 ssa_34 = deref_array &(*ssa_5)[3] (uniform vec4) /* &gl_ModelViewProjectionMatrix[3] */ vec4 32 ssa_35 = intrinsic load_deref (ssa_34) (0) /* access=0 */ vec1 32 ssa_36 = fmul ssa_35.x, ssa_9.w vec1 32 ssa_37 = fmul ssa_35.y, ssa_9.w vec1 32 ssa_38 = fmul ssa_35.z, ssa_9.w vec1 32 ssa_39 = fmul ssa_35.w, ssa_9.w vec1 32 ssa_40 = fadd ssa_30, ssa_36 vec1 32 ssa_41 = fadd ssa_31, ssa_37 vec1 32 ssa_42 = fadd ssa_32, ssa_38 vec1 32 ssa_43 = fadd ssa_33, ssa_39 vec1 32 ssa_44 = deref_var &j (uniform ivec2) vec2 32 ssa_45 = intrinsic load_deref (ssa_44) (0) /* access=0 */ vec1 32 ssa_46 = i2f32 ssa_45.x vec1 32 ssa_47 = i2f32 ssa_45.y vec1 1 ssa_48 = fne ssa_60, ssa_46 vec1 1 ssa_49 = fne ssa_61, ssa_47 vec1 1 ssa_50 = ior ssa_48, ssa_49 vec1 32 ssa_51 = b2f32 ssa_50 vec1 1 ssa_52 = inot ssa_50 vec1 32 ssa_53 = b2f32 ssa_52 vec1 32 ssa_54 = load_const (0x3f800000 /* 1.000000 */) vec4 32 ssa_55 = vec4 ssa_51, ssa_53, ssa_0, ssa_54 vec1 32 ssa_56 = deref_var &gl_Position (shader_out vec4) vec4 32 ssa_57 = vec4 ssa_40, ssa_41, ssa_42, ssa_43 intrinsic store_deref (ssa_56, ssa_57) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_58 = deref_var &gl_FrontColor (shader_out vec4) intrinsic store_deref (ssa_58, ssa_55) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } nir_lower_phis_to_scalar nir_copy_prop nir_opt_dce shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 0, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 0, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_1 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_2 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_3 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_60 = load_const (0x40000000 /* 2.000000 */) vec1 32 ssa_61 = load_const (0x40400000 /* 3.000000 */) vec1 32 ssa_5 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_6 = deref_array &(*ssa_5)[0] (uniform vec4) /* &gl_ModelViewProjectionMatrix[0] */ vec4 32 ssa_7 = intrinsic load_deref (ssa_6) (0) /* access=0 */ vec1 32 ssa_8 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_9 = intrinsic load_deref (ssa_8) (0) /* access=0 */ vec1 32 ssa_10 = fmul ssa_7.x, ssa_9.x vec1 32 ssa_11 = fmul ssa_7.y, ssa_9.x vec1 32 ssa_12 = fmul ssa_7.z, ssa_9.x vec1 32 ssa_13 = fmul ssa_7.w, ssa_9.x vec1 32 ssa_14 = deref_array &(*ssa_5)[1] (uniform vec4) /* &gl_ModelViewProjectionMatrix[1] */ vec4 32 ssa_15 = intrinsic load_deref (ssa_14) (0) /* access=0 */ vec1 32 ssa_16 = fmul ssa_15.x, ssa_9.y vec1 32 ssa_17 = fmul ssa_15.y, ssa_9.y vec1 32 ssa_18 = fmul ssa_15.z, ssa_9.y vec1 32 ssa_19 = fmul ssa_15.w, ssa_9.y vec1 32 ssa_20 = fadd ssa_10, ssa_16 vec1 32 ssa_21 = fadd ssa_11, ssa_17 vec1 32 ssa_22 = fadd ssa_12, ssa_18 vec1 32 ssa_23 = fadd ssa_13, ssa_19 vec1 32 ssa_24 = deref_array &(*ssa_5)[2] (uniform vec4) /* &gl_ModelViewProjectionMatrix[2] */ vec4 32 ssa_25 = intrinsic load_deref (ssa_24) (0) /* access=0 */ vec1 32 ssa_26 = fmul ssa_25.x, ssa_9.z vec1 32 ssa_27 = fmul ssa_25.y, ssa_9.z vec1 32 ssa_28 = fmul ssa_25.z, ssa_9.z vec1 32 ssa_29 = fmul ssa_25.w, ssa_9.z vec1 32 ssa_30 = fadd ssa_20, ssa_26 vec1 32 ssa_31 = fadd ssa_21, ssa_27 vec1 32 ssa_32 = fadd ssa_22, ssa_28 vec1 32 ssa_33 = fadd ssa_23, ssa_29 vec1 32 ssa_34 = deref_array &(*ssa_5)[3] (uniform vec4) /* &gl_ModelViewProjectionMatrix[3] */ vec4 32 ssa_35 = intrinsic load_deref (ssa_34) (0) /* access=0 */ vec1 32 ssa_36 = fmul ssa_35.x, ssa_9.w vec1 32 ssa_37 = fmul ssa_35.y, ssa_9.w vec1 32 ssa_38 = fmul ssa_35.z, ssa_9.w vec1 32 ssa_39 = fmul ssa_35.w, ssa_9.w vec1 32 ssa_40 = fadd ssa_30, ssa_36 vec1 32 ssa_41 = fadd ssa_31, ssa_37 vec1 32 ssa_42 = fadd ssa_32, ssa_38 vec1 32 ssa_43 = fadd ssa_33, ssa_39 vec1 32 ssa_44 = deref_var &j (uniform ivec2) vec2 32 ssa_45 = intrinsic load_deref (ssa_44) (0) /* access=0 */ vec1 32 ssa_46 = i2f32 ssa_45.x vec1 32 ssa_47 = i2f32 ssa_45.y vec1 1 ssa_48 = fne ssa_60, ssa_46 vec1 1 ssa_49 = fne ssa_61, ssa_47 vec1 1 ssa_50 = ior ssa_48, ssa_49 vec1 32 ssa_51 = b2f32 ssa_50 vec1 1 ssa_52 = inot ssa_50 vec1 32 ssa_53 = b2f32 ssa_52 vec1 32 ssa_54 = load_const (0x3f800000 /* 1.000000 */) vec4 32 ssa_55 = vec4 ssa_51, ssa_53, ssa_0, ssa_54 vec1 32 ssa_56 = deref_var &gl_Position (shader_out vec4) vec4 32 ssa_57 = vec4 ssa_40, ssa_41, ssa_42, ssa_43 intrinsic store_deref (ssa_56, ssa_57) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_58 = deref_var &gl_FrontColor (shader_out vec4) intrinsic store_deref (ssa_58, ssa_55) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } nir_opt_cse nir_opt_peephole_select nir_opt_peephole_select nir_opt_intrinsics nir_opt_idiv_const nir_opt_algebraic nir_opt_constant_folding nir_opt_dead_cf nir_opt_trivial_continues nir_opt_if nir_opt_loop_unroll nir_opt_remove_phis nir_opt_undef nir_lower_pack nir_split_array_vars nir_shrink_vec_array_vars nir_opt_deref nir_lower_vars_to_ssa nir_opt_copy_prop_vars nir_opt_dead_write_vars nir_lower_alu_to_scalar nir_copy_prop nir_lower_phis_to_scalar nir_copy_prop nir_opt_dce nir_opt_cse nir_opt_peephole_select nir_opt_peephole_select nir_opt_intrinsics nir_opt_idiv_const nir_opt_algebraic nir_opt_constant_folding nir_opt_dead_cf nir_opt_trivial_continues nir_opt_if nir_opt_loop_unroll nir_opt_remove_phis nir_opt_undef nir_lower_pack nir_remove_dead_variables brw_nir_lower_image_load_store shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 0, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 0, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_1 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_2 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_3 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_4 = load_const (0x40000000 /* 2.000000 */) vec1 32 ssa_5 = load_const (0x40400000 /* 3.000000 */) vec1 32 ssa_6 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_7 = deref_array &(*ssa_6)[0] (uniform vec4) /* &gl_ModelViewProjectionMatrix[0] */ vec4 32 ssa_8 = intrinsic load_deref (ssa_7) (0) /* access=0 */ vec1 32 ssa_9 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_10 = intrinsic load_deref (ssa_9) (0) /* access=0 */ vec1 32 ssa_11 = fmul ssa_8.x, ssa_10.x vec1 32 ssa_12 = fmul ssa_8.y, ssa_10.x vec1 32 ssa_13 = fmul ssa_8.z, ssa_10.x vec1 32 ssa_14 = fmul ssa_8.w, ssa_10.x vec1 32 ssa_15 = deref_array &(*ssa_6)[1] (uniform vec4) /* &gl_ModelViewProjectionMatrix[1] */ vec4 32 ssa_16 = intrinsic load_deref (ssa_15) (0) /* access=0 */ vec1 32 ssa_17 = fmul ssa_16.x, ssa_10.y vec1 32 ssa_18 = fmul ssa_16.y, ssa_10.y vec1 32 ssa_19 = fmul ssa_16.z, ssa_10.y vec1 32 ssa_20 = fmul ssa_16.w, ssa_10.y vec1 32 ssa_21 = fadd ssa_11, ssa_17 vec1 32 ssa_22 = fadd ssa_12, ssa_18 vec1 32 ssa_23 = fadd ssa_13, ssa_19 vec1 32 ssa_24 = fadd ssa_14, ssa_20 vec1 32 ssa_25 = deref_array &(*ssa_6)[2] (uniform vec4) /* &gl_ModelViewProjectionMatrix[2] */ vec4 32 ssa_26 = intrinsic load_deref (ssa_25) (0) /* access=0 */ vec1 32 ssa_27 = fmul ssa_26.x, ssa_10.z vec1 32 ssa_28 = fmul ssa_26.y, ssa_10.z vec1 32 ssa_29 = fmul ssa_26.z, ssa_10.z vec1 32 ssa_30 = fmul ssa_26.w, ssa_10.z vec1 32 ssa_31 = fadd ssa_21, ssa_27 vec1 32 ssa_32 = fadd ssa_22, ssa_28 vec1 32 ssa_33 = fadd ssa_23, ssa_29 vec1 32 ssa_34 = fadd ssa_24, ssa_30 vec1 32 ssa_35 = deref_array &(*ssa_6)[3] (uniform vec4) /* &gl_ModelViewProjectionMatrix[3] */ vec4 32 ssa_36 = intrinsic load_deref (ssa_35) (0) /* access=0 */ vec1 32 ssa_37 = fmul ssa_36.x, ssa_10.w vec1 32 ssa_38 = fmul ssa_36.y, ssa_10.w vec1 32 ssa_39 = fmul ssa_36.z, ssa_10.w vec1 32 ssa_40 = fmul ssa_36.w, ssa_10.w vec1 32 ssa_41 = fadd ssa_31, ssa_37 vec1 32 ssa_42 = fadd ssa_32, ssa_38 vec1 32 ssa_43 = fadd ssa_33, ssa_39 vec1 32 ssa_44 = fadd ssa_34, ssa_40 vec1 32 ssa_45 = deref_var &j (uniform ivec2) vec2 32 ssa_46 = intrinsic load_deref (ssa_45) (0) /* access=0 */ vec1 32 ssa_47 = i2f32 ssa_46.x vec1 32 ssa_48 = i2f32 ssa_46.y vec1 1 ssa_49 = fne ssa_4, ssa_47 vec1 1 ssa_50 = fne ssa_5, ssa_48 vec1 1 ssa_51 = ior ssa_49, ssa_50 vec1 32 ssa_52 = b2f32 ssa_51 vec1 1 ssa_53 = inot ssa_51 vec1 32 ssa_54 = b2f32 ssa_53 vec1 32 ssa_55 = load_const (0x3f800000 /* 1.000000 */) vec4 32 ssa_56 = vec4 ssa_52, ssa_54, ssa_0, ssa_55 vec1 32 ssa_57 = deref_var &gl_Position (shader_out vec4) vec4 32 ssa_58 = vec4 ssa_41, ssa_42, ssa_43, ssa_44 intrinsic store_deref (ssa_57, ssa_58) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_59 = deref_var &gl_FrontColor (shader_out vec4) intrinsic store_deref (ssa_59, ssa_56) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } brw_nir_lower_uniforms shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 72 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 64, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 0, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_1 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_2 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_3 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_4 = load_const (0x40000000 /* 2.000000 */) vec1 32 ssa_5 = load_const (0x40400000 /* 3.000000 */) vec1 32 ssa_6 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_7 = deref_array &(*ssa_6)[0] (uniform vec4) /* &gl_ModelViewProjectionMatrix[0] */ vec1 32 ssa_60 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_61 = load_const (0x00000010 /* 0.000000 */) vec1 32 ssa_62 = imul ssa_0, ssa_61 vec1 32 ssa_63 = iadd ssa_60, ssa_62 vec4 32 ssa_64 = intrinsic load_uniform (ssa_63) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_9 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_10 = intrinsic load_deref (ssa_9) (0) /* access=0 */ vec1 32 ssa_11 = fmul ssa_64.x, ssa_10.x vec1 32 ssa_12 = fmul ssa_64.y, ssa_10.x vec1 32 ssa_13 = fmul ssa_64.z, ssa_10.x vec1 32 ssa_14 = fmul ssa_64.w, ssa_10.x vec1 32 ssa_15 = deref_array &(*ssa_6)[1] (uniform vec4) /* &gl_ModelViewProjectionMatrix[1] */ vec1 32 ssa_65 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_66 = load_const (0x00000010 /* 0.000000 */) vec1 32 ssa_67 = imul ssa_1, ssa_66 vec1 32 ssa_68 = iadd ssa_65, ssa_67 vec4 32 ssa_69 = intrinsic load_uniform (ssa_68) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_17 = fmul ssa_69.x, ssa_10.y vec1 32 ssa_18 = fmul ssa_69.y, ssa_10.y vec1 32 ssa_19 = fmul ssa_69.z, ssa_10.y vec1 32 ssa_20 = fmul ssa_69.w, ssa_10.y vec1 32 ssa_21 = fadd ssa_11, ssa_17 vec1 32 ssa_22 = fadd ssa_12, ssa_18 vec1 32 ssa_23 = fadd ssa_13, ssa_19 vec1 32 ssa_24 = fadd ssa_14, ssa_20 vec1 32 ssa_25 = deref_array &(*ssa_6)[2] (uniform vec4) /* &gl_ModelViewProjectionMatrix[2] */ vec1 32 ssa_70 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_71 = load_const (0x00000010 /* 0.000000 */) vec1 32 ssa_72 = imul ssa_2, ssa_71 vec1 32 ssa_73 = iadd ssa_70, ssa_72 vec4 32 ssa_74 = intrinsic load_uniform (ssa_73) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_27 = fmul ssa_74.x, ssa_10.z vec1 32 ssa_28 = fmul ssa_74.y, ssa_10.z vec1 32 ssa_29 = fmul ssa_74.z, ssa_10.z vec1 32 ssa_30 = fmul ssa_74.w, ssa_10.z vec1 32 ssa_31 = fadd ssa_21, ssa_27 vec1 32 ssa_32 = fadd ssa_22, ssa_28 vec1 32 ssa_33 = fadd ssa_23, ssa_29 vec1 32 ssa_34 = fadd ssa_24, ssa_30 vec1 32 ssa_35 = deref_array &(*ssa_6)[3] (uniform vec4) /* &gl_ModelViewProjectionMatrix[3] */ vec1 32 ssa_75 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_76 = load_const (0x00000010 /* 0.000000 */) vec1 32 ssa_77 = imul ssa_3, ssa_76 vec1 32 ssa_78 = iadd ssa_75, ssa_77 vec4 32 ssa_79 = intrinsic load_uniform (ssa_78) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_37 = fmul ssa_79.x, ssa_10.w vec1 32 ssa_38 = fmul ssa_79.y, ssa_10.w vec1 32 ssa_39 = fmul ssa_79.z, ssa_10.w vec1 32 ssa_40 = fmul ssa_79.w, ssa_10.w vec1 32 ssa_41 = fadd ssa_31, ssa_37 vec1 32 ssa_42 = fadd ssa_32, ssa_38 vec1 32 ssa_43 = fadd ssa_33, ssa_39 vec1 32 ssa_44 = fadd ssa_34, ssa_40 vec1 32 ssa_45 = deref_var &j (uniform ivec2) vec1 32 ssa_80 = load_const (0x00000000 /* 0.000000 */) vec2 32 ssa_81 = intrinsic load_uniform (ssa_80) (64, 8) /* base=64 */ /* range=8 */ /* j */ vec1 32 ssa_47 = i2f32 ssa_81.x vec1 32 ssa_48 = i2f32 ssa_81.y vec1 1 ssa_49 = fne ssa_4, ssa_47 vec1 1 ssa_50 = fne ssa_5, ssa_48 vec1 1 ssa_51 = ior ssa_49, ssa_50 vec1 32 ssa_52 = b2f32 ssa_51 vec1 1 ssa_53 = inot ssa_51 vec1 32 ssa_54 = b2f32 ssa_53 vec1 32 ssa_55 = load_const (0x3f800000 /* 1.000000 */) vec4 32 ssa_56 = vec4 ssa_52, ssa_54, ssa_0, ssa_55 vec1 32 ssa_57 = deref_var &gl_Position (shader_out vec4) vec4 32 ssa_58 = vec4 ssa_41, ssa_42, ssa_43, ssa_44 intrinsic store_deref (ssa_57, ssa_58) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_59 = deref_var &gl_FrontColor (shader_out vec4) intrinsic store_deref (ssa_59, ssa_56) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } nir_lower_io_to_temporaries shader: MESA_SHADER_FRAGMENT name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var shader_in INTERP_MODE_NONE vec4 gl_Color (VARYING_SLOT_COL0, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 0, 0) decl_var INTERP_MODE_NONE vec4 out@gl_FragColor-temp decl_function main (0 params) impl main { block block_0: /* preds: */ vec1 32 ssa_0 = deref_var &gl_Color (shader_in vec4) vec1 32 ssa_1 = deref_var &out@gl_FragColor-temp (shader_temp vec4) intrinsic copy_deref (ssa_1, ssa_0) () vec1 32 ssa_2 = deref_var &out@gl_FragColor-temp (shader_temp vec4) vec1 32 ssa_3 = deref_var &gl_FragColor (shader_out vec4) intrinsic copy_deref (ssa_3, ssa_2) () /* succs: block_1 */ block block_1: } nir_lower_alu_to_scalar nir_opt_algebraic nir_lower_int64 nir_lower_doubles nir_opt_algebraic nir_lower_constant_initializers nir_lower_tex nir_normalize_cubemap_coords nir_lower_global_vars_to_local shader: MESA_SHADER_FRAGMENT name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var shader_in INTERP_MODE_NONE vec4 gl_Color (VARYING_SLOT_COL0, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 0, 0) decl_function main (0 params) impl main { decl_var INTERP_MODE_NONE vec4 out@gl_FragColor-temp block block_0: /* preds: */ vec1 32 ssa_0 = deref_var &gl_Color (shader_in vec4) vec1 32 ssa_1 = deref_var &out@gl_FragColor-temp (function_temp vec4) intrinsic copy_deref (ssa_1, ssa_0) () vec1 32 ssa_2 = deref_var &out@gl_FragColor-temp (function_temp vec4) vec1 32 ssa_3 = deref_var &gl_FragColor (shader_out vec4) intrinsic copy_deref (ssa_3, ssa_2) () /* succs: block_1 */ block block_1: } nir_split_var_copies shader: MESA_SHADER_FRAGMENT name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var shader_in INTERP_MODE_NONE vec4 gl_Color (VARYING_SLOT_COL0, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 0, 0) decl_function main (0 params) impl main { decl_var INTERP_MODE_NONE vec4 out@gl_FragColor-temp block block_0: /* preds: */ vec1 32 ssa_0 = deref_var &gl_Color (shader_in vec4) vec1 32 ssa_1 = deref_var &out@gl_FragColor-temp (function_temp vec4) intrinsic copy_deref (ssa_1, ssa_0) () vec1 32 ssa_2 = deref_var &out@gl_FragColor-temp (function_temp vec4) vec1 32 ssa_3 = deref_var &gl_FragColor (shader_out vec4) intrinsic copy_deref (ssa_3, ssa_2) () /* succs: block_1 */ block block_1: } nir_split_struct_vars nir_split_array_vars nir_shrink_vec_array_vars nir_opt_deref nir_lower_vars_to_ssa shader: MESA_SHADER_FRAGMENT name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var shader_in INTERP_MODE_NONE vec4 gl_Color (VARYING_SLOT_COL0, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 0, 0) decl_function main (0 params) impl main { decl_var INTERP_MODE_NONE vec4 out@gl_FragColor-temp block block_0: /* preds: */ vec1 32 ssa_0 = deref_var &gl_Color (shader_in vec4) vec1 32 ssa_1 = deref_var &out@gl_FragColor-temp (function_temp vec4) vec4 32 ssa_5 = intrinsic load_deref (ssa_0) (0) /* access=0 */ vec1 32 ssa_2 = deref_var &out@gl_FragColor-temp (function_temp vec4) vec1 32 ssa_3 = deref_var &gl_FragColor (shader_out vec4) vec4 32 ssa_6 = imov ssa_5 intrinsic store_deref (ssa_3, ssa_6) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } nir_opt_find_array_copies nir_opt_copy_prop_vars nir_opt_dead_write_vars nir_lower_alu_to_scalar shader: MESA_SHADER_FRAGMENT name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var shader_in INTERP_MODE_NONE vec4 gl_Color (VARYING_SLOT_COL0, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 0, 0) decl_function main (0 params) impl main { decl_var INTERP_MODE_NONE vec4 out@gl_FragColor-temp block block_0: /* preds: */ vec1 32 ssa_0 = deref_var &gl_Color (shader_in vec4) vec1 32 ssa_1 = deref_var &out@gl_FragColor-temp (function_temp vec4) vec4 32 ssa_2 = intrinsic load_deref (ssa_0) (0) /* access=0 */ vec1 32 ssa_3 = deref_var &out@gl_FragColor-temp (function_temp vec4) vec1 32 ssa_4 = deref_var &gl_FragColor (shader_out vec4) vec1 32 ssa_6 = imov ssa_2.x vec1 32 ssa_7 = imov ssa_2.y vec1 32 ssa_8 = imov ssa_2.z vec1 32 ssa_9 = imov ssa_2.w vec4 32 ssa_10 = vec4 ssa_6, ssa_7, ssa_8, ssa_9 intrinsic store_deref (ssa_4, ssa_10) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } nir_copy_prop shader: MESA_SHADER_FRAGMENT name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var shader_in INTERP_MODE_NONE vec4 gl_Color (VARYING_SLOT_COL0, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 0, 0) decl_function main (0 params) impl main { decl_var INTERP_MODE_NONE vec4 out@gl_FragColor-temp block block_0: /* preds: */ vec1 32 ssa_0 = deref_var &gl_Color (shader_in vec4) vec1 32 ssa_1 = deref_var &out@gl_FragColor-temp (function_temp vec4) vec4 32 ssa_2 = intrinsic load_deref (ssa_0) (0) /* access=0 */ vec1 32 ssa_3 = deref_var &out@gl_FragColor-temp (function_temp vec4) vec1 32 ssa_4 = deref_var &gl_FragColor (shader_out vec4) vec1 32 ssa_6 = imov ssa_2.x vec1 32 ssa_7 = imov ssa_2.y vec1 32 ssa_8 = imov ssa_2.z vec1 32 ssa_9 = imov ssa_2.w vec4 32 ssa_10 = vec4 ssa_2.x, ssa_2.y, ssa_2.z, ssa_2.w intrinsic store_deref (ssa_4, ssa_2) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } nir_lower_phis_to_scalar nir_copy_prop nir_opt_dce shader: MESA_SHADER_FRAGMENT name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var shader_in INTERP_MODE_NONE vec4 gl_Color (VARYING_SLOT_COL0, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 0, 0) decl_function main (0 params) impl main { decl_var INTERP_MODE_NONE vec4 out@gl_FragColor-temp block block_0: /* preds: */ vec1 32 ssa_0 = deref_var &gl_Color (shader_in vec4) vec4 32 ssa_2 = intrinsic load_deref (ssa_0) (0) /* access=0 */ vec1 32 ssa_4 = deref_var &gl_FragColor (shader_out vec4) intrinsic store_deref (ssa_4, ssa_2) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } nir_opt_cse nir_opt_peephole_select nir_opt_peephole_select nir_opt_intrinsics nir_opt_idiv_const nir_opt_algebraic nir_opt_constant_folding nir_opt_dead_cf nir_opt_trivial_continues nir_opt_if nir_opt_loop_unroll nir_opt_remove_phis nir_opt_undef nir_lower_pack nir_split_array_vars nir_shrink_vec_array_vars nir_opt_deref nir_lower_vars_to_ssa nir_opt_find_array_copies nir_opt_copy_prop_vars nir_opt_dead_write_vars nir_lower_alu_to_scalar nir_copy_prop nir_lower_phis_to_scalar nir_copy_prop nir_opt_dce nir_opt_cse nir_opt_peephole_select nir_opt_peephole_select nir_opt_intrinsics nir_opt_idiv_const nir_opt_algebraic nir_opt_constant_folding nir_opt_dead_cf nir_opt_trivial_continues nir_opt_if nir_opt_loop_unroll nir_opt_remove_phis nir_opt_undef nir_lower_pack nir_remove_dead_variables shader: MESA_SHADER_FRAGMENT name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var shader_in INTERP_MODE_NONE vec4 gl_Color (VARYING_SLOT_COL0, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 0, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec1 32 ssa_0 = deref_var &gl_Color (shader_in vec4) vec4 32 ssa_1 = intrinsic load_deref (ssa_0) (0) /* access=0 */ vec1 32 ssa_2 = deref_var &gl_FragColor (shader_out vec4) intrinsic store_deref (ssa_2, ssa_1) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } nir_lower_bit_size nir_lower_load_const_to_scalar nir_lower_var_copies nir_lower_system_values nir_lower_subgroups nir_lower_clip_cull_distance_arrays nir_lower_indirect_derefs brw_nir_lower_mem_access_bit_sizes nir_split_array_vars nir_shrink_vec_array_vars nir_opt_deref nir_lower_vars_to_ssa nir_opt_copy_prop_vars nir_opt_dead_write_vars nir_lower_alu_to_scalar nir_copy_prop nir_lower_phis_to_scalar nir_copy_prop nir_opt_dce nir_opt_cse nir_opt_peephole_select nir_opt_peephole_select nir_opt_intrinsics nir_opt_idiv_const nir_opt_algebraic nir_opt_constant_folding nir_opt_dead_cf nir_opt_trivial_continues nir_opt_if nir_opt_loop_unroll nir_opt_remove_phis nir_opt_undef nir_lower_pack nir_remove_dead_variables brw_nir_lower_image_load_store shader: MESA_SHADER_FRAGMENT name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var shader_in INTERP_MODE_NONE vec4 gl_Color (VARYING_SLOT_COL0, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 0, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec1 32 ssa_0 = deref_var &gl_Color (shader_in vec4) vec4 32 ssa_1 = intrinsic load_deref (ssa_0) (0) /* access=0 */ vec1 32 ssa_2 = deref_var &gl_FragColor (shader_out vec4) intrinsic store_deref (ssa_2, ssa_1) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } nir_lower_wpos_ytransform brw_nir_lower_uniforms shader: MESA_SHADER_FRAGMENT name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var shader_in INTERP_MODE_NONE vec4 gl_Color (VARYING_SLOT_COL0, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 0, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec1 32 ssa_0 = deref_var &gl_Color (shader_in vec4) vec4 32 ssa_1 = intrinsic load_deref (ssa_0) (0) /* access=0 */ vec1 32 ssa_2 = deref_var &gl_FragColor (shader_out vec4) intrinsic store_deref (ssa_2, ssa_1) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } brw_nir_lower_gl_images shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 72 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 64, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 0, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_1 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_2 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_3 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_4 = load_const (0x40000000 /* 2.000000 */) vec1 32 ssa_5 = load_const (0x40400000 /* 3.000000 */) vec1 32 ssa_6 = deref_var &gl_ModelViewProjectionMatrix (uniform mat4) vec1 32 ssa_7 = deref_array &(*ssa_6)[0] (uniform vec4) /* &gl_ModelViewProjectionMatrix[0] */ vec1 32 ssa_60 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_61 = load_const (0x00000010 /* 0.000000 */) vec1 32 ssa_62 = imul ssa_0, ssa_61 vec1 32 ssa_63 = iadd ssa_60, ssa_62 vec4 32 ssa_64 = intrinsic load_uniform (ssa_63) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_9 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_10 = intrinsic load_deref (ssa_9) (0) /* access=0 */ vec1 32 ssa_11 = fmul ssa_64.x, ssa_10.x vec1 32 ssa_12 = fmul ssa_64.y, ssa_10.x vec1 32 ssa_13 = fmul ssa_64.z, ssa_10.x vec1 32 ssa_14 = fmul ssa_64.w, ssa_10.x vec1 32 ssa_15 = deref_array &(*ssa_6)[1] (uniform vec4) /* &gl_ModelViewProjectionMatrix[1] */ vec1 32 ssa_65 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_66 = load_const (0x00000010 /* 0.000000 */) vec1 32 ssa_67 = imul ssa_1, ssa_66 vec1 32 ssa_68 = iadd ssa_65, ssa_67 vec4 32 ssa_69 = intrinsic load_uniform (ssa_68) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_17 = fmul ssa_69.x, ssa_10.y vec1 32 ssa_18 = fmul ssa_69.y, ssa_10.y vec1 32 ssa_19 = fmul ssa_69.z, ssa_10.y vec1 32 ssa_20 = fmul ssa_69.w, ssa_10.y vec1 32 ssa_21 = fadd ssa_11, ssa_17 vec1 32 ssa_22 = fadd ssa_12, ssa_18 vec1 32 ssa_23 = fadd ssa_13, ssa_19 vec1 32 ssa_24 = fadd ssa_14, ssa_20 vec1 32 ssa_25 = deref_array &(*ssa_6)[2] (uniform vec4) /* &gl_ModelViewProjectionMatrix[2] */ vec1 32 ssa_70 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_71 = load_const (0x00000010 /* 0.000000 */) vec1 32 ssa_72 = imul ssa_2, ssa_71 vec1 32 ssa_73 = iadd ssa_70, ssa_72 vec4 32 ssa_74 = intrinsic load_uniform (ssa_73) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_27 = fmul ssa_74.x, ssa_10.z vec1 32 ssa_28 = fmul ssa_74.y, ssa_10.z vec1 32 ssa_29 = fmul ssa_74.z, ssa_10.z vec1 32 ssa_30 = fmul ssa_74.w, ssa_10.z vec1 32 ssa_31 = fadd ssa_21, ssa_27 vec1 32 ssa_32 = fadd ssa_22, ssa_28 vec1 32 ssa_33 = fadd ssa_23, ssa_29 vec1 32 ssa_34 = fadd ssa_24, ssa_30 vec1 32 ssa_35 = deref_array &(*ssa_6)[3] (uniform vec4) /* &gl_ModelViewProjectionMatrix[3] */ vec1 32 ssa_75 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_76 = load_const (0x00000010 /* 0.000000 */) vec1 32 ssa_77 = imul ssa_3, ssa_76 vec1 32 ssa_78 = iadd ssa_75, ssa_77 vec4 32 ssa_79 = intrinsic load_uniform (ssa_78) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_37 = fmul ssa_79.x, ssa_10.w vec1 32 ssa_38 = fmul ssa_79.y, ssa_10.w vec1 32 ssa_39 = fmul ssa_79.z, ssa_10.w vec1 32 ssa_40 = fmul ssa_79.w, ssa_10.w vec1 32 ssa_41 = fadd ssa_31, ssa_37 vec1 32 ssa_42 = fadd ssa_32, ssa_38 vec1 32 ssa_43 = fadd ssa_33, ssa_39 vec1 32 ssa_44 = fadd ssa_34, ssa_40 vec1 32 ssa_45 = deref_var &j (uniform ivec2) vec1 32 ssa_80 = load_const (0x00000000 /* 0.000000 */) vec2 32 ssa_81 = intrinsic load_uniform (ssa_80) (64, 8) /* base=64 */ /* range=8 */ /* j */ vec1 32 ssa_47 = i2f32 ssa_81.x vec1 32 ssa_48 = i2f32 ssa_81.y vec1 1 ssa_49 = fne ssa_4, ssa_47 vec1 1 ssa_50 = fne ssa_5, ssa_48 vec1 1 ssa_51 = ior ssa_49, ssa_50 vec1 32 ssa_52 = b2f32 ssa_51 vec1 1 ssa_53 = inot ssa_51 vec1 32 ssa_54 = b2f32 ssa_53 vec1 32 ssa_55 = load_const (0x3f800000 /* 1.000000 */) vec4 32 ssa_56 = vec4 ssa_52, ssa_54, ssa_0, ssa_55 vec1 32 ssa_57 = deref_var &gl_Position (shader_out vec4) vec4 32 ssa_58 = vec4 ssa_41, ssa_42, ssa_43, ssa_44 intrinsic store_deref (ssa_57, ssa_58) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_59 = deref_var &gl_FrontColor (shader_out vec4) intrinsic store_deref (ssa_59, ssa_56) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } brw_nir_lower_gl_images shader: MESA_SHADER_FRAGMENT name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var shader_in INTERP_MODE_NONE vec4 gl_Color (VARYING_SLOT_COL0, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 0, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec1 32 ssa_0 = deref_var &gl_Color (shader_in vec4) vec4 32 ssa_1 = intrinsic load_deref (ssa_0) (0) /* access=0 */ vec1 32 ssa_2 = deref_var &gl_FragColor (shader_out vec4) intrinsic store_deref (ssa_2, ssa_1) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } nir_lower_io_to_scalar_early shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 72 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 64, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 0, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_1 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_2 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_3 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_4 = load_const (0x40000000 /* 2.000000 */) vec1 32 ssa_5 = load_const (0x40400000 /* 3.000000 */) vec1 32 ssa_60 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_61 = load_const (0x00000010 /* 0.000000 */) vec1 32 ssa_62 = imul ssa_0, ssa_61 vec1 32 ssa_63 = iadd ssa_60, ssa_62 vec4 32 ssa_64 = intrinsic load_uniform (ssa_63) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_9 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_10 = intrinsic load_deref (ssa_9) (0) /* access=0 */ vec1 32 ssa_11 = fmul ssa_64.x, ssa_10.x vec1 32 ssa_12 = fmul ssa_64.y, ssa_10.x vec1 32 ssa_13 = fmul ssa_64.z, ssa_10.x vec1 32 ssa_14 = fmul ssa_64.w, ssa_10.x vec1 32 ssa_65 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_66 = load_const (0x00000010 /* 0.000000 */) vec1 32 ssa_67 = imul ssa_1, ssa_66 vec1 32 ssa_68 = iadd ssa_65, ssa_67 vec4 32 ssa_69 = intrinsic load_uniform (ssa_68) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_17 = fmul ssa_69.x, ssa_10.y vec1 32 ssa_18 = fmul ssa_69.y, ssa_10.y vec1 32 ssa_19 = fmul ssa_69.z, ssa_10.y vec1 32 ssa_20 = fmul ssa_69.w, ssa_10.y vec1 32 ssa_21 = fadd ssa_11, ssa_17 vec1 32 ssa_22 = fadd ssa_12, ssa_18 vec1 32 ssa_23 = fadd ssa_13, ssa_19 vec1 32 ssa_24 = fadd ssa_14, ssa_20 vec1 32 ssa_70 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_71 = load_const (0x00000010 /* 0.000000 */) vec1 32 ssa_72 = imul ssa_2, ssa_71 vec1 32 ssa_73 = iadd ssa_70, ssa_72 vec4 32 ssa_74 = intrinsic load_uniform (ssa_73) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_27 = fmul ssa_74.x, ssa_10.z vec1 32 ssa_28 = fmul ssa_74.y, ssa_10.z vec1 32 ssa_29 = fmul ssa_74.z, ssa_10.z vec1 32 ssa_30 = fmul ssa_74.w, ssa_10.z vec1 32 ssa_31 = fadd ssa_21, ssa_27 vec1 32 ssa_32 = fadd ssa_22, ssa_28 vec1 32 ssa_33 = fadd ssa_23, ssa_29 vec1 32 ssa_34 = fadd ssa_24, ssa_30 vec1 32 ssa_75 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_76 = load_const (0x00000010 /* 0.000000 */) vec1 32 ssa_77 = imul ssa_3, ssa_76 vec1 32 ssa_78 = iadd ssa_75, ssa_77 vec4 32 ssa_79 = intrinsic load_uniform (ssa_78) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_37 = fmul ssa_79.x, ssa_10.w vec1 32 ssa_38 = fmul ssa_79.y, ssa_10.w vec1 32 ssa_39 = fmul ssa_79.z, ssa_10.w vec1 32 ssa_40 = fmul ssa_79.w, ssa_10.w vec1 32 ssa_41 = fadd ssa_31, ssa_37 vec1 32 ssa_42 = fadd ssa_32, ssa_38 vec1 32 ssa_43 = fadd ssa_33, ssa_39 vec1 32 ssa_44 = fadd ssa_34, ssa_40 vec1 32 ssa_80 = load_const (0x00000000 /* 0.000000 */) vec2 32 ssa_81 = intrinsic load_uniform (ssa_80) (64, 8) /* base=64 */ /* range=8 */ /* j */ vec1 32 ssa_47 = i2f32 ssa_81.x vec1 32 ssa_48 = i2f32 ssa_81.y vec1 1 ssa_49 = fne ssa_4, ssa_47 vec1 1 ssa_50 = fne ssa_5, ssa_48 vec1 1 ssa_51 = ior ssa_49, ssa_50 vec1 32 ssa_52 = b2f32 ssa_51 vec1 1 ssa_53 = inot ssa_51 vec1 32 ssa_54 = b2f32 ssa_53 vec1 32 ssa_55 = load_const (0x3f800000 /* 1.000000 */) vec4 32 ssa_56 = vec4 ssa_52, ssa_54, ssa_0, ssa_55 vec1 32 ssa_57 = deref_var &gl_Position (shader_out vec4) vec4 32 ssa_58 = vec4 ssa_41, ssa_42, ssa_43, ssa_44 intrinsic store_deref (ssa_57, ssa_58) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_59 = deref_var &gl_FrontColor (shader_out vec4) intrinsic store_deref (ssa_59, ssa_56) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } nir_lower_io_to_scalar_early shader: MESA_SHADER_FRAGMENT name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var shader_in INTERP_MODE_NONE vec4 gl_Color (VARYING_SLOT_COL0, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 0, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec1 32 ssa_0 = deref_var &gl_Color (shader_in vec4) vec4 32 ssa_1 = intrinsic load_deref (ssa_0) (0) /* access=0 */ vec1 32 ssa_2 = deref_var &gl_FragColor (shader_out vec4) intrinsic store_deref (ssa_2, ssa_1) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } nir_split_array_vars nir_shrink_vec_array_vars nir_opt_deref nir_lower_vars_to_ssa nir_opt_copy_prop_vars nir_opt_dead_write_vars nir_lower_alu_to_scalar nir_copy_prop nir_lower_phis_to_scalar nir_copy_prop nir_opt_dce nir_opt_cse shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 72 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 64, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 0, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_1 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_2 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_3 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_4 = load_const (0x40000000 /* 2.000000 */) vec1 32 ssa_5 = load_const (0x40400000 /* 3.000000 */) vec1 32 ssa_61 = load_const (0x00000010 /* 0.000000 */) vec1 32 ssa_62 = imul ssa_0, ssa_61 vec1 32 ssa_63 = iadd ssa_0, ssa_62 vec4 32 ssa_64 = intrinsic load_uniform (ssa_63) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_9 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_10 = intrinsic load_deref (ssa_9) (0) /* access=0 */ vec1 32 ssa_11 = fmul ssa_64.x, ssa_10.x vec1 32 ssa_12 = fmul ssa_64.y, ssa_10.x vec1 32 ssa_13 = fmul ssa_64.z, ssa_10.x vec1 32 ssa_14 = fmul ssa_64.w, ssa_10.x vec1 32 ssa_67 = imul ssa_1, ssa_61 vec1 32 ssa_68 = iadd ssa_0, ssa_67 vec4 32 ssa_69 = intrinsic load_uniform (ssa_68) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_17 = fmul ssa_69.x, ssa_10.y vec1 32 ssa_18 = fmul ssa_69.y, ssa_10.y vec1 32 ssa_19 = fmul ssa_69.z, ssa_10.y vec1 32 ssa_20 = fmul ssa_69.w, ssa_10.y vec1 32 ssa_21 = fadd ssa_11, ssa_17 vec1 32 ssa_22 = fadd ssa_12, ssa_18 vec1 32 ssa_23 = fadd ssa_13, ssa_19 vec1 32 ssa_24 = fadd ssa_14, ssa_20 vec1 32 ssa_72 = imul ssa_2, ssa_61 vec1 32 ssa_73 = iadd ssa_0, ssa_72 vec4 32 ssa_74 = intrinsic load_uniform (ssa_73) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_27 = fmul ssa_74.x, ssa_10.z vec1 32 ssa_28 = fmul ssa_74.y, ssa_10.z vec1 32 ssa_29 = fmul ssa_74.z, ssa_10.z vec1 32 ssa_30 = fmul ssa_74.w, ssa_10.z vec1 32 ssa_31 = fadd ssa_21, ssa_27 vec1 32 ssa_32 = fadd ssa_22, ssa_28 vec1 32 ssa_33 = fadd ssa_23, ssa_29 vec1 32 ssa_34 = fadd ssa_24, ssa_30 vec1 32 ssa_77 = imul ssa_3, ssa_61 vec1 32 ssa_78 = iadd ssa_0, ssa_77 vec4 32 ssa_79 = intrinsic load_uniform (ssa_78) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_37 = fmul ssa_79.x, ssa_10.w vec1 32 ssa_38 = fmul ssa_79.y, ssa_10.w vec1 32 ssa_39 = fmul ssa_79.z, ssa_10.w vec1 32 ssa_40 = fmul ssa_79.w, ssa_10.w vec1 32 ssa_41 = fadd ssa_31, ssa_37 vec1 32 ssa_42 = fadd ssa_32, ssa_38 vec1 32 ssa_43 = fadd ssa_33, ssa_39 vec1 32 ssa_44 = fadd ssa_34, ssa_40 vec2 32 ssa_81 = intrinsic load_uniform (ssa_0) (64, 8) /* base=64 */ /* range=8 */ /* j */ vec1 32 ssa_47 = i2f32 ssa_81.x vec1 32 ssa_48 = i2f32 ssa_81.y vec1 1 ssa_49 = fne ssa_4, ssa_47 vec1 1 ssa_50 = fne ssa_5, ssa_48 vec1 1 ssa_51 = ior ssa_49, ssa_50 vec1 32 ssa_52 = b2f32 ssa_51 vec1 1 ssa_53 = inot ssa_51 vec1 32 ssa_54 = b2f32 ssa_53 vec1 32 ssa_55 = load_const (0x3f800000 /* 1.000000 */) vec4 32 ssa_56 = vec4 ssa_52, ssa_54, ssa_0, ssa_55 vec1 32 ssa_57 = deref_var &gl_Position (shader_out vec4) vec4 32 ssa_58 = vec4 ssa_41, ssa_42, ssa_43, ssa_44 intrinsic store_deref (ssa_57, ssa_58) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_59 = deref_var &gl_FrontColor (shader_out vec4) intrinsic store_deref (ssa_59, ssa_56) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } nir_opt_peephole_select nir_opt_peephole_select nir_opt_intrinsics nir_opt_idiv_const nir_opt_algebraic shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 72 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 64, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 0, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_1 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_2 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_3 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_4 = load_const (0x40000000 /* 2.000000 */) vec1 32 ssa_5 = load_const (0x40400000 /* 3.000000 */) vec1 32 ssa_61 = load_const (0x00000010 /* 0.000000 */) vec1 32 ssa_95 = find_lsb ssa_61 vec1 32 ssa_96 = ishl ssa_0, ssa_95 vec1 32 ssa_97 = imov ssa_96 vec1 32 ssa_94 = imov ssa_97 vec4 32 ssa_64 = intrinsic load_uniform (ssa_94) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_9 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_10 = intrinsic load_deref (ssa_9) (0) /* access=0 */ vec1 32 ssa_11 = fmul ssa_64.x, ssa_10.x vec1 32 ssa_12 = fmul ssa_64.y, ssa_10.x vec1 32 ssa_13 = fmul ssa_64.z, ssa_10.x vec1 32 ssa_14 = fmul ssa_64.w, ssa_10.x vec1 32 ssa_91 = find_lsb ssa_61 vec1 32 ssa_92 = ishl ssa_1, ssa_91 vec1 32 ssa_93 = imov ssa_92 vec1 32 ssa_90 = imov ssa_93 vec4 32 ssa_69 = intrinsic load_uniform (ssa_90) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_17 = fmul ssa_69.x, ssa_10.y vec1 32 ssa_18 = fmul ssa_69.y, ssa_10.y vec1 32 ssa_19 = fmul ssa_69.z, ssa_10.y vec1 32 ssa_20 = fmul ssa_69.w, ssa_10.y vec1 32 ssa_21 = fadd ssa_11, ssa_17 vec1 32 ssa_22 = fadd ssa_12, ssa_18 vec1 32 ssa_23 = fadd ssa_13, ssa_19 vec1 32 ssa_24 = fadd ssa_14, ssa_20 vec1 32 ssa_87 = find_lsb ssa_61 vec1 32 ssa_88 = ishl ssa_2, ssa_87 vec1 32 ssa_89 = imov ssa_88 vec1 32 ssa_86 = imov ssa_89 vec4 32 ssa_74 = intrinsic load_uniform (ssa_86) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_27 = fmul ssa_74.x, ssa_10.z vec1 32 ssa_28 = fmul ssa_74.y, ssa_10.z vec1 32 ssa_29 = fmul ssa_74.z, ssa_10.z vec1 32 ssa_30 = fmul ssa_74.w, ssa_10.z vec1 32 ssa_31 = fadd ssa_21, ssa_27 vec1 32 ssa_32 = fadd ssa_22, ssa_28 vec1 32 ssa_33 = fadd ssa_23, ssa_29 vec1 32 ssa_34 = fadd ssa_24, ssa_30 vec1 32 ssa_83 = find_lsb ssa_61 vec1 32 ssa_84 = ishl ssa_3, ssa_83 vec1 32 ssa_85 = imov ssa_84 vec1 32 ssa_82 = imov ssa_85 vec4 32 ssa_79 = intrinsic load_uniform (ssa_82) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_37 = fmul ssa_79.x, ssa_10.w vec1 32 ssa_38 = fmul ssa_79.y, ssa_10.w vec1 32 ssa_39 = fmul ssa_79.z, ssa_10.w vec1 32 ssa_40 = fmul ssa_79.w, ssa_10.w vec1 32 ssa_41 = fadd ssa_31, ssa_37 vec1 32 ssa_42 = fadd ssa_32, ssa_38 vec1 32 ssa_43 = fadd ssa_33, ssa_39 vec1 32 ssa_44 = fadd ssa_34, ssa_40 vec2 32 ssa_81 = intrinsic load_uniform (ssa_0) (64, 8) /* base=64 */ /* range=8 */ /* j */ vec1 32 ssa_47 = i2f32 ssa_81.x vec1 32 ssa_48 = i2f32 ssa_81.y vec1 1 ssa_49 = fne ssa_4, ssa_47 vec1 1 ssa_50 = fne ssa_5, ssa_48 vec1 1 ssa_51 = ior ssa_49, ssa_50 vec1 32 ssa_52 = b2f32 ssa_51 vec1 1 ssa_53 = inot ssa_51 vec1 32 ssa_54 = b2f32 ssa_53 vec1 32 ssa_55 = load_const (0x3f800000 /* 1.000000 */) vec4 32 ssa_56 = vec4 ssa_52, ssa_54, ssa_0, ssa_55 vec1 32 ssa_57 = deref_var &gl_Position (shader_out vec4) vec4 32 ssa_58 = vec4 ssa_41, ssa_42, ssa_43, ssa_44 intrinsic store_deref (ssa_57, ssa_58) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_59 = deref_var &gl_FrontColor (shader_out vec4) intrinsic store_deref (ssa_59, ssa_56) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } nir_opt_constant_folding shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 72 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 64, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 0, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_1 = load_const (0x00000001 /* 0.000000 */) vec1 32 ssa_2 = load_const (0x00000002 /* 0.000000 */) vec1 32 ssa_3 = load_const (0x00000003 /* 0.000000 */) vec1 32 ssa_4 = load_const (0x40000000 /* 2.000000 */) vec1 32 ssa_5 = load_const (0x40400000 /* 3.000000 */) vec1 32 ssa_61 = load_const (0x00000010 /* 0.000000 */) vec1 32 ssa_98 = load_const (0x00000004 /* 0.000000 */) vec1 32 ssa_99 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_100 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_101 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_64 = intrinsic load_uniform (ssa_101) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_9 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_10 = intrinsic load_deref (ssa_9) (0) /* access=0 */ vec1 32 ssa_11 = fmul ssa_64.x, ssa_10.x vec1 32 ssa_12 = fmul ssa_64.y, ssa_10.x vec1 32 ssa_13 = fmul ssa_64.z, ssa_10.x vec1 32 ssa_14 = fmul ssa_64.w, ssa_10.x vec1 32 ssa_102 = load_const (0x00000004 /* 0.000000 */) vec1 32 ssa_103 = load_const (0x00000010 /* 0.000000 */) vec1 32 ssa_104 = load_const (0x00000010 /* 0.000000 */) vec1 32 ssa_105 = load_const (0x00000010 /* 0.000000 */) vec4 32 ssa_69 = intrinsic load_uniform (ssa_105) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_17 = fmul ssa_69.x, ssa_10.y vec1 32 ssa_18 = fmul ssa_69.y, ssa_10.y vec1 32 ssa_19 = fmul ssa_69.z, ssa_10.y vec1 32 ssa_20 = fmul ssa_69.w, ssa_10.y vec1 32 ssa_21 = fadd ssa_11, ssa_17 vec1 32 ssa_22 = fadd ssa_12, ssa_18 vec1 32 ssa_23 = fadd ssa_13, ssa_19 vec1 32 ssa_24 = fadd ssa_14, ssa_20 vec1 32 ssa_106 = load_const (0x00000004 /* 0.000000 */) vec1 32 ssa_107 = load_const (0x00000020 /* 0.000000 */) vec1 32 ssa_108 = load_const (0x00000020 /* 0.000000 */) vec1 32 ssa_109 = load_const (0x00000020 /* 0.000000 */) vec4 32 ssa_74 = intrinsic load_uniform (ssa_109) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_27 = fmul ssa_74.x, ssa_10.z vec1 32 ssa_28 = fmul ssa_74.y, ssa_10.z vec1 32 ssa_29 = fmul ssa_74.z, ssa_10.z vec1 32 ssa_30 = fmul ssa_74.w, ssa_10.z vec1 32 ssa_31 = fadd ssa_21, ssa_27 vec1 32 ssa_32 = fadd ssa_22, ssa_28 vec1 32 ssa_33 = fadd ssa_23, ssa_29 vec1 32 ssa_34 = fadd ssa_24, ssa_30 vec1 32 ssa_110 = load_const (0x00000004 /* 0.000000 */) vec1 32 ssa_111 = load_const (0x00000030 /* 0.000000 */) vec1 32 ssa_112 = load_const (0x00000030 /* 0.000000 */) vec1 32 ssa_113 = load_const (0x00000030 /* 0.000000 */) vec4 32 ssa_79 = intrinsic load_uniform (ssa_113) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_37 = fmul ssa_79.x, ssa_10.w vec1 32 ssa_38 = fmul ssa_79.y, ssa_10.w vec1 32 ssa_39 = fmul ssa_79.z, ssa_10.w vec1 32 ssa_40 = fmul ssa_79.w, ssa_10.w vec1 32 ssa_41 = fadd ssa_31, ssa_37 vec1 32 ssa_42 = fadd ssa_32, ssa_38 vec1 32 ssa_43 = fadd ssa_33, ssa_39 vec1 32 ssa_44 = fadd ssa_34, ssa_40 vec2 32 ssa_81 = intrinsic load_uniform (ssa_0) (64, 8) /* base=64 */ /* range=8 */ /* j */ vec1 32 ssa_47 = i2f32 ssa_81.x vec1 32 ssa_48 = i2f32 ssa_81.y vec1 1 ssa_49 = fne ssa_4, ssa_47 vec1 1 ssa_50 = fne ssa_5, ssa_48 vec1 1 ssa_51 = ior ssa_49, ssa_50 vec1 32 ssa_52 = b2f32 ssa_51 vec1 1 ssa_53 = inot ssa_51 vec1 32 ssa_54 = b2f32 ssa_53 vec1 32 ssa_55 = load_const (0x3f800000 /* 1.000000 */) vec4 32 ssa_56 = vec4 ssa_52, ssa_54, ssa_0, ssa_55 vec1 32 ssa_57 = deref_var &gl_Position (shader_out vec4) vec4 32 ssa_58 = vec4 ssa_41, ssa_42, ssa_43, ssa_44 intrinsic store_deref (ssa_57, ssa_58) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_59 = deref_var &gl_FrontColor (shader_out vec4) intrinsic store_deref (ssa_59, ssa_56) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } nir_opt_dead_cf nir_opt_trivial_continues nir_opt_if nir_opt_loop_unroll nir_opt_remove_phis nir_opt_undef nir_lower_pack nir_split_array_vars nir_shrink_vec_array_vars nir_opt_deref nir_lower_vars_to_ssa nir_opt_copy_prop_vars nir_opt_dead_write_vars nir_lower_alu_to_scalar nir_copy_prop nir_lower_phis_to_scalar nir_copy_prop nir_opt_dce shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 72 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 64, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 0, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_4 = load_const (0x40000000 /* 2.000000 */) vec1 32 ssa_5 = load_const (0x40400000 /* 3.000000 */) vec1 32 ssa_10 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_11 = intrinsic load_uniform (ssa_10) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_12 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_13 = intrinsic load_deref (ssa_12) (0) /* access=0 */ vec1 32 ssa_14 = fmul ssa_11.x, ssa_13.x vec1 32 ssa_15 = fmul ssa_11.y, ssa_13.x vec1 32 ssa_16 = fmul ssa_11.z, ssa_13.x vec1 32 ssa_17 = fmul ssa_11.w, ssa_13.x vec1 32 ssa_21 = load_const (0x00000010 /* 0.000000 */) vec4 32 ssa_22 = intrinsic load_uniform (ssa_21) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_23 = fmul ssa_22.x, ssa_13.y vec1 32 ssa_24 = fmul ssa_22.y, ssa_13.y vec1 32 ssa_25 = fmul ssa_22.z, ssa_13.y vec1 32 ssa_26 = fmul ssa_22.w, ssa_13.y vec1 32 ssa_27 = fadd ssa_14, ssa_23 vec1 32 ssa_28 = fadd ssa_15, ssa_24 vec1 32 ssa_29 = fadd ssa_16, ssa_25 vec1 32 ssa_30 = fadd ssa_17, ssa_26 vec1 32 ssa_34 = load_const (0x00000020 /* 0.000000 */) vec4 32 ssa_35 = intrinsic load_uniform (ssa_34) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_36 = fmul ssa_35.x, ssa_13.z vec1 32 ssa_37 = fmul ssa_35.y, ssa_13.z vec1 32 ssa_38 = fmul ssa_35.z, ssa_13.z vec1 32 ssa_39 = fmul ssa_35.w, ssa_13.z vec1 32 ssa_40 = fadd ssa_27, ssa_36 vec1 32 ssa_41 = fadd ssa_28, ssa_37 vec1 32 ssa_42 = fadd ssa_29, ssa_38 vec1 32 ssa_43 = fadd ssa_30, ssa_39 vec1 32 ssa_47 = load_const (0x00000030 /* 0.000000 */) vec4 32 ssa_48 = intrinsic load_uniform (ssa_47) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_49 = fmul ssa_48.x, ssa_13.w vec1 32 ssa_50 = fmul ssa_48.y, ssa_13.w vec1 32 ssa_51 = fmul ssa_48.z, ssa_13.w vec1 32 ssa_52 = fmul ssa_48.w, ssa_13.w vec1 32 ssa_53 = fadd ssa_40, ssa_49 vec1 32 ssa_54 = fadd ssa_41, ssa_50 vec1 32 ssa_55 = fadd ssa_42, ssa_51 vec1 32 ssa_56 = fadd ssa_43, ssa_52 vec2 32 ssa_57 = intrinsic load_uniform (ssa_0) (64, 8) /* base=64 */ /* range=8 */ /* j */ vec1 32 ssa_58 = i2f32 ssa_57.x vec1 32 ssa_59 = i2f32 ssa_57.y vec1 1 ssa_60 = fne ssa_4, ssa_58 vec1 1 ssa_61 = fne ssa_5, ssa_59 vec1 1 ssa_62 = ior ssa_60, ssa_61 vec1 32 ssa_63 = b2f32 ssa_62 vec1 1 ssa_64 = inot ssa_62 vec1 32 ssa_65 = b2f32 ssa_64 vec1 32 ssa_66 = load_const (0x3f800000 /* 1.000000 */) vec4 32 ssa_67 = vec4 ssa_63, ssa_65, ssa_0, ssa_66 vec1 32 ssa_68 = deref_var &gl_Position (shader_out vec4) vec4 32 ssa_69 = vec4 ssa_53, ssa_54, ssa_55, ssa_56 intrinsic store_deref (ssa_68, ssa_69) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_70 = deref_var &gl_FrontColor (shader_out vec4) intrinsic store_deref (ssa_70, ssa_67) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } nir_opt_cse shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 72 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 64, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 0, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_4 = load_const (0x40000000 /* 2.000000 */) vec1 32 ssa_5 = load_const (0x40400000 /* 3.000000 */) vec4 32 ssa_11 = intrinsic load_uniform (ssa_0) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_12 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_13 = intrinsic load_deref (ssa_12) (0) /* access=0 */ vec1 32 ssa_14 = fmul ssa_11.x, ssa_13.x vec1 32 ssa_15 = fmul ssa_11.y, ssa_13.x vec1 32 ssa_16 = fmul ssa_11.z, ssa_13.x vec1 32 ssa_17 = fmul ssa_11.w, ssa_13.x vec1 32 ssa_21 = load_const (0x00000010 /* 0.000000 */) vec4 32 ssa_22 = intrinsic load_uniform (ssa_21) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_23 = fmul ssa_22.x, ssa_13.y vec1 32 ssa_24 = fmul ssa_22.y, ssa_13.y vec1 32 ssa_25 = fmul ssa_22.z, ssa_13.y vec1 32 ssa_26 = fmul ssa_22.w, ssa_13.y vec1 32 ssa_27 = fadd ssa_14, ssa_23 vec1 32 ssa_28 = fadd ssa_15, ssa_24 vec1 32 ssa_29 = fadd ssa_16, ssa_25 vec1 32 ssa_30 = fadd ssa_17, ssa_26 vec1 32 ssa_34 = load_const (0x00000020 /* 0.000000 */) vec4 32 ssa_35 = intrinsic load_uniform (ssa_34) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_36 = fmul ssa_35.x, ssa_13.z vec1 32 ssa_37 = fmul ssa_35.y, ssa_13.z vec1 32 ssa_38 = fmul ssa_35.z, ssa_13.z vec1 32 ssa_39 = fmul ssa_35.w, ssa_13.z vec1 32 ssa_40 = fadd ssa_27, ssa_36 vec1 32 ssa_41 = fadd ssa_28, ssa_37 vec1 32 ssa_42 = fadd ssa_29, ssa_38 vec1 32 ssa_43 = fadd ssa_30, ssa_39 vec1 32 ssa_47 = load_const (0x00000030 /* 0.000000 */) vec4 32 ssa_48 = intrinsic load_uniform (ssa_47) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_49 = fmul ssa_48.x, ssa_13.w vec1 32 ssa_50 = fmul ssa_48.y, ssa_13.w vec1 32 ssa_51 = fmul ssa_48.z, ssa_13.w vec1 32 ssa_52 = fmul ssa_48.w, ssa_13.w vec1 32 ssa_53 = fadd ssa_40, ssa_49 vec1 32 ssa_54 = fadd ssa_41, ssa_50 vec1 32 ssa_55 = fadd ssa_42, ssa_51 vec1 32 ssa_56 = fadd ssa_43, ssa_52 vec2 32 ssa_57 = intrinsic load_uniform (ssa_0) (64, 8) /* base=64 */ /* range=8 */ /* j */ vec1 32 ssa_58 = i2f32 ssa_57.x vec1 32 ssa_59 = i2f32 ssa_57.y vec1 1 ssa_60 = fne ssa_4, ssa_58 vec1 1 ssa_61 = fne ssa_5, ssa_59 vec1 1 ssa_62 = ior ssa_60, ssa_61 vec1 32 ssa_63 = b2f32 ssa_62 vec1 1 ssa_64 = inot ssa_62 vec1 32 ssa_65 = b2f32 ssa_64 vec1 32 ssa_66 = load_const (0x3f800000 /* 1.000000 */) vec4 32 ssa_67 = vec4 ssa_63, ssa_65, ssa_0, ssa_66 vec1 32 ssa_68 = deref_var &gl_Position (shader_out vec4) vec4 32 ssa_69 = vec4 ssa_53, ssa_54, ssa_55, ssa_56 intrinsic store_deref (ssa_68, ssa_69) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_70 = deref_var &gl_FrontColor (shader_out vec4) intrinsic store_deref (ssa_70, ssa_67) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } nir_opt_peephole_select nir_opt_peephole_select nir_opt_intrinsics nir_opt_idiv_const nir_opt_algebraic nir_opt_constant_folding nir_opt_dead_cf nir_opt_trivial_continues nir_opt_if nir_opt_loop_unroll nir_opt_remove_phis nir_opt_undef nir_lower_pack nir_split_array_vars nir_shrink_vec_array_vars nir_opt_deref nir_lower_vars_to_ssa nir_opt_copy_prop_vars nir_opt_dead_write_vars nir_lower_alu_to_scalar nir_copy_prop nir_lower_phis_to_scalar nir_copy_prop nir_opt_dce nir_opt_cse nir_opt_peephole_select nir_opt_peephole_select nir_opt_intrinsics nir_opt_idiv_const nir_opt_algebraic nir_opt_constant_folding nir_opt_dead_cf nir_opt_trivial_continues nir_opt_if nir_opt_loop_unroll nir_opt_remove_phis nir_opt_undef nir_lower_pack nir_remove_dead_variables nir_split_array_vars nir_shrink_vec_array_vars nir_opt_deref nir_lower_vars_to_ssa nir_opt_copy_prop_vars nir_opt_dead_write_vars nir_lower_alu_to_scalar nir_copy_prop nir_lower_phis_to_scalar nir_copy_prop nir_opt_dce nir_opt_cse nir_opt_peephole_select nir_opt_peephole_select nir_opt_intrinsics nir_opt_idiv_const nir_opt_algebraic nir_opt_constant_folding nir_opt_dead_cf nir_opt_trivial_continues nir_opt_if nir_opt_loop_unroll nir_opt_remove_phis nir_opt_undef nir_lower_pack nir_remove_dead_variables nir_remove_dead_variables shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 72 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 64, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 0, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_1 = load_const (0x40000000 /* 2.000000 */) vec1 32 ssa_2 = load_const (0x40400000 /* 3.000000 */) vec4 32 ssa_3 = intrinsic load_uniform (ssa_0) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_4 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_5 = intrinsic load_deref (ssa_4) (0) /* access=0 */ vec1 32 ssa_6 = fmul ssa_3.x, ssa_5.x vec1 32 ssa_7 = fmul ssa_3.y, ssa_5.x vec1 32 ssa_8 = fmul ssa_3.z, ssa_5.x vec1 32 ssa_9 = fmul ssa_3.w, ssa_5.x vec1 32 ssa_10 = load_const (0x00000010 /* 0.000000 */) vec4 32 ssa_11 = intrinsic load_uniform (ssa_10) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_12 = fmul ssa_11.x, ssa_5.y vec1 32 ssa_13 = fmul ssa_11.y, ssa_5.y vec1 32 ssa_14 = fmul ssa_11.z, ssa_5.y vec1 32 ssa_15 = fmul ssa_11.w, ssa_5.y vec1 32 ssa_16 = fadd ssa_6, ssa_12 vec1 32 ssa_17 = fadd ssa_7, ssa_13 vec1 32 ssa_18 = fadd ssa_8, ssa_14 vec1 32 ssa_19 = fadd ssa_9, ssa_15 vec1 32 ssa_20 = load_const (0x00000020 /* 0.000000 */) vec4 32 ssa_21 = intrinsic load_uniform (ssa_20) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_22 = fmul ssa_21.x, ssa_5.z vec1 32 ssa_23 = fmul ssa_21.y, ssa_5.z vec1 32 ssa_24 = fmul ssa_21.z, ssa_5.z vec1 32 ssa_25 = fmul ssa_21.w, ssa_5.z vec1 32 ssa_26 = fadd ssa_16, ssa_22 vec1 32 ssa_27 = fadd ssa_17, ssa_23 vec1 32 ssa_28 = fadd ssa_18, ssa_24 vec1 32 ssa_29 = fadd ssa_19, ssa_25 vec1 32 ssa_30 = load_const (0x00000030 /* 0.000000 */) vec4 32 ssa_31 = intrinsic load_uniform (ssa_30) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_32 = fmul ssa_31.x, ssa_5.w vec1 32 ssa_33 = fmul ssa_31.y, ssa_5.w vec1 32 ssa_34 = fmul ssa_31.z, ssa_5.w vec1 32 ssa_35 = fmul ssa_31.w, ssa_5.w vec1 32 ssa_36 = fadd ssa_26, ssa_32 vec1 32 ssa_37 = fadd ssa_27, ssa_33 vec1 32 ssa_38 = fadd ssa_28, ssa_34 vec1 32 ssa_39 = fadd ssa_29, ssa_35 vec2 32 ssa_40 = intrinsic load_uniform (ssa_0) (64, 8) /* base=64 */ /* range=8 */ /* j */ vec1 32 ssa_41 = i2f32 ssa_40.x vec1 32 ssa_42 = i2f32 ssa_40.y vec1 1 ssa_43 = fne ssa_1, ssa_41 vec1 1 ssa_44 = fne ssa_2, ssa_42 vec1 1 ssa_45 = ior ssa_43, ssa_44 vec1 32 ssa_46 = b2f32 ssa_45 vec1 1 ssa_47 = inot ssa_45 vec1 32 ssa_48 = b2f32 ssa_47 vec1 32 ssa_49 = load_const (0x3f800000 /* 1.000000 */) vec4 32 ssa_50 = vec4 ssa_46, ssa_48, ssa_0, ssa_49 vec1 32 ssa_51 = deref_var &gl_Position (shader_out vec4) vec4 32 ssa_52 = vec4 ssa_36, ssa_37, ssa_38, ssa_39 intrinsic store_deref (ssa_51, ssa_52) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_53 = deref_var &gl_FrontColor (shader_out vec4) intrinsic store_deref (ssa_53, ssa_50) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } nir_remove_dead_variables shader: MESA_SHADER_FRAGMENT name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var shader_in INTERP_MODE_NONE vec4 gl_Color (VARYING_SLOT_COL0, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 0, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec1 32 ssa_0 = deref_var &gl_Color (shader_in vec4) vec4 32 ssa_1 = intrinsic load_deref (ssa_0) (0) /* access=0 */ vec1 32 ssa_2 = deref_var &gl_FragColor (shader_out vec4) intrinsic store_deref (ssa_2, ssa_1) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } gl_nir_lower_samplers shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 72 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 64, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 0, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_1 = load_const (0x40000000 /* 2.000000 */) vec1 32 ssa_2 = load_const (0x40400000 /* 3.000000 */) vec4 32 ssa_3 = intrinsic load_uniform (ssa_0) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_4 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_5 = intrinsic load_deref (ssa_4) (0) /* access=0 */ vec1 32 ssa_6 = fmul ssa_3.x, ssa_5.x vec1 32 ssa_7 = fmul ssa_3.y, ssa_5.x vec1 32 ssa_8 = fmul ssa_3.z, ssa_5.x vec1 32 ssa_9 = fmul ssa_3.w, ssa_5.x vec1 32 ssa_10 = load_const (0x00000010 /* 0.000000 */) vec4 32 ssa_11 = intrinsic load_uniform (ssa_10) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_12 = fmul ssa_11.x, ssa_5.y vec1 32 ssa_13 = fmul ssa_11.y, ssa_5.y vec1 32 ssa_14 = fmul ssa_11.z, ssa_5.y vec1 32 ssa_15 = fmul ssa_11.w, ssa_5.y vec1 32 ssa_16 = fadd ssa_6, ssa_12 vec1 32 ssa_17 = fadd ssa_7, ssa_13 vec1 32 ssa_18 = fadd ssa_8, ssa_14 vec1 32 ssa_19 = fadd ssa_9, ssa_15 vec1 32 ssa_20 = load_const (0x00000020 /* 0.000000 */) vec4 32 ssa_21 = intrinsic load_uniform (ssa_20) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_22 = fmul ssa_21.x, ssa_5.z vec1 32 ssa_23 = fmul ssa_21.y, ssa_5.z vec1 32 ssa_24 = fmul ssa_21.z, ssa_5.z vec1 32 ssa_25 = fmul ssa_21.w, ssa_5.z vec1 32 ssa_26 = fadd ssa_16, ssa_22 vec1 32 ssa_27 = fadd ssa_17, ssa_23 vec1 32 ssa_28 = fadd ssa_18, ssa_24 vec1 32 ssa_29 = fadd ssa_19, ssa_25 vec1 32 ssa_30 = load_const (0x00000030 /* 0.000000 */) vec4 32 ssa_31 = intrinsic load_uniform (ssa_30) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_32 = fmul ssa_31.x, ssa_5.w vec1 32 ssa_33 = fmul ssa_31.y, ssa_5.w vec1 32 ssa_34 = fmul ssa_31.z, ssa_5.w vec1 32 ssa_35 = fmul ssa_31.w, ssa_5.w vec1 32 ssa_36 = fadd ssa_26, ssa_32 vec1 32 ssa_37 = fadd ssa_27, ssa_33 vec1 32 ssa_38 = fadd ssa_28, ssa_34 vec1 32 ssa_39 = fadd ssa_29, ssa_35 vec2 32 ssa_40 = intrinsic load_uniform (ssa_0) (64, 8) /* base=64 */ /* range=8 */ /* j */ vec1 32 ssa_41 = i2f32 ssa_40.x vec1 32 ssa_42 = i2f32 ssa_40.y vec1 1 ssa_43 = fne ssa_1, ssa_41 vec1 1 ssa_44 = fne ssa_2, ssa_42 vec1 1 ssa_45 = ior ssa_43, ssa_44 vec1 32 ssa_46 = b2f32 ssa_45 vec1 1 ssa_47 = inot ssa_45 vec1 32 ssa_48 = b2f32 ssa_47 vec1 32 ssa_49 = load_const (0x3f800000 /* 1.000000 */) vec4 32 ssa_50 = vec4 ssa_46, ssa_48, ssa_0, ssa_49 vec1 32 ssa_51 = deref_var &gl_Position (shader_out vec4) vec4 32 ssa_52 = vec4 ssa_36, ssa_37, ssa_38, ssa_39 intrinsic store_deref (ssa_51, ssa_52) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_53 = deref_var &gl_FrontColor (shader_out vec4) intrinsic store_deref (ssa_53, ssa_50) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } gl_nir_lower_atomics shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 72 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 64, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 0, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_1 = load_const (0x40000000 /* 2.000000 */) vec1 32 ssa_2 = load_const (0x40400000 /* 3.000000 */) vec4 32 ssa_3 = intrinsic load_uniform (ssa_0) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_4 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_5 = intrinsic load_deref (ssa_4) (0) /* access=0 */ vec1 32 ssa_6 = fmul ssa_3.x, ssa_5.x vec1 32 ssa_7 = fmul ssa_3.y, ssa_5.x vec1 32 ssa_8 = fmul ssa_3.z, ssa_5.x vec1 32 ssa_9 = fmul ssa_3.w, ssa_5.x vec1 32 ssa_10 = load_const (0x00000010 /* 0.000000 */) vec4 32 ssa_11 = intrinsic load_uniform (ssa_10) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_12 = fmul ssa_11.x, ssa_5.y vec1 32 ssa_13 = fmul ssa_11.y, ssa_5.y vec1 32 ssa_14 = fmul ssa_11.z, ssa_5.y vec1 32 ssa_15 = fmul ssa_11.w, ssa_5.y vec1 32 ssa_16 = fadd ssa_6, ssa_12 vec1 32 ssa_17 = fadd ssa_7, ssa_13 vec1 32 ssa_18 = fadd ssa_8, ssa_14 vec1 32 ssa_19 = fadd ssa_9, ssa_15 vec1 32 ssa_20 = load_const (0x00000020 /* 0.000000 */) vec4 32 ssa_21 = intrinsic load_uniform (ssa_20) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_22 = fmul ssa_21.x, ssa_5.z vec1 32 ssa_23 = fmul ssa_21.y, ssa_5.z vec1 32 ssa_24 = fmul ssa_21.z, ssa_5.z vec1 32 ssa_25 = fmul ssa_21.w, ssa_5.z vec1 32 ssa_26 = fadd ssa_16, ssa_22 vec1 32 ssa_27 = fadd ssa_17, ssa_23 vec1 32 ssa_28 = fadd ssa_18, ssa_24 vec1 32 ssa_29 = fadd ssa_19, ssa_25 vec1 32 ssa_30 = load_const (0x00000030 /* 0.000000 */) vec4 32 ssa_31 = intrinsic load_uniform (ssa_30) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_32 = fmul ssa_31.x, ssa_5.w vec1 32 ssa_33 = fmul ssa_31.y, ssa_5.w vec1 32 ssa_34 = fmul ssa_31.z, ssa_5.w vec1 32 ssa_35 = fmul ssa_31.w, ssa_5.w vec1 32 ssa_36 = fadd ssa_26, ssa_32 vec1 32 ssa_37 = fadd ssa_27, ssa_33 vec1 32 ssa_38 = fadd ssa_28, ssa_34 vec1 32 ssa_39 = fadd ssa_29, ssa_35 vec2 32 ssa_40 = intrinsic load_uniform (ssa_0) (64, 8) /* base=64 */ /* range=8 */ /* j */ vec1 32 ssa_41 = i2f32 ssa_40.x vec1 32 ssa_42 = i2f32 ssa_40.y vec1 1 ssa_43 = fne ssa_1, ssa_41 vec1 1 ssa_44 = fne ssa_2, ssa_42 vec1 1 ssa_45 = ior ssa_43, ssa_44 vec1 32 ssa_46 = b2f32 ssa_45 vec1 1 ssa_47 = inot ssa_45 vec1 32 ssa_48 = b2f32 ssa_47 vec1 32 ssa_49 = load_const (0x3f800000 /* 1.000000 */) vec4 32 ssa_50 = vec4 ssa_46, ssa_48, ssa_0, ssa_49 vec1 32 ssa_51 = deref_var &gl_Position (shader_out vec4) vec4 32 ssa_52 = vec4 ssa_36, ssa_37, ssa_38, ssa_39 intrinsic store_deref (ssa_51, ssa_52) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_53 = deref_var &gl_FrontColor (shader_out vec4) intrinsic store_deref (ssa_53, ssa_50) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } nir_lower_atomics_to_ssbo shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 72 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 64, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 0, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_1 = load_const (0x40000000 /* 2.000000 */) vec1 32 ssa_2 = load_const (0x40400000 /* 3.000000 */) vec4 32 ssa_3 = intrinsic load_uniform (ssa_0) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_4 = deref_var &gl_Vertex (shader_in vec4) vec4 32 ssa_5 = intrinsic load_deref (ssa_4) (0) /* access=0 */ vec1 32 ssa_6 = fmul ssa_3.x, ssa_5.x vec1 32 ssa_7 = fmul ssa_3.y, ssa_5.x vec1 32 ssa_8 = fmul ssa_3.z, ssa_5.x vec1 32 ssa_9 = fmul ssa_3.w, ssa_5.x vec1 32 ssa_10 = load_const (0x00000010 /* 0.000000 */) vec4 32 ssa_11 = intrinsic load_uniform (ssa_10) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_12 = fmul ssa_11.x, ssa_5.y vec1 32 ssa_13 = fmul ssa_11.y, ssa_5.y vec1 32 ssa_14 = fmul ssa_11.z, ssa_5.y vec1 32 ssa_15 = fmul ssa_11.w, ssa_5.y vec1 32 ssa_16 = fadd ssa_6, ssa_12 vec1 32 ssa_17 = fadd ssa_7, ssa_13 vec1 32 ssa_18 = fadd ssa_8, ssa_14 vec1 32 ssa_19 = fadd ssa_9, ssa_15 vec1 32 ssa_20 = load_const (0x00000020 /* 0.000000 */) vec4 32 ssa_21 = intrinsic load_uniform (ssa_20) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_22 = fmul ssa_21.x, ssa_5.z vec1 32 ssa_23 = fmul ssa_21.y, ssa_5.z vec1 32 ssa_24 = fmul ssa_21.z, ssa_5.z vec1 32 ssa_25 = fmul ssa_21.w, ssa_5.z vec1 32 ssa_26 = fadd ssa_16, ssa_22 vec1 32 ssa_27 = fadd ssa_17, ssa_23 vec1 32 ssa_28 = fadd ssa_18, ssa_24 vec1 32 ssa_29 = fadd ssa_19, ssa_25 vec1 32 ssa_30 = load_const (0x00000030 /* 0.000000 */) vec4 32 ssa_31 = intrinsic load_uniform (ssa_30) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_32 = fmul ssa_31.x, ssa_5.w vec1 32 ssa_33 = fmul ssa_31.y, ssa_5.w vec1 32 ssa_34 = fmul ssa_31.z, ssa_5.w vec1 32 ssa_35 = fmul ssa_31.w, ssa_5.w vec1 32 ssa_36 = fadd ssa_26, ssa_32 vec1 32 ssa_37 = fadd ssa_27, ssa_33 vec1 32 ssa_38 = fadd ssa_28, ssa_34 vec1 32 ssa_39 = fadd ssa_29, ssa_35 vec2 32 ssa_40 = intrinsic load_uniform (ssa_0) (64, 8) /* base=64 */ /* range=8 */ /* j */ vec1 32 ssa_41 = i2f32 ssa_40.x vec1 32 ssa_42 = i2f32 ssa_40.y vec1 1 ssa_43 = fne ssa_1, ssa_41 vec1 1 ssa_44 = fne ssa_2, ssa_42 vec1 1 ssa_45 = ior ssa_43, ssa_44 vec1 32 ssa_46 = b2f32 ssa_45 vec1 1 ssa_47 = inot ssa_45 vec1 32 ssa_48 = b2f32 ssa_47 vec1 32 ssa_49 = load_const (0x3f800000 /* 1.000000 */) vec4 32 ssa_50 = vec4 ssa_46, ssa_48, ssa_0, ssa_49 vec1 32 ssa_51 = deref_var &gl_Position (shader_out vec4) vec4 32 ssa_52 = vec4 ssa_36, ssa_37, ssa_38, ssa_39 intrinsic store_deref (ssa_51, ssa_52) (15, 0) /* wrmask=xyzw */ /* access=0 */ vec1 32 ssa_53 = deref_var &gl_FrontColor (shader_out vec4) intrinsic store_deref (ssa_53, ssa_50) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } gl_nir_lower_samplers shader: MESA_SHADER_FRAGMENT name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var shader_in INTERP_MODE_NONE vec4 gl_Color (VARYING_SLOT_COL0, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 0, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec1 32 ssa_0 = deref_var &gl_Color (shader_in vec4) vec4 32 ssa_1 = intrinsic load_deref (ssa_0) (0) /* access=0 */ vec1 32 ssa_2 = deref_var &gl_FragColor (shader_out vec4) intrinsic store_deref (ssa_2, ssa_1) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } gl_nir_lower_atomics shader: MESA_SHADER_FRAGMENT name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var shader_in INTERP_MODE_NONE vec4 gl_Color (VARYING_SLOT_COL0, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 0, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec1 32 ssa_0 = deref_var &gl_Color (shader_in vec4) vec4 32 ssa_1 = intrinsic load_deref (ssa_0) (0) /* access=0 */ vec1 32 ssa_2 = deref_var &gl_FragColor (shader_out vec4) intrinsic store_deref (ssa_2, ssa_1) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } nir_lower_atomics_to_ssbo shader: MESA_SHADER_FRAGMENT name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var shader_in INTERP_MODE_NONE vec4 gl_Color (VARYING_SLOT_COL0, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 0, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec1 32 ssa_0 = deref_var &gl_Color (shader_in vec4) vec4 32 ssa_1 = intrinsic load_deref (ssa_0) (0) /* access=0 */ vec1 32 ssa_2 = deref_var &gl_FragColor (shader_out vec4) intrinsic store_deref (ssa_2, ssa_1) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } demote_sample_qualifiers shader: MESA_SHADER_FRAGMENT name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var shader_in INTERP_MODE_SMOOTH vec4 gl_Color (VARYING_SLOT_COL0, 1, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 4, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec1 32 ssa_0 = deref_var &gl_Color (shader_in vec4) vec1 32 ssa_3 = load_const (0x00000000 /* 0.000000 */) vec2 32 ssa_4 = intrinsic load_barycentric_pixel () (1) /* interp_mode=1 */ vec1 32 ssa_6 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_5 = intrinsic load_interpolated_input (ssa_4, ssa_6) (1, 0) /* base=1 */ /* component=0 */ vec1 32 ssa_2 = deref_var &gl_FragColor (shader_out vec4) vec1 32 ssa_7 = load_const (0x00000000 /* 0.000000 */) intrinsic store_output (ssa_5, ssa_7) (4, 15, 0) /* base=4 */ /* wrmask=xyzw */ /* component=0 */ /* gl_FragColor */ /* succs: block_1 */ block block_1: } move_interpolation_to_top shader: MESA_SHADER_FRAGMENT name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var shader_in INTERP_MODE_SMOOTH vec4 gl_Color (VARYING_SLOT_COL0, 1, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 4, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec1 32 ssa_0 = deref_var &gl_Color (shader_in vec4) vec1 32 ssa_3 = load_const (0x00000000 /* 0.000000 */) vec2 32 ssa_4 = intrinsic load_barycentric_pixel () (1) /* interp_mode=1 */ vec1 32 ssa_6 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_5 = intrinsic load_interpolated_input (ssa_4, ssa_6) (1, 0) /* base=1 */ /* component=0 */ vec1 32 ssa_2 = deref_var &gl_FragColor (shader_out vec4) vec1 32 ssa_7 = load_const (0x00000000 /* 0.000000 */) intrinsic store_output (ssa_5, ssa_7) (4, 15, 0) /* base=4 */ /* wrmask=xyzw */ /* component=0 */ /* gl_FragColor */ /* succs: block_1 */ block block_1: } nir_opt_algebraic_before_ffma nir_split_array_vars nir_shrink_vec_array_vars nir_opt_deref nir_lower_vars_to_ssa nir_opt_copy_prop_vars nir_opt_dead_write_vars nir_lower_alu_to_scalar nir_copy_prop nir_lower_phis_to_scalar nir_copy_prop nir_opt_dce shader: MESA_SHADER_FRAGMENT name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var shader_in INTERP_MODE_SMOOTH vec4 gl_Color (VARYING_SLOT_COL0, 1, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 4, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec2 32 ssa_4 = intrinsic load_barycentric_pixel () (1) /* interp_mode=1 */ vec1 32 ssa_6 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_5 = intrinsic load_interpolated_input (ssa_4, ssa_6) (1, 0) /* base=1 */ /* component=0 */ vec1 32 ssa_7 = load_const (0x00000000 /* 0.000000 */) intrinsic store_output (ssa_5, ssa_7) (4, 15, 0) /* base=4 */ /* wrmask=xyzw */ /* component=0 */ /* gl_FragColor */ /* succs: block_1 */ block block_1: } nir_opt_cse shader: MESA_SHADER_FRAGMENT name: GLSL3 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var shader_in INTERP_MODE_SMOOTH vec4 gl_Color (VARYING_SLOT_COL0, 1, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 4, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec2 32 ssa_4 = intrinsic load_barycentric_pixel () (1) /* interp_mode=1 */ vec1 32 ssa_6 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_5 = intrinsic load_interpolated_input (ssa_4, ssa_6) (1, 0) /* base=1 */ /* component=0 */ intrinsic store_output (ssa_5, ssa_6) (4, 15, 0) /* base=4 */ /* wrmask=xyzw */ /* component=0 */ /* gl_FragColor */ /* succs: block_1 */ block block_1: } nir_opt_peephole_select nir_opt_peephole_select nir_opt_intrinsics nir_opt_idiv_const nir_opt_algebraic nir_opt_constant_folding nir_opt_dead_cf nir_opt_trivial_continues nir_opt_if nir_opt_loop_unroll nir_opt_remove_phis nir_opt_undef nir_lower_pack nir_split_array_vars nir_shrink_vec_array_vars nir_opt_deref nir_lower_vars_to_ssa nir_opt_copy_prop_vars nir_opt_dead_write_vars nir_lower_alu_to_scalar nir_copy_prop nir_lower_phis_to_scalar nir_copy_prop nir_opt_dce nir_opt_cse nir_opt_peephole_select nir_opt_peephole_select nir_opt_intrinsics nir_opt_idiv_const nir_opt_algebraic nir_opt_constant_folding nir_opt_dead_cf nir_opt_trivial_continues nir_opt_if nir_opt_loop_unroll nir_opt_remove_phis nir_opt_undef nir_lower_pack nir_remove_dead_variables brw_nir_opt_peephole_ffma nir_opt_algebraic_late nir_lower_to_source_mods nir_copy_prop nir_opt_dce nir_opt_move_comparisons nir_lower_bool_to_int32 nir_lower_locals_to_regs nir_convert_from_ssa nir_opt_dce nir_opt_algebraic_before_ffma nir_split_array_vars nir_shrink_vec_array_vars nir_opt_deref nir_lower_vars_to_ssa nir_opt_copy_prop_vars nir_opt_dead_write_vars nir_lower_alu_to_scalar nir_copy_prop nir_lower_phis_to_scalar nir_copy_prop nir_opt_dce shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 72 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 64, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 1, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_1 = load_const (0x40000000 /* 2.000000 */) vec1 32 ssa_2 = load_const (0x40400000 /* 3.000000 */) vec4 32 ssa_3 = intrinsic load_uniform (ssa_0) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_56 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_55 = intrinsic load_input (ssa_56) (0, 0) /* base=0 */ /* component=0 */ /* gl_Vertex */ vec1 32 ssa_6 = fmul ssa_3.x, ssa_55.x vec1 32 ssa_7 = fmul ssa_3.y, ssa_55.x vec1 32 ssa_8 = fmul ssa_3.z, ssa_55.x vec1 32 ssa_9 = fmul ssa_3.w, ssa_55.x vec1 32 ssa_10 = load_const (0x00000010 /* 0.000000 */) vec4 32 ssa_11 = intrinsic load_uniform (ssa_10) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_12 = fmul ssa_11.x, ssa_55.y vec1 32 ssa_13 = fmul ssa_11.y, ssa_55.y vec1 32 ssa_14 = fmul ssa_11.z, ssa_55.y vec1 32 ssa_15 = fmul ssa_11.w, ssa_55.y vec1 32 ssa_16 = fadd ssa_6, ssa_12 vec1 32 ssa_17 = fadd ssa_7, ssa_13 vec1 32 ssa_18 = fadd ssa_8, ssa_14 vec1 32 ssa_19 = fadd ssa_9, ssa_15 vec1 32 ssa_20 = load_const (0x00000020 /* 0.000000 */) vec4 32 ssa_21 = intrinsic load_uniform (ssa_20) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_22 = fmul ssa_21.x, ssa_55.z vec1 32 ssa_23 = fmul ssa_21.y, ssa_55.z vec1 32 ssa_24 = fmul ssa_21.z, ssa_55.z vec1 32 ssa_25 = fmul ssa_21.w, ssa_55.z vec1 32 ssa_26 = fadd ssa_16, ssa_22 vec1 32 ssa_27 = fadd ssa_17, ssa_23 vec1 32 ssa_28 = fadd ssa_18, ssa_24 vec1 32 ssa_29 = fadd ssa_19, ssa_25 vec1 32 ssa_30 = load_const (0x00000030 /* 0.000000 */) vec4 32 ssa_31 = intrinsic load_uniform (ssa_30) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_32 = fmul ssa_31.x, ssa_55.w vec1 32 ssa_33 = fmul ssa_31.y, ssa_55.w vec1 32 ssa_34 = fmul ssa_31.z, ssa_55.w vec1 32 ssa_35 = fmul ssa_31.w, ssa_55.w vec1 32 ssa_36 = fadd ssa_26, ssa_32 vec1 32 ssa_37 = fadd ssa_27, ssa_33 vec1 32 ssa_38 = fadd ssa_28, ssa_34 vec1 32 ssa_39 = fadd ssa_29, ssa_35 vec2 32 ssa_40 = intrinsic load_uniform (ssa_0) (64, 8) /* base=64 */ /* range=8 */ /* j */ vec1 32 ssa_41 = i2f32 ssa_40.x vec1 32 ssa_42 = i2f32 ssa_40.y vec1 1 ssa_43 = fne ssa_1, ssa_41 vec1 1 ssa_44 = fne ssa_2, ssa_42 vec1 1 ssa_45 = ior ssa_43, ssa_44 vec1 32 ssa_46 = b2f32 ssa_45 vec1 1 ssa_47 = inot ssa_45 vec1 32 ssa_48 = b2f32 ssa_47 vec1 32 ssa_49 = load_const (0x3f800000 /* 1.000000 */) vec4 32 ssa_50 = vec4 ssa_46, ssa_48, ssa_0, ssa_49 vec4 32 ssa_52 = vec4 ssa_36, ssa_37, ssa_38, ssa_39 vec1 32 ssa_57 = load_const (0x00000000 /* 0.000000 */) intrinsic store_output (ssa_52, ssa_57) (0, 15, 0) /* base=0 */ /* wrmask=xyzw */ /* component=0 */ /* gl_Position */ vec1 32 ssa_58 = load_const (0x00000000 /* 0.000000 */) intrinsic store_output (ssa_50, ssa_58) (1, 15, 0) /* base=1 */ /* wrmask=xyzw */ /* component=0 */ /* gl_FrontColor */ /* succs: block_1 */ block block_1: } nir_opt_cse shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 72 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 64, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 1, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_1 = load_const (0x40000000 /* 2.000000 */) vec1 32 ssa_2 = load_const (0x40400000 /* 3.000000 */) vec4 32 ssa_3 = intrinsic load_uniform (ssa_0) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec4 32 ssa_55 = intrinsic load_input (ssa_0) (0, 0) /* base=0 */ /* component=0 */ /* gl_Vertex */ vec1 32 ssa_6 = fmul ssa_3.x, ssa_55.x vec1 32 ssa_7 = fmul ssa_3.y, ssa_55.x vec1 32 ssa_8 = fmul ssa_3.z, ssa_55.x vec1 32 ssa_9 = fmul ssa_3.w, ssa_55.x vec1 32 ssa_10 = load_const (0x00000010 /* 0.000000 */) vec4 32 ssa_11 = intrinsic load_uniform (ssa_10) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_12 = fmul ssa_11.x, ssa_55.y vec1 32 ssa_13 = fmul ssa_11.y, ssa_55.y vec1 32 ssa_14 = fmul ssa_11.z, ssa_55.y vec1 32 ssa_15 = fmul ssa_11.w, ssa_55.y vec1 32 ssa_16 = fadd ssa_6, ssa_12 vec1 32 ssa_17 = fadd ssa_7, ssa_13 vec1 32 ssa_18 = fadd ssa_8, ssa_14 vec1 32 ssa_19 = fadd ssa_9, ssa_15 vec1 32 ssa_20 = load_const (0x00000020 /* 0.000000 */) vec4 32 ssa_21 = intrinsic load_uniform (ssa_20) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_22 = fmul ssa_21.x, ssa_55.z vec1 32 ssa_23 = fmul ssa_21.y, ssa_55.z vec1 32 ssa_24 = fmul ssa_21.z, ssa_55.z vec1 32 ssa_25 = fmul ssa_21.w, ssa_55.z vec1 32 ssa_26 = fadd ssa_16, ssa_22 vec1 32 ssa_27 = fadd ssa_17, ssa_23 vec1 32 ssa_28 = fadd ssa_18, ssa_24 vec1 32 ssa_29 = fadd ssa_19, ssa_25 vec1 32 ssa_30 = load_const (0x00000030 /* 0.000000 */) vec4 32 ssa_31 = intrinsic load_uniform (ssa_30) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_32 = fmul ssa_31.x, ssa_55.w vec1 32 ssa_33 = fmul ssa_31.y, ssa_55.w vec1 32 ssa_34 = fmul ssa_31.z, ssa_55.w vec1 32 ssa_35 = fmul ssa_31.w, ssa_55.w vec1 32 ssa_36 = fadd ssa_26, ssa_32 vec1 32 ssa_37 = fadd ssa_27, ssa_33 vec1 32 ssa_38 = fadd ssa_28, ssa_34 vec1 32 ssa_39 = fadd ssa_29, ssa_35 vec2 32 ssa_40 = intrinsic load_uniform (ssa_0) (64, 8) /* base=64 */ /* range=8 */ /* j */ vec1 32 ssa_41 = i2f32 ssa_40.x vec1 32 ssa_42 = i2f32 ssa_40.y vec1 1 ssa_43 = fne ssa_1, ssa_41 vec1 1 ssa_44 = fne ssa_2, ssa_42 vec1 1 ssa_45 = ior ssa_43, ssa_44 vec1 32 ssa_46 = b2f32 ssa_45 vec1 1 ssa_47 = inot ssa_45 vec1 32 ssa_48 = b2f32 ssa_47 vec1 32 ssa_49 = load_const (0x3f800000 /* 1.000000 */) vec4 32 ssa_50 = vec4 ssa_46, ssa_48, ssa_0, ssa_49 vec4 32 ssa_52 = vec4 ssa_36, ssa_37, ssa_38, ssa_39 intrinsic store_output (ssa_52, ssa_0) (0, 15, 0) /* base=0 */ /* wrmask=xyzw */ /* component=0 */ /* gl_Position */ intrinsic store_output (ssa_50, ssa_0) (1, 15, 0) /* base=1 */ /* wrmask=xyzw */ /* component=0 */ /* gl_FrontColor */ /* succs: block_1 */ block block_1: } nir_opt_peephole_select nir_opt_peephole_select nir_opt_intrinsics nir_opt_idiv_const nir_opt_algebraic nir_opt_constant_folding nir_opt_dead_cf nir_opt_trivial_continues nir_opt_if nir_opt_loop_unroll nir_opt_remove_phis nir_opt_undef nir_lower_pack nir_split_array_vars nir_shrink_vec_array_vars nir_opt_deref nir_lower_vars_to_ssa nir_opt_copy_prop_vars nir_opt_dead_write_vars nir_lower_alu_to_scalar nir_copy_prop nir_lower_phis_to_scalar nir_copy_prop nir_opt_dce nir_opt_cse nir_opt_peephole_select nir_opt_peephole_select nir_opt_intrinsics nir_opt_idiv_const nir_opt_algebraic nir_opt_constant_folding nir_opt_dead_cf nir_opt_trivial_continues nir_opt_if nir_opt_loop_unroll nir_opt_remove_phis nir_opt_undef nir_lower_pack nir_remove_dead_variables brw_nir_opt_peephole_ffma shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 72 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 64, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 1, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_1 = load_const (0x40000000 /* 2.000000 */) vec1 32 ssa_2 = load_const (0x40400000 /* 3.000000 */) vec4 32 ssa_3 = intrinsic load_uniform (ssa_0) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec4 32 ssa_4 = intrinsic load_input (ssa_0) (0, 0) /* base=0 */ /* component=0 */ /* gl_Vertex */ vec1 32 ssa_5 = fmul ssa_3.x, ssa_4.x vec1 32 ssa_6 = fmul ssa_3.y, ssa_4.x vec1 32 ssa_7 = fmul ssa_3.z, ssa_4.x vec1 32 ssa_8 = fmul ssa_3.w, ssa_4.x vec1 32 ssa_9 = load_const (0x00000010 /* 0.000000 */) vec4 32 ssa_10 = intrinsic load_uniform (ssa_9) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_11 = fmul ssa_10.x, ssa_4.y vec1 32 ssa_12 = fmul ssa_10.y, ssa_4.y vec1 32 ssa_13 = fmul ssa_10.z, ssa_4.y vec1 32 ssa_14 = fmul ssa_10.w, ssa_4.y vec1 32 ssa_51 = ffma ssa_3.x, ssa_4.x, ssa_11 vec1 32 ssa_52 = ffma ssa_3.y, ssa_4.x, ssa_12 vec1 32 ssa_53 = ffma ssa_3.z, ssa_4.x, ssa_13 vec1 32 ssa_54 = ffma ssa_3.w, ssa_4.x, ssa_14 vec1 32 ssa_19 = load_const (0x00000020 /* 0.000000 */) vec4 32 ssa_20 = intrinsic load_uniform (ssa_19) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_21 = fmul ssa_20.x, ssa_4.z vec1 32 ssa_22 = fmul ssa_20.y, ssa_4.z vec1 32 ssa_23 = fmul ssa_20.z, ssa_4.z vec1 32 ssa_24 = fmul ssa_20.w, ssa_4.z vec1 32 ssa_55 = ffma ssa_20.x, ssa_4.z, ssa_51 vec1 32 ssa_56 = ffma ssa_20.y, ssa_4.z, ssa_52 vec1 32 ssa_57 = ffma ssa_20.z, ssa_4.z, ssa_53 vec1 32 ssa_58 = ffma ssa_20.w, ssa_4.z, ssa_54 vec1 32 ssa_29 = load_const (0x00000030 /* 0.000000 */) vec4 32 ssa_30 = intrinsic load_uniform (ssa_29) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_31 = fmul ssa_30.x, ssa_4.w vec1 32 ssa_32 = fmul ssa_30.y, ssa_4.w vec1 32 ssa_33 = fmul ssa_30.z, ssa_4.w vec1 32 ssa_34 = fmul ssa_30.w, ssa_4.w vec1 32 ssa_59 = ffma ssa_30.x, ssa_4.w, ssa_55 vec1 32 ssa_60 = ffma ssa_30.y, ssa_4.w, ssa_56 vec1 32 ssa_61 = ffma ssa_30.z, ssa_4.w, ssa_57 vec1 32 ssa_62 = ffma ssa_30.w, ssa_4.w, ssa_58 vec2 32 ssa_39 = intrinsic load_uniform (ssa_0) (64, 8) /* base=64 */ /* range=8 */ /* j */ vec1 32 ssa_40 = i2f32 ssa_39.x vec1 32 ssa_41 = i2f32 ssa_39.y vec1 1 ssa_42 = fne ssa_1, ssa_40 vec1 1 ssa_43 = fne ssa_2, ssa_41 vec1 1 ssa_44 = ior ssa_42, ssa_43 vec1 32 ssa_45 = b2f32 ssa_44 vec1 1 ssa_46 = inot ssa_44 vec1 32 ssa_47 = b2f32 ssa_46 vec1 32 ssa_48 = load_const (0x3f800000 /* 1.000000 */) vec4 32 ssa_49 = vec4 ssa_45, ssa_47, ssa_0, ssa_48 vec4 32 ssa_50 = vec4 ssa_59, ssa_60, ssa_61, ssa_62 intrinsic store_output (ssa_50, ssa_0) (0, 15, 0) /* base=0 */ /* wrmask=xyzw */ /* component=0 */ /* gl_Position */ intrinsic store_output (ssa_49, ssa_0) (1, 15, 0) /* base=1 */ /* wrmask=xyzw */ /* component=0 */ /* gl_FrontColor */ /* succs: block_1 */ block block_1: } nir_opt_algebraic_late nir_lower_to_source_mods shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 72 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 64, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 1, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_1 = load_const (0x40000000 /* 2.000000 */) vec1 32 ssa_2 = load_const (0x40400000 /* 3.000000 */) vec4 32 ssa_3 = intrinsic load_uniform (ssa_0) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec4 32 ssa_4 = intrinsic load_input (ssa_0) (0, 0) /* base=0 */ /* component=0 */ /* gl_Vertex */ vec1 32 ssa_5 = fmul.sat ssa_3.x, ssa_4.x vec1 32 ssa_6 = fmul.sat ssa_3.y, ssa_4.x vec1 32 ssa_7 = fmul.sat ssa_3.z, ssa_4.x vec1 32 ssa_8 = fmul.sat ssa_3.w, ssa_4.x vec1 32 ssa_9 = load_const (0x00000010 /* 0.000000 */) vec4 32 ssa_10 = intrinsic load_uniform (ssa_9) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_11 = fmul ssa_10.x, ssa_4.y vec1 32 ssa_12 = fmul ssa_10.y, ssa_4.y vec1 32 ssa_13 = fmul ssa_10.z, ssa_4.y vec1 32 ssa_14 = fmul ssa_10.w, ssa_4.y vec1 32 ssa_51 = ffma ssa_3.x, ssa_4.x, ssa_11 vec1 32 ssa_52 = ffma ssa_3.y, ssa_4.x, ssa_12 vec1 32 ssa_53 = ffma ssa_3.z, ssa_4.x, ssa_13 vec1 32 ssa_54 = ffma ssa_3.w, ssa_4.x, ssa_14 vec1 32 ssa_19 = load_const (0x00000020 /* 0.000000 */) vec4 32 ssa_20 = intrinsic load_uniform (ssa_19) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_21 = fmul.sat ssa_20.x, ssa_4.z vec1 32 ssa_22 = fmul.sat ssa_20.y, ssa_4.z vec1 32 ssa_23 = fmul.sat ssa_20.z, ssa_4.z vec1 32 ssa_24 = fmul.sat ssa_20.w, ssa_4.z vec1 32 ssa_55 = ffma ssa_20.x, ssa_4.z, ssa_51 vec1 32 ssa_56 = ffma ssa_20.y, ssa_4.z, ssa_52 vec1 32 ssa_57 = ffma ssa_20.z, ssa_4.z, ssa_53 vec1 32 ssa_58 = ffma ssa_20.w, ssa_4.z, ssa_54 vec1 32 ssa_29 = load_const (0x00000030 /* 0.000000 */) vec4 32 ssa_30 = intrinsic load_uniform (ssa_29) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_31 = fmul.sat ssa_30.x, ssa_4.w vec1 32 ssa_32 = fmul.sat ssa_30.y, ssa_4.w vec1 32 ssa_33 = fmul.sat ssa_30.z, ssa_4.w vec1 32 ssa_34 = fmul.sat ssa_30.w, ssa_4.w vec1 32 ssa_59 = ffma ssa_30.x, ssa_4.w, ssa_55 vec1 32 ssa_60 = ffma ssa_30.y, ssa_4.w, ssa_56 vec1 32 ssa_61 = ffma ssa_30.z, ssa_4.w, ssa_57 vec1 32 ssa_62 = ffma ssa_30.w, ssa_4.w, ssa_58 vec2 32 ssa_39 = intrinsic load_uniform (ssa_0) (64, 8) /* base=64 */ /* range=8 */ /* j */ vec1 32 ssa_40 = i2f32 ssa_39.x vec1 32 ssa_41 = i2f32 ssa_39.y vec1 1 ssa_42 = fne ssa_1, ssa_40 vec1 1 ssa_43 = fne ssa_2, ssa_41 vec1 1 ssa_44 = ior ssa_42, ssa_43 vec1 32 ssa_45 = b2f32 ssa_44 vec1 1 ssa_46 = inot ssa_44 vec1 32 ssa_47 = b2f32 ssa_46 vec1 32 ssa_48 = load_const (0x3f800000 /* 1.000000 */) vec4 32 ssa_49 = vec4 ssa_45, ssa_47, ssa_0, ssa_48 vec4 32 ssa_50 = vec4 ssa_59, ssa_60, ssa_61, ssa_62 intrinsic store_output (ssa_50, ssa_0) (0, 15, 0) /* base=0 */ /* wrmask=xyzw */ /* component=0 */ /* gl_Position */ intrinsic store_output (ssa_49, ssa_0) (1, 15, 0) /* base=1 */ /* wrmask=xyzw */ /* component=0 */ /* gl_FrontColor */ /* succs: block_1 */ block block_1: } nir_copy_prop nir_opt_dce shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 72 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 64, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 1, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_1 = load_const (0x40000000 /* 2.000000 */) vec1 32 ssa_2 = load_const (0x40400000 /* 3.000000 */) vec4 32 ssa_3 = intrinsic load_uniform (ssa_0) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec4 32 ssa_4 = intrinsic load_input (ssa_0) (0, 0) /* base=0 */ /* component=0 */ /* gl_Vertex */ vec1 32 ssa_9 = load_const (0x00000010 /* 0.000000 */) vec4 32 ssa_10 = intrinsic load_uniform (ssa_9) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_11 = fmul ssa_10.x, ssa_4.y vec1 32 ssa_12 = fmul ssa_10.y, ssa_4.y vec1 32 ssa_13 = fmul ssa_10.z, ssa_4.y vec1 32 ssa_14 = fmul ssa_10.w, ssa_4.y vec1 32 ssa_51 = ffma ssa_3.x, ssa_4.x, ssa_11 vec1 32 ssa_52 = ffma ssa_3.y, ssa_4.x, ssa_12 vec1 32 ssa_53 = ffma ssa_3.z, ssa_4.x, ssa_13 vec1 32 ssa_54 = ffma ssa_3.w, ssa_4.x, ssa_14 vec1 32 ssa_19 = load_const (0x00000020 /* 0.000000 */) vec4 32 ssa_20 = intrinsic load_uniform (ssa_19) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_55 = ffma ssa_20.x, ssa_4.z, ssa_51 vec1 32 ssa_56 = ffma ssa_20.y, ssa_4.z, ssa_52 vec1 32 ssa_57 = ffma ssa_20.z, ssa_4.z, ssa_53 vec1 32 ssa_58 = ffma ssa_20.w, ssa_4.z, ssa_54 vec1 32 ssa_29 = load_const (0x00000030 /* 0.000000 */) vec4 32 ssa_30 = intrinsic load_uniform (ssa_29) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_59 = ffma ssa_30.x, ssa_4.w, ssa_55 vec1 32 ssa_60 = ffma ssa_30.y, ssa_4.w, ssa_56 vec1 32 ssa_61 = ffma ssa_30.z, ssa_4.w, ssa_57 vec1 32 ssa_62 = ffma ssa_30.w, ssa_4.w, ssa_58 vec2 32 ssa_39 = intrinsic load_uniform (ssa_0) (64, 8) /* base=64 */ /* range=8 */ /* j */ vec1 32 ssa_40 = i2f32 ssa_39.x vec1 32 ssa_41 = i2f32 ssa_39.y vec1 1 ssa_42 = fne ssa_1, ssa_40 vec1 1 ssa_43 = fne ssa_2, ssa_41 vec1 1 ssa_44 = ior ssa_42, ssa_43 vec1 32 ssa_45 = b2f32 ssa_44 vec1 1 ssa_46 = inot ssa_44 vec1 32 ssa_47 = b2f32 ssa_46 vec1 32 ssa_48 = load_const (0x3f800000 /* 1.000000 */) vec4 32 ssa_49 = vec4 ssa_45, ssa_47, ssa_0, ssa_48 vec4 32 ssa_50 = vec4 ssa_59, ssa_60, ssa_61, ssa_62 intrinsic store_output (ssa_50, ssa_0) (0, 15, 0) /* base=0 */ /* wrmask=xyzw */ /* component=0 */ /* gl_Position */ intrinsic store_output (ssa_49, ssa_0) (1, 15, 0) /* base=1 */ /* wrmask=xyzw */ /* component=0 */ /* gl_FrontColor */ /* succs: block_1 */ block block_1: } nir_opt_move_comparisons shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 72 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 64, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 1, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_1 = load_const (0x40000000 /* 2.000000 */) vec1 32 ssa_2 = load_const (0x40400000 /* 3.000000 */) vec4 32 ssa_3 = intrinsic load_uniform (ssa_0) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec4 32 ssa_4 = intrinsic load_input (ssa_0) (0, 0) /* base=0 */ /* component=0 */ /* gl_Vertex */ vec1 32 ssa_9 = load_const (0x00000010 /* 0.000000 */) vec4 32 ssa_10 = intrinsic load_uniform (ssa_9) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_11 = fmul ssa_10.x, ssa_4.y vec1 32 ssa_12 = fmul ssa_10.y, ssa_4.y vec1 32 ssa_13 = fmul ssa_10.z, ssa_4.y vec1 32 ssa_14 = fmul ssa_10.w, ssa_4.y vec1 32 ssa_51 = ffma ssa_3.x, ssa_4.x, ssa_11 vec1 32 ssa_52 = ffma ssa_3.y, ssa_4.x, ssa_12 vec1 32 ssa_53 = ffma ssa_3.z, ssa_4.x, ssa_13 vec1 32 ssa_54 = ffma ssa_3.w, ssa_4.x, ssa_14 vec1 32 ssa_19 = load_const (0x00000020 /* 0.000000 */) vec4 32 ssa_20 = intrinsic load_uniform (ssa_19) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_55 = ffma ssa_20.x, ssa_4.z, ssa_51 vec1 32 ssa_56 = ffma ssa_20.y, ssa_4.z, ssa_52 vec1 32 ssa_57 = ffma ssa_20.z, ssa_4.z, ssa_53 vec1 32 ssa_58 = ffma ssa_20.w, ssa_4.z, ssa_54 vec1 32 ssa_29 = load_const (0x00000030 /* 0.000000 */) vec4 32 ssa_30 = intrinsic load_uniform (ssa_29) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_59 = ffma ssa_30.x, ssa_4.w, ssa_55 vec1 32 ssa_60 = ffma ssa_30.y, ssa_4.w, ssa_56 vec1 32 ssa_61 = ffma ssa_30.z, ssa_4.w, ssa_57 vec1 32 ssa_62 = ffma ssa_30.w, ssa_4.w, ssa_58 vec2 32 ssa_39 = intrinsic load_uniform (ssa_0) (64, 8) /* base=64 */ /* range=8 */ /* j */ vec1 32 ssa_40 = i2f32 ssa_39.x vec1 32 ssa_41 = i2f32 ssa_39.y vec1 1 ssa_43 = fne ssa_2, ssa_41 vec1 1 ssa_42 = fne ssa_1, ssa_40 vec1 1 ssa_44 = ior ssa_42, ssa_43 vec1 32 ssa_45 = b2f32 ssa_44 vec1 1 ssa_46 = inot ssa_44 vec1 32 ssa_47 = b2f32 ssa_46 vec1 32 ssa_48 = load_const (0x3f800000 /* 1.000000 */) vec4 32 ssa_49 = vec4 ssa_45, ssa_47, ssa_0, ssa_48 vec4 32 ssa_50 = vec4 ssa_59, ssa_60, ssa_61, ssa_62 intrinsic store_output (ssa_50, ssa_0) (0, 15, 0) /* base=0 */ /* wrmask=xyzw */ /* component=0 */ /* gl_Position */ intrinsic store_output (ssa_49, ssa_0) (1, 15, 0) /* base=1 */ /* wrmask=xyzw */ /* component=0 */ /* gl_FrontColor */ /* succs: block_1 */ block block_1: } nir_lower_bool_to_int32 shader: MESA_SHADER_VERTEX name: GLSL3 inputs: 0 outputs: 0 uniforms: 72 shared: 0 decl_var uniform INTERP_MODE_NONE mat4 gl_ModelViewProjectionMatrix (0, 0, 0) decl_var uniform INTERP_MODE_NONE ivec2 j (1, 64, 0) = { 0x00000002, 0x00000003 } decl_var shader_in INTERP_MODE_NONE vec4 gl_Vertex (VERT_ATTRIB_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FrontColor (VARYING_SLOT_COL0, 1, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_1 = load_const (0x40000000 /* 2.000000 */) vec1 32 ssa_2 = load_const (0x40400000 /* 3.000000 */) vec4 32 ssa_3 = intrinsic load_uniform (ssa_0) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec4 32 ssa_4 = intrinsic load_input (ssa_0) (0, 0) /* base=0 */ /* component=0 */ /* gl_Vertex */ vec1 32 ssa_9 = load_const (0x00000010 /* 0.000000 */) vec4 32 ssa_10 = intrinsic load_uniform (ssa_9) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_11 = fmul ssa_10.x, ssa_4.y vec1 32 ssa_12 = fmul ssa_10.y, ssa_4.y vec1 32 ssa_13 = fmul ssa_10.z, ssa_4.y vec1 32 ssa_14 = fmul ssa_10.w, ssa_4.y vec1 32 ssa_51 = ffma ssa_3.x, ssa_4.x, ssa_11 vec1 32 ssa_52 = ffma ssa_3.y, ssa_4.x, ssa_12 vec1 32 ssa_53 = ffma ssa_3.z, ssa_4.x, ssa_13 vec1 32 ssa_54 = ffma ssa_3.w, ssa_4.x, ssa_14 vec1 32 ssa_19 = load_const (0x00000020 /* 0.000000 */) vec4 32 ssa_20 = intrinsic load_uniform (ssa_19) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_55 = ffma ssa_20.x, ssa_4.z, ssa_51 vec1 32 ssa_56 = ffma ssa_20.y, ssa_4.z, ssa_52 vec1 32 ssa_57 = ffma ssa_20.z, ssa_4.z, ssa_53 vec1 32 ssa_58 = ffma ssa_20.w, ssa_4.z, ssa_54 vec1 32 ssa_29 = load_const (0x00000030 /* 0.000000 */) vec4 32 ssa_30 = intrinsic load_uniform (ssa_29) (0, 64) /* base=0 */ /* range=64 */ /* gl_ModelViewProjectionMatrix */ vec1 32 ssa_59 = ffma ssa_30.x, ssa_4.w, ssa_55 vec1 32 ssa_60 = ffma ssa_30.y, ssa_4.w, ssa_56 vec1 32 ssa_61 = ffma ssa_30.z, ssa_4.w, ssa_57 vec1 32 ssa_62 = ffma ssa_30.w, ssa_4.w, ssa_58 vec2 32 ssa_39 = intrinsic load_uniform (ssa_0) (64, 8) /* base=64 */ /* range=8 */ /* j */ vec1 32 ssa_40 = i2f32 ssa_39.x vec1 32 ssa_41 = i2f32 ssa_39.y vec1 32 ssa_43 = fne32 ssa_2, ssa_41 vec1 32 ssa_42 = fne32 ssa_1, ssa_40 vec1 32 ssa_44 = ior ssa_42, ssa_43 vec1 32 ssa_45 = b2f32 ssa_44 vec1 32 ssa_46 = inot ssa_44 vec1 32 ssa_47 = b2f32 ssa_46 vec1 32 ssa_48 = load_const (0x3f800000 /* 1.000000 */) vec4 32 ssa_49 = vec4 ssa_45, ssa_47, ssa_0, ssa_48 vec4 32 ssa_50 = vec4 ssa_59, ssa_60, ssa_61, ssa_62 intrinsic store_output (ssa_50, ssa_0) (0, 15, 0) /* base=0 */ /* wrmask=xyzw */ /* component=0 */ /* gl_Position */ intrinsic store_output (ssa_49, ssa_0) (1, 15, 0) /* base=1 */ /* wrmask=xyzw */ /* component=0 */ /* gl_FrontColor */ /* succs: block_1 */ block block_1: } nir_lower_locals_to_regs nir_convert_from_ssa nir_opt_dce nir_lower_alu_to_scalar nir_opt_algebraic nir_lower_int64 nir_lower_doubles nir_opt_algebraic nir_lower_constant_initializers nir_lower_tex nir_normalize_cubemap_coords nir_lower_global_vars_to_local nir_split_var_copies nir_split_struct_vars nir_split_array_vars nir_shrink_vec_array_vars nir_opt_deref nir_lower_vars_to_ssa nir_opt_find_array_copies nir_opt_copy_prop_vars nir_opt_dead_write_vars nir_lower_alu_to_scalar nir_copy_prop nir_lower_phis_to_scalar nir_copy_prop nir_opt_dce nir_opt_cse nir_opt_peephole_select nir_opt_peephole_select nir_opt_intrinsics nir_opt_idiv_const nir_opt_algebraic nir_opt_constant_folding nir_opt_dead_cf nir_opt_trivial_continues nir_opt_if nir_opt_loop_unroll nir_opt_remove_phis nir_opt_undef nir_lower_pack nir_remove_dead_variables nir_lower_bit_size nir_lower_load_const_to_scalar nir_lower_var_copies nir_lower_system_values nir_lower_subgroups nir_lower_clip_cull_distance_arrays nir_lower_indirect_derefs brw_nir_lower_mem_access_bit_sizes nir_split_array_vars nir_shrink_vec_array_vars nir_opt_deref nir_lower_vars_to_ssa nir_opt_copy_prop_vars nir_opt_dead_write_vars nir_lower_alu_to_scalar nir_copy_prop nir_lower_phis_to_scalar nir_copy_prop nir_opt_dce nir_opt_cse nir_opt_peephole_select nir_opt_peephole_select nir_opt_intrinsics nir_opt_idiv_const nir_opt_algebraic nir_opt_constant_folding nir_opt_dead_cf nir_opt_trivial_continues nir_opt_if nir_opt_loop_unroll nir_opt_remove_phis nir_opt_undef nir_lower_pack nir_remove_dead_variables demote_sample_qualifiers shader: MESA_SHADER_FRAGMENT name: BLORP-clear inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var shader_in INTERP_MODE_FLAT vec4 clear_color (VARYING_SLOT_VAR0, 31, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 4, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec1 32 ssa_0 = deref_var &clear_color (shader_in vec4) vec1 32 ssa_3 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_5 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_4 = intrinsic load_input (ssa_5) (31, 0) /* base=31 */ /* component=0 */ /* clear_color */ vec1 32 ssa_2 = deref_var &gl_FragColor (shader_out vec4) vec1 32 ssa_6 = load_const (0x00000000 /* 0.000000 */) intrinsic store_output (ssa_4, ssa_6) (4, 15, 0) /* base=4 */ /* wrmask=xyzw */ /* component=0 */ /* gl_FragColor */ /* succs: block_1 */ block block_1: } move_interpolation_to_top shader: MESA_SHADER_FRAGMENT name: BLORP-clear inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var shader_in INTERP_MODE_FLAT vec4 clear_color (VARYING_SLOT_VAR0, 31, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 4, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec1 32 ssa_0 = deref_var &clear_color (shader_in vec4) vec1 32 ssa_3 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_5 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_4 = intrinsic load_input (ssa_5) (31, 0) /* base=31 */ /* component=0 */ /* clear_color */ vec1 32 ssa_2 = deref_var &gl_FragColor (shader_out vec4) vec1 32 ssa_6 = load_const (0x00000000 /* 0.000000 */) intrinsic store_output (ssa_4, ssa_6) (4, 15, 0) /* base=4 */ /* wrmask=xyzw */ /* component=0 */ /* gl_FragColor */ /* succs: block_1 */ block block_1: } nir_opt_algebraic_before_ffma nir_split_array_vars nir_shrink_vec_array_vars nir_opt_deref nir_lower_vars_to_ssa nir_opt_copy_prop_vars nir_opt_dead_write_vars nir_lower_alu_to_scalar nir_copy_prop nir_lower_phis_to_scalar nir_copy_prop nir_opt_dce shader: MESA_SHADER_FRAGMENT name: BLORP-clear inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var shader_in INTERP_MODE_FLAT vec4 clear_color (VARYING_SLOT_VAR0, 31, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 4, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec1 32 ssa_5 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_4 = intrinsic load_input (ssa_5) (31, 0) /* base=31 */ /* component=0 */ /* clear_color */ vec1 32 ssa_6 = load_const (0x00000000 /* 0.000000 */) intrinsic store_output (ssa_4, ssa_6) (4, 15, 0) /* base=4 */ /* wrmask=xyzw */ /* component=0 */ /* gl_FragColor */ /* succs: block_1 */ block block_1: } nir_opt_cse shader: MESA_SHADER_FRAGMENT name: BLORP-clear inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var shader_in INTERP_MODE_FLAT vec4 clear_color (VARYING_SLOT_VAR0, 31, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 4, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec1 32 ssa_5 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_4 = intrinsic load_input (ssa_5) (31, 0) /* base=31 */ /* component=0 */ /* clear_color */ intrinsic store_output (ssa_4, ssa_5) (4, 15, 0) /* base=4 */ /* wrmask=xyzw */ /* component=0 */ /* gl_FragColor */ /* succs: block_1 */ block block_1: } nir_opt_peephole_select nir_opt_peephole_select nir_opt_intrinsics nir_opt_idiv_const nir_opt_algebraic nir_opt_constant_folding nir_opt_dead_cf nir_opt_trivial_continues nir_opt_if nir_opt_loop_unroll nir_opt_remove_phis nir_opt_undef nir_lower_pack nir_split_array_vars nir_shrink_vec_array_vars nir_opt_deref nir_lower_vars_to_ssa nir_opt_copy_prop_vars nir_opt_dead_write_vars nir_lower_alu_to_scalar nir_copy_prop nir_lower_phis_to_scalar nir_copy_prop nir_opt_dce nir_opt_cse nir_opt_peephole_select nir_opt_peephole_select nir_opt_intrinsics nir_opt_idiv_const nir_opt_algebraic nir_opt_constant_folding nir_opt_dead_cf nir_opt_trivial_continues nir_opt_if nir_opt_loop_unroll nir_opt_remove_phis nir_opt_undef nir_lower_pack nir_remove_dead_variables brw_nir_opt_peephole_ffma nir_opt_algebraic_late nir_lower_to_source_mods nir_copy_prop nir_opt_dce nir_opt_move_comparisons nir_lower_bool_to_int32 nir_lower_locals_to_regs nir_convert_from_ssa nir_opt_dce nir_lower_alu_to_scalar shader: MESA_SHADER_FRAGMENT name: BLORP-blit inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var shader_in INTERP_MODE_FLAT vec4 discard_rect (VARYING_SLOT_VAR1, 0, 0) decl_var shader_in INTERP_MODE_FLAT vec4 rect_grid (VARYING_SLOT_VAR2, 0, 0) decl_var shader_in INTERP_MODE_FLAT vec4 coord_transform (VARYING_SLOT_VAR3, 0, 0) decl_var shader_in INTERP_MODE_FLAT uint src_z (VARYING_SLOT_VAR5.z, 0, 0) decl_var shader_in INTERP_MODE_FLAT uvec2 src_offset (VARYING_SLOT_VAR4.xy, 0, 0) decl_var shader_in INTERP_MODE_FLAT uvec2 dst_offset (VARYING_SLOT_VAR4.zw, 0, 0) decl_var shader_in INTERP_MODE_FLAT vec2 src_inv_size (VARYING_SLOT_VAR5.xy, 0, 0) decl_var shader_in INTERP_MODE_SMOOTH vec4 gl_FragCoord (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 0, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec1 32 ssa_0 = deref_var &gl_FragCoord (shader_in vec4) vec4 32 ssa_1 = intrinsic load_deref (ssa_0) (0) /* access=0 */ vec1 32 ssa_26 = f2i32 ssa_1.x vec1 32 ssa_27 = f2i32 ssa_1.y vec1 32 ssa_28 = f2i32 ssa_1.z vec1 32 ssa_29 = f2i32 ssa_1.w vec4 32 ssa_30 = vec4 ssa_26, ssa_27, ssa_28, ssa_29 vec1 32 ssa_3 = imov ssa_30.y vec1 32 ssa_4 = imov ssa_30.x vec2 32 ssa_5 = vec2 ssa_4, ssa_3 vec1 32 ssa_31 = i2f32 ssa_5.x vec1 32 ssa_32 = i2f32 ssa_5.y vec2 32 ssa_33 = vec2 ssa_31, ssa_32 vec1 32 ssa_7 = deref_var &coord_transform (shader_in vec4) vec4 32 ssa_8 = intrinsic load_deref (ssa_7) (0) /* access=0 */ vec1 32 ssa_9 = imov ssa_8.w vec1 32 ssa_10 = imov ssa_8.y vec2 32 ssa_11 = vec2 ssa_10, ssa_9 vec1 32 ssa_12 = imov ssa_8.z vec1 32 ssa_13 = imov ssa_8.x vec2 32 ssa_14 = vec2 ssa_13, ssa_12 vec1 32 ssa_34 = fmul ssa_33.x, ssa_14.x vec1 32 ssa_35 = fmul ssa_33.y, ssa_14.y vec2 32 ssa_36 = vec2 ssa_34, ssa_35 vec1 32 ssa_37 = fadd ssa_36.x, ssa_11.x vec1 32 ssa_38 = fadd ssa_36.y, ssa_11.y vec2 32 ssa_39 = vec2 ssa_37, ssa_38 vec1 32 ssa_40 = f2i32 ssa_39.x vec1 32 ssa_41 = f2i32 ssa_39.y vec2 32 ssa_42 = vec2 ssa_40, ssa_41 vec1 32 ssa_18 = deref_var &src_z (shader_in uint) vec1 32 ssa_19 = intrinsic load_deref (ssa_18) (0) /* access=0 */ vec1 32 ssa_20 = imov ssa_42.y vec1 32 ssa_21 = imov ssa_42.x vec3 32 ssa_22 = vec3 ssa_21, ssa_20, ssa_19 vec1 32 ssa_23 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_24 = txf ssa_22 (coord), ssa_23 (lod), 0 (texture), 0 (sampler), vec1 32 ssa_25 = deref_var &gl_FragColor (shader_out vec4) intrinsic store_deref (ssa_25, ssa_24) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } nir_opt_algebraic nir_lower_int64 nir_lower_doubles nir_opt_algebraic nir_lower_constant_initializers nir_lower_tex shader: MESA_SHADER_FRAGMENT name: BLORP-blit inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var shader_in INTERP_MODE_FLAT vec4 discard_rect (VARYING_SLOT_VAR1, 0, 0) decl_var shader_in INTERP_MODE_FLAT vec4 rect_grid (VARYING_SLOT_VAR2, 0, 0) decl_var shader_in INTERP_MODE_FLAT vec4 coord_transform (VARYING_SLOT_VAR3, 0, 0) decl_var shader_in INTERP_MODE_FLAT uint src_z (VARYING_SLOT_VAR5.z, 0, 0) decl_var shader_in INTERP_MODE_FLAT uvec2 src_offset (VARYING_SLOT_VAR4.xy, 0, 0) decl_var shader_in INTERP_MODE_FLAT uvec2 dst_offset (VARYING_SLOT_VAR4.zw, 0, 0) decl_var shader_in INTERP_MODE_FLAT vec2 src_inv_size (VARYING_SLOT_VAR5.xy, 0, 0) decl_var shader_in INTERP_MODE_SMOOTH vec4 gl_FragCoord (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 0, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec1 32 ssa_0 = deref_var &gl_FragCoord (shader_in vec4) vec4 32 ssa_1 = intrinsic load_deref (ssa_0) (0) /* access=0 */ vec1 32 ssa_26 = f2i32 ssa_1.x vec1 32 ssa_27 = f2i32 ssa_1.y vec1 32 ssa_28 = f2i32 ssa_1.z vec1 32 ssa_29 = f2i32 ssa_1.w vec4 32 ssa_30 = vec4 ssa_26, ssa_27, ssa_28, ssa_29 vec1 32 ssa_3 = imov ssa_30.y vec1 32 ssa_4 = imov ssa_30.x vec2 32 ssa_5 = vec2 ssa_4, ssa_3 vec1 32 ssa_31 = i2f32 ssa_5.x vec1 32 ssa_32 = i2f32 ssa_5.y vec2 32 ssa_33 = vec2 ssa_31, ssa_32 vec1 32 ssa_7 = deref_var &coord_transform (shader_in vec4) vec4 32 ssa_8 = intrinsic load_deref (ssa_7) (0) /* access=0 */ vec1 32 ssa_9 = imov ssa_8.w vec1 32 ssa_10 = imov ssa_8.y vec2 32 ssa_11 = vec2 ssa_10, ssa_9 vec1 32 ssa_12 = imov ssa_8.z vec1 32 ssa_13 = imov ssa_8.x vec2 32 ssa_14 = vec2 ssa_13, ssa_12 vec1 32 ssa_34 = fmul ssa_33.x, ssa_14.x vec1 32 ssa_35 = fmul ssa_33.y, ssa_14.y vec2 32 ssa_36 = vec2 ssa_34, ssa_35 vec1 32 ssa_37 = fadd ssa_36.x, ssa_11.x vec1 32 ssa_38 = fadd ssa_36.y, ssa_11.y vec2 32 ssa_39 = vec2 ssa_37, ssa_38 vec1 32 ssa_40 = f2i32 ssa_39.x vec1 32 ssa_41 = f2i32 ssa_39.y vec2 32 ssa_42 = vec2 ssa_40, ssa_41 vec1 32 ssa_18 = deref_var &src_z (shader_in uint) vec1 32 ssa_19 = intrinsic load_deref (ssa_18) (0) /* access=0 */ vec1 32 ssa_20 = imov ssa_42.y vec1 32 ssa_21 = imov ssa_42.x vec3 32 ssa_22 = vec3 ssa_21, ssa_20, ssa_19 vec1 32 ssa_23 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_24 = txf ssa_22 (coord), ssa_23 (lod), 0 (texture), 0 (sampler), vec1 32 ssa_25 = deref_var &gl_FragColor (shader_out vec4) intrinsic store_deref (ssa_25, ssa_24) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } nir_normalize_cubemap_coords nir_lower_global_vars_to_local nir_split_var_copies nir_split_struct_vars nir_split_array_vars nir_shrink_vec_array_vars nir_opt_deref nir_lower_vars_to_ssa nir_opt_find_array_copies nir_opt_copy_prop_vars nir_opt_dead_write_vars nir_lower_alu_to_scalar nir_copy_prop shader: MESA_SHADER_FRAGMENT name: BLORP-blit inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var shader_in INTERP_MODE_FLAT vec4 discard_rect (VARYING_SLOT_VAR1, 0, 0) decl_var shader_in INTERP_MODE_FLAT vec4 rect_grid (VARYING_SLOT_VAR2, 0, 0) decl_var shader_in INTERP_MODE_FLAT vec4 coord_transform (VARYING_SLOT_VAR3, 0, 0) decl_var shader_in INTERP_MODE_FLAT uint src_z (VARYING_SLOT_VAR5.z, 0, 0) decl_var shader_in INTERP_MODE_FLAT uvec2 src_offset (VARYING_SLOT_VAR4.xy, 0, 0) decl_var shader_in INTERP_MODE_FLAT uvec2 dst_offset (VARYING_SLOT_VAR4.zw, 0, 0) decl_var shader_in INTERP_MODE_FLAT vec2 src_inv_size (VARYING_SLOT_VAR5.xy, 0, 0) decl_var shader_in INTERP_MODE_SMOOTH vec4 gl_FragCoord (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 0, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec1 32 ssa_0 = deref_var &gl_FragCoord (shader_in vec4) vec4 32 ssa_1 = intrinsic load_deref (ssa_0) (0) /* access=0 */ vec1 32 ssa_2 = f2i32 ssa_1.x vec1 32 ssa_3 = f2i32 ssa_1.y vec1 32 ssa_4 = f2i32 ssa_1.z vec1 32 ssa_5 = f2i32 ssa_1.w vec4 32 ssa_6 = vec4 ssa_2, ssa_3, ssa_4, ssa_5 vec1 32 ssa_7 = imov ssa_3 vec1 32 ssa_8 = imov ssa_2 vec2 32 ssa_9 = vec2 ssa_2, ssa_3 vec1 32 ssa_10 = i2f32 ssa_2 vec1 32 ssa_11 = i2f32 ssa_3 vec2 32 ssa_12 = vec2 ssa_10, ssa_11 vec1 32 ssa_13 = deref_var &coord_transform (shader_in vec4) vec4 32 ssa_14 = intrinsic load_deref (ssa_13) (0) /* access=0 */ vec1 32 ssa_15 = imov ssa_14.w vec1 32 ssa_16 = imov ssa_14.y vec2 32 ssa_17 = vec2 ssa_14.y, ssa_14.w vec1 32 ssa_18 = imov ssa_14.z vec1 32 ssa_19 = imov ssa_14.x vec2 32 ssa_20 = vec2 ssa_14.x, ssa_14.z vec1 32 ssa_21 = fmul ssa_10, ssa_14.x vec1 32 ssa_22 = fmul ssa_11, ssa_14.z vec2 32 ssa_23 = vec2 ssa_21, ssa_22 vec1 32 ssa_24 = fadd ssa_21, ssa_14.y vec1 32 ssa_25 = fadd ssa_22, ssa_14.w vec2 32 ssa_26 = vec2 ssa_24, ssa_25 vec1 32 ssa_27 = f2i32 ssa_24 vec1 32 ssa_28 = f2i32 ssa_25 vec2 32 ssa_29 = vec2 ssa_27, ssa_28 vec1 32 ssa_30 = deref_var &src_z (shader_in uint) vec1 32 ssa_31 = intrinsic load_deref (ssa_30) (0) /* access=0 */ vec1 32 ssa_32 = imov ssa_28 vec1 32 ssa_33 = imov ssa_27 vec3 32 ssa_34 = vec3 ssa_27, ssa_28, ssa_31 vec1 32 ssa_35 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_36 = txf ssa_34 (coord), ssa_35 (lod), 0 (texture), 0 (sampler), vec1 32 ssa_37 = deref_var &gl_FragColor (shader_out vec4) intrinsic store_deref (ssa_37, ssa_36) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } nir_lower_phis_to_scalar nir_copy_prop nir_opt_dce shader: MESA_SHADER_FRAGMENT name: BLORP-blit inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var shader_in INTERP_MODE_FLAT vec4 discard_rect (VARYING_SLOT_VAR1, 0, 0) decl_var shader_in INTERP_MODE_FLAT vec4 rect_grid (VARYING_SLOT_VAR2, 0, 0) decl_var shader_in INTERP_MODE_FLAT vec4 coord_transform (VARYING_SLOT_VAR3, 0, 0) decl_var shader_in INTERP_MODE_FLAT uint src_z (VARYING_SLOT_VAR5.z, 0, 0) decl_var shader_in INTERP_MODE_FLAT uvec2 src_offset (VARYING_SLOT_VAR4.xy, 0, 0) decl_var shader_in INTERP_MODE_FLAT uvec2 dst_offset (VARYING_SLOT_VAR4.zw, 0, 0) decl_var shader_in INTERP_MODE_FLAT vec2 src_inv_size (VARYING_SLOT_VAR5.xy, 0, 0) decl_var shader_in INTERP_MODE_SMOOTH vec4 gl_FragCoord (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 0, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec1 32 ssa_0 = deref_var &gl_FragCoord (shader_in vec4) vec4 32 ssa_1 = intrinsic load_deref (ssa_0) (0) /* access=0 */ vec1 32 ssa_2 = f2i32 ssa_1.x vec1 32 ssa_3 = f2i32 ssa_1.y vec1 32 ssa_10 = i2f32 ssa_2 vec1 32 ssa_11 = i2f32 ssa_3 vec1 32 ssa_13 = deref_var &coord_transform (shader_in vec4) vec4 32 ssa_14 = intrinsic load_deref (ssa_13) (0) /* access=0 */ vec1 32 ssa_21 = fmul ssa_10, ssa_14.x vec1 32 ssa_22 = fmul ssa_11, ssa_14.z vec1 32 ssa_24 = fadd ssa_21, ssa_14.y vec1 32 ssa_25 = fadd ssa_22, ssa_14.w vec1 32 ssa_27 = f2i32 ssa_24 vec1 32 ssa_28 = f2i32 ssa_25 vec1 32 ssa_30 = deref_var &src_z (shader_in uint) vec1 32 ssa_31 = intrinsic load_deref (ssa_30) (0) /* access=0 */ vec3 32 ssa_34 = vec3 ssa_27, ssa_28, ssa_31 vec1 32 ssa_35 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_36 = txf ssa_34 (coord), ssa_35 (lod), 0 (texture), 0 (sampler), vec1 32 ssa_37 = deref_var &gl_FragColor (shader_out vec4) intrinsic store_deref (ssa_37, ssa_36) (15, 0) /* wrmask=xyzw */ /* access=0 */ /* succs: block_1 */ block block_1: } nir_opt_cse nir_opt_peephole_select nir_opt_peephole_select nir_opt_intrinsics nir_opt_idiv_const nir_opt_algebraic nir_opt_constant_folding nir_opt_dead_cf nir_opt_trivial_continues nir_opt_if nir_opt_loop_unroll nir_opt_remove_phis nir_opt_undef nir_lower_pack nir_split_array_vars nir_shrink_vec_array_vars nir_opt_deref nir_lower_vars_to_ssa nir_opt_find_array_copies nir_opt_copy_prop_vars nir_opt_dead_write_vars nir_lower_alu_to_scalar nir_copy_prop nir_lower_phis_to_scalar nir_copy_prop nir_opt_dce nir_opt_cse nir_opt_peephole_select nir_opt_peephole_select nir_opt_intrinsics nir_opt_idiv_const nir_opt_algebraic nir_opt_constant_folding nir_opt_dead_cf nir_opt_trivial_continues nir_opt_if nir_opt_loop_unroll nir_opt_remove_phis nir_opt_undef nir_lower_pack nir_remove_dead_variables nir_lower_bit_size nir_lower_load_const_to_scalar nir_lower_var_copies nir_lower_system_values nir_lower_subgroups nir_lower_clip_cull_distance_arrays nir_lower_indirect_derefs brw_nir_lower_mem_access_bit_sizes nir_split_array_vars nir_shrink_vec_array_vars nir_opt_deref nir_lower_vars_to_ssa nir_opt_copy_prop_vars nir_opt_dead_write_vars nir_lower_alu_to_scalar nir_copy_prop nir_lower_phis_to_scalar nir_copy_prop nir_opt_dce nir_opt_cse nir_opt_peephole_select nir_opt_peephole_select nir_opt_intrinsics nir_opt_idiv_const nir_opt_algebraic nir_opt_constant_folding nir_opt_dead_cf nir_opt_trivial_continues nir_opt_if nir_opt_loop_unroll nir_opt_remove_phis nir_opt_undef nir_lower_pack nir_remove_dead_variables demote_sample_qualifiers shader: MESA_SHADER_FRAGMENT name: BLORP-blit inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var shader_in INTERP_MODE_FLAT vec4 coord_transform (VARYING_SLOT_VAR3, 34, 0) decl_var shader_in INTERP_MODE_FLAT uint src_z (VARYING_SLOT_VAR5.z, 36, 0) decl_var shader_in INTERP_MODE_SMOOTH vec4 gl_FragCoord (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 4, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec1 32 ssa_0 = deref_var &gl_FragCoord (shader_in vec4) vec1 32 ssa_20 = load_const (0x00000000 /* 0.000000 */) vec2 32 ssa_21 = intrinsic load_barycentric_pixel () (1) /* interp_mode=1 */ vec1 32 ssa_27 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_22 = intrinsic load_interpolated_input (ssa_21, ssa_27) (0, 0) /* base=0 */ /* component=0 */ vec1 32 ssa_2 = f2i32 ssa_22.x vec1 32 ssa_3 = f2i32 ssa_22.y vec1 32 ssa_4 = i2f32 ssa_2 vec1 32 ssa_5 = i2f32 ssa_3 vec1 32 ssa_6 = deref_var &coord_transform (shader_in vec4) vec1 32 ssa_23 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_28 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_24 = intrinsic load_input (ssa_28) (34, 0) /* base=34 */ /* component=0 */ /* coord_transform */ vec1 32 ssa_8 = fmul ssa_4, ssa_24.x vec1 32 ssa_9 = fmul ssa_5, ssa_24.z vec1 32 ssa_10 = fadd ssa_8, ssa_24.y vec1 32 ssa_11 = fadd ssa_9, ssa_24.w vec1 32 ssa_12 = f2i32 ssa_10 vec1 32 ssa_13 = f2i32 ssa_11 vec1 32 ssa_14 = deref_var &src_z (shader_in uint) vec1 32 ssa_25 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_29 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_26 = intrinsic load_input (ssa_29) (36, 2) /* base=36 */ /* component=2 */ /* src_z */ vec3 32 ssa_16 = vec3 ssa_12, ssa_13, ssa_26 vec1 32 ssa_17 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_18 = txf ssa_16 (coord), ssa_17 (lod), 0 (texture), 0 (sampler), vec1 32 ssa_19 = deref_var &gl_FragColor (shader_out vec4) vec1 32 ssa_30 = load_const (0x00000000 /* 0.000000 */) intrinsic store_output (ssa_18, ssa_30) (4, 15, 0) /* base=4 */ /* wrmask=xyzw */ /* component=0 */ /* gl_FragColor */ /* succs: block_1 */ block block_1: } move_interpolation_to_top shader: MESA_SHADER_FRAGMENT name: BLORP-blit inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var shader_in INTERP_MODE_FLAT vec4 coord_transform (VARYING_SLOT_VAR3, 34, 0) decl_var shader_in INTERP_MODE_FLAT uint src_z (VARYING_SLOT_VAR5.z, 36, 0) decl_var shader_in INTERP_MODE_SMOOTH vec4 gl_FragCoord (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 4, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec1 32 ssa_0 = deref_var &gl_FragCoord (shader_in vec4) vec1 32 ssa_20 = load_const (0x00000000 /* 0.000000 */) vec2 32 ssa_21 = intrinsic load_barycentric_pixel () (1) /* interp_mode=1 */ vec1 32 ssa_27 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_22 = intrinsic load_interpolated_input (ssa_21, ssa_27) (0, 0) /* base=0 */ /* component=0 */ vec1 32 ssa_2 = f2i32 ssa_22.x vec1 32 ssa_3 = f2i32 ssa_22.y vec1 32 ssa_4 = i2f32 ssa_2 vec1 32 ssa_5 = i2f32 ssa_3 vec1 32 ssa_6 = deref_var &coord_transform (shader_in vec4) vec1 32 ssa_23 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_28 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_24 = intrinsic load_input (ssa_28) (34, 0) /* base=34 */ /* component=0 */ /* coord_transform */ vec1 32 ssa_8 = fmul ssa_4, ssa_24.x vec1 32 ssa_9 = fmul ssa_5, ssa_24.z vec1 32 ssa_10 = fadd ssa_8, ssa_24.y vec1 32 ssa_11 = fadd ssa_9, ssa_24.w vec1 32 ssa_12 = f2i32 ssa_10 vec1 32 ssa_13 = f2i32 ssa_11 vec1 32 ssa_14 = deref_var &src_z (shader_in uint) vec1 32 ssa_25 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_29 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_26 = intrinsic load_input (ssa_29) (36, 2) /* base=36 */ /* component=2 */ /* src_z */ vec3 32 ssa_16 = vec3 ssa_12, ssa_13, ssa_26 vec1 32 ssa_17 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_18 = txf ssa_16 (coord), ssa_17 (lod), 0 (texture), 0 (sampler), vec1 32 ssa_19 = deref_var &gl_FragColor (shader_out vec4) vec1 32 ssa_30 = load_const (0x00000000 /* 0.000000 */) intrinsic store_output (ssa_18, ssa_30) (4, 15, 0) /* base=4 */ /* wrmask=xyzw */ /* component=0 */ /* gl_FragColor */ /* succs: block_1 */ block block_1: } nir_opt_algebraic_before_ffma nir_split_array_vars nir_shrink_vec_array_vars nir_opt_deref nir_lower_vars_to_ssa nir_opt_copy_prop_vars nir_opt_dead_write_vars nir_lower_alu_to_scalar nir_copy_prop nir_lower_phis_to_scalar nir_copy_prop nir_opt_dce shader: MESA_SHADER_FRAGMENT name: BLORP-blit inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var shader_in INTERP_MODE_FLAT vec4 coord_transform (VARYING_SLOT_VAR3, 34, 0) decl_var shader_in INTERP_MODE_FLAT uint src_z (VARYING_SLOT_VAR5.z, 36, 0) decl_var shader_in INTERP_MODE_SMOOTH vec4 gl_FragCoord (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 4, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec2 32 ssa_21 = intrinsic load_barycentric_pixel () (1) /* interp_mode=1 */ vec1 32 ssa_27 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_22 = intrinsic load_interpolated_input (ssa_21, ssa_27) (0, 0) /* base=0 */ /* component=0 */ vec1 32 ssa_2 = f2i32 ssa_22.x vec1 32 ssa_3 = f2i32 ssa_22.y vec1 32 ssa_4 = i2f32 ssa_2 vec1 32 ssa_5 = i2f32 ssa_3 vec1 32 ssa_28 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_24 = intrinsic load_input (ssa_28) (34, 0) /* base=34 */ /* component=0 */ /* coord_transform */ vec1 32 ssa_8 = fmul ssa_4, ssa_24.x vec1 32 ssa_9 = fmul ssa_5, ssa_24.z vec1 32 ssa_10 = fadd ssa_8, ssa_24.y vec1 32 ssa_11 = fadd ssa_9, ssa_24.w vec1 32 ssa_12 = f2i32 ssa_10 vec1 32 ssa_13 = f2i32 ssa_11 vec1 32 ssa_29 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_26 = intrinsic load_input (ssa_29) (36, 2) /* base=36 */ /* component=2 */ /* src_z */ vec3 32 ssa_16 = vec3 ssa_12, ssa_13, ssa_26 vec1 32 ssa_17 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_18 = txf ssa_16 (coord), ssa_17 (lod), 0 (texture), 0 (sampler), vec1 32 ssa_30 = load_const (0x00000000 /* 0.000000 */) intrinsic store_output (ssa_18, ssa_30) (4, 15, 0) /* base=4 */ /* wrmask=xyzw */ /* component=0 */ /* gl_FragColor */ /* succs: block_1 */ block block_1: } nir_opt_cse shader: MESA_SHADER_FRAGMENT name: BLORP-blit inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var shader_in INTERP_MODE_FLAT vec4 coord_transform (VARYING_SLOT_VAR3, 34, 0) decl_var shader_in INTERP_MODE_FLAT uint src_z (VARYING_SLOT_VAR5.z, 36, 0) decl_var shader_in INTERP_MODE_SMOOTH vec4 gl_FragCoord (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 4, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec2 32 ssa_21 = intrinsic load_barycentric_pixel () (1) /* interp_mode=1 */ vec1 32 ssa_27 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_22 = intrinsic load_interpolated_input (ssa_21, ssa_27) (0, 0) /* base=0 */ /* component=0 */ vec1 32 ssa_2 = f2i32 ssa_22.x vec1 32 ssa_3 = f2i32 ssa_22.y vec1 32 ssa_4 = i2f32 ssa_2 vec1 32 ssa_5 = i2f32 ssa_3 vec4 32 ssa_24 = intrinsic load_input (ssa_27) (34, 0) /* base=34 */ /* component=0 */ /* coord_transform */ vec1 32 ssa_8 = fmul ssa_4, ssa_24.x vec1 32 ssa_9 = fmul ssa_5, ssa_24.z vec1 32 ssa_10 = fadd ssa_8, ssa_24.y vec1 32 ssa_11 = fadd ssa_9, ssa_24.w vec1 32 ssa_12 = f2i32 ssa_10 vec1 32 ssa_13 = f2i32 ssa_11 vec1 32 ssa_26 = intrinsic load_input (ssa_27) (36, 2) /* base=36 */ /* component=2 */ /* src_z */ vec3 32 ssa_16 = vec3 ssa_12, ssa_13, ssa_26 vec4 32 ssa_18 = txf ssa_16 (coord), ssa_27 (lod), 0 (texture), 0 (sampler), intrinsic store_output (ssa_18, ssa_27) (4, 15, 0) /* base=4 */ /* wrmask=xyzw */ /* component=0 */ /* gl_FragColor */ /* succs: block_1 */ block block_1: } nir_opt_peephole_select nir_opt_peephole_select nir_opt_intrinsics nir_opt_idiv_const nir_opt_algebraic nir_opt_constant_folding nir_opt_dead_cf nir_opt_trivial_continues nir_opt_if nir_opt_loop_unroll nir_opt_remove_phis nir_opt_undef nir_lower_pack nir_split_array_vars nir_shrink_vec_array_vars nir_opt_deref nir_lower_vars_to_ssa nir_opt_copy_prop_vars nir_opt_dead_write_vars nir_lower_alu_to_scalar nir_copy_prop nir_lower_phis_to_scalar nir_copy_prop nir_opt_dce nir_opt_cse nir_opt_peephole_select nir_opt_peephole_select nir_opt_intrinsics nir_opt_idiv_const nir_opt_algebraic nir_opt_constant_folding nir_opt_dead_cf nir_opt_trivial_continues nir_opt_if nir_opt_loop_unroll nir_opt_remove_phis nir_opt_undef nir_lower_pack nir_remove_dead_variables brw_nir_opt_peephole_ffma shader: MESA_SHADER_FRAGMENT name: BLORP-blit inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var shader_in INTERP_MODE_FLAT vec4 coord_transform (VARYING_SLOT_VAR3, 34, 0) decl_var shader_in INTERP_MODE_FLAT uint src_z (VARYING_SLOT_VAR5.z, 36, 0) decl_var shader_in INTERP_MODE_SMOOTH vec4 gl_FragCoord (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 4, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec2 32 ssa_0 = intrinsic load_barycentric_pixel () (1) /* interp_mode=1 */ vec1 32 ssa_1 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_2 = intrinsic load_interpolated_input (ssa_0, ssa_1) (0, 0) /* base=0 */ /* component=0 */ vec1 32 ssa_3 = f2i32 ssa_2.x vec1 32 ssa_4 = f2i32 ssa_2.y vec1 32 ssa_5 = i2f32 ssa_3 vec1 32 ssa_6 = i2f32 ssa_4 vec4 32 ssa_7 = intrinsic load_input (ssa_1) (34, 0) /* base=34 */ /* component=0 */ /* coord_transform */ vec1 32 ssa_8 = fmul ssa_5, ssa_7.x vec1 32 ssa_9 = fmul ssa_6, ssa_7.z vec1 32 ssa_17 = ffma ssa_5, ssa_7.x, ssa_7.y vec1 32 ssa_18 = ffma ssa_6, ssa_7.z, ssa_7.w vec1 32 ssa_12 = f2i32 ssa_17 vec1 32 ssa_13 = f2i32 ssa_18 vec1 32 ssa_14 = intrinsic load_input (ssa_1) (36, 2) /* base=36 */ /* component=2 */ /* src_z */ vec3 32 ssa_15 = vec3 ssa_12, ssa_13, ssa_14 vec4 32 ssa_16 = txf ssa_15 (coord), ssa_1 (lod), 0 (texture), 0 (sampler), intrinsic store_output (ssa_16, ssa_1) (4, 15, 0) /* base=4 */ /* wrmask=xyzw */ /* component=0 */ /* gl_FragColor */ /* succs: block_1 */ block block_1: } nir_opt_algebraic_late nir_lower_to_source_mods shader: MESA_SHADER_FRAGMENT name: BLORP-blit inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var shader_in INTERP_MODE_FLAT vec4 coord_transform (VARYING_SLOT_VAR3, 34, 0) decl_var shader_in INTERP_MODE_FLAT uint src_z (VARYING_SLOT_VAR5.z, 36, 0) decl_var shader_in INTERP_MODE_SMOOTH vec4 gl_FragCoord (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 4, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec2 32 ssa_0 = intrinsic load_barycentric_pixel () (1) /* interp_mode=1 */ vec1 32 ssa_1 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_2 = intrinsic load_interpolated_input (ssa_0, ssa_1) (0, 0) /* base=0 */ /* component=0 */ vec1 32 ssa_3 = f2i32 ssa_2.x vec1 32 ssa_4 = f2i32 ssa_2.y vec1 32 ssa_5 = i2f32 ssa_3 vec1 32 ssa_6 = i2f32 ssa_4 vec4 32 ssa_7 = intrinsic load_input (ssa_1) (34, 0) /* base=34 */ /* component=0 */ /* coord_transform */ vec1 32 ssa_8 = fmul.sat ssa_5, ssa_7.x vec1 32 ssa_9 = fmul.sat ssa_6, ssa_7.z vec1 32 ssa_17 = ffma ssa_5, ssa_7.x, ssa_7.y vec1 32 ssa_18 = ffma ssa_6, ssa_7.z, ssa_7.w vec1 32 ssa_12 = f2i32 ssa_17 vec1 32 ssa_13 = f2i32 ssa_18 vec1 32 ssa_14 = intrinsic load_input (ssa_1) (36, 2) /* base=36 */ /* component=2 */ /* src_z */ vec3 32 ssa_15 = vec3 ssa_12, ssa_13, ssa_14 vec4 32 ssa_16 = txf ssa_15 (coord), ssa_1 (lod), 0 (texture), 0 (sampler), intrinsic store_output (ssa_16, ssa_1) (4, 15, 0) /* base=4 */ /* wrmask=xyzw */ /* component=0 */ /* gl_FragColor */ /* succs: block_1 */ block block_1: } nir_copy_prop nir_opt_dce shader: MESA_SHADER_FRAGMENT name: BLORP-blit inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var shader_in INTERP_MODE_FLAT vec4 coord_transform (VARYING_SLOT_VAR3, 34, 0) decl_var shader_in INTERP_MODE_FLAT uint src_z (VARYING_SLOT_VAR5.z, 36, 0) decl_var shader_in INTERP_MODE_SMOOTH vec4 gl_FragCoord (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 4, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec2 32 ssa_0 = intrinsic load_barycentric_pixel () (1) /* interp_mode=1 */ vec1 32 ssa_1 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_2 = intrinsic load_interpolated_input (ssa_0, ssa_1) (0, 0) /* base=0 */ /* component=0 */ vec1 32 ssa_3 = f2i32 ssa_2.x vec1 32 ssa_4 = f2i32 ssa_2.y vec1 32 ssa_5 = i2f32 ssa_3 vec1 32 ssa_6 = i2f32 ssa_4 vec4 32 ssa_7 = intrinsic load_input (ssa_1) (34, 0) /* base=34 */ /* component=0 */ /* coord_transform */ vec1 32 ssa_17 = ffma ssa_5, ssa_7.x, ssa_7.y vec1 32 ssa_18 = ffma ssa_6, ssa_7.z, ssa_7.w vec1 32 ssa_12 = f2i32 ssa_17 vec1 32 ssa_13 = f2i32 ssa_18 vec1 32 ssa_14 = intrinsic load_input (ssa_1) (36, 2) /* base=36 */ /* component=2 */ /* src_z */ vec3 32 ssa_15 = vec3 ssa_12, ssa_13, ssa_14 vec4 32 ssa_16 = txf ssa_15 (coord), ssa_1 (lod), 0 (texture), 0 (sampler), intrinsic store_output (ssa_16, ssa_1) (4, 15, 0) /* base=4 */ /* wrmask=xyzw */ /* component=0 */ /* gl_FragColor */ /* succs: block_1 */ block block_1: } nir_opt_move_comparisons nir_lower_bool_to_int32 shader: MESA_SHADER_FRAGMENT name: BLORP-blit inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var shader_in INTERP_MODE_FLAT vec4 coord_transform (VARYING_SLOT_VAR3, 34, 0) decl_var shader_in INTERP_MODE_FLAT uint src_z (VARYING_SLOT_VAR5.z, 36, 0) decl_var shader_in INTERP_MODE_SMOOTH vec4 gl_FragCoord (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 4, 0) decl_function main (0 params) impl main { block block_0: /* preds: */ vec2 32 ssa_0 = intrinsic load_barycentric_pixel () (1) /* interp_mode=1 */ vec1 32 ssa_1 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_2 = intrinsic load_interpolated_input (ssa_0, ssa_1) (0, 0) /* base=0 */ /* component=0 */ vec1 32 ssa_3 = f2i32 ssa_2.x vec1 32 ssa_4 = f2i32 ssa_2.y vec1 32 ssa_5 = i2f32 ssa_3 vec1 32 ssa_6 = i2f32 ssa_4 vec4 32 ssa_7 = intrinsic load_input (ssa_1) (34, 0) /* base=34 */ /* component=0 */ /* coord_transform */ vec1 32 ssa_17 = ffma ssa_5, ssa_7.x, ssa_7.y vec1 32 ssa_18 = ffma ssa_6, ssa_7.z, ssa_7.w vec1 32 ssa_12 = f2i32 ssa_17 vec1 32 ssa_13 = f2i32 ssa_18 vec1 32 ssa_14 = intrinsic load_input (ssa_1) (36, 2) /* base=36 */ /* component=2 */ /* src_z */ vec3 32 ssa_15 = vec3 ssa_12, ssa_13, ssa_14 vec4 32 ssa_16 = txf ssa_15 (coord), ssa_1 (lod), 0 (texture), 0 (sampler), intrinsic store_output (ssa_16, ssa_1) (4, 15, 0) /* base=4 */ /* wrmask=xyzw */ /* component=0 */ /* gl_FragColor */ /* succs: block_1 */ block block_1: } nir_lower_locals_to_regs nir_convert_from_ssa nir_opt_dce