Alyssa Rosenzweig
08984e68fb
gallium: remove ability to probe asahi
...
The asahi uapi is unstable. Do not attempt to probe on it.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29620 >
2024-06-14 15:44:30 +00:00
Corentin Noël
8c5c93acba
wsi: Make sure to return a valid wayland id string
...
The result of asprintf was previously ignored, handle the case of failure by
not returning undefined content.
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29724 >
2024-06-14 15:18:56 +00:00
Daniel Schürmann
b7982152ff
aco: use aco::monotonic_allocator for IDSet
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29713 >
2024-06-14 14:32:35 +00:00
Daniel Schürmann
97fd5d3f33
aco: make aco::monotonic_buffer_resource declaration visible for aco::IDSet
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29713 >
2024-06-14 14:32:35 +00:00
Daniel Schürmann
95967c2ca0
aco/reindex_ssa: replace live_var parameter with boolean
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29713 >
2024-06-14 14:32:35 +00:00
Daniel Schürmann
a497d105e3
aco: move live var information into struct Program
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29713 >
2024-06-14 14:32:35 +00:00
Daniel Schürmann
2322ab427e
aco/scheduler: remove unused register_demand parameter
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29713 >
2024-06-14 14:32:35 +00:00
Karol Herbst
169dc86e74
gallium: properly type fields of pipe_resource.usage
...
This gets rid of most of the pointless bitfields and also moves away from
unsigned, which we really should stop using :)
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29720 >
2024-06-14 13:56:34 +00:00
Karol Herbst
40785d9a52
gallium: properly type pipe_resource.usage with the enum
...
This allows for a more strongly typed field on the Rust side.
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29720 >
2024-06-14 13:56:34 +00:00
Karol Herbst
f58247882a
gallium: reduce pipe_resource.usage to 4 bits
...
This works around a bindgen bug, but also moves the value into a single
byte as per the addition of compression_rate it spanned over two bytes.
Fixes: 5db7398672 ("gallium: add interface for fixed-rate surface/texture compression")
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29720 >
2024-06-14 13:56:34 +00:00
Danylo Piliaiev
59937f62a6
ir3/a7xx: Fix FS consts corruption when other FS has zero constlen
...
Having zero consts in one FS may corrupt consts in follow up FSs,
on such GPUs blob never has zero consts in FS. The mechanism of
corruption is unknown.
Fixes geometry flickering in a number of games, including:
Baldur's Gate 3
Assasin's Creed Rogue
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29357 >
2024-06-14 13:27:01 +00:00
Danylo Piliaiev
98e3b1bc5f
freedreno/a7xx: Update TPL1_DBG_ECO_CNTL1 to fix UBWC corruption
...
Copying UBWC image via BLIT_OP_SCALE may be corrupted if previously
someone copied image with bit 18 set in TPL1_DBG_ECO_CNTL1.
Found by replaying blob's cmdstream on a740, but somehow this issue
doesn't happen on Android.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29358 >
2024-06-14 12:21:03 +00:00
Eric Engestrom
44e6850016
bin/ci: escape literal url in regex
...
Fixes: b24dd1fa1c ("ci: Fix parse GitLab pipeline url")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29718 >
2024-06-14 11:46:52 +00:00
Pierre-Eric Pelloux-Prayer
5c50e028d1
ac/sqtt: make VA helpers static
...
They're only used from ac_sqtt so don't expose them.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25397 >
2024-06-14 10:32:17 +02:00
Pierre-Eric Pelloux-Prayer
c44b20e8d6
radeonsi/sqtt: add AMD_THREAD_TRACE_INSTRUCTION_TIMING
...
To control if instruction timing should be enabled (on by default).
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25397 >
2024-06-14 10:32:10 +02:00
Pierre-Eric Pelloux-Prayer
365fda834e
radeonsi: use the common SQTT implementation
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25397 >
2024-06-14 10:32:04 +02:00
Sergi Blanch Torne
0c092dc5c4
ci: run_n_monitor, collect and summarize
...
The job duration is printed during the test progress. It can be collected and
summarized at the end of the process. It is interesting when doing a stress
test as one will have this information together at the end.
Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29419 >
2024-06-14 08:04:56 +00:00
Konstantin Seurer
5726ecae3e
khronos-update: Add ANDROID guards to vk_android_native_buffer.h
...
Avoids adding back the code after every header update.
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29621 >
2024-06-14 06:58:35 +00:00
Samuel Pitoiset
3f9fe2dbe1
radv: use BDA in the DGC prepare shader
...
Only for buffers that are managed by the application (ie. preprocess,
stream and sequence buffers). For future work.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29605 >
2024-06-14 06:35:18 +00:00
Samuel Pitoiset
730ba8322f
radv: fix incorrect buffer_list advance for multi-planar descriptors
...
If we have an array of multi-planar descriptors, buffer_list was
incorrectly incremented and this could have overwritten some BO entries.
In practice, this situation should be very rare because most of the
applications enable the global BO list.
Cc: mesa-stable
Closes : #10559
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28816 >
2024-06-14 06:14:30 +00:00
David Rosca
39fdd2aec0
radeonsi: Make si_compute_clear_image work with 422 subsampled formats
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29598 >
2024-06-14 03:19:24 +00:00
Qiang Yu
4a18809a56
radeonsi: add missing nir_intrinsic_bindless_image_descriptor_amd
...
Otherwise we get shader compilation error when imageSize().
Fixes: d4fdeaa820 ("radeonsi: replace llvm resource code with nir lower")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29690 >
2024-06-14 02:52:52 +00:00
Qiang Yu
b1d0ecd00d
glsl: respect GL_EXT_shader_image_load_formatted when image is embedded in a struct
...
Fix compilation failure when image is embedded in struct when
GL_EXT_shader_image_load_formatted is enabled:
struct GpuPointShadow {
image2D RayTracedShadowMapImage;
};
layout(std140, binding = 2) uniform ShadowsUBO {
GpuPointShadow PointShadows[1];
} shadowsUBO;
Compile log:
error: image not qualified with `writeonly' must have a format layout qualifier
Fixes: 082d180a22 ("mesa, glsl: add support for EXT_shader_image_load_formatted")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29693 >
2024-06-14 02:21:59 +00:00
Faith Ekstrand
8307fa95ec
nvk: Refactor build_cbuf_map()
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29591 >
2024-06-13 20:43:46 +00:00
Faith Ekstrand
636604ea5a
nvk: Only write draw parameters to cb0 when they change
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29591 >
2024-06-13 20:43:46 +00:00
Faith Ekstrand
9f7081b921
nvk: Use inline constant buffer updates for CB0
...
This is what the old GL driver did and appears to be what the blob does
as well. They should pipeline much better than full buffer re-binds
which appear to be causing stalling issues inside the GPU.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29591 >
2024-06-13 20:43:46 +00:00
Faith Ekstrand
f716bab6b7
nvk: Pass the queue to draw/dispatch_state_init()
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29591 >
2024-06-13 20:43:46 +00:00
Faith Ekstrand
b2d85ca36f
nvk: Use helper macros for accessing root descriptors
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29591 >
2024-06-13 20:43:46 +00:00
Faith Ekstrand
2423b0b295
nvk: Pass the base workgroup and global size to flush_compute_state()
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29591 >
2024-06-13 20:43:46 +00:00
Faith Ekstrand
7a0237bdcf
nvk: s/draw_idx/draw_index/g
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29591 >
2024-06-13 20:43:46 +00:00
Faith Ekstrand
20f21b1917
nvk: Use cbuf loads for variable pointers dynamic SSBO descriptors
...
We want everything that touches the root table to go through ldc path
and not to use global loads. This means that we need to do some
juggling to handle dynamic SSBO descriptors in the variable pointers
case.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29591 >
2024-06-13 20:43:46 +00:00
Faith Ekstrand
091a945b57
nvk: Be much more conservative about rebinding cbufs
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29591 >
2024-06-13 20:43:46 +00:00
Faith Ekstrand
8b5835af31
nvk: Use bindless cbufs on Turing+
...
These are much faster than ld.global.constant. This takes The Witness
from 103 FPS to 130 FPS on my 4060 laptop GPU when run with
NVK_DEBUG=no_cbuf
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29591 >
2024-06-13 20:43:46 +00:00
Faith Ekstrand
248b22d158
nvk/descriptor_set_layout: Record which dynamic buffers are UBOs
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29591 >
2024-06-13 20:43:46 +00:00
Faith Ekstrand
6e41f2a28d
nvk: Allow the cbuf optimization for VK_DESCRIPTOR_TYPE_MUTABLE_EXT
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29591 >
2024-06-13 20:43:46 +00:00
Faith Ekstrand
723e5cae59
nvk: Move the zero offset optimization to load_descriptor_for_idx_intrin()
...
Looking at binding_layout->desc_type is sketchy in the face of mutable
descriptors. It's safer for load_descriptor() to just return the
descriptor. load_descriptor_for_idx_intrin() knows about the
descriptor's actual shader usage and we can do the optimization there.
This isn't actually a bug fix. The optimization just didn't happen in
the presence of mutable descriptors.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29591 >
2024-06-13 20:43:46 +00:00
Faith Ekstrand
05e213f03e
nvk/lower_descriptors: Add a descriptor_type_is_ubo/ssbo() helper
...
This is a small behavioral change as we are no longer double-counting
inline uniform data loads when determining cbuf priority.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29591 >
2024-06-13 20:43:46 +00:00
Faith Ekstrand
903fb6f74a
nvk: Make nvk_min_cbuf_alignment() inline
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29591 >
2024-06-13 20:43:46 +00:00
Faith Ekstrand
cbe62813a1
nvk: Rename nvk_cmd_buffr_get_cbuf_descriptor()
...
This makes it clear that it returns an address, not a descriptor. That
distinction will matter soon.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29591 >
2024-06-13 20:43:46 +00:00
Faith Ekstrand
59303584e3
nvk: Align buffer descriptors
...
In theory, the app is supposed to do this for us but this gives us a bit
of protection against potential GPU faults.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29591 >
2024-06-13 20:43:46 +00:00
Faith Ekstrand
5685de8795
nvk: Split write_[dynamic_]buffer_desc into UBO and SSBO variants
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29591 >
2024-06-13 20:43:46 +00:00
Faith Ekstrand
6387ae7dfb
nvk: Split SSBO and UBO address formats
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29591 >
2024-06-13 20:43:46 +00:00
Faith Ekstrand
dc7b08c41a
nak: Implement nir_intrinsic_ldcx_nv
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29591 >
2024-06-13 20:43:46 +00:00
Faith Ekstrand
851b3ddd05
nak: Lower non-uniform ldcx_nv to global loads
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29591 >
2024-06-13 20:43:46 +00:00
Faith Ekstrand
e05cb967e7
nir: Add nir_foreach_block_in_cf_node_safe() iterators
...
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29591 >
2024-06-13 20:43:46 +00:00
Faith Ekstrand
7b5856ebe9
nak: Implement [un]pin_cx_handle_nv
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29591 >
2024-06-13 20:43:46 +00:00
Faith Ekstrand
12b79f814b
nak: Implement r2ur_nv
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29591 >
2024-06-13 20:43:46 +00:00
Faith Ekstrand
dc99d9b2df
nvk,nak: Switch to nir_intrinsic_ldc_nv
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29591 >
2024-06-13 20:43:45 +00:00
Faith Ekstrand
b107240474
nir: Add some new _nv intrinsics
...
The ldc_nv and ldcx_nv intrinsics correspond to the index and bindless
forms of NVIDIA's LDC instruction, respectively. ldc_nv is pretty much
load_ubo without some of the unnecessary constant bits while ldcx_nv
takes a 64-bit bindless handle instead of an index. The other two give
us a little control over register allocation at the NIR level to ensure
that LDCX handles are placed in uniform registers.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29591 >
2024-06-13 20:43:45 +00:00
Faith Ekstrand
ab84cf11c7
nak/copy_prop: Don't propagate bindless cbufs into non-uniform blocks
...
We can propagate within a non-uniform block just fine but not across
them because that might change live registers in unpredictable ways.
The real boundary here is that we can't propagate across an OpPin but
that's a lot harder to express.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29591 >
2024-06-13 20:43:45 +00:00