Vulkan Example

Joel Winarske joel.winarske at
Thu Mar 3 02:10:10 UTC 2022

I am now able to get GstVulkanImageMemory/vkImage from a sample:

What is the state of the vkImage when I read it from the sample? Ready to
use and safe until the next incoming sample?
Do I need to do anything with the barrier?
How many vkImages are created, and in use?

It might be good to have an API where one can pass in an array of
pre-created vkImages for use by the pipeline.  Then semaphores can be used
externally for optimal threading and the presentation logic.



On Wed, Mar 2, 2022 at 12:12 AM Matthew Waters <ystreet00 at> wrote:

> appsink is your friend and you can retrieve the VkImage's from upstream
> and you can do what you like with them.
> There's no requirement to use vulkansink however you would need to make
> sure to interop with the relevant Vulkan objects between the application
> and GStreamer which may require some API additions in GStreamer for that
> case.  The design is similar to OpenGL integration but there are some
> differences with how Vulkan itself works that need to be accounted for when
> writing your own glue code.
> Cheers
> -Matt
> On 2/3/22 10:02, Joel Winarske wrote:
> I'm looking to use GST with an external swap chain.  Is there currently a
> way to get a callback or signaled semaphore (common) when a VkImage is
> ready for external use?  I'm thinking I may need to implement a variant of
> vulkansink.
> The external swap chain is running multiple pipelines, and handling
> display presentation logic.
> On Mon, Feb 7, 2022 at 6:40 PM Matthew Waters <ystreet00 at> wrote:
>> Apart from running with vulkan elements with gst-launch-1.0, yes. That's
>> the only application example for Vulkan.  Note that Vulkan does work on
>> macOS/iOS through the MoltenVK layer.
>> On 8/2/22 12:38, Joel Winarske via gstreamer-devel wrote:
>> > Is this the only Vulkan example?
>> >
>> >
>> >
>> > Thanks,
>> > Joel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the gstreamer-devel mailing list