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
Matthew Waters
980213ee97
vkutils: fix assert inversion
2016-02-17 01:13:43 +11:00
Matthew Waters
43afa15fac
vulkan: add caps feature names for the buffer and image memories
2016-02-17 01:13:43 +11:00
Matthew Waters
7871910bc6
vulkan: add device to handle_context_query
2016-02-17 01:13:43 +11:00
Matthew Waters
bfab93dabe
vulkan: move instance_open into the utility ensure_element_data
...
So callers don't have to perform it themselves.
2016-02-17 01:13:43 +11:00
Matthew Waters
0bcb3cdd29
vkinstance: add signal for overriding device creation
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
914c1a5193
vkbuffermemory: follow the rest of the struct macros
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
bd41cc4557
vulkan: add a buffer memory allocator
...
Wraps the VkBuffer in a GstMemory subclass.
2016-02-17 01:13:43 +11:00
Matthew Waters
eb3f6eebce
vkmemory: align struct members in the header
2016-02-17 01:13:43 +11:00
Matthew Waters
a2ad5d9eac
vkmacros: use specific _INIT macros to initialize structures
2016-02-17 01:13:43 +11:00
Matthew Waters
6731fad9af
vkimagememory: add get_{width,height) functions
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
700eb16af8
vulkan/xcb: flush after mapping the window
...
Otherwise the map may not reach the server and not appear.
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
0ee8fe193e
vulkan: add some debugging about the supported extensions
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
d067ed8a9e
vkinstance: add the necessary winsys extension
2016-02-17 01:13:43 +11:00
Matthew Waters
3ed50f36ed
vkdisplay: forward declare GstVulkanDisplayType
2016-02-17 01:13:43 +11:00
Matthew Waters
f0fb45dd76
vkapi: remove unneeded headers
...
vkapi is for accessing the vulkan headers with the correct defines applied so
doesn't need any interal headers.
2016-02-17 01:13:43 +11:00
Matthew Waters
873e0d6340
vkimagememory: fix the memory barrier access masks
...
silences the following warnings from the validation layer
AccessMask xxx must have required access bit xxx and may have optional bits 0
when layout is VK_IMAGE_LAYOUT_TRANSFER_{SRC,DST}_OPTIMAL
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
2f11fc029d
vkimagememory: initialize flags and don't crash on errors
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
996200ffc0
vulkan: implement GstContext helpers
...
Based off libgstgl's implementation
2016-02-17 01:13:43 +11:00
Matthew Waters
75aaf184bb
vkdevice: remove gst_vulkan_device_close()
...
When sharing the device between multiple elements/application, we need
to use th erefcount to know when to close the device.
2016-02-17 01:13:43 +11:00
Matthew Waters
5dd530daec
vkinstance: remove gst_vulkan_instance_close
...
Sharing the instance across multiple elements/application will require
using the refcount instead to know when to close and destroy the instance.
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
a4e82bcef7
vkmemory: debug output the memory properties requested
2016-02-17 01:13:43 +11:00
Matthew Waters
87a35f679d
vkimagememory: don't leak GstMapInfo in failure cases on _map()
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
Tim-Philipp Müller
60005b4a12
tests: remove test files no longer needed
2016-02-16 12:38:21 +00:00
Tim-Philipp Müller
08d8aefcda
mpg123: move plugin from -bad to -ugly
...
https://bugzilla.gnome.org/show_bug.cgi?id=719849
2016-02-16 11:00:55 +00:00
Matthew Waters
057aca2cda
gtk(gl)sink: remove the signal handlers on finalize
...
It's possible that the sink element will be freed before the widget is
destroyed. When the widget was eventually destroyed, it was attempting to
access member variables of the freed sink struct which resulted in undefined
behaviour.
Fix by disconnecting our signal on finalize.
https://bugzilla.gnome.org/show_bug.cgi?id=762098
2016-02-16 20:09:08 +11:00