[Mesa-dev] [PATCH] fp64: disable varying packing for doubles.

Ilia Mirkin imirkin at alum.mit.edu
Thu Feb 19 18:49:34 PST 2015


On Thu, Feb 19, 2015 at 9:43 PM, Dave Airlie <airlied at gmail.com> wrote:
> From: Dave Airlie <airlied at redhat.com>
>
> I'm not sure we really care about this, but we need to
> write better support if we do. For now just disable it.
>
> piglit test: tests/spec/arb_gpu_shader_fp64/execution/vs-out-fs-in-double-2.shader_test
>
> Signed-off-by: Dave Airlie <airlied at redhat.com>
> ---
>  src/glsl/lower_packed_varyings.cpp | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/src/glsl/lower_packed_varyings.cpp b/src/glsl/lower_packed_varyings.cpp
> index 5e844c7..3c9cbec 100644
> --- a/src/glsl/lower_packed_varyings.cpp
> +++ b/src/glsl/lower_packed_varyings.cpp
> @@ -592,6 +592,9 @@ lower_packed_varyings_visitor::needs_lowering(ir_variable *var)
>        return false;
>
>     const glsl_type *type = var->type;
> +   /* don't attempt to pack double varyings yet */
> +   if (type->base_type == GLSL_TYPE_DOUBLE)
> +      return false;

Not sure, but I _think_ type can be an array here... (or even worse, a
struct... hopefully not). Should be simple to whip up some piglits. If
I'm right on the array, you can do type->without_array(). If it can
also be a struct, then maybe ->contains_double()?

>     if (this->gs_input_vertices != 0) {
>        assert(type->is_array());
>        type = type->element_type();
> --
> 1.9.3
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list