diff options
author | Marek Olšák <marek.olsak@amd.com> | 2014-07-04 03:19:58 +0200 |
---|---|---|
committer | Marek Olšák <marek.olsak@amd.com> | 2014-07-11 19:36:29 +0200 |
commit | a11fff329ea0b236ee5d2d7ad563af49770c04c7 (patch) | |
tree | e1e34c0b1635c863691df4abf7b1f7796faa9c78 | |
parent | 734e4946f50c1b83dafdb18ced652abc88e6a246 (diff) |
st/mesa: fix samplerCubeShadow with bias
It has 5 coordinates: (x,y,z,depth,lodbias)
Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
-rw-r--r-- | src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp index f47cd7d5350..b5736b2a935 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) { |