Alyssa Rosenzweig
019a52fff0
asahi: Clamp 8-bit integer RTs
...
Fixes gl-3.0-render-integer.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26056 >
2023-11-07 00:05:54 +00:00
Alyssa Rosenzweig
8d9d9d0207
nir/print: handle adjacency
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26056 >
2023-11-07 00:05:54 +00:00
Alyssa Rosenzweig
d0a4a8cda0
nir: Add intrinsics for lowering bindless textures/samplers
...
Needed for merged stages to work properly.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26056 >
2023-11-07 00:05:54 +00:00
Alyssa Rosenzweig
33e80918de
nir: Add intrinsics for lowering GS
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26056 >
2023-11-07 00:05:54 +00:00
Alyssa Rosenzweig
cc3f20ca6c
nir: Also gather decomposed primitive count
...
Simple extension.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26056 >
2023-11-07 00:05:54 +00:00
Alyssa Rosenzweig
b65636ca40
nir/lower_gs_intrinsics: Count decomposed primitives too
...
We need both: decomposed primitives for transform feedback and regular
primitives for the sizing the index buffer.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26056 >
2023-11-07 00:05:54 +00:00
Alyssa Rosenzweig
0a35aa3a2b
nir/lower_gs_intrinsics: Append EndPrimitive
...
This is simpler for generic GS lowering.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26056 >
2023-11-07 00:05:54 +00:00
Alyssa Rosenzweig
f157a3de4e
nir/lower_gs_intrinsics: Include primitive counts
...
Generic GS lowering needs this, we already calculate it.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26056 >
2023-11-07 00:05:54 +00:00
Alyssa Rosenzweig
a147801f9b
compiler: Make u_decomposed_prims_for_vertices available to CL
...
For indirect geometry shader setup.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26056 >
2023-11-07 00:05:54 +00:00
Alyssa Rosenzweig
64f7b70763
compiler: Inline mesa_vertices_per_prim
...
Makes it more easily consumable from the gpu.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26056 >
2023-11-07 00:05:54 +00:00
Alyssa Rosenzweig
7cfe2ecb33
compiler: Make shader_enums.h CL-safe
...
macros.h is not safe for CL for a bunch of reasons but shader_enums.h barely
uses its functionality. Stub out the minimum for CL.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26056 >
2023-11-07 00:05:54 +00:00
Karol Herbst
1519ff7ebd
rusticl/memory: fix new clippy::needless-borrow warning
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Antonio Gomes <antoniospg100@gmail.com >
Reviewed-by: @LingMan <18294-LingMan@users.noreply.gitlab.freedesktop.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26051 >
2023-11-06 23:47:18 +00:00
Karol Herbst
98df65a875
rusticl: only support the matching device for gl_sharing
...
Cross vendor is bogus because of modifier screw ups. We could allow it on
all devices from the same vendor, but for that we have to check if the
supported modifiers match.
Also verify the device in questions actually supports gl_sharing.
Fixes: 57dfc013a6 ("rusticl: Add functions to create CL ctxs from GL, and also to query them")
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Antonio Gomes <antoniospg100@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26051 >
2023-11-06 23:47:18 +00:00
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