[Mesa-dev] [PATCH] Revert "st/vdpau: use linear layout for output surfaces"

Christian König deathsimple at vodafone.de
Thu Sep 15 07:43:05 UTC 2016


Am 15.09.2016 um 06:00 schrieb Ilia Mirkin:
> On Wed, Sep 14, 2016 at 11:58 PM, Dave Airlie <airlied at gmail.com> wrote:
>> From: Dave Airlie <airlied at redhat.com>
>>
>> This reverts commit d180de35320eafa3df3d76f0e82b332656530126.
>>
>> This is a radeon specific hack that causes problems on nouveau
>> when combined with the SHARED flag later. If radeonsi needs a fix
>> for this, please fix it in the driver.

Actually it isn't radeon specific. Using linear surfaces for this makes 
sense because tilling isn't beneficial and the surfaces can potentially 
be shared with other GPUs using the VDPAU OpenGL interop.

The problem is that I actually can't say if a surfaces will be shared 
with another GPU or not when it is created. So the driver needs to be 
able to handle this case gracefully and move the surface to GART on 
demand when it is opened by another GPU.

>> Signed-off-by: Dave Airlie <airlied at redhat.com>
> Tested-by: Ilia Mirkin <imirkin at alum.mit.edu>
> Cc: "12.0" <mesa-stable at lists.freedesktop.org>

I don't think we have actually tested this with PRIME and I'm pretty 
sure there are some loose ends which still needs to be fixed for radeon 
as well.

So the patch is Acked-by: Christian König <christian.koenig at amd.com> for 
now, but essentially we need to find a better solution to this.

Regards,
Christian.

>
>> ---
>>   src/gallium/state_trackers/vdpau/output.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/src/gallium/state_trackers/vdpau/output.c b/src/gallium/state_trackers/vdpau/output.c
>> index 85751ea..09a1517 100644
>> --- a/src/gallium/state_trackers/vdpau/output.c
>> +++ b/src/gallium/state_trackers/vdpau/output.c
>> @@ -82,7 +82,7 @@ vlVdpOutputSurfaceCreate(VdpDevice device,
>>      res_tmpl.depth0 = 1;
>>      res_tmpl.array_size = 1;
>>      res_tmpl.bind = PIPE_BIND_SAMPLER_VIEW | PIPE_BIND_RENDER_TARGET |
>> -                   PIPE_BIND_LINEAR | PIPE_BIND_SHARED;
>> +                   PIPE_BIND_SHARED;
>>      res_tmpl.usage = PIPE_USAGE_DEFAULT;
>>
>>      pipe_mutex_lock(dev->mutex);
>> --
>> 2.5.5
>>
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev




More information about the mesa-dev mailing list