Georg Lehmann
6cd78281f6
aco: deduplicate Format definition
...
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25943 >
2023-11-06 23:16:38 +00:00
Georg Lehmann
6e0bf33a89
aco: deduplicate instr_class definition
...
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25943 >
2023-11-06 23:16:38 +00:00
Georg Lehmann
bdd81c6be7
aco: namespace aco_opcode
...
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25943 >
2023-11-06 23:16:38 +00:00
Georg Lehmann
1b9a3b7466
aco: stop using cstdint
...
We use stdint.h everywhere else.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25943 >
2023-11-06 23:16:38 +00:00
Georg Lehmann
04956d54ce
aco: force uniform result for LDS load with uniform address if it can be non uniform
...
Because a LDS load is 2 separate loads on gfx10+ with wave64, a different wave
can write LDS in between and cause a non uniform result. Use v_readfirst_lane
instead of p_as_uniform because it cannot be copy propagated.
Fixes a OpenCL CTS test with zink+rusticl.
Totals from 136 (0.17% of 78196) affected shaders:
MaxWaves: 3236 -> 3244 (+0.25%)
Instrs: 130069 -> 131221 (+0.89%)
CodeSize: 698048 -> 703436 (+0.77%)
VGPRs: 5464 -> 5440 (-0.44%)
SpillSGPRs: 94 -> 96 (+2.13%)
Latency: 5361017 -> 5363781 (+0.05%); split: -0.00%, +0.05%
InvThroughput: 883010 -> 884100 (+0.12%)
SClause: 3822 -> 3821 (-0.03%); split: -0.05%, +0.03%
Copies: 14220 -> 14314 (+0.66%); split: -0.01%, +0.68%
Branches: 4549 -> 4551 (+0.04%)
PreSGPRs: 4934 -> 4940 (+0.12%)
PreVGPRs: 4666 -> 4655 (-0.24%)
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25973 >
2023-11-06 22:43:33 +00:00
Georg Lehmann
ab87831ae8
aco, radv: vectorize f2f16 if rounding mode is rtz
...
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25952 >
2023-11-06 21:05:34 +00:00
Eric Engestrom
b781bd478c
zink+radv/ci: ensure renderer is "zink on radv"
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26065 >
2023-11-06 18:54:37 +00:00
Eric Engestrom
cd600868b4
zink+radv/ci: simplify deqp config
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26065 >
2023-11-06 18:54:37 +00:00
Andrew Gazizov
d1009481c8
venus: Add use_guest_vram capset to enable guest-based blob alloc
...
For hypervisors that do not support host memory injection into the
guest address space, it's necessary to have guest-based blob alloc.
Therefore, use a new 'use_guest_vram' virgl capset to decide on
performing guest blob allocations from dedicated heap (Host visible
memory).
Signed-off-by: Andrew D. Gazizov <andrew.gazizov@opensynergy.com >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25889 >
2023-11-06 18:33:15 +00:00
Mary Guillemard
f71f5cf856
venus: skip bind sparse info when checking for feedback query
...
Fix an assertion when using vkQueueBindSparse.
Fixes: 7fbf608f2d ("venus: append query feedback at submission time")
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Juston Li <justonli@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26027 >
2023-11-06 18:15:03 +00:00
Vitaliy Triang3l Kuzmin
bae7538a02
r600/sfn: Remove unused sampler reference in emit_tex_lod
...
Signed-off-by: Vitaliy Triang3l Kuzmin <triang3l@yandex.ru >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26068 >
2023-11-06 16:47:29 +00:00
Vitaliy Triang3l Kuzmin
4f86353f4f
r600/sfn: Change sampler_index to texture_index in buffer txs
...
Signed-off-by: Vitaliy Triang3l Kuzmin <triang3l@yandex.ru >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26068 >
2023-11-06 16:47:29 +00:00
Connor Abbott
2e83aed8b3
vk/graphics_state: Add vk_pipeline_flags_feedback_loops helper
...
This will be useful for combining dynamic and static feedback loop
state.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25436 >
2023-11-06 14:33:51 +00:00
Connor Abbott
a02d1cfa9e
vk/graphics_state: Support VK_EXT_attachment_feedback_loop_dynamic_state
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25436 >
2023-11-06 14:33:51 +00:00
Connor Abbott
55f3f952aa
vk/graphics_state, tu: Rewrite renderpass flags handling
...
Before this, the render pass code or the driver combined the pipeline
create flags and the implicit flags from the render pass, but the
pipeline create flags will need to be sanitized when they are dynamic
state, so we need to do it in vk_graphics_state where we know that
information.
We also weren't combining pipeline flags correctly when linking, which
on turnip was being hidden by the lack of sanitizing for driver-provided
flags. We can't combine them correctly if they're part of the render
pass state, so they need to be pulled out into the overall pipeline
state.
For drivers using emulated renderpasses or tracking feedback loop
information themselves, this won't make a difference, but we have to
adapt turnip to not pass pipeline flags. This also means that we can
drop all handling of feedback_loop_input_only in turnip and just set it
in the runtime.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25436 >
2023-11-06 14:33:51 +00:00
Connor Abbott
2b62d90158
vk/graphics_state: Support VK_KHR_maintenance5
...
Switch to using VkPipelineCreateFlags2KHR, and use the new common helper
to get the right flags.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25436 >
2023-11-06 14:33:51 +00:00
Connor Abbott
e6f5d7222c
vk,lvp,tu,radv,anv: Add common vk_*_pipeline_create_flags() helper
...
And replace the various homegrown or copy-pasted helpers in drivers.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25436 >
2023-11-06 14:33:51 +00:00
Erik Faye-Lund
cac194ff38
panfrost: look at correct blendable format version
...
We're currently looking at a mixture of v7 only and v6 and v7 versions
of the blendable formats. Let's use the one we have stored, so we always
use the most recent definition.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25968 >
2023-11-06 14:30:34 +01:00
Erik Faye-Lund
f277124544
panfrost: store blendable_formats in panfrost_device
...
This way, we don't need to look at the generation to find the right
version. It's also less code to update when we're adding new hardware
generations.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25968 >
2023-11-06 14:30:31 +01:00
Erik Faye-Lund
40656b6fa0
panfrost: pass blendable formats to pan_pack_color
...
This allows us to specify the correct array later on, while still being
able to use the function as-is from call-sites that doesn't have a
panfrost_device.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25968 >
2023-11-06 14:30:28 +01:00
Erik Faye-Lund
f69b573dfc
panfrost: bypass format-table for null-textures
...
We directly look up in the format arrays here to save indirections. But
do you know what's even faster than a single indirection? Assigning a
compile-time constant!
So let's use the newly available pack-helper to pack directly what we
want here.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25968 >
2023-11-06 14:30:20 +01:00
Erik Faye-Lund
7d3ef1a057
panfrost: allow packing formats outside of pan_format.c
...
This is useful when we want to avoid looking up a format in the format
table.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25968 >
2023-11-06 14:30:14 +01:00
Eric Engestrom
ac342f6851
rpi4/ci: skip more timing out tests in the dEQP-VK.ssbo.layout.* group
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25975 >
2023-11-06 12:45:50 +00:00
Eric Engestrom
208f94f7ec
vc4/ci: add piglit "full run" variant of vc4-rpi3-gl:arm32 as a manual job
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25975 >
2023-11-06 12:45:50 +00:00
Eric Engestrom
4c00cff2d2
v3dv/ci: add "full run" variant of v3dv-rpi4-vk:arm64 as a manual job
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25975 >
2023-11-06 12:45:50 +00:00
Eric Engestrom
725a4338fc
v3d/ci: add "full run" variant of v3d-rpi4-gl:arm64 as a manual job
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25975 >
2023-11-06 12:45:50 +00:00
Eric Engestrom
85ecf9d487
v3dv/ci: add manual variant of .v3dv-rules
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25975 >
2023-11-06 12:45:49 +00:00
Eric Engestrom
8ca683fb12
vc4/ci: add manual variant of .vc4-rules
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25975 >
2023-11-06 12:45:49 +00:00
Eric Engestrom
8803d6d9d9
broadcom/ci: split broadcom-common manual rules to .broadcom-common-manual-rules
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25975 >
2023-11-06 12:45:49 +00:00
Eric Engestrom
692b779f67
broadcom/ci: fix list indentation
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25975 >
2023-11-06 12:45:49 +00:00
Eric Engestrom
9349b7d2fb
broadcom/ci: merge gl test lists to use a single deqp instance
...
This makes the config file easier to read, and also shaves 5-10 seconds
of deqp-run per job, but that's cancelled out by all the random network
delays of everything else in the job so we'll never actually notice the
difference.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26039 >
2023-11-06 11:13:10 +00:00
Samuel Pitoiset
790fabd38e
radv: advertise VK_EXT_device_fault
...
This is only exposed if the kernel supports GPUVM fault query.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25875 >
2023-11-06 10:35:05 +00:00
Samuel Pitoiset
8097becc7f
radv: add initial VK_EXT_device_fault support
...
This implementation only returns VM faults information for now, but
vendor crash dumps will be adder later.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25875 >
2023-11-06 10:35:05 +00:00
Vlad Schiller
1dd1c9d610
pvr: Fix VK_EXT_texel_buffer_alignment
...
In the commit that enabled the extension, I forgot to add the required
properties, which made some tests to fail.
Fixes: 649ebbb0fb ("pvr: Implement VK_EXT_texel_buffer_alignment")
Signed-off-by: Vlad Schiller <vlad-radu.schiller@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26002 >
2023-11-06 09:58:07 +00:00
Samuel Pitoiset
abfd208cb0
nir: fix inserting the break instruction for partial loop unrolling
...
If the break in the original loop isn't in the first top-level if,
this would have re-inserted it in the wrong block.
Fixes this by re-inserting the break block to the corresponding break
block in the new loop by using the remap hashtable.
fossils-db (NAVI21):
Totals from 88 (0.11% of 79330) affected shaders:
Instrs: 109602 -> 109929 (+0.30%); split: -0.10%, +0.40%
CodeSize: 570968 -> 573332 (+0.41%); split: -0.08%, +0.49%
Latency: 1682510 -> 1682505 (-0.00%); split: -0.01%, +0.01%
Copies: 12832 -> 12746 (-0.67%); split: -1.54%, +0.87%
Branches: 2879 -> 2930 (+1.77%)
Deathloop and F1 2023 are affected but I'm not aware of any issues
for these two games.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10001
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26009 >
2023-11-06 09:18:09 +00:00
LingMan
106acbbed9
rusticl: Avoid repeatedly creating Vecs during Platform initialization
...
Creates a Vec once instead of four times.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26050 >
2023-11-06 00:08:52 +00:00
LingMan
b4d052e4cb
rusticl: Only put an Arc around PipeScreen where needed
...
This only delays moving the PipeSceen into the Arc, but makes is clearer where the Arc's properties are needed.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26050 >
2023-11-06 00:08:52 +00:00
LingMan
8103be7faa
rusticl: Directly pass a &Device to Mem::map_image and Mem::map_buffer
...
Until now they took a `&Arc<Queue>` but only ever used it to accessed the `Device`.
Makes it clearer what these methods actually require.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26050 >
2023-11-06 00:08:52 +00:00
Karol Herbst
8cbb84dc42
rusticl/queue: fix implicit flushing of queue dependencies
...
Needed by Davinci Resolve.
There are two parts to this fix:
1. flush dependencies also on flush, not just finish
2. move the dependency checking logic into Queue::flush as otherwise we
miss required implicit flushes.
Fixes: 8616c0a52c ("rusticl/event: flush queues from dependencies")
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/26053 >
2023-11-05 23:53:20 +00:00
Karol Herbst
52e41d4c97
rusticl/queue: do not send empty lists of event to worker queue
...
This saves us a few CPU cycles and makes properly fixing implicit flushes
less expensive.
Fixes: 8616c0a52c ("rusticl/event: flush queues from dependencies")
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/26053 >
2023-11-05 23:53:20 +00:00
David Rosca
bf364cbdb4
radeonsi: Fix offset for linear surfaces on GFX < 9
...
Fixes: 86262b6eac ("radeonsi,radv: fix usages of surf_pitch")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9949
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10073
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25970 >
2023-11-05 19:36:48 +00:00
Marek Olšák
d2a025ab2b
radeonsi: move setting registers at the end of si_emit_cb_render_state
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26055 >
2023-11-05 14:06:56 -05:00
Marek Olšák
c21bcfd34f
radeonsi: cosmetic changes in si_state_binning.c, si_state_msaa.c
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26055 >
2023-11-05 14:06:56 -05:00
Marek Olšák
6455aaab07
radeonsi: cosmetic changes in si_state_viewport.c
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26055 >
2023-11-05 14:06:56 -05:00
Marek Olšák
43cdb51402
radeonsi: move max_dist for MSAA into si_state_msaa.c
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26055 >
2023-11-05 14:06:56 -05:00
Marek Olšák
12c239f829
radeonsi: various isolated cosmetic changes
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26055 >
2023-11-05 14:06:56 -05:00
Marek Olšák
ca1d37e1db
radeonsi: adjust setting PA_SC_EDGERULE once more
...
based on PAL.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26055 >
2023-11-05 14:06:52 -05:00
Marek Olšák
4dfff0f1b7
radeonsi: use si_shader_uses_streamout properly
...
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26055 >
2023-11-05 12:43:11 -05:00
Marek Olšák
2a83532ed6
radeonsi: split setting num_threads in si_emit_dispatch_packets
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26055 >
2023-11-05 12:42:52 -05:00
Marek Olšák
5a38757fcf
radeonsi: cosmetic changes in si_pm4.c
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26055 >
2023-11-05 12:42:33 -05:00