[Mesa-dev] [PATCH] fp64: disable varying packing for doubles.
airlied at gmail.com
Thu Feb 19 20:02:38 PST 2015
On 20 February 2015 at 12:49, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
> 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()?
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.
More information about the mesa-dev