Reviewed-by: Jordan Justen <jordan.l.jus...@intel.com>
On 2015-06-22 11:18:55, Kenneth Graunke wrote: > We were not emitting the LOD, which led to message lengths of 1 instead > of 3. Setting has_lod makes us emit the LOD, but I had to make changes > to avoid emitting the non-existent coordinate as well. > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91022 > Cc: mesa-sta...@lists.freedesktop.org > Signed-off-by: Kenneth Graunke <kenn...@whitecape.org> > --- > src/mesa/drivers/dri/i965/brw_fs_visitor.cpp | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp > b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp > index 4770838..12253e4 100644 > --- a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp > +++ b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp > @@ -247,7 +247,7 @@ fs_visitor::emit_texture_gen4_simd16(ir_texture_opcode > op, fs_reg dst, > uint32_t sampler) > { > fs_reg message(MRF, 2, BRW_REGISTER_TYPE_F, dispatch_width); > - bool has_lod = op == ir_txl || op == ir_txb || op == ir_txf; > + bool has_lod = op == ir_txl || op == ir_txb || op == ir_txf || op == > ir_txs; > > if (has_lod && shadow_c.file != BAD_FILE) > no16("TXB and TXL with shadow comparison unsupported in SIMD16."); > @@ -264,14 +264,15 @@ fs_visitor::emit_texture_gen4_simd16(ir_texture_opcode > op, fs_reg dst, > fs_reg msg_end = offset(message, vector_elements); > > /* Messages other than sample and ld require all three components */ > - if (has_lod || shadow_c.file != BAD_FILE) { > + if (vector_elements > 0 && (has_lod || shadow_c.file != BAD_FILE)) { > for (int i = vector_elements; i < 3; i++) { > bld.MOV(offset(message, i), fs_reg(0.0f)); > } > + msg_end = offset(message, 3); > } > > if (has_lod) { > - fs_reg msg_lod = retype(offset(message, 3), op == ir_txf ? > + fs_reg msg_lod = retype(msg_end, op == ir_txf ? > BRW_REGISTER_TYPE_UD : BRW_REGISTER_TYPE_F); > bld.MOV(msg_lod, lod); > msg_end = offset(msg_lod, 1); > -- > 1.7.10.4 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev