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
0f800095e1
vulkan: add a trash object
...
This allows pushing the destruction of vulkan resources after the signalling
of an vulkan event. The event facilitates knowing when a specific point in the
vulkan queue has been reached. Only after the event has been signaled can
vulkan resources be freed and/or reused.
2016-11-03 16:58:35 +11:00
Matthew Waters
af8c4589ba
vulkan: add a simple refcountable fence wrapper
2016-11-03 16:58:35 +11:00
Matthew Waters
4e3cb77fa8
vkdisplay: hold a weakref on the list of windows
...
It's possible that the window may have been destroyed when a winsys
event comes in for it.
Fixes an assertion in make -C tests/check generic/states.check
2016-10-05 12:20:52 +11:00
Matthew Waters
1b3de55eb1
vkdevice: only unref the gstcontext query if non-NULL
...
Fixes an assertion in make -C tests/check generic/states.check
2016-10-05 12:20:52 +11:00
Matthew Waters
a969048003
meson: add build files for vulkan
2016-09-09 16:55:23 +10:00
Matthew Waters
7b566b2964
vkupload: add video/x-raw to the VulkanBuffer uploader
...
Allows upstream elements that use our memory to passthrough without copying.
2016-09-08 16:14:41 +10:00
Matthew Waters
c110b62cf8
vkutils: set the last element of the layer array to NULL
...
g_strv* functions require this to not read off the end of the array.
2016-09-08 16:14:31 +10: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
4810c7de70
vulkan/build: add the build directory to the list of includes
...
Fixes out of tree builds from tarballs.
https://bugzilla.gnome.org/show_bug.cgi?id=764758
2016-05-05 23:54:16 +10: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
ab33030250
vulkan: prettify the various versions in the debug output
...
output human readable numbers.
2016-04-12 09:39:12 +10:00
Matthew Waters
65770c2af9
vulkan: add a wayland winsys implementation
2016-04-11 14:18:47 +10:00
Matthew Waters
e46bd98fe6
vulkan/xcb: getProcAddress winsys functions
...
There's no guarantee that they will always be exposed by the vulkan loader.
2016-04-11 14:18:47 +10:00
Matthew Waters
b76fcfd3f7
vkupload: copy necessary buffer metadata
...
timestamps, flags, etc
2016-04-11 14:18:47 +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
Matthew Waters
61d1b31136
vulkan: silence a validation warning filling out the image barrier
2016-04-08 21:46:50 +10:00
Matthew Waters
cecbcd704b
vulkan: use the correct validation layer name
...
The threading validation layer has changed names.
2016-04-08 21:46:50 +10:00
Matthew Waters
761171b6d2
vulkan: only warn on not found layers
...
don't error out completely
https://bugzilla.gnome.org/show_bug.cgi?id=764545
2016-04-08 17:56:50 +10:00
Matthew Waters
b32ca4b550
vulkan: don't g_error when failing to find validation layers
...
Aborting the application is never a good thing to do for recoverable errors.
Just warn and error out instead.
https://bugzilla.gnome.org/show_bug.cgi?id=764545
2016-04-08 17:42:46 +10:00
Vineeth TM
8cdfb13658
bad: use new gst_element_class_add_static_pad_template()
...
https://bugzilla.gnome.org/show_bug.cgi?id=763081
2016-03-24 14:56:51 +02:00
Thibault Saunier
b634f08ad6
vulkan: Minor string fix
2016-03-23 13:43:46 +01:00
Matthew Waters
dcfa7ee044
vulkan: VK_API_VERSION has been removed
...
In a stable release too, naughty.
Use VK_API_VERSION_1_0 instead
https://bugzilla.gnome.org/show_bug.cgi?id=764066
2016-03-23 22:15:35 +11:00
Sebastian Dröge
02fff22db5
vulkan: Ship missing headers with tarballs
...
https://bugzilla.gnome.org/show_bug.cgi?id=763877
2016-03-18 19:45:09 +02:00
Reynaldo H. Verdejo Pinochet
b077cd5510
vksink: fix spelling on failed _ensure_data() error message
2016-03-02 14:53:46 -08: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
Vineeth TM
d258b06013
vkdevice: Fix duplicate assignment of queue variable
...
https://bugzilla.gnome.org/show_bug.cgi?id=762842
2016-02-29 09:50:25 +02:00
Vineeth TM
e821582c13
vksink: Fix GError memory leak
...
https://bugzilla.gnome.org/show_bug.cgi?id=762842
2016-02-29 09:50:25 +02:00
Matthew Waters
1cca847b2a
vkdevice: add the necessary but arbitrary queue priority
...
Silences an error in the validation layers.
2016-02-17 01:13:43 +11: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
4ca3fdb955
vulkan: update to SDK 1.0.3.1
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
ca8f2b0826
vkdevice: add callback iteration over the device queue's
2016-02-17 01:13:43 +11:00
Matthew Waters
eb4419b49b
vkqueue: add context helpers
2016-02-17 01:13:43 +11:00
Matthew Waters
5617b0904b
vkutils: move object-specific context queries to their respective files
...
vkutils now just contains some utility functions to further simplify retrieving
multiple objects.
2016-02-17 01:13:43 +11:00
Matthew Waters
d1d8a365a2
vkdevice: remove unneeded error parameter from get_queue()
2016-02-17 01:13:43 +11:00
Matthew Waters
53f99ac804
vkupload: implement an uploader abstraction
2016-02-17 01:13:43 +11:00
Matthew Waters
57bd62f85f
vkdisplay: unref the instance
...
fixes memory leak
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
22172df413
vksink: only unref if the pointers are non-NULL
2016-02-17 01:13:43 +11:00
Matthew Waters
b5dce08d8f
vkimagememory: free the managing struct on _free
...
fixes a memory leak
2016-02-17 01:13:43 +11:00
Matthew Waters
68b1e18123
vkdevice: perform a waitIdle before destroying the device
2016-02-17 01:13:43 +11:00
Matthew Waters
1c2aae08c5
Revert "vulkan: remove views from the memory objects."
...
This reverts commit 1ea817298ee4d5ef9b00f888f8ebe16a888b1150.
2016-02-17 01:13:43 +11:00
Matthew Waters
3c2710dc0f
vulkanmemory: remove bind variants
2016-02-17 01:13:43 +11:00
Matthew Waters
4c0a169af9
vulkan: remove views from the memory objects.
...
They are not used and it's not possible to create the view before binding the
VkDeviceMemory object to them.
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
0dd1154b73
vulkan: add a vulkanbuffer bufferpool
2016-02-17 01:13:43 +11:00
Matthew Waters
86e18d6b8f
vulkan: add upload element
2016-02-17 01:13:43 +11:00