Pauli Virtanen
e784de3933
spa: use log topics everywhere
...
Use log topics properly everywhere, convert from "#define NAME".
2024-03-11 18:45:21 +02:00
Gleb Popov
d2750420c6
Fix build of vulkan/dmabuf_fallback.c
2024-02-10 20:52:25 +03:00
columbarius
bcf3cdc159
vulkan: Update logging in compute plugins
...
Use SPA_LOG_TOPIC_DEFAULT to name the log messages
2024-02-04 09:27:56 +00:00
columbarius
a1615fe6a3
vulkan: Add vulkan-blit-dsp-filter
2024-02-04 09:27:56 +00:00
columbarius
3e3a13c567
vulkan: Add vulkan-blit-filter
2024-02-04 09:27:56 +00:00
columbarius
c845338d81
vulkan: Add blit utils
2024-02-04 09:27:56 +00:00
columbarius
2b2e53ad90
vulkan: Return early in use_buffers
...
This fixes accesing a buffer in [1] when none is provided.
[1] 3f80bc2e70
2024-02-04 09:27:56 +00:00
columbarius
3f80bc2e70
vulkan: Support MemPtr as import for compute
2024-01-29 08:44:25 +00:00
columbarius
7ffd8ff4de
vulkan: Add function to upload data to a staging buffer
2024-01-29 08:44:25 +00:00
columbarius
36aa413cd7
vulkan: Add functions to create staging buffers
2024-01-29 08:44:25 +00:00
columbarius
c3327742cc
vulkan: Add pixel-formats to query format properties
...
We need a database of pixel format properties to remove hardcoded magic
numbers. This commit creates a simple function to query the bytes per
pixel for common RGBA formats.
This should be promoted to or superseeded by a common spa namespaced
version.
2024-01-22 14:00:41 +00:00
columbarius
49b67742c6
vulkan: move format enumeration into utils functions
...
This splots the format enumeration into a helper for dsp and raw pod
creation and a common function for the compute filters.
Counting formats with modifiers will be usefull to announce dsp and
raw formats from the same node.
No functional changes.
2024-01-22 14:00:41 +00:00
columbarius
02779fe28b
vulkan: create validation function for dmabuf properties
...
Validation of properties is moved from the import and allocation
functions into a separate function. This allows later separation of
modifier informations from the base struct.
2024-01-22 14:00:41 +00:00
columbarius
08216be3b1
vulkan: use extension VK_EXT_QUEUE_FAMILY_FOREIGN
...
This extension is required for the aquire and release barriers
to transfer the buffer ownership from and two an external queue.
This removes a warning from the validation layers.
2024-01-22 14:00:41 +00:00
columbarius
1cad9ebb0d
vulkan: Move vulkan_stream into vulkan-compute-utils
...
vulkan_stream will store compute specific properties.
No functional changes.
2024-01-22 14:00:41 +00:00
columbarius
e5f89e09d1
vulkan: Move vulkan_fence_create to vulkan-utils
...
This function is independent from compute.
No functional changes.
2024-01-22 14:00:41 +00:00
columbarius
51b7d49cff
vulkan: namespace functions in compute-utils to spa_vulkan_compute
...
Rename compute functions to allow for shared common functions for
non oppinionated vulkan helpers.
No functional changes.
2024-01-22 14:00:41 +00:00
columbarius
8bbc1c1abf
vulkan: fix uninitialized writeDescriptor
2023-08-31 10:08:06 +00:00
columbarius
00c475e646
vulkan: download buffer to MemPtr
2023-08-31 10:08:06 +00:00
columbarius
73d6c20225
vulkan: spa_vulkan_use_buffers support datatype MemPtr
2023-08-31 10:08:06 +00:00
columbarius
eea8096b12
vulkan: Track spa_buffers for stream
2023-08-31 10:08:06 +00:00
columbarius
2456d58397
vulkan: Only allocate buffers when DMABUFS are used
2023-08-31 10:08:06 +00:00
columbarius
b8c91f7e54
vulkan: Synchronize in and out buffers
2023-08-31 10:08:06 +00:00
columbarius
412b0c7b49
vulkan: Add dmabuf sync helpers from wlroots
...
These helpers are obtained from the wlroots project at
https://gitlab.freedesktop.org/wlroots/wlroots/
2023-08-31 10:08:06 +00:00
columbarius
2c65eb6c2c
vulkan: vulkan_compute fixate modifier
...
If the modifier for a format is not fixated yet, we will use vulkan to
fixate a modifier, update the parsed format, change the EnumFormats mask
and exit early. This triggers a new enum_params with EnumFormats and a
new set_param for Format.
2023-08-31 10:08:06 +00:00
columbarius
a673c56eea
vulkan: announce SPA_PARAM_BUFFERS wrt. modifiers
2023-08-31 10:08:06 +00:00
columbarius
3274880e8e
vulkan: use capability flags to enumerate formats
2023-08-31 10:08:06 +00:00
columbarius
d549d9e595
vulkan: vulkan_compute enumerate format with modifiers
2023-08-31 10:08:06 +00:00
columbarius
06a1d5151b
vulkan: vulkan_compute initialize base on plugin creation
2023-08-31 10:08:06 +00:00
columbarius
402ed65a79
vulkan: Add {spa_,}vulkan_fixate_modifier
2023-08-31 10:08:06 +00:00
columbarius
35b080ec61
vulkan: split spa_vulkan_use_buffers into separate allocation and import functions
...
This commit add helpers to create and to import a DmaBuf via the
external_dmabuf_info struct.
The import path is based on the image creation of wlroots and the create path is
inspired by the wlroots vulkan allocator MR.
2023-08-31 10:08:06 +00:00
columbarius
2068972bb3
vulkan: Add wait functions
...
vulkan_wait_idle waits until the device is idle and all referenced
objects can be destroyed.
vulkan_wait_fence waits until a fence is triggered by a finished
queueSubmit.
vulkan: wait on fence
2023-08-31 10:08:06 +00:00
columbarius
0bb662f2e7
vulkan: limit supported modifiers with DMABUF_MAX_PLANES
2023-08-31 10:08:06 +00:00
columbarius
58853eb2c7
vulkan: Add function to query format and modifier information
2023-08-31 10:08:06 +00:00
columbarius
cf0e3a35ba
vulkan: Add format convertion functions
2023-08-31 10:08:06 +00:00
columbarius
ea2a2c47c7
vulkan: split vulkan-utils into generic and compute part
...
This commit should just shuffle code around with no functional changes.
The goal is to ease development of simple vulkan nodes by providing
generic helpers.
2023-08-31 10:08:06 +00:00
columbarius
e7b4129944
vulkan: use SPDX tags to specify copyright information
2023-08-31 10:08:06 +00:00
columbarius
e226dccde8
vulkan: log if buffer is added in vulkan-compute-source
2023-08-31 10:08:06 +00:00
Barnabás Pőcze
934ab3036e
treewide: use SPDX tags to specify copyright information
...
SPDX tags make the licensing information easy to understand and clear,
and they are machine parseable.
See https://spdx.dev for more information.
2023-02-16 10:54:48 +00:00
Wim Taymans
97aafe2234
fix use_buffers checks
...
We can set 0 buffers even if there is no format.
Return -ENOSPC when too many buffers are set.
2023-01-10 12:30:25 +01:00
Wim Taymans
d4eff5b058
fix build some more.
2022-12-09 18:10:15 +01:00
Wim Taymans
f44d55f6c2
handle read from timerfd correctly
...
When reading the timerfd gives an error, we should return right away
because the timeout did not happen.
If we change the timerfd timeout before reading it, we can get -EAGAIN.
Don't log an error in that case but wait for the new timeout.
2022-12-09 17:30:31 +01:00
Wim Taymans
9123710971
spa: clean up some port io checks
...
We should not generate a warning.
2022-09-01 15:39:34 +02:00
Wim Taymans
2fa1b4384b
spa: don't warn for NULL io
...
The io is set to NULL when the port becomes unnegotiated.
2022-09-01 15:31:14 +02:00
Lucas Holt
4c3f5a7655
When adding MidnightBSD support, I inversed the condition here.
2022-07-08 12:25:58 +02:00
Lucas Holt
6a15a02ec2
Add support for MidnightBSD
...
Fix build issue
Fix build issue
2022-06-19 18:22:47 +00:00
Wim Taymans
9493dafe44
vulkan: update example shaders
2022-06-06 12:13:20 +02:00
Wim Taymans
80f317344e
vulkan: fix validation errors
2022-06-06 12:13:20 +02:00
Wim Taymans
d40e6aeedd
vulkan: use image sampler
2022-06-06 12:13:20 +02:00
Wim Taymans
b02ebec954
vulkan: use images
...
The filter can now run shadertoy filters.
2022-06-06 12:13:20 +02:00