[RFC] enable Vulkan plugin only if header and driver are > 1.3.238
Victor Jaquez via gstreamer-devel <[email protected]>
| Newsgroups | gmane.comp.video.gstreamer.devel |
|---|---|
| Message-ID | <20230901085407.mgnwtrxndfq5jkzk@octavia> |
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