Matthew Waters
ac09f88eb9
vulkan: implement the correct memory barriers necessary
...
Vulkan validation layers are finally silent!
2019-06-04 09:03:44 +00:00
Matthew Waters
1230a6c723
vulkan: remove uneeded buffer inheritence information
...
buffer inheritence informationi is only required for secondary command
buffers which we are not creating
2019-06-04 09:03:44 +00:00
Matthew Waters
d61e771c37
vulkan: use c99 designated initializers where possible
...
Makes the code much easier to read and allows removing our terrible
macros for structure initialization.
2019-06-04 09:03:44 +00:00
Matthew Waters
b02493091b
vkswapper: support displaying memory:VulkanImage
2019-06-04 09:03:44 +00:00
Matthew Waters
32d217a9df
vulkan: add a command pool object for tracking
2019-06-04 09:03:44 +00:00
Matthew Waters
2d0cab20c0
vkswapper: don't output duplicate formats
2019-06-04 09:03:44 +00:00
Matthew Waters
25dd3b32e5
vulkan: make a gstvulkan library out of the existing API
2019-06-04 09:03:44 +00:00
Tim-Philipp Müller
054dc5282d
vulkan: fix some compiler warnings in gnu89 mode
...
for loop variable initialization and conflicting types for i.
2019-03-22 23:39:04 +00:00
Tim-Philipp Müller
a862c0aa85
vulkan: Update for g_type_class_add_private() deprecation in recent GLib
2018-06-24 01:25:04 +02:00
Sebastian Dröge
634cd87c76
gst: Clear floating flag in constructor of all GstObject subclasses that are not owned by any parent
...
https://bugzilla.gnome.org/show_bug.cgi?id=743062
2017-05-17 10:40:23 +03:00
Matthew Waters
ea167c533e
vkswapper: Use the trash list to free resources after they've been used
...
This allows further parallelism and removes a device wait from the end of
the render code.
2016-11-03 16:58:35 +11:00
Matthew Waters
864a0f453d
vkswapper: check the error of the presentation for out of date
...
allows us to resize the swapchain correctly.
2016-05-13 15:24:35 +03:00
Matthew Waters
77f6e253e1
vkswapper: fix up display synchronization
...
Use the semaphores in the correct place, before and after the submission for
acquiring and presenting the swapchain buffer.
Waiting on the fence that only signals the command buffer completion rather than
the completion of the presentation is racy with the destruction of the vulkan
buffers associated with that image. Wait on the device to be idle instead after
presenting.
2016-05-05 23:54:16 +10:00
Matthew Waters
267588fb5e
vkswapper: use gst_video_sink_center_rect for positioning the video
...
Don't try to reimplement it badly.
2016-05-05 23:54:16 +10:00
Matthew Waters
09808f9780
vkswapper: add necessary wait stages to the submission info
2016-04-08 21:46:50 +10:00
Matthew Waters
e4377e5c8f
vkswapper: add srgb formats to our list of formats
...
intel returns them for their surface formats.
2016-04-08 21:46:50 +10:00
Vineeth TM
55060ee6ce
vkswapper/vkutils: Fix gerror memory leak
...
https://bugzilla.gnome.org/show_bug.cgi?id=762842
2016-02-29 09:50:25 +02:00
Matthew Waters
49430569da
vkswapper: add the necessary call to check if the physical device supports the surface
...
Silences an error in the validation layers.
2016-02-17 01:13:43 +11:00
Matthew Waters
a3aa0d11ec
vkswapper: iterate over the device queue's using the new iteration API
2016-02-17 01:13:43 +11:00
Matthew Waters
7118f1f7e2
vulkan: chain up in finalize
...
They were missing in some cases
2016-02-17 01:13:43 +11:00
Matthew Waters
0309c9fbc7
vkswapper: alpha flags are now supported by LunarG's driver
2016-02-17 01:13:43 +11:00
Matthew Waters
86e18d6b8f
vulkan: add upload element
2016-02-17 01:13:43 +11:00
Matthew Waters
300f4e03b2
vulkan: separate allocation and binding of memory
2016-02-17 01:13:43 +11:00
Matthew Waters
16510e2cbc
vkswapper: use buffer memory to upload video frames to the GPU
2016-02-17 01:13:43 +11:00
Matthew Waters
08fd5c2ae5
vulkan: update to release 1.0.1.1
2016-02-17 01:13:43 +11:00
Matthew Waters
28ad97059d
vkswapper: fix semaphore usage
2016-02-17 01:13:43 +11:00
Matthew Waters
72e956fe5e
vkswapper: get the function pointers from the correct object
...
GetPhysicalDevice* functions are instance functions rather than device
functions.
2016-02-17 01:13:43 +11:00
Matthew Waters
9a0f415e79
vkswapper: only wait on the semaphore once
...
It's invalid usage and we may deadlock
2016-02-17 01:13:43 +11:00
Matthew Waters
b38362e75f
vulkan: update error db for 0.10.2
2016-02-17 01:13:43 +11:00
Matthew Waters
6fe59754df
vulkan: update to SDK 0.10.2
2016-02-17 01:13:43 +11:00
Matthew Waters
203c6fa55c
vkswapper: remove outdated comment
2016-02-17 01:13:43 +11:00
Matthew Waters
8819319ad1
vkswapper: always match lock/unlock of the render lock
...
If a draw event comes from the winsys before we've rendered a buffer we were
deadlocking.
2016-02-17 01:13:43 +11:00
Matthew Waters
074cb047ef
vulkan: de-C99 struct declarations
2016-02-17 01:13:43 +11:00
Matthew Waters
a4476fa24b
vkwindow/swapper: implement redraw handling
...
only xcb has been implemented
2016-02-17 01:13:43 +11:00
Matthew Waters
216a321319
vulkan: implement quitting and resizing the window
...
As before, only xcb has been implemented.
2016-02-17 01:13:43 +11:00
Matthew Waters
5de6dd9f40
new vulkan based video sink
...
Currently xcb is the only winsys that is implemented and there's no redraws et
al
2016-02-17 01:13:43 +11:00