[Mesa-dev] [PATCH] i965: just avoid warnings with fp64

Ian Romanick idr at freedesktop.org
Thu Feb 19 15:44:21 PST 2015


Yes, please.

Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

On 02/19/2015 03:38 PM, Dave Airlie wrote:
> This just fills in some blanks to avoid warnings in the i965 driver.
> 
> Signed-off-by: Dave Airlie <airlied at redhat.com>
> ---
>  src/mesa/drivers/dri/i965/brw_fs.cpp                     |  1 +
>  src/mesa/drivers/dri/i965/brw_fs_channel_expressions.cpp | 13 +++++++++++++
>  src/mesa/drivers/dri/i965/brw_fs_visitor.cpp             | 14 ++++++++++++++
>  src/mesa/drivers/dri/i965/brw_shader.cpp                 |  1 +
>  src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp           | 13 +++++++++++++
>  5 files changed, 42 insertions(+)
> 
> diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
> index a562b8a..a2a5234 100644
> --- a/src/mesa/drivers/dri/i965/brw_fs.cpp
> +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
> @@ -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");
>     }
>  
> diff --git a/src/mesa/drivers/dri/i965/brw_fs_channel_expressions.cpp b/src/mesa/drivers/dri/i965/brw_fs_channel_expressions.cpp
> index cb0a079..c64742c 100644
> --- a/src/mesa/drivers/dri/i965/brw_fs_channel_expressions.cpp
> +++ b/src/mesa/drivers/dri/i965/brw_fs_channel_expressions.cpp
> @@ -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();
> diff --git a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
> index 04e0f9a..7486071 100644
> --- a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
> +++ b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
> @@ -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;
>     }
>  }
>  
> diff --git a/src/mesa/drivers/dri/i965/brw_shader.cpp b/src/mesa/drivers/dri/i965/brw_shader.cpp
> index 71146c5..b0e9c82 100644
> --- a/src/mesa/drivers/dri/i965/brw_shader.cpp
> +++ b/src/mesa/drivers/dri/i965/brw_shader.cpp
> @@ -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");
>     }
>  
> diff --git a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
> index 562fc30..6154e43 100644
> --- a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
> +++ b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
> @@ -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");
>     }
>  }
>  
> 



More information about the mesa-dev mailing list