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

Dave Airlie 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.

Dave.


More information about the mesa-dev mailing list