For pathes 1-6:
Reviewed-by: Chad Versace <c...@chad-versace.us>

I have a minor comment on patch 7.

--
Chad Versace
c...@chad-versace.us

On 09/27/2011 03:08 PM, Eric Anholt wrote:
For hardware drivers, we only have ir_to_mesa called for the purposes
of potential swrast fallbacks (basically never on a 1.30 driver),
which we don't really care about.  This will allow 1.30 to be
implemented without rewriting swrast for it.
---
  src/mesa/program/ir_to_mesa.cpp |   12 ++++++++++--
  1 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/mesa/program/ir_to_mesa.cpp b/src/mesa/program/ir_to_mesa.cpp
index 7b2c69f..c5b71b3 100644
--- a/src/mesa/program/ir_to_mesa.cpp
+++ b/src/mesa/program/ir_to_mesa.cpp
@@ -1456,14 +1456,22 @@ ir_to_mesa_visitor::visit(ir_expression *ir)
        emit_scalar(ir, OPCODE_POW, result_dst, op[0], op[1]);
        break;

-   case ir_unop_bit_not:
+      /* GLSL 1.30 integer ops are unsupported in Mesa IR, but since
+       * hardware backends have no way to avoid Mesa IR generation
+       * even if they don't use it, we need to emit "something" and
+       * continue.
+       */
     case ir_binop_lshift:
     case ir_binop_rshift:
     case ir_binop_bit_and:
     case ir_binop_bit_xor:
     case ir_binop_bit_or:
+      emit(ir, OPCODE_ADD, result_dst, op[0], op[1]);
+      break;
+
+   case ir_unop_bit_not:
     case ir_unop_round_even:
-      assert(!"GLSL 1.30 features unsupported");
+      emit(ir, OPCODE_MOV, result_dst, op[0]);
        break;

     case ir_quadop_vector:


_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to