Re: [RFC] enable Vulkan plugin only if header and driver are > 1.3.238
Matthew Waters via gstreamer-devel <[email protected]>
| Newsgroups | gmane.comp.video.gstreamer.devel |
|---|---|
| Message-ID | <[email protected]> |
Unfortunately, there are still very many Android devices that only have Vulkan 1.0/1.1/1.2 available at runtime so using such a new version is definitely out of the question for them. Same answer for macOS/iOS. As such, Vulkan 1.3 is way too new to be forcing a restriction on and I will NACK such a MR currently and for the forseeable future. Cheers -Matt On 1/9/23 18:54, Victor Jaquez via gstreamer-devel wrote: > Hi, > > Right now Vulkan plugin is enabled at compilation time if any version of the > headers are present, and it will runs on any version of the driver. > > And this is pretty OK since the plugin does color&view conversions, downloading, > uploading, sink and a generic shader processor, and it runs in multiple SOs > (linux, windows, macos, android, and perhaps others). > > But now, while implementing decoders with vulkan video, this "run on any vulkan > headers/drivers" turned to be, if not a nightmare, something close to it, since > using the video extension is easier if certain other extensions are used (such > as synchronization2 and timeline semaphores) and guarding each API extension > multiplies the code paths which need to be tested. > > I would like to ask who are the current users of Gstreamer Vulkan and what > platforms are using? > > Depending on the answers, I would like the propose then if we could enable the > plugin if headers/driver version is bigger 1.3.238, because it's when Vulkan > turns to be really useful for GStreamer elements. But it will mean that many > platforms, such as android and perhaps macos, won't be able to use the plugin > currently since their drivers doesn't cover those versions, AFAIK. Furthermore, > android won't enable the video extension in their driver, because they want to > force user to use their own multimedia APIs. > > What do you think? > > vmjl