i965/fs: Migrate translation of NIR texturing instructions to the IR builder.

v2: Don't remove assignments of base_ir just yet.

Reviewed-by: Matt Turner <mattst88@gmail.com>
This commit is contained in:
Francisco Jerez 2015-06-03 21:02:57 +03:00
parent 979fe2ffee
commit bf83a1a219
2 changed files with 6 additions and 5 deletions

View file

@ -319,7 +319,8 @@ public:
void nir_emit_alu(const brw::fs_builder &bld, nir_alu_instr *instr);
void nir_emit_intrinsic(const brw::fs_builder &bld,
nir_intrinsic_instr *instr);
void nir_emit_texture(nir_tex_instr *instr);
void nir_emit_texture(const brw::fs_builder &bld,
nir_tex_instr *instr);
void nir_emit_jump(const brw::fs_builder &bld,
nir_jump_instr *instr);
fs_reg get_nir_src(nir_src src);

View file

@ -456,7 +456,7 @@ fs_visitor::nir_emit_instr(nir_instr *instr)
break;
case nir_instr_type_tex:
nir_emit_texture(nir_instr_as_tex(instr));
nir_emit_texture(abld, nir_instr_as_tex(instr));
break;
case nir_instr_type_load_const:
@ -1584,7 +1584,7 @@ fs_visitor::nir_emit_intrinsic(const fs_builder &bld, nir_intrinsic_instr *instr
}
void
fs_visitor::nir_emit_texture(nir_tex_instr *instr)
fs_visitor::nir_emit_texture(const fs_builder &bld, nir_tex_instr *instr)
{
unsigned sampler = instr->sampler_index;
fs_reg sampler_reg(sampler);
@ -1671,8 +1671,8 @@ fs_visitor::nir_emit_texture(nir_tex_instr *instr)
/* Emit code to evaluate the actual indexing expression */
sampler_reg = vgrf(glsl_type::uint_type);
emit(ADD(sampler_reg, src, fs_reg(sampler)));
emit_uniformize(sampler_reg, sampler_reg);
bld.ADD(sampler_reg, src, fs_reg(sampler));
bld.emit_uniformize(sampler_reg, sampler_reg);
break;
}