LingMan
cda52a04e3
rusticl/api: drop a few include paths
...
`c_void` is already imported at the top of the file.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25669 >
2023-10-15 00:17:10 +00:00
LingMan
0b9c926dd2
rusticl: add a safe abstraction to execute a ProgramCB
...
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25669 >
2023-10-15 00:17:10 +00:00
LingMan
b1b0ca1acb
rusticl: add a safe abstraction to execute a CreateContextCB
...
Since running CreateContextCBs isn't implemented yet, it's unused for now.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25669 >
2023-10-15 00:17:10 +00:00
LingMan
6e2ba679ff
rusticl: add a safe abstraction to execute an SVMFreeCb
...
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25669 >
2023-10-15 00:17:10 +00:00
LingMan
8b1d73ff23
rusticl: add a safe abstraction to execute a MemCB
...
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25669 >
2023-10-15 00:17:10 +00:00
LingMan
241d16c9e8
rusticl: add a safe abstraction to execute an EventCB
...
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25669 >
2023-10-15 00:17:10 +00:00
LingMan
d9e2463ef3
rusticl: add a safe abstraction to execute a DeleteContextCB
...
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25669 >
2023-10-15 00:17:10 +00:00
LingMan
16383332a9
rusticl: Make EventSig take ownership of its environment
...
Needed because some events may consume their inputs. E.g. it will shortly be needed for the SVMFreeCb.
SVMMemFill will also soon require mutable access.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25669 >
2023-10-15 00:17:10 +00:00
LingMan
bef50d164f
rusticl: use SVMFreeCb
...
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25669 >
2023-10-15 00:17:10 +00:00
LingMan
b8171ab372
rusticl: use ProgramCB
...
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25669 >
2023-10-15 00:17:10 +00:00
LingMan
07ca0df72e
rusticl: use MemCB
...
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25669 >
2023-10-15 00:17:10 +00:00
LingMan
c5c4cc4137
rusticl: use EventCB
...
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25669 >
2023-10-15 00:17:10 +00:00
LingMan
250f6e9b2e
rusticl: use DeleteContextCB
...
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25669 >
2023-10-15 00:17:10 +00:00
LingMan
f34ff1daa5
rusticl: use CreateContextCB
...
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25669 >
2023-10-15 00:17:10 +00:00
LingMan
e461944060
rusticl: add structs to hold the C callbacks
...
Keeps function pointers and their provided user data together. Since these callbacks are guaranteed
to be thread-safe by the OpenCL spec, they are marked Send and Sync.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25669 >
2023-10-15 00:17:10 +00:00
LingMan
157c743a27
rusticl: Rename XyzCB aliases to FuncXyzCB
...
This happens so the XyzCB names can be used for structs containing both the function pointer and
the provided user data. Since these aliases represent raw unsafe function pointers the `Func`
prefix was chosen over `Fn`, which is generally used for safe functions.
Unfortunately it is not possible to concatinate identifiers to create new ones without a proc macro.
Thus, specify the new alias manually instead of generating them from the existing XyzCB names.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25669 >
2023-10-15 00:17:10 +00:00
Yiwei Zhang
5df194e2ae
zink: sync queue access for vkQueueWaitIdle
...
Ensure VkQueue external sync between flush_queue and TC.
Cc: mesa-stable
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25733 >
2023-10-14 23:43:36 +00:00
Karol Herbst
d2e1bc33b0
zink: implement PIPE_COMPUTE_CAP_MAX_COMPUTE_UNITS
...
We have to return at least 1.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25731 >
2023-10-14 22:14:34 +00:00
Rob Clark
d97427f41c
radeonsi: Add PIPE_CAP_HAS_CONST_BW support
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25464 >
2023-10-14 17:28:29 +00:00
Rob Clark
01f0cce003
iris: Add PIPE_CAP_HAS_CONST_BW support
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25464 >
2023-10-14 17:28:28 +00:00
Rob Clark
1fe201f7a3
panfrost: Add PIPE_CAP_HAS_CONST_BW support
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25464 >
2023-10-14 17:28:28 +00:00
Rob Clark
c1968e54d9
freedreno: Add PIPE_CAP_HAS_CONST_BW support
...
Allow for tiled layouts rather than having mesa/st force us back to
linear.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25464 >
2023-10-14 17:28:28 +00:00
Rob Clark
5cccd6d689
mesa: Implement MESA_texture_const_bandwidth
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9891
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25464 >
2023-10-14 17:28:28 +00:00
Rob Clark
d0c81e12f3
mesa: Introduce MESA_texture_const_bandwidth
...
A simple extension that builds on EXT_memory_object to allow the
application to request that constant bandwidth (non-data-dependent)
tiling layouts be used for a specified texture.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25464 >
2023-10-14 17:28:28 +00:00
Kai Wasserbäch
2320ad1da6
fix: clover: warning: ignoring return value of ‘int posix_memalign(…)’ [-Wunused-result]
...
During builds GCC 13.2 issues the following warning:
src/gallium/frontends/clover/api/memory.cpp:612:21: warning: ignoring return value of ‘int posix_memalign(void**, size_t, size_t)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
612 | posix_memalign(&ptr, alignment, size);
| ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
Fix this by checking the returned value is actually 0 and if not we now
report a nullptr.
Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25724 >
2023-10-14 17:12:37 +00:00
Karol Herbst
10e3de37bf
rusticl/memory: use get_mut instead of lock in drop
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25727 >
2023-10-14 15:32:14 +00:00
David Heidelberg
0b31cda678
ci: ci_marge_queue.py
...
Show currently assigned jobs to Marge and return 0 when it's free.
Useful for combination with ci_run_n_monitor.py .
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20347 >
2023-10-14 11:28:56 +00:00
Karol Herbst
3083b854e0
rusticl/kernel: get rid of Arcs in KernelDevStateVariant
...
We only used Arcs as we wanted to deal with either getting a reference or
having an owned temporary. But we can also just use a local variable for
temporary storage.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: @LingMan <18294-LingMan@users.noreply.gitlab.freedesktop.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24062 >
2023-10-14 09:34:56 +00:00
Karol Herbst
d3d94818ed
rusticl/queue: make it Sync
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: @LingMan <18294-LingMan@users.noreply.gitlab.freedesktop.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24062 >
2023-10-14 09:34:56 +00:00
Karol Herbst
57bafe51d2
rusticl/queue: get rid of pointless Option around our worker thread handle
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: @LingMan <18294-LingMan@users.noreply.gitlab.freedesktop.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24062 >
2023-10-14 09:34:56 +00:00
Karol Herbst
aa1d746a8e
rusticl/cl: mark _cl_image_desc as Send and Sync
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: @LingMan <18294-LingMan@users.noreply.gitlab.freedesktop.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24062 >
2023-10-14 09:34:56 +00:00
Karol Herbst
e994935c1f
rusticl/mesa: mark PipeTransfer as Send
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: @LingMan <18294-LingMan@users.noreply.gitlab.freedesktop.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24062 >
2023-10-14 09:34:56 +00:00
Karol Herbst
5492046240
rusticl/mesa: mark PipeResource as Send and Sync
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: @LingMan <18294-LingMan@users.noreply.gitlab.freedesktop.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24062 >
2023-10-14 09:34:56 +00:00
Karol Herbst
dde84568ad
rusticl/mesa/nir: Mark NirShader and NirPrintfInfo as Send and Sync
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: @LingMan <18294-LingMan@users.noreply.gitlab.freedesktop.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24062 >
2023-10-14 09:34:56 +00:00
Karol Herbst
6189b3fe43
rusticl/mesa/nir: mark more methods as mut
...
Those actually change the nir and are not thread-safe anyway.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: @LingMan <18294-LingMan@users.noreply.gitlab.freedesktop.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24062 >
2023-10-14 09:34:56 +00:00
Karol Herbst
02c433dd87
rusticl: bump rustc version to 1.66
...
This adds a few goodies I care about:
- bool::then_some (1.62)
- let-else statements (1.65)
FireFox ESR is at 1.66 so this bump is according to the Rust updated
policy.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: @LingMan <18294-LingMan@users.noreply.gitlab.freedesktop.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24062 >
2023-10-14 09:34:56 +00:00
Faith Ekstrand
70806cc840
nvk: Always set pixel_min/max_Z to CLAMP
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25723 >
2023-10-14 05:23:45 +00:00
Chia-I Wu
29e2e9290b
anv: add support for vk_require_astc driconf
...
When vk_require_astc is true and there is no native ASTC LDR support,
enable ASTC LDR emulation.
vk_require_astc defaults to true on Android 14+.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25467 >
2023-10-14 02:36:40 +00:00
Chia-I Wu
b30d5a4794
anv: advertise emulated formats
...
Advertise required features for emulated formats.
v2: no sparse residency support
Signed-off-by: Chia-I Wu <olvaffe@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25467 >
2023-10-14 02:36:40 +00:00
Chia-I Wu
8352b61ffa
anv: fix up blit src for emulated formats
...
When the blit src has an emulated format, redirect to the hidden plane.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25467 >
2023-10-14 02:36:40 +00:00
Chia-I Wu
7b84c8d6ea
anv: fix up image views for emulated formats
...
When the view format is the same as the image format, and the format is
emulated, change the format to the decompressed format.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25467 >
2023-10-14 02:36:40 +00:00
Chia-I Wu
a73e0e9a04
anv: decompress on upload for emulated formats
...
Add anv_astc_emu_decompress to decompress the raw texel data to the
hidden plane. Call anv_astc_emu_decompress from anv_CmdCopyImage2 and
anv_CmdCopyBufferToImage2.
v2: support transfer queue and add missing flushes (Lionel)
Signed-off-by: Chia-I Wu <olvaffe@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25467 >
2023-10-14 02:36:40 +00:00
Chia-I Wu
61e480cb54
anv: add a hidden plane for emulated formats
...
When an image is created with an emulated format, add a hidden plane to
the image. The hidden plane will be used for decompressed data.
v2: assert no sparse residency
Signed-off-by: Chia-I Wu <olvaffe@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com > (v1)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25467 >
2023-10-14 02:36:40 +00:00
Chia-I Wu
9ffe8b9235
anv: add anv_is_format_emulated
...
anv_is_format_emulated returns true when a format is emulated. It will
be used for ASTC LDR emulation, but it always return false at the
moment.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25467 >
2023-10-14 02:36:40 +00:00
Chia-I Wu
94192418f8
anv: add anv_cmd_buffer_{save,restore}_state
...
They can be used to save/restore a subset of the current compute state.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25467 >
2023-10-14 02:36:40 +00:00
Chia-I Wu
710c14f20b
anv: add anv_descriptor_set_write
...
Add anv_descriptor_set_write as a helper for both
anv_UpdateDescriptorSets and anv_CmdPushDescriptorSetKHR.
v2: rename push_set to the more generic set_override
Signed-off-by: Chia-I Wu <olvaffe@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com > (v1)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25467 >
2023-10-14 02:36:40 +00:00
Chia-I Wu
7a4903626b
anv: support alternative push descriptor sets
...
Do not assume anv_cmd_pipeline_state::push_descriptor is the currently
bound push descriptor set. With this and anv_push_descriptor_set_init,
it is possible to initialize a temporary push descriptor set on stack
for internal use.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25467 >
2023-10-14 02:36:40 +00:00
Chia-I Wu
a86a4e5fcf
anv: add anv_push_descriptor_set_{init,finish}
...
Refactor anv_cmd_buffer_alloc_push_descriptor_set and add
anv_push_descriptor_set_{init,finish}. Note that
anv_push_descriptor_set_init still supports re-initialization.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25467 >
2023-10-14 02:36:40 +00:00
Chia-I Wu
d5841dce60
anv: support image views with surface state stream
...
Add optional anv_state_stream to anv_image_view_init. This is useful
for internal image views whose lifetimes are tied to the lifetime of a
command buffer.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25467 >
2023-10-14 02:36:40 +00:00
Chia-I Wu
815b568ed5
anv: add anv_image_view_{init,finish}
...
This is a minor refactor.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25467 >
2023-10-14 02:36:40 +00:00