[Mesa-dev] [PATCH v2 12/27] auxiliary/vl: use vl_*_screen_create stubs when building w/o platform
Christian König
deathsimple at vodafone.de
Fri May 5 12:20:47 UTC 2017
Am 05.05.2017 um 14:11 schrieb Emil Velikov:
> On 5 May 2017 at 12:37, Christian König <christian.koenig at amd.com> wrote:
>> Am 05.05.2017 um 13:23 schrieb Emil Velikov:
>>> On 5 May 2017 at 10:30, Christian König <christian.koenig at amd.com> wrote:
>>>> Am 04.05.2017 um 18:33 schrieb Emil Velikov:
>>>>> From: Emil Velikov <emil.velikov at collabora.com>
>>>>>
>>>>> Provide a dummy stub when the user has opted w/o said platform, thus
>>>>> we can build the binaries without unnecessarily requiring X11/other
>>>>> headers.
>>>>>
>>>>> In order to avoid build and link-time issues, we remove the HAVE_DRI3
>>>>> guards in the VA and VDPAU state-trackers.
>>>>>
>>>>> With this change st/va will return VA_STATUS_ERROR_ALLOCATION_FAILED
>>>>> instead of VA_STATUS_ERROR_UNIMPLEMENTED. That is fine since upstream
>>>>> users of libva such as vlc and mpv do little error checking, let
>>>>> alone distinguish between the two.
>>>>>
>>>>> Cc: Leo Liu <leo.liu at amd.com>
>>>>> Cc: "Guttula, Suresh" <Suresh.Guttula at amd.com>
>>>>> Cc: mesa-stable at lists.freedesktop.org
>>>>> Cc: Christian König <christian.koenig at amd.com>
>>>>> Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
>>>>> ---
>>>>> Christian, others
>>>>> How do you feel about the ALLOCATION_FAILED vs UNIMPLEMENTED situation?
>>>>> Doing the latter is doable, albeit it will make the code a bit ugly.
>>>>
>>>> I don't think that matters much, but resulting in UNIMPLEMENTED return
>>>> code
>>>> when X backends are not compiled in indeed sounds cleaner.
>>>>
>>>> So price question is how much hassle would it be? Apart from that the
>>>> changes look good to me.
>>>>
>>> Hassle is zero, yet any solution that I can think of is quite ugly.
>>
>> Why do you think it is ugly? I mean returning VA_STATUS_ERROR_UNIMPLEMENTED
>> for things not implemented sounds like the right thing to do to me.
>>
>> Having the handling in the auxiliary code on the other hand is a bit ugly if
>> you ask me, because such stuff is actually the problem of the state tracker.
>>
>> It just saves us quite a bunch of conditionally compiled code in the state
>> tracker and so is still preferable from a maintenance perspective.
>>
>> Maybe change the vl_*_screen_create() interface to return a negative error
>> code from errno.h and then map that to a proper VA_STATUS return in the VA
>> state tracker?
>>
> Not a huge fan of ifndef twinged with code. If we ignore that for a
> moment - the erro+map to VA is also a bit iffy, if we think of the
> wayland case.
> In there we have a partial implementation (IIRC so does the i965 va
> driver) which does not have a matching vl_*_screen_create call.
>
> On second though i965 va does not report VA_STATUS_ERROR_UNIMPLEMENTED
> when built w/o $platform, so perhaps we can get this as-is and polish
> at a later stage?
Yeah, feel free to go ahead with that. If i965 messes things up we can
do so as well :)
Christian.
>
> -Emil
> _______________________________________________
> 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