diff options
author | marha <marha@users.sourceforge.net> | 2011-05-10 13:17:13 +0000 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2011-05-10 13:17:13 +0000 |
commit | 0f6aea154580c2f220be98d12108dd7d316c21f6 (patch) | |
tree | c60630ec6de1c0b2a4367133a15a19300afb8625 /mesalib/src/mesa/program/ir_to_mesa.cpp | |
parent | 43b2398ee28e9144fd51eb9994d67c4c9a198c9c (diff) | |
download | vcxsrv-0f6aea154580c2f220be98d12108dd7d316c21f6.tar.gz vcxsrv-0f6aea154580c2f220be98d12108dd7d316c21f6.tar.bz2 vcxsrv-0f6aea154580c2f220be98d12108dd7d316c21f6.zip |
libfontenc pixman mesa git update 10 May 2011
Diffstat (limited to 'mesalib/src/mesa/program/ir_to_mesa.cpp')
-rw-r--r-- | mesalib/src/mesa/program/ir_to_mesa.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/mesalib/src/mesa/program/ir_to_mesa.cpp b/mesalib/src/mesa/program/ir_to_mesa.cpp index bc10b455b..510aeab82 100644 --- a/mesalib/src/mesa/program/ir_to_mesa.cpp +++ b/mesalib/src/mesa/program/ir_to_mesa.cpp @@ -1966,7 +1966,7 @@ ir_to_mesa_visitor::visit(ir_call *ir) void ir_to_mesa_visitor::visit(ir_texture *ir) { - src_reg result_src, coord, lod_info, projector; + src_reg result_src, coord, lod_info, projector, dx, dy; dst_reg result_dst, coord_dst; ir_to_mesa_instruction *inst = NULL; prog_opcode opcode = OPCODE_NOP; @@ -2008,6 +2008,12 @@ ir_to_mesa_visitor::visit(ir_texture *ir) lod_info = this->result; break; case ir_txd: + opcode = OPCODE_TXD; + ir->lod_info.grad.dPdx->accept(this); + dx = this->result; + ir->lod_info.grad.dPdy->accept(this); + dy = this->result; + break; case ir_txf: assert(!"GLSL 1.30 features unsupported"); break; @@ -2080,7 +2086,10 @@ ir_to_mesa_visitor::visit(ir_texture *ir) coord_dst.writemask = WRITEMASK_XYZW; } - inst = emit(ir, opcode, result_dst, coord); + if (opcode == OPCODE_TXD) + inst = emit(ir, opcode, result_dst, coord, dx, dy); + else + inst = emit(ir, opcode, result_dst, coord); if (ir->shadow_comparitor) inst->tex_shadow = GL_TRUE; |