Matthew Waters
dc0c9dea7f
vulkan/identity: Split out most rendering code to a base class
...
A simple base class that renders a 2d fullscreen quad parallel to the
screen surface inside the view frustum.
2019-06-20 01:41:56 +10:00
Matthew Waters
773e914f48
vkupload: fix a structure sType
2019-06-20 01:41:56 +10:00
Matthew Waters
db617a98ad
vksink: Retrieve vulkan queue earlier
...
Allows using the swapper's queue over upstream's queue. The swapper
will check for the necessary presentation support that upstream may not
consider.
2019-06-20 01:41:56 +10:00
Matthew Waters
f33310df56
vkupload: remove debugging error log
2019-06-04 09:03:44 +00:00
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
9593e4e8bb
vulkan: add a new image copying element
...
Copies using the graphics pipeline, an input image and renders to an
output image.
2019-06-04 09:03:44 +00:00
Matthew Waters
80cbbb319d
vkupload: add raw->vulkanimage uploader
2019-06-04 09:03:44 +00:00
Matthew Waters
ca38c2f25e
vktrash: add more destruction of vulkan types
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
673d775df0
vkupload: implement buffer to image uploader
2019-06-04 09:03:44 +00:00
Matthew Waters
f351f3a759
vulkansink: Respond to queue queries
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
Matthew Waters
8def3b3743
vkbufferpool: Fix multiplaner allocations
...
Use the plane width/height and the sizes required by vulkan
Fixes allocation of:
videotestsrc ! video/x-raw,format=I420 ! vulkanupload ! fakesink
2019-06-04 09:03:44 +00:00
Matthew Waters
268dfcaad9
vk*memory: explicitly error out for driver NPOT alignment
2019-06-04 09:03:44 +00:00
Matthew Waters
0526310a95
vulkan/image: initialize the requirements struct before using it
2019-06-04 09:03:44 +00:00
Matthew Waters
7ee28e2e4b
vulkan: don't require every element to have a display
...
Only sink elements really care about a valid display
2019-06-04 09:03:44 +00:00
Matthew Waters
eb0f7f3279
vulkan: remove unused X11 window system references
...
We use XCB instead
2019-06-04 09:03:44 +00:00
Matthew Waters
873add374a
vulkan: remove unused layer enablement
...
This is possible now via the vulkan loader
2019-06-04 09:03:44 +00:00
Thibault Saunier
47a49f3381
docs: Build documentation with hotdoc
2019-05-13 17:00:00 -04:00
Matthew Waters
2e442b801b
vulkan: Add iOS window implementation
2019-04-08 09:26:20 +00:00
Matthew Waters
012d6b1d98
vulkan: Add Cocoa window implementation
2019-04-08 09:26:20 +00:00
Matthew Waters
b9be6b318e
vulkan: make the debug extension optional
...
i.e. don't fail if it's not available
2019-04-08 09:26:20 +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
ecb7049d7e
vulkan: fix some leaks
...
Fix vk_instance leak when state change fails like in
generic/states unit test.
2019-03-08 01:18:39 +00:00
Nirbheek Chauhan
b55dfb5313
Add feature options for almost all plugins
...
The only plugins remaining are those that haven't been ported to Meson
yet, and msdk. Also, the tests are still automagic.
https://bugzilla.gnome.org/show_bug.cgi?id=795107
2018-07-27 19:04:38 +05:30
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
Matthew Waters
52e3db3371
vulkaninstance: add missing precondition to _open()
2018-06-13 20:23:22 +10:00
Xavier Claessens
83d0623293
Meson: Generate pc file for all plugins in bad
...
https://bugzilla.gnome.org/show_bug.cgi?id=794568
2018-04-25 11:08:09 +01:00
Matthew Waters
e5c4135e81
vulkanupload: actually loop over possible uploaders
...
Fix some funky control that wasn't working
CID #1417219
2018-02-08 16:55:43 +11:00
Edward Hervey
87dbd558cc
vulkan: Fix out-of-bound read
...
G_N_ELEMENTS is the *number* of entries, not the maximum entry number
CID #1417215
2017-11-21 16:39:14 +01:00
Nicolas Dufresne
9b2e28d91d
Request minimum buffer even if need_pool is FALSE
...
When tee is used, it will not request a pool, but still it wants to
know how many buffers are required.
https://bugzilla.gnome.org/show_bug.cgi?id=730758
2017-09-06 14:19:37 -04:00
Jussi Kukkonen
97b0085c48
vulkan: Use the generated version of vkconfig.h
...
Build fails in ext/vulkan/xcb and ext/vulkan/wayland when:
* building from tarball
* building out-of-tree
* Only one WSI integration (xcb or wayland) is enabled by configure.ac
This is because vkconfig.h from source directory gets used instead
of the generated one.
Add the correct build directory to "-I". Use angle bracket
include in vkapi.h so that it actually looks in the include search
path instead of defaulting to the same (source tree) directory.
https://bugzilla.gnome.org/show_bug.cgi?id=784539
2017-07-10 21:42:49 +10:00
Jussi Kukkonen
9c6d36984f
vkdisplay: Use ifdef for platform specific defines
...
VK_KHR_*_SURFACE_EXTENSION_NAME are only available when corresponding
WSI is enabled.
https://bugzilla.gnome.org/show_bug.cgi?id=784539
2017-07-10 21:42:49 +10: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
Nicolas Dufresne
4261692187
Remove plugin specific static build option
...
Static and dynamic plugins now have the same interface. The standard
--enable-static/--enable-shared toggle are sufficient.
2017-05-16 14:05:52 -04:00
Thibault Saunier
78022a6e0c
docs: Port all docstring to gtk-doc markdown
2017-04-12 12:57:57 -03:00
Matthew Waters
d7bb3b5542
vkwindow: fix build error on i386
...
Vulkan handles are either pointers (64-bit) or 64-bit integer
handles (32-bit). Cast the type in failure cases.
vkwindow.c:229:561: error: return makes integer from pointer without a cast [-Werror=int-conversion]
vkwindow.c:231:194: error: return makes integer from pointer without a cast [-Werror=int-conversion]
https://bugzilla.gnome.org/show_bug.cgi?id=777979
2017-02-01 16:08:55 +11:00
Matthew Waters
f6b81a6125
vkimagememory: use the correct enum for RGB16/BGR16 formats
...
vkimagememory.c:64:14: warning: implicit conversion from enumeration type 'GstVideoGLTextureType' to different enumeration type 'VkFormat' (aka 'enum VkFormat') [-Wenum-conversion]
return GST_VIDEO_GL_TEXTURE_TYPE_RGB16;
https://bugzilla.gnome.org/show_bug.cgi?id=777760
2017-01-26 19:52:07 +11:00
Sebastian Dröge
5c99f9cf37
gst: Don't declare variables inside the for loop header
...
This is a C99 feature.
2016-12-13 22:39:01 +02:00
Reynaldo H. Verdejo Pinochet
7c64ea4832
wayland: avoid prefix clash in combined pkg-config check
...
Adittionally, remove leftover WAYLAND_DRM_ include flags var
Fixes building of ext/wayland/* broken by dfd86de67a
Related to:
https://bugzilla.gnome.org/show_bug.cgi?id=773927
2016-11-18 10:41:16 -08:00
Arun Raghavan
723218aa63
vulkan: Add missing files to meson build
2016-11-04 09:51:45 +05:30
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