On Fri, Jul 4, 2014 at 2:49 PM, Ilia Mirkin <imir...@alum.mit.edu> wrote: > On Fri, Jul 4, 2014 at 8:10 AM, Marek Olšák <mar...@gmail.com> wrote: >> From: Marek Olšák <marek.ol...@amd.com> >> >> It has 5 coordinates: (x,y,z,depth,lodbias) >> >> Cc: mesa-sta...@lists.freedesktop.org > > Reviewed-by: Ilia Mirkin <imir...@alum.mit.edu> > > Although I still haven't worked out what else is wrong with nouveau... > nv50 hits an assert, while nvc0 just generates wrong code. But it does > look like your patch is correct.
Actually this makes the TXL2 instruction pretty confusing =/ Right now it's always just used for cube arrays, so the shadow/lod are in a fixed position (first and second components of second arg). I think that behaviour should be maintained -- for example, TXB (http://gallium.readthedocs.org/en/latest/tgsi.html#opcode-TXB) always has the bias in the 'w' component [ugh, should fix the docs on that, it says 'z']. Same with TXL. -ilia > >> --- >> src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 8 +++++++- >> 1 file changed, 7 insertions(+), 1 deletion(-) >> >> diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp >> b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp >> index 9e19431..65ef89c 100644 >> --- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp >> +++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp >> @@ -2820,7 +2820,13 @@ glsl_to_tgsi_visitor::visit(ir_texture *ir) >> } >> break; >> case ir_txb: >> - opcode = is_cube_array ? TGSI_OPCODE_TXB2 : TGSI_OPCODE_TXB; >> + if (is_cube_array || >> + sampler_type == glsl_type::samplerCubeShadow_type) { >> + opcode = TGSI_OPCODE_TXB2; >> + } >> + else { >> + opcode = TGSI_OPCODE_TXB; >> + } >> ir->lod_info.bias->accept(this); >> lod_info = this->result; >> if (ir->offset) { >> -- >> 1.9.1 >> >> _______________________________________________ >> 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