Faith Ekstrand
87ca92d881
nvk/nvkmd: Add a context interface
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30033 >
2024-07-09 01:22:23 +00:00
Faith Ekstrand
29e3b19860
nvk: Use nvkmd_mem for the zero page, VAB, and CB0
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30033 >
2024-07-09 01:22:23 +00:00
Faith Ekstrand
92ac7db7c8
nvk: Use nvkmd_mem for the nvk_queue_state::push
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30033 >
2024-07-09 01:22:23 +00:00
Faith Ekstrand
d0593bb86c
nvk: Drop extra_bos from nvk_queue_submit_simple()
...
We aren't using it anymore and the only reason it existed in the first
place was for providing BO lists to the old UAPI.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30033 >
2024-07-09 01:22:23 +00:00
Faith Ekstrand
b86079d61e
nvk: Use an nvkmd_mem for the SLM area
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30033 >
2024-07-09 01:22:23 +00:00
Faith Ekstrand
d8d2ba9666
nvk: Use nvkmd_mem for query pools
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30033 >
2024-07-09 01:22:23 +00:00
Faith Ekstrand
d072bea5b7
nvk: Use nvkmd_mem for shader and event heaps
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30033 >
2024-07-09 01:22:23 +00:00
Faith Ekstrand
17623bc8a9
nvk: Use nvkmd_mem for descriptor tables
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30033 >
2024-07-09 01:22:23 +00:00
Faith Ekstrand
a87ee75737
nvk: Use nvkmd_mem in nvk_upload_queue
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30033 >
2024-07-09 01:22:23 +00:00
Faith Ekstrand
bf180d2bbf
nvk: Use nvkmd_mem for nvk_descriptor_pool
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30033 >
2024-07-09 01:22:23 +00:00
Faith Ekstrand
586990f89e
nvk: Use nvkmd_mem for nvk_cmd_pool
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30033 >
2024-07-09 01:22:23 +00:00
Faith Ekstrand
bf8115e3c2
nvk: Use nvkmd_mem for nvk_image::linear_tiled_shadow_mem
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30033 >
2024-07-09 01:22:23 +00:00
Faith Ekstrand
99ddddb18d
nvk: Use nvkmd_mem for nvk_device_memory
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30033 >
2024-07-09 01:22:23 +00:00
Faith Ekstrand
93792b5ef2
nvk: Add static wrappers for image/buffer binding
...
This makes the looping and error handling more clear. We're about to
make some of these ops capable of failing so getting that right is
really important.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30033 >
2024-07-09 01:22:23 +00:00
Faith Ekstrand
e63649da11
nvk/nvkmd: Implement the mem and va interfaces for nouveau
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30033 >
2024-07-09 01:22:23 +00:00
Faith Ekstrand
0b93c42ba1
nvk/nvkmd: Add memory and virtual address interfaces
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30033 >
2024-07-09 01:22:23 +00:00
Faith Ekstrand
4323d2ac54
nvk: Use the NVKMD interface for device enumeration
...
We'll keep nvk_device::ws_dev for now because it's useful to not have to
change everything over at once.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30033 >
2024-07-09 01:22:23 +00:00
Faith Ekstrand
4db1bd5846
nvk/nvkmd: Implement dev and pdev for nouveau
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30033 >
2024-07-09 01:22:23 +00:00
Faith Ekstrand
c8b36bbcc0
nvk: Add the start of a KMD abstraction
...
This is just the initial header and structs for device enumeration and a
few dev and pdev queries.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30033 >
2024-07-09 01:22:22 +00:00
Faith Ekstrand
6de4a408f5
nvk: Initialize the debug flags in nvk_instance
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30033 >
2024-07-09 01:22:22 +00:00
Faith Ekstrand
1f405ef9c6
nvk: Fetch debug flags from the physical device
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30033 >
2024-07-09 01:22:22 +00:00
Faith Ekstrand
04bdbb71de
nvk: Align sparse-bound images to the sparse binding size
...
Instead of trusting in nil::Image::align_B, force it to the sparse
binding size because we know we're going to try and sparse bind it.
Otherwise, small sparse images could fail to bind at the bind step.
Fixes: 7321d151a9 ("nvk: Add support for sparse images")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30033 >
2024-07-09 01:22:22 +00:00
Faith Ekstrand
58181b7bbc
nvk: Bump the sparse alignment requirement on buffers to 64K
...
Otherwise, if they live in VRAM, binding might fail.
Fixes: 03f0f01904 ("nvk: Add support for sparse buffers")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30033 >
2024-07-09 01:22:22 +00:00
Faith Ekstrand
9bd64cbefe
nvk: Why are nvk_image.c/h writeable?
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30033 >
2024-07-09 01:22:22 +00:00
Karol Herbst
47377b550f
Revert "rusticl/queue: gracefully stop the worker thread"
...
Apparently this code caused issues and the fix was only papering over the
issue, which I now I can't trigger anyway.
This reverts commit 9d458b7fc1 .
Fixes: 9d458b7fc1 ("rusticl/queue: gracefully stop the worker thread")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30067 >
2024-07-08 23:30:31 +00:00
Karol Herbst
cf27fd22c4
Revert "rusticl/queue: run rustfmt"
...
This reverts commit 47b1241251 .
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30067 >
2024-07-08 23:30:31 +00:00
Faith Ekstrand
4f89af3723
vulkan: Use u_cnd_monotonic for vk_sync_timeline
...
The code we had for handling this with c11 cnd_t was gross. Let's use a
primitive that actually works.
Reviewed-by: Derek Foreman <derek.foreman@collabora.com>
Reviewed-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29924 >
2024-07-08 22:09:06 +00:00
Faith Ekstrand
6aaf6d090c
vulkan/wsi: Delete wsi_init_pthread_cond_monotonic
...
Reviewed-by: Derek Foreman <derek.foreman@collabora.com>
Reviewed-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29924 >
2024-07-08 22:09:06 +00:00
Faith Ekstrand
3c4e1c918c
vulkan/wsi/queue: Use mtx_t and u_cnd_monotonic
...
Reviewed-by: Derek Foreman <derek.foreman@collabora.com>
Reviewed-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29924 >
2024-07-08 22:09:06 +00:00
Faith Ekstrand
97e22b70b4
vulkan/wsi/display: Use mtx_t and u_cnd_monotonic
...
Reviewed-by: Derek Foreman <derek.foreman@collabora.com>
Reviewed-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29924 >
2024-07-08 22:09:06 +00:00
Faith Ekstrand
7aac3ea26a
vulkan/wsi/x11: Use mtx_t and u_cnd_monotonic
...
Reviewed-by: Derek Foreman <derek.foreman@collabora.com>
Reviewed-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29924 >
2024-07-08 22:09:06 +00:00
Faith Ekstrand
3ba664c640
vulkan/wsi/x11: Use c11/threads for thread spawning
...
Reviewed-by: Derek Foreman <derek.foreman@collabora.com>
Reviewed-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29924 >
2024-07-08 22:09:06 +00:00
Faith Ekstrand
a0820a2a37
vulkan/wsi/wayland: Use mtx_t and u_cnd_monotonic
...
Reviewed-by: Derek Foreman <derek.foreman@collabora.com>
Reviewed-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29924 >
2024-07-08 22:09:06 +00:00
Faith Ekstrand
bf3052009a
util/cnd_monotonic: Use a void * on Windows
...
This is the same thing that our win32 implementation of c11/threads does
and it allows us to avoid using CONDITION_VARIABLE in a header.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29924 >
2024-07-08 22:09:06 +00:00
Faith Ekstrand
71524fc82e
util/cnd_monotonic: Move the guts to a c file
...
We need to be able to include windows.h which is pretty mean to pull in
globally.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29924 >
2024-07-08 22:09:06 +00:00
Esdras Tarsis
2bbb859343
nvk: Enable 8bit and 16bit access in VK_KHR_workgroup_memory_explicit_layout.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30059 >
2024-07-08 21:59:42 +00:00
David Rosca
20b76fe1d4
gallium: Remove pipe_h264_picture_desc.slice_parameter.slice_count
...
This is a duplicate of pipe_h264_picture_desc.slice_count and is not
currently used anywhere.
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30011 >
2024-07-08 19:09:38 +00:00
David Rosca
7c8a0c135c
frontends/va: Support multi elements slice parameter buffers for H264/5
...
Same as AV1, this is also valid for H264 and HEVC.
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30011 >
2024-07-08 19:09:38 +00:00
David Rosca
feba91d390
frontends/va: Rename slice_idx to have_slice_params and move to context
...
Add explanation what it does.
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30011 >
2024-07-08 19:09:38 +00:00
David Rosca
e0c15579f3
frontends/va: Move slice_data_offset to context
...
Before it only worked correctly if application sends all data/parameter
buffers in one RenderPicture call, which most applications do but it's
also valid to use multiple RenderPicture calls.
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30011 >
2024-07-08 19:09:37 +00:00
David Rosca
7b6749224f
frontends/va: Simplify AV1 slice parameters handling
...
Slice count is already tracked so no need to pass it from
RenderPicture. This way it also works correctly if application sends
the slice data/parameters buffers in multiple RenderPicture calls instead
of all at once.
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30011 >
2024-07-08 19:09:37 +00:00
Yogesh Mohan Marimuthu
47fb4b45f2
radeonsi: add more comments in si_query.c
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30052 >
2024-07-08 17:51:25 +00:00
Yogesh Mohan Marimuthu
51885bba64
radeonsi: rename query_hw_ops to hw_query_ops match sw
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30052 >
2024-07-08 17:51:25 +00:00
Yogesh Mohan Marimuthu
e00400e605
radeonsi: use reseults_end instead of unprepared to init query buffer
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30052 >
2024-07-08 17:51:25 +00:00
Yogesh Mohan Marimuthu
068f631814
radeonsi: remove si_query_hw_ops table and call func directly
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30052 >
2024-07-08 17:51:25 +00:00
Mike Blumenkrantz
a3c4d257a2
zink: don't lower fpow
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30070 >
2024-07-08 16:35:21 +00:00
Alyssa Rosenzweig
0ce2e6594d
nir/opt_constant_folding: fix array size define
...
In practice these are equal but the old code was semantically wrong: that
dimension is "sources" not "components". Use the correct #define. This came up
when reviewing https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29994
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30066 >
2024-07-08 14:34:29 +00:00
Tatsuyuki Ishi
24aab6bfaf
vk_cmd_queue_gen: Exclude CmdDispatchGraphAMDX
...
With the weak symbols changes and -Dvulkan-beta this fails to link.
Co-authored-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Fixes: 2953c93cca ("vulkan Add enqueue entrypoint for CmdDispatchGraphAMDX")
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30057 >
2024-07-08 13:17:42 +00:00
Mike Blumenkrantz
41836133ce
aux/tc: update docs to indicate replaced buffers have multiple pipe_resources
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30040 >
2024-07-08 12:35:19 +00:00
Patrick Lerda
f3c9ea9b8d
st/pbo_compute: fix async->nir memory leak
...
This is an issue happening on radeonsi after the commit
6f8e6fb99c "mesa/st: use compute pbo download for readpixels".
This commit enables a new code path which has this memory leak.
For instance, this issue is triggered on radeonsi with
"piglit/bin/glsl-fs-raytrace-bug27060 -auto -fbo":
Too many leaks! Only the first 5000 leaks encountered will be reported.
Indirect leak of 327424 byte(s) in 5582 object(s) allocated from:
#0 0x7fe27fa4d7ef in __interceptor_malloc (/usr/lib64/libasan.so.6+0xb17ef)
#1 0x7fe2717fd4df in ralloc_size ../src/util/ralloc.c:118
#2 0x7fe272dbbae4 in calc_dom_children ../src/compiler/nir/nir_dominance.c:138
#3 0x7fe272dbbae4 in nir_calc_dominance_impl ../src/compiler/nir/nir_dominance.c:192
#4 0x7fe272b7f4a2 in nir_metadata_require ../src/compiler/nir/nir_metadata.c:40
#5 0x7fe272ba0d50 in nir_opt_cse_impl ../src/compiler/nir/nir_opt_cse.c:43
#6 0x7fe272ba0d50 in nir_opt_cse ../src/compiler/nir/nir_opt_cse.c:67
#7 0x7fe272686f83 in gl_nir_opts ../src/compiler/glsl/gl_nir_linker.c:92
#8 0x7fe271a31e69 in create_conversion_shader ../src/mesa/state_tracker/st_pbo_compute.c:701
#9 0x7fe271a353fa in create_conversion_shader_async ../src/mesa/state_tracker/st_pbo_compute.c:810
#10 0x7fe271806ea8 in util_queue_thread_func ../src/util/u_queue.c:309
#11 0x7fe27186379a in impl_thrd_routine ../src/c11/impl/threads_posix.c:67
#12 0x7fe27ea9a7c3 (/lib64/libc.so.6+0x867c3)
...
SUMMARY: AddressSanitizer: 1384704 byte(s) leaked in 17291 allocation(s).
Fixes: 5dab7673e1 ("mesa/st: add specialized pbo download shaders")
Signed-off-by: Patrick Lerda <patrick9876@free.fr>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30068 >
2024-07-08 11:41:17 +00:00