<p dir="ltr"><br>
On Jul 13, 2015 6:04 AM, "Francisco Jerez" <<a href="mailto:currojerez@riseup.net">currojerez@riseup.net</a>> wrote:<br>
><br>
> Jason Ekstrand <<a href="mailto:jason@jlekstrand.net">jason@jlekstrand.net</a>> writes:<br>
><br>
> > Now that the old GLSL IR visitor code is gone, having the remap is silly.<br>
> > ---<br>
> >  src/mesa/drivers/dri/i965/brw_fs.h           |  12 +--<br>
> >  src/mesa/drivers/dri/i965/brw_fs_nir.cpp     |  18 +---<br>
> >  src/mesa/drivers/dri/i965/brw_fs_visitor.cpp | 135 ++++++++++++++-------------<br>
> >  3 files changed, 75 insertions(+), 90 deletions(-)<br>
> ><br>
> > diff --git a/src/mesa/drivers/dri/i965/brw_fs.h b/src/mesa/drivers/dri/i965/brw_fs.h<br>
> > index 5243079..1690f4a 100644<br>
> > --- a/src/mesa/drivers/dri/i965/brw_fs.h<br>
> > +++ b/src/mesa/drivers/dri/i965/brw_fs.h<br>
> > @@ -109,7 +109,7 @@ public:<br>
> >     void compute_clip_distance(gl_clip_plane *clip_planes);<br>
> ><br>
> >     uint32_t gather_channel(int orig_chan, uint32_t sampler);<br>
> > -   void swizzle_result(ir_texture_opcode op, int dest_components,<br>
> > +   void swizzle_result(nir_texop op, int dest_components,<br>
> >                         fs_reg orig_val, uint32_t sampler);<br>
> ><br>
> >     int type_size(const struct glsl_type *type);<br>
> > @@ -207,28 +207,28 @@ public:<br>
> >     void compute_sample_position(fs_reg dst, fs_reg int_sample_pos);<br>
> >     fs_reg rescale_texcoord(fs_reg coordinate, int coord_components,<br>
> >                             bool is_rect, uint32_t sampler, int texunit);<br>
> > -   fs_inst *emit_texture_gen4(ir_texture_opcode op, fs_reg dst,<br>
> > +   fs_inst *emit_texture_gen4(nir_texop op, fs_reg dst,<br>
> >                                fs_reg coordinate, int coord_components,<br>
> >                                fs_reg shadow_comp,<br>
> >                                fs_reg lod, fs_reg lod2, int grad_components,<br>
> >                                uint32_t sampler);<br>
> > -   fs_inst *emit_texture_gen4_simd16(ir_texture_opcode op, fs_reg dst,<br>
> > +   fs_inst *emit_texture_gen4_simd16(nir_texop op, fs_reg dst,<br>
> >                                       fs_reg coordinate, int vector_elements,<br>
> >                                       fs_reg shadow_c, fs_reg lod,<br>
> >                                       uint32_t sampler);<br>
> > -   fs_inst *emit_texture_gen5(ir_texture_opcode op, fs_reg dst,<br>
> > +   fs_inst *emit_texture_gen5(nir_texop op, fs_reg dst,<br>
> >                                fs_reg coordinate, int coord_components,<br>
> >                                fs_reg shadow_comp,<br>
> >                                fs_reg lod, fs_reg lod2, int grad_components,<br>
> >                                fs_reg sample_index, uint32_t sampler,<br>
> >                                bool has_offset);<br>
> > -   fs_inst *emit_texture_gen7(ir_texture_opcode op, fs_reg dst,<br>
> > +   fs_inst *emit_texture_gen7(nir_texop op, fs_reg dst,<br>
> >                                fs_reg coordinate, int coord_components,<br>
> >                                fs_reg shadow_comp,<br>
> >                                fs_reg lod, fs_reg lod2, int grad_components,<br>
> >                                fs_reg sample_index, fs_reg mcs, fs_reg sampler,<br>
> >                                fs_reg offset_value);<br>
> > -   void emit_texture(ir_texture_opcode op,<br>
> > +   void emit_texture(nir_texop op,<br>
> >                       const glsl_type *dest_type,<br>
> >                       fs_reg coordinate, int components,<br>
> >                       fs_reg shadow_c,<br>
><br>
> Hold on, I'm about to send a series that gets rid of the<br>
> ir_texture_opcode argument of these gen-specific functions and replaces<br>
> it with a backend_instruction opcode.  If you wait a little this change<br>
> will involve much less churn.</p>
<p dir="ltr">Fine with me.</p>
<p dir="ltr">> > diff --git a/src/mesa/drivers/dri/i965/brw_fs_nir.cpp b/src/mesa/drivers/dri/i965/brw_fs_nir.cpp<br>
> > index caf1300..d8a6f3c 100644<br>
> > --- a/src/mesa/drivers/dri/i965/brw_fs_nir.cpp<br>
> > +++ b/src/mesa/drivers/dri/i965/brw_fs_nir.cpp<br>
> > @@ -1739,23 +1739,7 @@ fs_visitor::nir_emit_texture(const fs_builder &bld, nir_tex_instr *instr)<br>
> >        glsl_type::get_instance(dest_base_type, nir_tex_instr_dest_size(instr),<br>
> >                                1);<br>
> ><br>
> > -   ir_texture_opcode op;<br>
> > -   switch (instr->op) {<br>
> > -   case nir_texop_lod: op = ir_lod; break;<br>
> > -   case nir_texop_query_levels: op = ir_query_levels; break;<br>
> > -   case nir_texop_tex: op = ir_tex; break;<br>
> > -   case nir_texop_tg4: op = ir_tg4; break;<br>
> > -   case nir_texop_txb: op = ir_txb; break;<br>
> > -   case nir_texop_txd: op = ir_txd; break;<br>
> > -   case nir_texop_txf: op = ir_txf; break;<br>
> > -   case nir_texop_txf_ms: op = ir_txf_ms; break;<br>
> > -   case nir_texop_txl: op = ir_txl; break;<br>
> > -   case nir_texop_txs: op = ir_txs; break;<br>
> > -   default:<br>
> > -      unreachable("unknown texture opcode");<br>
> > -   }<br>
> > -<br>
> > -   emit_texture(op, dest_type, coordinate, instr->coord_components,<br>
> > +   emit_texture(instr->op, dest_type, coordinate, instr->coord_components,<br>
> >                  shadow_comparitor, lod, lod2, lod_components, sample_index,<br>
> >                  tex_offset, mcs, gather_component,<br>
> >                  is_cube_array, is_rect, sampler, sampler_reg, texunit);<br>
> > diff --git a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp<br>
> > index 94d6a58..c726dcc 100644<br>
> > --- a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp<br>
> > +++ b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp<br>
> > @@ -78,7 +78,7 @@ fs_visitor::emit_vs_system_value(int location)<br>
> >  }<br>
> ><br>
> >  fs_inst *<br>
> > -fs_visitor::emit_texture_gen4(ir_texture_opcode op, fs_reg dst,<br>
> > +fs_visitor::emit_texture_gen4(nir_texop op, fs_reg dst,<br>
> >                                fs_reg coordinate, int coord_components,<br>
> >                                fs_reg shadow_c,<br>
> >                                fs_reg lod, fs_reg dPdy, int grad_components,<br>
> > @@ -106,13 +106,13 @@ fs_visitor::emit_texture_gen4(ir_texture_opcode op, fs_reg dst,<br>
> >        }<br>
> >        mlen += 3;<br>
> ><br>
> > -      if (op == ir_tex) {<br>
> > +      if (op == nir_texop_tex) {<br>
> >        /* There's no plain shadow compare message, so we use shadow<br>
> >         * compare with a bias of 0.0.<br>
> >         */<br>
> >           bld.MOV(fs_reg(MRF, base_mrf + mlen), fs_reg(0.0f));<br>
> >        mlen++;<br>
> > -      } else if (op == ir_txb || op == ir_txl) {<br>
> > +      } else if (op == nir_texop_txb || op == nir_texop_txl) {<br>
> >           bld.MOV(fs_reg(MRF, base_mrf + mlen), lod);<br>
> >        mlen++;<br>
> >        } else {<br>
> > @@ -121,7 +121,7 @@ fs_visitor::emit_texture_gen4(ir_texture_opcode op, fs_reg dst,<br>
> ><br>
> >        bld.MOV(fs_reg(MRF, base_mrf + mlen), shadow_c);<br>
> >        mlen++;<br>
> > -   } else if (op == ir_tex) {<br>
> > +   } else if (op == nir_texop_tex) {<br>
> >        for (int i = 0; i < coord_components; i++) {<br>
> >           bld.MOV(fs_reg(MRF, base_mrf + mlen + i), coordinate);<br>
> >        coordinate = offset(coordinate, bld, 1);<br>
> > @@ -132,7 +132,7 @@ fs_visitor::emit_texture_gen4(ir_texture_opcode op, fs_reg dst,<br>
> >        }<br>
> >        /* gen4's SIMD8 sampler always has the slots for u,v,r present. */<br>
> >        mlen += 3;<br>
> > -   } else if (op == ir_txd) {<br>
> > +   } else if (op == nir_texop_txd) {<br>
> >        fs_reg &dPdx = lod;<br>
> ><br>
> >        for (int i = 0; i < coord_components; i++) {<br>
> > @@ -167,7 +167,7 @@ fs_visitor::emit_texture_gen4(ir_texture_opcode op, fs_reg dst,<br>
> >        dPdy = offset(dPdy, bld, 1);<br>
> >        }<br>
> >        mlen += MAX2(grad_components, 2);<br>
> > -   } else if (op == ir_txs) {<br>
> > +   } else if (op == nir_texop_txs) {<br>
> >        /* There's no SIMD8 resinfo message on Gen4.  Use SIMD16 instead. */<br>
> >        simd16 = true;<br>
> >        bld.MOV(fs_reg(MRF, base_mrf + mlen, BRW_REGISTER_TYPE_UD), lod);<br>
> > @@ -177,7 +177,7 @@ fs_visitor::emit_texture_gen4(ir_texture_opcode op, fs_reg dst,<br>
> >         * instructions.  We'll need to do SIMD16 here.<br>
> >         */<br>
> >        simd16 = true;<br>
> > -      assert(op == ir_txb || op == ir_txl || op == ir_txf);<br>
> > +      assert(op == nir_texop_txb || op == nir_texop_txl || op == nir_texop_txf);<br>
> ><br>
> >        for (int i = 0; i < coord_components; i++) {<br>
> >           bld.MOV(fs_reg(MRF, base_mrf + mlen + i * 2, coordinate.type),<br>
> > @@ -213,12 +213,12 @@ fs_visitor::emit_texture_gen4(ir_texture_opcode op, fs_reg dst,<br>
> ><br>
> >     enum opcode opcode;<br>
> >     switch (op) {<br>
> > -   case ir_tex: opcode = SHADER_OPCODE_TEX; break;<br>
> > -   case ir_txb: opcode = FS_OPCODE_TXB; break;<br>
> > -   case ir_txl: opcode = SHADER_OPCODE_TXL; break;<br>
> > -   case ir_txd: opcode = SHADER_OPCODE_TXD; break;<br>
> > -   case ir_txs: opcode = SHADER_OPCODE_TXS; break;<br>
> > -   case ir_txf: opcode = SHADER_OPCODE_TXF; break;<br>
> > +   case nir_texop_tex: opcode = SHADER_OPCODE_TEX; break;<br>
> > +   case nir_texop_txb: opcode = FS_OPCODE_TXB; break;<br>
> > +   case nir_texop_txl: opcode = SHADER_OPCODE_TXL; break;<br>
> > +   case nir_texop_txd: opcode = SHADER_OPCODE_TXD; break;<br>
> > +   case nir_texop_txs: opcode = SHADER_OPCODE_TXS; break;<br>
> > +   case nir_texop_txf: opcode = SHADER_OPCODE_TXF; break;<br>
> >     default:<br>
> >        unreachable("not reached");<br>
> >     }<br>
> > @@ -241,18 +241,19 @@ fs_visitor::emit_texture_gen4(ir_texture_opcode op, fs_reg dst,<br>
> >  }<br>
> ><br>
> >  fs_inst *<br>
> > -fs_visitor::emit_texture_gen4_simd16(ir_texture_opcode op, fs_reg dst,<br>
> > +fs_visitor::emit_texture_gen4_simd16(nir_texop op, fs_reg dst,<br>
> >                                       fs_reg coordinate, int vector_elements,<br>
> >                                       fs_reg shadow_c, fs_reg lod,<br>
> >                                       uint32_t sampler)<br>
> >  {<br>
> >     fs_reg message(MRF, 2, BRW_REGISTER_TYPE_F);<br>
> > -   bool has_lod = op == ir_txl || op == ir_txb || op == ir_txf || op == ir_txs;<br>
> > +   bool has_lod = op == nir_texop_txl || op == nir_texop_txb ||<br>
> > +                  op == nir_texop_txf || op == nir_texop_txs;<br>
> ><br>
> >     if (has_lod && shadow_c.file != BAD_FILE)<br>
> >        no16("TXB and TXL with shadow comparison unsupported in SIMD16.");<br>
> ><br>
> > -   if (op == ir_txd)<br>
> > +   if (op == nir_texop_txd)<br>
> >        no16("textureGrad unsupported in SIMD16.");<br>
> ><br>
> >     /* Copy the coordinates. */<br>
> > @@ -272,7 +273,7 @@ fs_visitor::emit_texture_gen4_simd16(ir_texture_opcode op, fs_reg dst,<br>
> >     }<br>
> ><br>
> >     if (has_lod) {<br>
> > -      fs_reg msg_lod = retype(msg_end, op == ir_txf ?<br>
> > +      fs_reg msg_lod = retype(msg_end, op == nir_texop_txf ?<br>
> >                                BRW_REGISTER_TYPE_UD : BRW_REGISTER_TYPE_F);<br>
> >        bld.MOV(msg_lod, lod);<br>
> >        msg_end = offset(msg_lod, bld, 1);<br>
> > @@ -286,12 +287,12 @@ fs_visitor::emit_texture_gen4_simd16(ir_texture_opcode op, fs_reg dst,<br>
> ><br>
> >     enum opcode opcode;<br>
> >     switch (op) {<br>
> > -   case ir_tex: opcode = SHADER_OPCODE_TEX; break;<br>
> > -   case ir_txb: opcode = FS_OPCODE_TXB;     break;<br>
> > -   case ir_txd: opcode = SHADER_OPCODE_TXD; break;<br>
> > -   case ir_txl: opcode = SHADER_OPCODE_TXL; break;<br>
> > -   case ir_txs: opcode = SHADER_OPCODE_TXS; break;<br>
> > -   case ir_txf: opcode = SHADER_OPCODE_TXF; break;<br>
> > +   case nir_texop_tex: opcode = SHADER_OPCODE_TEX; break;<br>
> > +   case nir_texop_txb: opcode = FS_OPCODE_TXB;     break;<br>
> > +   case nir_texop_txd: opcode = SHADER_OPCODE_TXD; break;<br>
> > +   case nir_texop_txl: opcode = SHADER_OPCODE_TXL; break;<br>
> > +   case nir_texop_txs: opcode = SHADER_OPCODE_TXS; break;<br>
> > +   case nir_texop_txf: opcode = SHADER_OPCODE_TXF; break;<br>
> >     default: unreachable("not reached");<br>
> >     }<br>
> ><br>
> > @@ -313,7 +314,7 @@ fs_visitor::emit_texture_gen4_simd16(ir_texture_opcode op, fs_reg dst,<br>
> >   * surprising in the disassembly.<br>
> >   */<br>
> >  fs_inst *<br>
> > -fs_visitor::emit_texture_gen5(ir_texture_opcode op, fs_reg dst,<br>
> > +fs_visitor::emit_texture_gen5(nir_texop op, fs_reg dst,<br>
> >                                fs_reg coordinate, int vector_elements,<br>
> >                                fs_reg shadow_c,<br>
> >                                fs_reg lod, fs_reg lod2, int grad_components,<br>
> > @@ -350,22 +351,22 @@ fs_visitor::emit_texture_gen5(ir_texture_opcode op, fs_reg dst,<br>
> ><br>
> >     enum opcode opcode;<br>
> >     switch (op) {<br>
> > -   case ir_tex:<br>
> > +   case nir_texop_tex:<br>
> >        opcode = SHADER_OPCODE_TEX;<br>
> >        break;<br>
> > -   case ir_txb:<br>
> > +   case nir_texop_txb:<br>
> >        bld.MOV(msg_lod, lod);<br>
> >        msg_end = offset(msg_lod, bld, 1);<br>
> ><br>
> >        opcode = FS_OPCODE_TXB;<br>
> >        break;<br>
> > -   case ir_txl:<br>
> > +   case nir_texop_txl:<br>
> >        bld.MOV(msg_lod, lod);<br>
> >        msg_end = offset(msg_lod, bld, 1);<br>
> ><br>
> >        opcode = SHADER_OPCODE_TXL;<br>
> >        break;<br>
> > -   case ir_txd: {<br>
> > +   case nir_texop_txd: {<br>
> >        /**<br>
> >         *  P   =  u,    v,    r<br>
> >         * dPdx = dudx, dvdx, drdx<br>
> > @@ -389,28 +390,28 @@ fs_visitor::emit_texture_gen5(ir_texture_opcode op, fs_reg dst,<br>
> >        opcode = SHADER_OPCODE_TXD;<br>
> >        break;<br>
> >     }<br>
> > -   case ir_txs:<br>
> > +   case nir_texop_txs:<br>
> >        msg_lod = retype(msg_end, BRW_REGISTER_TYPE_UD);<br>
> >        bld.MOV(msg_lod, lod);<br>
> >        msg_end = offset(msg_lod, bld, 1);<br>
> ><br>
> >        opcode = SHADER_OPCODE_TXS;<br>
> >        break;<br>
> > -   case ir_query_levels:<br>
> > +   case nir_texop_query_levels:<br>
> >        msg_lod = msg_end;<br>
> >        bld.MOV(retype(msg_lod, BRW_REGISTER_TYPE_UD), fs_reg(0u));<br>
> >        msg_end = offset(msg_lod, bld, 1);<br>
> ><br>
> >        opcode = SHADER_OPCODE_TXS;<br>
> >        break;<br>
> > -   case ir_txf:<br>
> > +   case nir_texop_txf:<br>
> >        msg_lod = offset(msg_coords, bld, 3);<br>
> >        bld.MOV(retype(msg_lod, BRW_REGISTER_TYPE_UD), lod);<br>
> >        msg_end = offset(msg_lod, bld, 1);<br>
> ><br>
> >        opcode = SHADER_OPCODE_TXF;<br>
> >        break;<br>
> > -   case ir_txf_ms:<br>
> > +   case nir_texop_txf_ms:<br>
> >        msg_lod = offset(msg_coords, bld, 3);<br>
> >        /* lod */<br>
> >        bld.MOV(retype(msg_lod, BRW_REGISTER_TYPE_UD), fs_reg(0u));<br>
> > @@ -420,10 +421,10 @@ fs_visitor::emit_texture_gen5(ir_texture_opcode op, fs_reg dst,<br>
> ><br>
> >        opcode = SHADER_OPCODE_TXF_CMS;<br>
> >        break;<br>
> > -   case ir_lod:<br>
> > +   case nir_texop_lod:<br>
> >        opcode = SHADER_OPCODE_LOD;<br>
> >        break;<br>
> > -   case ir_tg4:<br>
> > +   case nir_texop_tg4:<br>
> >        opcode = SHADER_OPCODE_TG4;<br>
> >        break;<br>
> >     default:<br>
> > @@ -454,7 +455,7 @@ is_high_sampler(const struct brw_device_info *devinfo, fs_reg sampler)<br>
> >  }<br>
> ><br>
> >  fs_inst *<br>
> > -fs_visitor::emit_texture_gen7(ir_texture_opcode op, fs_reg dst,<br>
> > +fs_visitor::emit_texture_gen7(nir_texop op, fs_reg dst,<br>
> >                                fs_reg coordinate, int coord_components,<br>
> >                                fs_reg shadow_c,<br>
> >                                fs_reg lod, fs_reg lod2, int grad_components,<br>
> > @@ -470,7 +471,7 @@ fs_visitor::emit_texture_gen7(ir_texture_opcode op, fs_reg dst,<br>
> >     }<br>
> >     int length = 0;<br>
> ><br>
> > -   if (op == ir_tg4 || offset_value.file != BAD_FILE ||<br>
> > +   if (op == nir_texop_tg4 || offset_value.file != BAD_FILE ||<br>
> >         is_high_sampler(devinfo, sampler)) {<br>
> >        /* For general texture offsets (no txf workaround), we need a header to<br>
> >         * put them in.  Note that for SIMD16 we're making space for two actual<br>
> > @@ -497,28 +498,28 @@ fs_visitor::emit_texture_gen7(ir_texture_opcode op, fs_reg dst,<br>
> >     bool coordinate_done = false;<br>
> ><br>
> >     /* The sampler can only meaningfully compute LOD for fragment shader<br>
> > -    * messages. For all other stages, we change the opcode to ir_txl and<br>
> > -    * hardcode the LOD to 0.<br>
> > +    * messages. For all other stages, we change the opcode to nir_texop_txl<br>
> > +    * and hardcode the LOD to 0.<br>
> >      */<br>
> > -   if (stage != MESA_SHADER_FRAGMENT && op == ir_tex) {<br>
> > -      op = ir_txl;<br>
> > +   if (stage != MESA_SHADER_FRAGMENT && op == nir_texop_tex) {<br>
> > +      op = nir_texop_txl;<br>
> >        lod = fs_reg(0.0f);<br>
> >     }<br>
> ><br>
> >     /* Set up the LOD info */<br>
> >     switch (op) {<br>
> > -   case ir_tex:<br>
> > -   case ir_lod:<br>
> > +   case nir_texop_tex:<br>
> > +   case nir_texop_lod:<br>
> >        break;<br>
> > -   case ir_txb:<br>
> > +   case nir_texop_txb:<br>
> >        bld.MOV(sources[length], lod);<br>
> >        length++;<br>
> >        break;<br>
> > -   case ir_txl:<br>
> > +   case nir_texop_txl:<br>
> >        bld.MOV(sources[length], lod);<br>
> >        length++;<br>
> >        break;<br>
> > -   case ir_txd: {<br>
> > +   case nir_texop_txd: {<br>
> >        no16("Gen7 does not support sample_d/sample_d_c in SIMD16 mode.");<br>
> ><br>
> >        /* Load dPdx and the coordinate together:<br>
> > @@ -546,15 +547,15 @@ fs_visitor::emit_texture_gen7(ir_texture_opcode op, fs_reg dst,<br>
> >        coordinate_done = true;<br>
> >        break;<br>
> >     }<br>
> > -   case ir_txs:<br>
> > +   case nir_texop_txs:<br>
> >        bld.MOV(retype(sources[length], BRW_REGISTER_TYPE_UD), lod);<br>
> >        length++;<br>
> >        break;<br>
> > -   case ir_query_levels:<br>
> > +   case nir_texop_query_levels:<br>
> >        bld.MOV(retype(sources[length], BRW_REGISTER_TYPE_UD), fs_reg(0u));<br>
> >        length++;<br>
> >        break;<br>
> > -   case ir_txf:<br>
> > +   case nir_texop_txf:<br>
> >        /* Unfortunately, the parameters for LD are intermixed: u, lod, v, r.<br>
> >         * On Gen9 they are u, v, lod, r<br>
> >         */<br>
> > @@ -582,7 +583,7 @@ fs_visitor::emit_texture_gen7(ir_texture_opcode op, fs_reg dst,<br>
> ><br>
> >        coordinate_done = true;<br>
> >        break;<br>
> > -   case ir_txf_ms:<br>
> > +   case nir_texop_txf_ms:<br>
> >        bld.MOV(retype(sources[length], BRW_REGISTER_TYPE_UD), sample_index);<br>
> >        length++;<br>
> ><br>
> > @@ -601,7 +602,7 @@ fs_visitor::emit_texture_gen7(ir_texture_opcode op, fs_reg dst,<br>
> ><br>
> >        coordinate_done = true;<br>
> >        break;<br>
> > -   case ir_tg4:<br>
> > +   case nir_texop_tg4:<br>
> >        if (has_nonconstant_offset) {<br>
> >           if (shadow_c.file != BAD_FILE)<br>
> >              no16("Gen7 does not support gather4_po_c in SIMD16 mode.");<br>
> > @@ -652,16 +653,16 @@ fs_visitor::emit_texture_gen7(ir_texture_opcode op, fs_reg dst,<br>
> >     /* Generate the SEND */<br>
> >     enum opcode opcode;<br>
> >     switch (op) {<br>
> > -   case ir_tex: opcode = SHADER_OPCODE_TEX; break;<br>
> > -   case ir_txb: opcode = FS_OPCODE_TXB; break;<br>
> > -   case ir_txl: opcode = SHADER_OPCODE_TXL; break;<br>
> > -   case ir_txd: opcode = SHADER_OPCODE_TXD; break;<br>
> > -   case ir_txf: opcode = SHADER_OPCODE_TXF; break;<br>
> > -   case ir_txf_ms: opcode = SHADER_OPCODE_TXF_CMS; break;<br>
> > -   case ir_txs: opcode = SHADER_OPCODE_TXS; break;<br>
> > -   case ir_query_levels: opcode = SHADER_OPCODE_TXS; break;<br>
> > -   case ir_lod: opcode = SHADER_OPCODE_LOD; break;<br>
> > -   case ir_tg4:<br>
> > +   case nir_texop_tex: opcode = SHADER_OPCODE_TEX; break;<br>
> > +   case nir_texop_txb: opcode = FS_OPCODE_TXB; break;<br>
> > +   case nir_texop_txl: opcode = SHADER_OPCODE_TXL; break;<br>
> > +   case nir_texop_txd: opcode = SHADER_OPCODE_TXD; break;<br>
> > +   case nir_texop_txf: opcode = SHADER_OPCODE_TXF; break;<br>
> > +   case nir_texop_txf_ms: opcode = SHADER_OPCODE_TXF_CMS; break;<br>
> > +   case nir_texop_txs: opcode = SHADER_OPCODE_TXS; break;<br>
> > +   case nir_texop_query_levels: opcode = SHADER_OPCODE_TXS; break;<br>
> > +   case nir_texop_lod: opcode = SHADER_OPCODE_LOD; break;<br>
> > +   case nir_texop_tg4:<br>
> >        if (has_nonconstant_offset)<br>
> >           opcode = SHADER_OPCODE_TG4_OFFSET;<br>
> >        else<br>
> > @@ -826,7 +827,7 @@ fs_visitor::emit_mcs_fetch(fs_reg coordinate, int components, fs_reg sampler)<br>
> >  }<br>
> ><br>
> >  void<br>
> > -fs_visitor::emit_texture(ir_texture_opcode op,<br>
> > +fs_visitor::emit_texture(nir_texop op,<br>
> >                           const glsl_type *dest_type,<br>
> >                           fs_reg coordinate, int coord_components,<br>
> >                           fs_reg shadow_c,<br>
> > @@ -842,7 +843,7 @@ fs_visitor::emit_texture(ir_texture_opcode op,<br>
> >  {<br>
> >     fs_inst *inst = NULL;<br>
> ><br>
> > -   if (op == ir_tg4) {<br>
> > +   if (op == nir_texop_tg4) {<br>
> >        /* When tg4 is used with the degenerate ZERO/ONE swizzles, don't bother<br>
> >         * emitting anything other than setting up the constant result.<br>
> >         */<br>
> > @@ -898,7 +899,7 @@ fs_visitor::emit_texture(ir_texture_opcode op,<br>
> >     if (offset_value.file == IMM)<br>
> >        inst->offset = offset_value.fixed_hw_reg.dw1.ud;<br>
> ><br>
> > -   if (op == ir_tg4) {<br>
> > +   if (op == nir_texop_tg4) {<br>
> >        inst->offset |=<br>
> >           gather_channel(gather_component, sampler) << 16; /* M0.2:16-17 */<br>
> ><br>
> > @@ -907,7 +908,7 @@ fs_visitor::emit_texture(ir_texture_opcode op,<br>
> >     }<br>
> ><br>
> >     /* fixup #layers for cube map arrays */<br>
> > -   if (op == ir_txs && is_cube_array) {<br>
> > +   if (op == nir_texop_txs && is_cube_array) {<br>
> >        fs_reg depth = offset(dst, bld, 2);<br>
> >        fs_reg fixed_depth = vgrf(glsl_type::int_type);<br>
> >        bld.emit(SHADER_OPCODE_INT_QUOTIENT, fixed_depth, depth, fs_reg(6));<br>
> > @@ -985,10 +986,10 @@ fs_visitor::gather_channel(int orig_chan, uint32_t sampler)<br>
> >   * EXT_texture_swizzle as well as DEPTH_TEXTURE_MODE for shadow comparisons.<br>
> >   */<br>
> >  void<br>
> > -fs_visitor::swizzle_result(ir_texture_opcode op, int dest_components,<br>
> > +fs_visitor::swizzle_result(nir_texop op, int dest_components,<br>
> >                             fs_reg orig_val, uint32_t sampler)<br>
> >  {<br>
> > -   if (op == ir_query_levels) {<br>
> > +   if (op == nir_texop_query_levels) {<br>
> >        /* # levels is in .w */<br>
> >        this->result = offset(orig_val, bld, 3);<br>
> >        return;<br>
> > @@ -999,7 +1000,7 @@ fs_visitor::swizzle_result(ir_texture_opcode op, int dest_components,<br>
> >     /* txs,lod don't actually sample the texture, so swizzling the result<br>
> >      * makes no sense.<br>
> >      */<br>
> > -   if (op == ir_txs || op == ir_lod || op == ir_tg4)<br>
> > +   if (op == nir_texop_txs || op == nir_texop_lod || op == nir_texop_tg4)<br>
> >        return;<br>
> ><br>
> >     if (dest_components == 1) {<br>
> > --<br>
> > 2.4.3<br>
> ><br>
> > _______________________________________________<br>
> > mesa-dev mailing list<br>
> > <a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a><br>
> > <a href="http://lists.freedesktop.org/mailman/listinfo/mesa-dev">http://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br>
</p>