On 5 May 2017 at 12:37, Christian König <christian.koe...@amd.com> wrote:
> Am 05.05.2017 um 13:23 schrieb Emil Velikov:
>>
>> On 5 May 2017 at 10:30, Christian König <christian.koe...@amd.com> wrote:
>>>
>>> Am 04.05.2017 um 18:33 schrieb Emil Velikov:
>>>>
>>>> From: Emil Velikov <emil.veli...@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....@amd.com>
>>>> Cc: "Guttula, Suresh" <suresh.gutt...@amd.com>
>>>> Cc: mesa-sta...@lists.freedesktop.org
>>>> Cc: Christian König <christian.koe...@amd.com>
>>>> Signed-off-by: Emil Velikov <emil.veli...@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?

-Emil
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to