Re: [Mesa-dev] [PATCH] fp64: disable varying packing for doubles.
On 20 February 2015 at 12:49, Ilia Mirkin imir...@alum.mit.edu wrote: On Thu, Feb 19, 2015 at 9:43 PM, Dave Airlie airl...@gmail.com wrote: From: Dave Airlie airl...@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 airl...@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()? Good point though if I move it down a few lines it should be fine, since the code checks for array and fixes type up. I'll resend and we can see. Dave. ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH] fp64: disable varying packing for doubles.
On Thu, Feb 19, 2015 at 9:43 PM, Dave Airlie airl...@gmail.com wrote: From: Dave Airlie airl...@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 airl...@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@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH] fp64: disable varying packing for doubles.
From: Dave Airlie airl...@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 airl...@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; if (this-gs_input_vertices != 0) { assert(type-is_array()); type = type-element_type(); -- 1.9.3 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev