i965: just avoid warnings with fp64
authorDave Airlie <airlied@gmail.com>
Thu, 14 Aug 2014 08:49:20 +0000 (18:49 +1000)
committerDave Airlie <airlied@redhat.com>
Thu, 19 Feb 2015 23:44:28 +0000 (09:44 +1000)
This just fills in some blanks to avoid warnings in the i965 driver.

Reviewed-by: Chris Forbes <chrisf@ijw.co.nz>
Signed-off-by: Dave Airlie <airlied@redhat.com>
src/mesa/drivers/dri/i965/brw_fs.cpp
src/mesa/drivers/dri/i965/brw_fs_channel_expressions.cpp
src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
src/mesa/drivers/dri/i965/brw_shader.cpp
src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp

index a562b8a3b1c0bcd16373f999f1736bab50fe3b7f..a2a5234b0e9ab9600fff85a999802ba475578f0e 100644 (file)
@@ -673,6 +673,7 @@ fs_visitor::type_size(const struct glsl_type *type)
    case GLSL_TYPE_VOID:
    case GLSL_TYPE_ERROR:
    case GLSL_TYPE_INTERFACE:
+   case GLSL_TYPE_DOUBLE:
       unreachable("not reached");
    }
 
index cb0a07948c0209a5556912853c8ac72844a83674..c64742cb6f953ba51b5249dbdac13cb57edeca96 100644 (file)
@@ -445,6 +445,19 @@ ir_channel_expressions_visitor::visit_leave(ir_assignment *ir)
    case ir_binop_interpolate_at_offset:
    case ir_binop_interpolate_at_sample:
       unreachable("not reached: expression operates on scalars only");
+
+   case ir_unop_pack_double_2x32:
+   case ir_unop_unpack_double_2x32:
+   case ir_unop_frexp_sig:
+   case ir_unop_frexp_exp:
+   case ir_unop_d2f:
+   case ir_unop_f2d:
+   case ir_unop_d2i:
+   case ir_unop_i2d:
+   case ir_unop_d2u:
+   case ir_unop_u2d:
+   case ir_unop_d2b:
+      unreachable("no fp64 support yet");
    }
 
    ir->remove();
index 04e0f9a4782f8a9f44a2723319d9be2f3456cc8b..74860711abd96d844080bbb730688f60e4965d87 100644 (file)
@@ -1192,6 +1192,20 @@ fs_visitor::visit(ir_expression *ir)
    case ir_binop_interpolate_at_sample:
       unreachable("already handled above");
       break;
+
+   case ir_unop_d2f:
+   case ir_unop_f2d:
+   case ir_unop_d2i:
+   case ir_unop_i2d:
+   case ir_unop_d2u:
+   case ir_unop_u2d:
+   case ir_unop_d2b:
+   case ir_unop_pack_double_2x32:
+   case ir_unop_unpack_double_2x32:
+   case ir_unop_frexp_sig:
+   case ir_unop_frexp_exp:
+      unreachable("fp64 todo");
+      break;
    }
 }
 
index 71146c56c5fd5521a9411f3feeadc8a78ee9d50d..b0e9c82265c591180e1d10f5826fdccc6cfb7bbc 100644 (file)
@@ -308,6 +308,7 @@ brw_type_for_base_type(const struct glsl_type *type)
    case GLSL_TYPE_VOID:
    case GLSL_TYPE_ERROR:
    case GLSL_TYPE_INTERFACE:
+   case GLSL_TYPE_DOUBLE:
       unreachable("not reached");
    }
 
index 562fc3037ff064a7716a1456a1c54b3ebf3d17f2..6154e43c1a4deabcb073625610074b8c900a8874 100644 (file)
@@ -612,6 +612,7 @@ type_size(const struct glsl_type *type)
       return 0;
    case GLSL_TYPE_IMAGE:
    case GLSL_TYPE_VOID:
+   case GLSL_TYPE_DOUBLE:
    case GLSL_TYPE_ERROR:
    case GLSL_TYPE_INTERFACE:
       unreachable("not reached");
@@ -1889,6 +1890,18 @@ vec4_visitor::visit(ir_expression *ir)
       unreachable("not reached: should not occur in vertex shader");
    case ir_binop_ldexp:
       unreachable("not reached: should be handled by ldexp_to_arith()");
+   case ir_unop_d2f:
+   case ir_unop_f2d:
+   case ir_unop_d2i:
+   case ir_unop_i2d:
+   case ir_unop_d2u:
+   case ir_unop_u2d:
+   case ir_unop_d2b:
+   case ir_unop_pack_double_2x32:
+   case ir_unop_unpack_double_2x32:
+   case ir_unop_frexp_sig:
+   case ir_unop_frexp_exp:
+      unreachable("fp64 todo");
    }
 }