Joshua Ashton
aa5bc3e41f
wsi: Implement linux-drm-syncobj-v1
...
This implements explicit sync with linux-drm-syncobj-v1 for the
Wayland WSI.
Signed-off-by: Joshua Ashton <joshua@froggi.es >
2024-03-27 17:49:03 +00:00
Joshua Ashton
e4e3436d45
wsi: Add common infrastructure for explicit sync
...
Signed-off-by: Joshua Ashton <joshua@froggi.es >
2024-03-27 17:49:03 +00:00
Joshua Ashton
becb5d5161
wsi: Get timeline semaphore exportable handle types
...
We need to know this for explicit sync
Signed-off-by: Joshua Ashton <joshua@froggi.es >
2024-03-27 17:44:16 +00:00
Joshua Ashton
06c2af994b
wsi: Track CPU side present ordering via a serial
...
We will use this in our hueristics to pick the most optimal buffer in AcquireNextImageKHR
Signed-off-by: Joshua Ashton <joshua@froggi.es >
2024-03-25 21:00:54 +00:00
Joshua Ashton
d9cbc79941
wsi: Add acquired member to wsi_image
...
Tracks whether this wsi_image has been acquired by the app
Signed-off-by: Joshua Ashton <joshua@froggi.es >
2024-03-25 21:00:54 +00:00
Joshua Ashton
e209b02b97
wsi: Track if timeline semaphores are supported
...
This will be needed before we expose and use explicit sync.
Even if the host Wayland compositor supports timeline semaphores, in the
case of Venus, etc the underlying driver may not.
Signed-off-by: Joshua Ashton <joshua@froggi.es >
2024-03-22 00:24:26 +00:00
Joshua Ashton
8a098f591b
build: Add linux-drm-syncobj-v1 wayland protocol
...
Signed-off-by: Joshua Ashton <joshua@froggi.es >
2024-03-22 00:24:26 +00:00
Joshua Ashton
754f52e1e1
wsi: Add explicit_sync to wsi_drm_image_params
...
Allow the WSI frontend to request explicit sync buffers.
Signed-off-by: Joshua Ashton <joshua@froggi.es >
2024-03-22 00:24:26 +00:00
Joshua Ashton
00dba3992c
wsi: Add explicit_sync to wsi_image_info
...
Will be used in future for specifying explicit sync for Vulkan WSI when supported.
Additionally cleans up wsi_create_buffer_blit_context, etc..
Signed-off-by: Joshua Ashton <joshua@froggi.es >
2024-03-22 00:24:26 +00:00
Joshua Ashton
9c8f205131
wsi: Pass wsi_drm_image_params to wsi_configure_prime_image
...
Signed-off-by: Joshua Ashton <joshua@froggi.es >
2024-03-20 17:21:27 +00:00
Joshua Ashton
f17f43b149
wsi: Pass wsi_drm_image_params to wsi_configure_native_image
...
No need to split this out into function parameters, it's just less clean.
Signed-off-by: Joshua Ashton <joshua@froggi.es >
2024-03-20 17:21:26 +00:00
Samuel Pitoiset
be4a6b946a
radv: add a workaround for null IBO on GFX6
...
Based on PAL.
Fixes dEQP-VK.draw.*nulldescriptor_maintenance_5_maintenance6 on GFX6.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28263 >
2024-03-20 16:27:58 +00:00
Juan A. Suarez Romero
d87ccf0632
broadcom/ci: add new expected failures
...
Add more expected failures that should have been included in
74be42d9a4 .
Fixes: 74be42d9a4 ("broadcom/ci: add new expected test failures")
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28298 >
2024-03-20 16:06:35 +00:00
Mike Blumenkrantz
f79557dd38
zink: do io fixup on patch variables too
...
fixes spec@arb_separate_shader_objects@rendezvous by location (5 stages)
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28296 >
2024-03-20 15:09:12 +00:00
Rhys Perry
f88922e816
radv: use dual_color_blend_by_location with Half-Life Alyx
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Tested-by: Ethan Lee <flibitijibibo@gmail.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10462
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28269 >
2024-03-20 11:40:18 +00:00
Kenneth Graunke
a075b44493
intel/brw: Eliminate top-level FIND_LIVE_CHANNEL & BROADCAST once
...
brw_fs_opt_eliminate_find_live_channel eliminates FIND_LIVE_CHANNEL
outside of control flow. None of our optimization passes generate
additional cases of that instruction, so once it's gone, we shouldn't
ever have to run the pass again. Moving it out of the loop should
save a bit of CPU time.
While we're at it, also clean adjacent BROADCAST instructions that
consume the result of our FIND_LIVE_CHANNEL. Without this, we have
to perform copy propagation to get the MOV 0 immediate into the
BROADCAST, then algebraic to turn it into a MOV, which enables more
copy propagation...not to mention CSE gets involved. Since this
FIND_LIVE_CHANNEL + BROADCAST pattern from emit_uniformize() is
really common, and it's trivial to clean up, we can do that. This
lets the initial copy prop in the loop see MOV instead of BROADCAST.
Zero impact on fossil-db, but less work in the optimization loop.
Together with the previous patches, this cuts compile time in
Borderlands 3 on Alchemist by -1.38539% +/- 0.1632% (n = 24).
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28286 >
2024-03-20 01:04:22 -07:00
Kenneth Graunke
5814534de5
intel/brw: Don't consider UNIFORM_PULL_CONSTANT_LOAD a send-from-GRF
...
It's a logical opcode which is lowered to a send-from-GRF later. That
lowering code is responsible for ensuring the sources are set up in a
proper SEND payload.
This was preventing copy propagation of surface handles which started
out as scalars, were splatted out to full-SIMD values with NoMask, then
actually consumed as only component 0 (scalar again), because we thought
that scalar values were not allowed.
fossil-db on Alchemist shows improvements in q2rtx but no other titles:
Totals:
Instrs: 161310436 -> 161310152 (-0.00%)
Cycles: 14370605159 -> 14370601066 (-0.00%)
Totals from 17 (0.00% of 652298) affected shaders:
Instrs: 16097 -> 15813 (-1.76%)
Cycles: 185508 -> 181415 (-2.21%)
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28286 >
2024-03-20 01:04:22 -07:00
Kenneth Graunke
ea423aba1b
intel/brw: Split out 64-bit lowering from algebraic optimizations
...
We don't necessarily want to split up MOVs for 64-bit addresses into
2x 32-bit MOVs right away, as this makes things like copy propagating
the whole address around harder. We should do this late, once, while
still doing other algebraic optimizations earlier.
fossil-db results for Alchemist show tiny improvements:
Totals:
Instrs: 161310502 -> 161310436 (-0.00%); split: -0.00%, +0.00%
Cycles: 14370605606 -> 14370605159 (-0.00%); split: -0.00%, +0.00%
Totals from 33 (0.01% of 652298) affected shaders:
Instrs: 15053 -> 14987 (-0.44%); split: -0.64%, +0.20%
Cycles: 196947 -> 196500 (-0.23%); split: -0.25%, +0.02%
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28286 >
2024-03-20 01:04:17 -07:00
Nanley Chery
831703157e
iris: Use resource_get_param in resource_get_handle
...
Refactor iris_resource_get_handle to use iris_resource_get_param to pick
up the fix from the previous patch.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9994
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28258 >
2024-03-19 23:12:06 +00:00
Nanley Chery
bf1008ac28
iris: Report the correct modifier for Tile4 images
...
In iris_resource_get_param, report the Tile4 modifier for Tile4 images
instead of reporting the linear modifier.
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28258 >
2024-03-19 23:12:06 +00:00
Mark Janes
345c918a76
intel/dev: remove pci revision from shader cache key
...
Pci revision was included in the shader cache key because it can
enable platform workarounds. While some platform workarounds exist in
the compiler, none are dependent on the silicon stepping.
Many platforms differ only in the pci revision id, causing needless
duplication in cache entries between platforms.
When a platform ships publicly with stepping-specific compiler
workarounds, pci id must be incorporated into the shader cache key.
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28085 >
2024-03-19 15:11:19 -07:00
Timur Kristóf
58e3b1f930
aco: Allow passing constant operand to is_overwritten_since.
...
This is to make it more intuitive and also consistent
with last_writer_idx which does allow constant operands.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28046 >
2024-03-19 20:50:12 +00:00
Gert Wollny
d1cac5ed05
zink: acquire - maybe clear timeout after waiting for presentation fence
...
If the presentation fence was signalled and we still hold
max_acquires or more images, then clear the timeout to avoid
a possible deadlock.
With that we avoid the validation error
VUID-vkAcquireNextImageKHR-surface-07783
triggered by piglit
spec@!opengl 1.0@gl-1.0-drawbuffer-modes
and others.
v2: clear timeout only if we have acquired more images than the
reported max and add some comment why the timeout is cleared
(Mike).
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28245 >
2024-03-19 20:12:52 +00:00
Mary Guillemard
9e133c4000
nouveau: Add support for TERT opcodes in vk_push_print
...
Those opcodes are vestige of the old command format.
This implement handling of them and fix issues when analysing command
buffers that use thoses.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28277 >
2024-03-19 19:56:07 +00:00
Kenneth Graunke
d473004576
intel/fs: Avoid generating useless UNDEFs for every SSA def
...
Emitting UNDEF is only necessary when the instructions we generate to
produce the NIR def are considered partial writes. By adding a simple
check (adapted from fs_inst::is_partial_write()), we can avoid creating
loads of unnecessary UNDEFs that we have to clean up later.
Our first dead code elimination pass does get rid of them pretty
quickly, but this should save memory and time during our first
split_virtual_grfs and dead_code_elimination passes.
This generates roughly 30% fewer instructions at the beginning.
Improves compilation time of shaders:
- Rise of the Tomb Raider: -3.51563% +/- 0.103951% (n=7)
- Borderlands 3: -3.64422% +/- 0.300951% (n=7).
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28169 >
2024-03-19 19:32:18 +00:00
Konstantin Seurer
a6b93c50d0
radv/printf: Use fprintf instead of printf
...
For using other destinations than stdout.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28228 >
2024-03-19 19:05:25 +00:00
Konstantin Seurer
d902b6d805
radv: Skip more acceleration structure build markers
...
We should skip even more stuff when using updates only.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28228 >
2024-03-19 19:05:25 +00:00
Caio Oliveira
b58b6d2d32
anv: Enable VK_KHR_shader_quad_control
...
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27279 >
2024-03-19 18:41:15 +00:00
Caio Oliveira
b22879e753
intel/brw: Use predicates for quad_vote_any and quad_vote_all when available
...
Up until Xe2, we can use the predicates ANY4H and ALL4H to achieve the
same result with less instructions.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27279 >
2024-03-19 18:41:15 +00:00
Caio Oliveira
857e62e6ac
intel/brw: Implement quad_vote_any and quad_vote_all
...
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27279 >
2024-03-19 18:41:15 +00:00
Ian Romanick
671745b616
intel/fs: Don't allow 0 stride on MOV destination
...
Outside SIMD1 instructions, a destination stride of zero doesn't make
any sense. When such strides exist, they would be fixed by the FS
generator. Currently the only place that intentionally generates such a
stride is setup_barrier_message_payload_gfx125, and this commit changes
that.
The existence of a zero stride that won't really be a zero stride causes
a variety of problems with other optimization passes. Those passes don't
know that 0 actually means 1, and they make incorrect assumptions about
sizes written, etc.
The assertion helped catch many bugs in some other work in progress that
tries to store convergent values in SIMD8 registers regardless of the
dispatch width. That code would accidentally generate destination
strides of zero.
v2: Check stride differently depending on register file. Suggested by
Caio.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28256 >
2024-03-19 18:17:59 +00:00
Danylo Piliaiev
d10b546776
freedreno/replay: Use real queueid for submissions and waits
...
Otherwise it failed when expected queueid is not 0.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27123 >
2024-03-19 17:56:33 +00:00
Samuel Pitoiset
6f18f39208
zink/ci: enable RADV_PERFTEST=shader_object for polaris10
...
It's passing in CI now.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28273 >
2024-03-19 17:33:11 +00:00
Konstantin Seurer
6095b70f85
radv/rt: Use 32-bit offsets for load_sbt_entry
...
Totals from 82 (18.06% of 454) affected shaders:
MaxWaves: 820 -> 821 (+0.12%)
Instrs: 2765694 -> 2766338 (+0.02%); split: -0.08%, +0.10%
CodeSize: 14751988 -> 14735464 (-0.11%); split: -0.13%, +0.01%
VGPRs: 8464 -> 8448 (-0.19%)
SpillSGPRs: 454 -> 512 (+12.78%)
Latency: 19368679 -> 19344967 (-0.12%); split: -0.21%, +0.09%
InvThroughput: 5354427 -> 5346317 (-0.15%); split: -0.24%, +0.08%
VClause: 100183 -> 100331 (+0.15%); split: -0.02%, +0.17%
SClause: 66584 -> 66590 (+0.01%); split: -0.02%, +0.03%
Copies: 237008 -> 238684 (+0.71%); split: -0.53%, +1.23%
Branches: 113344 -> 113386 (+0.04%); split: -0.00%, +0.04%
PreSGPRs: 6141 -> 6194 (+0.86%)
PreVGPRs: 7916 -> 7880 (-0.45%)
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27725 >
2024-03-19 17:03:28 +00:00
Konstantin Seurer
00dec03438
radv: Use radv_buffer_map for parsing IBs
...
We need matching pointers pointers for annotations to work.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27549 >
2024-03-19 16:08:14 +00:00
Konstantin Seurer
a78cbc98cc
ac: Improve context roll readability
...
Add new lines to improve visual separation and color registers:
- red = unchanged
- green = changed
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27549 >
2024-03-19 16:08:14 +00:00
Konstantin Seurer
1d747653d4
radv: Add an IB annotation layer
...
The layer annotates the command buffers with api
entrypoint names.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27549 >
2024-03-19 16:08:14 +00:00
Konstantin Seurer
8f0ee3a92b
radv: Add support for IB annotations
...
Wires up ac_parse_ib annotation support.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27549 >
2024-03-19 16:08:14 +00:00
Konstantin Seurer
bf15688fa1
ac/parse_ib: Implement annotations
...
Annotates the IB dump with driver specified strings.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27549 >
2024-03-19 16:08:13 +00:00
Konstantin Seurer
0f436e0fe1
ac/parse_ib: Replace the parameter list with ac_ib_parser
...
It's more code but it should be more readable. This also makes adding
optional arguments easier.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27549 >
2024-03-19 16:08:13 +00:00
Konstantin Seurer
2e4d365104
ac: Annotate context rolls
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27549 >
2024-03-19 16:08:13 +00:00
Timur Kristóf
8f3cc3cb29
radv: Use mapped driver locations for determining I/O strides.
...
This will allow us to more accurately determine the
input and output strides, because the I/O locations mapped
by RADV don't match the locations in NIR.
As a result, ESO will use less LDS.
It also fixes the per-patch output stride of tess control
shaders, because previously we omitted tess factors from them.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28021 >
2024-03-19 15:01:19 +00:00
Timur Kristóf
2f1f55cf32
radv: Extract input and output stride info to new functions.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28021 >
2024-03-19 15:01:19 +00:00
Eric Engestrom
c72bb8de75
r300: mark new fails
...
https://gitlab.freedesktop.org/mesa/mesa/-/jobs/56480445
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28271 >
2024-03-19 14:41:45 +00:00
Echo J
8c92ac3ee3
nvk: Add NVK to the Vulkan device name
...
Other Mesa Vulkan drivers do the same thing (this helps to identify
the driver better especially with the recent official name import)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28262 >
2024-03-19 14:12:31 +00:00
Danylo Piliaiev
432d8bd081
freedreno/devices: Do not write to 8E79 on a750, KGSL has it protected
...
Writing REG_A7XX_RB_UNKNOWN_8E79 causes:
adreno-gen7-gmu 3d68000.qcom,gmu: CP | Protected mode error | WRITE | addr=0x08e79 | status=0x00608e79
Fixes: ebde7d5e87
("tu/a7xx: Write even more magic regs to fix rendering issues on Android")
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27912 >
2024-03-19 13:35:12 +00:00
Daniel Schürmann
9bbb9f1104
aco: use small_vec as Block::edge_vec for predecessors and successors
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27984 >
2024-03-19 13:06:58 +00:00
Daniel Schürmann
3e58a736e4
aco/util: small_vec few additions
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27984 >
2024-03-19 13:06:58 +00:00
Rhys Perry
5cbd7689be
aco/util: add small_vec
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27984 >
2024-03-19 13:06:58 +00:00
Daniel Schürmann
4564ca313b
aco: reorder code and use namespaces in aco_interface.cpp
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27984 >
2024-03-19 13:06:58 +00:00
Lucas Stach
c30c1af5db
ci/etnaviv: update expectations
...
Now that the negative lodbias bug is fixed we can expect tests
using this to pass.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28224 >
2024-03-19 12:27:38 +00:00
Lucas Stach
4b8981e471
etnaviv: fix fixpoint conversion of negative values
...
The hand rolled etnaviv conversion functions were able to handle
negative input values when converting to fixpoint. By replacing
them with U_FIXED all negative values are clamped to zero, which
breaks usages where negative inputs are valid, like lodbias.
Fixes: 8bce68edf5 ("etnaviv: switch to U_FIXED(..) macro")
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28224 >
2024-03-19 12:27:38 +00:00
Iago Toral Quiroga
bf3c1cf568
broadcom/ci: add a test that fails only in CI
...
This is a known bug in CTS affecting a number of tests in the
renderpass, renderpass2 and dynamic_rendering categories, but
it seems this is the only one triggered by CI. The bug has been
fixed in CTS 1.3.7.3.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27978 >
2024-03-19 12:06:21 +00:00
Iago Toral Quiroga
74be42d9a4
broadcom/ci: add new expected test failures
...
These start executing with dynamic rendering, and despite the name,
they don't actually require shader object. The reason they fail
is a bug in CTS (main).
Note: these are a crash in CI, but in CTS main they are a Fail.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27978 >
2024-03-19 12:06:21 +00:00
Iago Toral Quiroga
55a8c20e4d
broadcom/ci: skips for tests that don't check for extension support correctly
...
We want these as skips instead of fails because there are many tests involved
and not all of them fail, so every time we add a new feature and change the
subset of tests we run in CI we start hitting different tests and we have
to keep patching the list, so just move them to skips since we know we don't
support them and we should not be running them.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27978 >
2024-03-19 12:06:21 +00:00
Iago Toral Quiroga
92172760e2
v3dv: enable VK_KHR_dynamic_rendering
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27978 >
2024-03-19 12:06:21 +00:00
Iago Toral Quiroga
7a2b17235d
v3dv: also emit subpass clears with secondary command buffers
...
With dynamic rendering secondary command buffers can start subpasses
so we need this. Outside dynamic rendering secondary command buffers
won't be calling here since they are restricted to record commands
within a subpass.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27978 >
2024-03-19 12:06:21 +00:00
Iago Toral Quiroga
e9b44a3bb5
v3dv: handle render pass continue flag with dynamic passes
...
If a secondary command buffer recording a dynamic pass has the
VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT flag
then the rendering information for it should come from a
VkCommandBufferInheritanceRenderingInfo struct in the pNext
chain instead of the usual render pass information in the
VkCommandBufferInheritanceInfo struct. We take the information
from the new struct and build a render pass description from it
assuming a setup without a framebuffer (which is optional for
regular render passes too).
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27978 >
2024-03-19 12:06:21 +00:00
Iago Toral Quiroga
f4ec92084e
v3dv: fix resume address patching for secondary command buffers
...
Because we are cloning these into primaries but the cloning is
superficial the command lists in them still point to the original
jobs and therefore paching new addresses would make the packing
code add the BO of the resume address to the original job. This
has two problems:
1. This is probably not what we want since the patching should only
be affecting the clone.
2. The bo_count of the clone job will not be updated accordingly and
we end up with a mismatch that will blow up when we submit.
The solution used here is a big hack, but works for now: we just
specify the address by its full offset rather than a relative
offset from a BO. We already have to add all the BOS in the resume
job manually which will include this the BO for the branch address
too, so this is fine.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27978 >
2024-03-19 12:06:21 +00:00
Iago Toral Quiroga
0bb04c019e
v3dv: rename SECONDARY job type to INCOMPLETE
...
This was used only in secondary CL command buffers so it made
sense but with dynamic rendering we are going to also have
regular CLs also in secondaries (since secondaries can now
record full dynamic rendering passes), so renaming this to
INCOMPLETE makes more sense, since this is really what they
refer to: parts of CLs that are intended to be merged into
other primaries through branching.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27978 >
2024-03-19 12:06:21 +00:00
Iago Toral Quiroga
2478939b69
v3dv: implement dynamic rendering resume/suspend
...
Dynamic rendering allows the client to suspend recording of a
render pass and have it continued in a different command buffer.
When a suspended command buffer is submitted to a queue, the
resuming command buffer must be te next one in submission order.
This means we need to be able to "merge" or "stitch" together
these command buffers at submit time.
To accomplish this, when we suspend a command buffer we emit
a BRANCH instruction to finish it. Then at submit time, when
we know the resuming job, we patch the BRANCH address with the
address of the resuming binning list (bcl). This is very similar
to how we execute secondary command buffers inside a render pass.
Also, only the last resuming job should flush the binning lists
in the bcl since we won't have processed the full binning command
list until we have execute the last linked job in the resume
list.
Since all jobs and command buffers in the suspend/resume chain
must be part of the same dynamic render pass, we only need to
produce and emit the render command list (rcl) once.
Since the way we implement stitching is that we branch from the
suspending job into the resuming one, the first job suspending
will link into all the resuming jobs necessary to complete the
chain, therefore, after the stitching is complete, we only want
to submit the first job in the suspend/resume chain, and thus,
we only produce and emit the rcl for this one job.
Notice as well that suspending only affects the last job
recording a dynamic rendering pass (the one that needs the branch
so we can resume execution with another job in another command
buffer).
Resuming affects all jobs in the dynamic render pass, since
we won't produce RCLs for them (as only the originating job
on the suspend/resume chain will emit the RCL).
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27978 >
2024-03-19 12:06:21 +00:00
Iago Toral Quiroga
c15e0aac17
v3dv: implement vkCmdBeginRendering and vkCmdEndRendering
...
With this we are able to run basic dynamic render passes, however,
we are still missing a few things like support for secondary
render passes, suspend/resume, etc that will be adding in follow-up
patches.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27978 >
2024-03-19 12:06:21 +00:00
Iago Toral Quiroga
78015a9da3
v3dv: don't assume that pipelines have a render pass
...
This builds up on the previous patch and rewrites all the pipeline
code that fetched information from the pipeline's render pass (which
will be NULL for dynamic rendering) to instead fetch it through the
new rendering_info field, which will be valid for both regular and
dynamic render passes.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27978 >
2024-03-19 12:06:21 +00:00
Iago Toral Quiroga
e22d843fa4
v3dv: add a vk_render_pass_state to pipelines
...
With dynamic rendering the API formally eliminates render passes,
so the pipeline create info can now have a NULL render pass, in
which case rendering info must be provided via pNext struct
VkPipelineRenderingCreateInfo, or if this is missing too then
defaults to no multiview and no attachments.
Since we don't want to have separate paths all over the place
whenever we need to access render pass / rendering info for the
pipeline, we will always produce a valid vk_render_pass_state
struct with the relevant information even when we have a render
pass, so we can rely on that always being available.
A follow-up patch will rewrite all the places where we assumed
the existence of a render pass in the pipeline to instead fetch
the info it needs from this new field instead.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27978 >
2024-03-19 12:06:20 +00:00
Iago Toral Quiroga
10df187540
v3dv: add a helper to setup a framebuffer for dynamic rendering
...
Since the plan is to leverage our render pass infrastructure, we
also need to setup a framebuffer from the rendering info provided
with dynamic rendering.
We allocate the framebuffer lazily, only once, if a dynamic render
pass is used. To do this, we make it so it can hold the maximum
number of attachments possible with our hardware.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27978 >
2024-03-19 12:06:20 +00:00
Iago Toral Quiroga
6684aa09ff
v3dv: add helper to build a render pass for dynamic rendering
...
The idea is to build a regular render pass from the rendering info
provided with dynamic rendering. We will use this when recording
dynamic render passes to leverage our existing implementation
for render passes with dynamic rendering.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27978 >
2024-03-19 12:06:20 +00:00
Iago Toral Quiroga
72c3769437
v3dv: add helper to check if we need to use a draw for a depth/stencil clear
...
We will need this when setting up dynamic render passes too.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27978 >
2024-03-19 12:06:20 +00:00
Iago Toral Quiroga
f1e6e58aef
v3dv: add a helper to constrain clip window to render area
...
We will need to do the same when setting up dynamic render passes.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27978 >
2024-03-19 12:06:20 +00:00
Iago Toral Quiroga
f285f69677
v3dv: refactor checking and adding pending jobs
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27978 >
2024-03-19 12:06:20 +00:00
Iago Toral Quiroga
e1b52e3052
v3dv: fix copying v3dv_end_query_info into primaries from secondaries
...
We had missed copying the count field.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27978 >
2024-03-19 12:06:20 +00:00
Iago Toral Quiroga
93f9f2bcbb
v3dv: always set view index before drawing
...
It is allowed for a shader to enable the multiview extension
even if the draw call in which it is used doesn't use multidraw.
This allows the shader to still use gl_ViewIndex, which will
always be 0 in that scenario.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27978 >
2024-03-19 12:06:20 +00:00
Iago Toral Quiroga
aeee18be1b
v3dv: fix subpass clear with draw call for multi-layered framebuffers
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27978 >
2024-03-19 12:06:20 +00:00
Mary Guillemard
9fd5ac42c3
panfrost: group up stubbed params in drm-shim
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Brezillon Boris <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28241 >
2024-03-19 10:22:34 +00:00
Mary Guillemard
25a6af36c9
docs: Document Mali-G610 in drm-shim section
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Brezillon Boris <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28241 >
2024-03-19 10:22:34 +00:00
Mary Guillemard
76397f76c9
panfrost: Add support for Panthor in drm-shim
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Brezillon Boris <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28241 >
2024-03-19 10:22:34 +00:00
Mary Guillemard
9c92d92ab9
drm-shim: Add io region handling in mmap
...
This allows to replace mappings of io regions.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Brezillon Boris <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28241 >
2024-03-19 10:22:34 +00:00
Samuel Pitoiset
4d4b1820ca
radv: add radv_force_pstate_peak_gfx11_dgpu and enable it for Helldivers 2
...
This seems to definitely improve stability issues (random GPU hangs)
with Helldivers 2 on RDNA3 dGPUs. RDNA3 APUs and other generations
shouldn't be affected.
This is a workaround.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10584
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28260 >
2024-03-19 09:06:43 +00:00
Pierre-Eric Pelloux-Prayer
99017891ca
winsys/radeon: pass priv instead NULL to radeon_bo_can_reclaim
...
This fixes a NULL pointer issue.
Fixes: 4a078e693e ("r300,r600,radeon/winsys: always pass the winsys to radeon_bo_reference")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10613
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28240 >
2024-03-19 08:46:27 +00:00
Samuel Pitoiset
9b089ca943
radv: fix occlusion queries with MSAA and no attachments
...
The number of samples should be the rasterization samples and not the
framebuffer samples.
Fixes recent dEQP-VK.query_pool.occlusion_query.no_attachments_*.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28198 >
2024-03-19 07:19:07 +00:00
Yonggang Luo
d17779430f
util: Cleanup strtod.(h|c) by introduce _mesa_get_locale
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28174 >
2024-03-19 04:05:08 +00:00
Marek Olšák
4ed3418a43
Unbreak Viewperf by reverting "util: use crc32_z instead of crc32 and bump zlib dep to 1.2.9"
...
It breaks apps shipping their own copy of zlib, such as Viewperf.
If we use crc32_z, Viewperf is unable to start because it's an undefined
symbol.
This reverts commit 010272b62e .
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28233 >
2024-03-19 03:08:10 +00:00
Marek Olšák
97084199bb
radeonsi/ci: update failures
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28219 >
2024-03-18 22:27:15 -04:00
Marek Olšák
b98bbb851c
radeonsi/ci: run GLCTS, ESCTS, and dEQP from the glcts directory
...
GLCTS contains more recent dEQP, so we can remove the deqp clone.
Changes:
- glcts should use the main branch
- glcts/build contains gl-cts and deqp
- glcts/build_es contains gles-cts
- remove the escts and deqp directories and paths
- it saves about 27 GB of disk space
Updated build instructions:
https://github.com/marekolsak/marek-build/
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28219 >
2024-03-18 22:26:54 -04:00
Kenneth Graunke
8573e9bf47
ra: Add debug functions for printing spill costs and benefits
...
These have been incredibly useful when debugging regressions and weird
behavior in the Intel backend when trying to spill multiple registers
before retrying allocation. With them, we can print out not only what
register was chosen, but the benefit and cost. Seeing lists of chosen
registers where the benefit/cost was not sorted, and poor options were
chosen before better ones, led me to investigate a number of issues.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28257 >
2024-03-19 00:40:52 +00:00
Connor Abbott
84e8a295a0
freedreno/afuc: Add section on reassembling firmwares and relocations
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26771 >
2024-03-18 20:34:08 +00:00
Connor Abbott
2e6cfc9e23
freedreno/afuc: Add magic control reg values for a740
...
It looks like this is the same as a730.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26771 >
2024-03-18 20:34:08 +00:00
Connor Abbott
e7ed7a32cd
freedreno/afuc: Add a7xx test case
...
This tests new instructions, alignment, and sections.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26771 >
2024-03-18 20:34:08 +00:00
Connor Abbott
11b4b570a9
freedreno/afuc: Run entire bootstrap routine
...
We also need the BV/LPAC info, so run the entire thing until we get to a
waitin or read $data without waitin, which the BV microcode does
because it is disabled by default and skips everything until a
CP_THREAD_CONTROL packet.
The actual microcode writes the packet table last, but my simple test
one doesn't, and there's no guarantee it will continue to do so.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26771 >
2024-03-18 20:34:08 +00:00
Connor Abbott
71f80d3deb
freedreno/afuc: Emulate THREAD_SYNC on a660
...
This is similar to a7xx but slightly different, because it inverts the
sense of the bits (the firmware sets to 1 once it starts) and there are
only 2 processors. We didn't need this before because the waiting on
THREAD_SYNC only happens after setting the packet table.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26771 >
2024-03-18 20:34:08 +00:00
Connor Abbott
7e9380e2bc
freedreno/afuc: Allow -e option on a7xx
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26771 >
2024-03-18 20:34:08 +00:00
Connor Abbott
d860b2eca5
freedreno/afuc: Add support for multiple sections when assembling
...
Sections have names that are currently unused but we will need to use
them on a750 for relocations.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26771 >
2024-03-18 20:34:08 +00:00
Connor Abbott
a5db8e9c1f
freedreno/afuc: Add more general T_IDENTIFIER in lexer
...
This frees us from having to strip the trailing colon, and makes it
easier to add other identifiers like for section names. The downside is
that now we can't name a label with a reserved word like "mov" but that
doesn't seem too bad.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26771 >
2024-03-18 20:34:08 +00:00
Connor Abbott
f7bf4db339
freedreno/afuc: Add .align directive
...
This will be necessary for aligning the sections.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26771 >
2024-03-18 20:34:08 +00:00
Connor Abbott
542ae9de01
freedreno/afuc: Improve jump table handling
...
Some a7xx firmwares have junk after the LPAC jump table, and the old
method of hardcoding the location of the jumptable and the jumptable
offset when assembling and disassembling also doesn't work well on a7xx
where the location of the jumptable offset changes. Make jump tables
explicit in the disassembly with a ".jumptbl" directive which expands to
contain the contents of the jump table, make disassembly find the jump
table and emit the directive there. Then add the ability for a literal
to reference a label, which will be used for the jump table offset at
the beginning of the firmware. The disassembler guesses when a word is
actually the jump table offset and replaces it with a relocation.
This restores the ability to disassemble a630_sqe.fw and a650_sqe.fw and
reassemble to an identical binary without modifying the disassembly to
remove the jump table.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26771 >
2024-03-18 20:34:08 +00:00
Connor Abbott
46681d64f6
freedreno/afuc: Use left recursion in parser
...
Otherwise we'll run out of stack space with many instructions.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26771 >
2024-03-18 20:34:08 +00:00
Connor Abbott
c1955a0b16
freedreno/afuc: Fix setbit/clrbit parsing
...
We can't modify the instruction when parsing an operand, we will modify
the previous instruction, so just flatten out the rule.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26771 >
2024-03-18 20:34:08 +00:00
Connor Abbott
105ea1fc68
freedreno/afuc: Bump max instructions for a7xx
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26771 >
2024-03-18 20:34:08 +00:00
Connor Abbott
eeb2db3b5e
freedreno/afuc: Add missing ALU encode case for bic
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26771 >
2024-03-18 20:34:08 +00:00
Connor Abbott
443e8b89ca
freedreno/afuc: Decode (peek) modifier
...
This is an educated guess based on the location it is used in
(CP_INDIRECT_BUFFER).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26771 >
2024-03-18 20:34:08 +00:00
Lucas Stach
f88c269148
etnaviv: tex_desc: emit texture comparator
...
For whatever reasons this has been known in rnndb for ages, but
never was hooked up in the driver. Do so now.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28218 >
2024-03-18 20:07:22 +00:00
Lucas Stach
c6a6160583
etnaviv: don't use int filter for depth textures
...
The int filter has precision issues when used with depth textures,
causing failures in tests like piglit
spec@arb_depth_texture@fbo-depth-gl_depth_component16-drawpixels.
In addition to that the texture compare unit for GL_ARB_shadow
operations seems to be only implemented in the float filter pipe,
so this change also fixes this functionality on GPUs where it
isn't emulated, e.g. GC3000.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28218 >
2024-03-18 20:07:21 +00:00
Gert Wollny
5464feed73
zink: set handle type also for user memory
...
Fixes the validation error
VUID-vkBindBufferMemory-memory-02985
reported, e.g. by running piglit
spec@amd_pinned_memory@map-buffer decrement-offset
v2: move setting the export type for user_mem get_export_flags and
also set alloc_info->external for user_mem to avoid adding
a conditional when finning the external buffer create info (Mike)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28244 >
2024-03-18 19:45:34 +00:00
Konstantin Seurer
995727e575
zink: Handle aoa derefs of images
...
Only the index of the inner array was used.
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28250 >
2024-03-18 19:24:43 +00:00
Gert Wollny
50a6c5d5fa
nir-to-spirv: Cast SSBO input pointer when needed
...
Fixes validation error:
VUID-VkShaderModuleCreateInfo-pCode-08737
AtomicFAddEXT: expected Pointer to point to a value of type Result
Type
%51 = OpAtomicFAddEXT %float %49 %uint_1 %uint_0 %50
when running
spec@nv_shader_atomic_float@execution@ssbo-atomicadd-float
Fixes: 9f6be8effb
zink: store and use alu types for ntv defs
v2: Fix commit message (Mike)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28243 >
2024-03-18 19:03:14 +00:00
duncan.hopkins
0108bae30f
apple: Meson defines GLX_USE_APPLE to allow for Gallium drivers to work on MacOS.
...
By default, on MacOS, MESA will build a version that does not run the Gallium drivers on MacOS.
GLX_USE_APPLE must be defined to switch the code over to using the Gallium drivers.
GLX_USE_APPLE will be defined if any Gallium driver other than just SWRast is requested.
The default behaviour, due to default values, always asks for SWRast.
This logic leaves the default behaviour alone but allows the Gallium drivers to be actived without extra parameters.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28205 >
2024-03-18 18:06:45 +00:00
duncan.hopkins
97b6851815
apple: Extended Apple feature support using GLX_USE_APPLE.
...
On MacOS/Apple/Dawin you can only get MESA to forward the GL funtions to
the systems OpenGL.framework or run SWRast directly. There is no way to use a gallium driver, even if they have been compiled.
The two gallium drivers of interest are SWRast and Zink, as the rest are hardware drivers and not relavent on MacOS.
The code changes add a new define GLX_USE_APPLE. This is used in combination with the existing GLX_USE_APPLEGL.
GLX_USE_APPLEGL calls the systems OpenGL.framework, Apple's OpenGL.
GLX_USE_APPLE calls the non-system OpenGL code, i.e. Gallium, hence the subtle naming difference. Apple systems are still used, just not the GL ones.
When GLX_USE_APPLE is defined the code will use the DRI/gallium driver sub-system so SWRast and Zink can selected at runtime on MacOS.
This also allows Zink to be run on MacOS, once it is fixed up.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28205 >
2024-03-18 18:06:45 +00:00
duncan.hopkins
b0bdd0cae3
meson: relaxed some meson restrictions on MacOS/Apple allowing for wider build support.
...
This patch allows the meson build files, on MacOS, to build the DRI2 and EGL code paths.
This is needed to activate the gallium drivers for swrast and zink to be used.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28205 >
2024-03-18 18:06:45 +00:00
duncan.hopkins
af04f17909
glx: Switched DRI2 functions over to use Apple specific alternatives and extension name.
...
DRI2 calls are different between Linux and MacOS.
Calling these Linux version on MacOS using xquartz fails with 'unknown' codes.
This patch hardwires a number of the utility DRI2 functions to use the MacOS
specific version that already exist for APPLEGL.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28205 >
2024-03-18 18:06:45 +00:00
Mike Blumenkrantz
c0158b40ca
mesa/st: use sanitized shader keys for feedback draws
...
the draw module shouldn't use any other shader keys, so ensure they
are never set
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28189 >
2024-03-18 17:05:05 +00:00
Mike Blumenkrantz
5eb0136a3c
mesa/st: when creating draw shader variants, use the base nir and skip driver opts
...
draw module shaders are sometimes incompatible with driver-specific
lowering passes, so ensure that the shaders received by draw are as
close to the originating source as possible
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28189 >
2024-03-18 17:05:05 +00:00
Mike Blumenkrantz
1f7a4cf191
mesa/st: add is_draw_shader param to st_finalize_nir
...
this is used for skipping all the driver-specific lowering
it is not currently set
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28189 >
2024-03-18 17:05:05 +00:00
Mike Blumenkrantz
f2f640f3c7
mesa/st: add 'base_serialized_nir'
...
this is the pre-finalize nir which has (ideally) not been mangled
by driver-specific lowering passes
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28189 >
2024-03-18 17:05:05 +00:00
Valentine Burley
3d279bee0a
tu/rmv: Remove tu_rmv_DebugMarkerSetObjectNameEXT
...
Replaced by DebugMarkerSetObjectNameEXT from the common Vulkan runtime
introduced in f3fe1f2f ("vulkan: Implement DebugMarkerSetObjectNameEXT")
Fixes: a13860e5 ("tu: add RMV support")
Signed-off-by: Valentine Burley <valentine.burley@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28125 >
2024-03-18 16:10:21 +00:00
Eric Engestrom
ad580a711b
radeonsi/ci: udpate expected failures
...
https://gitlab.freedesktop.org/mesa/mesa/-/jobs/56378175
https://gitlab.freedesktop.org/mesa/mesa/-/jobs/56393368
https://gitlab.freedesktop.org/mesa/mesa/-/jobs/56414989
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28246 >
2024-03-18 14:03:46 +00:00
Georg Lehmann
67997fd735
aco: avoid full 32bit imul for uniform reduce/scan
...
Foz-DB Navi31:
Totals from 24 (0.03% of 79395) affected shaders:
Instrs: 1172275 -> 1172078 (-0.02%)
CodeSize: 5974424 -> 5973860 (-0.01%)
Latency: 5896216 -> 5895923 (-0.00%)
InvThroughput: 1167928 -> 1167869 (-0.01%)
VALU: 625756 -> 625636 (-0.02%)
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28223 >
2024-03-18 13:37:28 +00:00
Georg Lehmann
96ff511b75
aco/optimizer: combine v_mul_i32_i24 and add to mad
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28223 >
2024-03-18 13:37:28 +00:00
Georg Lehmann
0c57340c23
aco/builder: use 24bit mul if low bits of imm are zero
...
Foz-DB Navi31:
Totals from 39 (0.05% of 79395) affected shaders:
Instrs: 62712 -> 62696 (-0.03%)
CodeSize: 330096 -> 329896 (-0.06%)
Latency: 192747 -> 192561 (-0.10%)
InvThroughput: 34078 -> 33889 (-0.55%)
VALU: 38979 -> 38963 (-0.04%)
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28223 >
2024-03-18 13:37:28 +00:00
Georg Lehmann
b48a101d8f
aco/builder: improve v_mul_imm for negative imm
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28223 >
2024-03-18 13:37:27 +00:00
Juan A. Suarez Romero
4f6f2cea6a
v3dv: enable smooth line rendering
...
This is based on a lowering that we are already using in the OpenGL
driver.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28171 >
2024-03-18 12:09:12 +00:00
Juan A. Suarez Romero
f5d4242928
v3dv: assume that rasterization state can be NULL
...
So far to check if rasterization discard is enabled or not we assumed
that rasterization state struct was never NULL.
However, as this will change with VK_EXT_extended_dynamic_state3, it can
be a good idea just to assume it can be NULL, so adding the check too.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28171 >
2024-03-18 12:09:11 +00:00
Juan A. Suarez Romero
d6553bf177
compiler,gallium: move u_reduced_prim to common
...
Useful function that even Vulkan drivers can use.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28171 >
2024-03-18 12:09:11 +00:00
Amber
7a236dc785
tu: re-emit vertex buffer on MESA_VK_DYNAMIC_VI_BINDINGS_VALID dirty.
...
Previously cmd->state.vertex_buffers.size changing would not trigger
a re-emission of the state, leading to dEQP-VK.dynamic_state.*.line_width.*
failing on A7XX.
Signed-off-by: Amber Harmonia <amber@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28208 >
2024-03-18 11:37:00 +00:00
Amber
44a3a3e7d9
tu: Add MESA_VK_DYNAMIC_RS_LINE_WIDTH to tu_rast_state.
...
Dynamic graphics state for line width changing did not trigger a
re-emission of A6XX_GRAS_SU_CNTL.
fixes:
dEQP-VK.dynamic_state.*.blit
dEQP-VK.dynamic_state.*.clear
dEQP-VK.dynamic_state.*.resolve
For A7XX.
Signed-off-by: Amber Harmonia <amber@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28206 >
2024-03-18 11:15:58 +00:00
Eric Engestrom
f455ac88b8
vc4/ci: add flake
...
https://gitlab.freedesktop.org/mesa/mesa/-/jobs/56377699
https://gitlab.freedesktop.org/mesa/mesa/-/jobs/56392947
https://gitlab.freedesktop.org/mesa/mesa/-/jobs/56421981
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28238 >
2024-03-18 10:37:13 +00:00
Benjamin Tissoires
ba2af1dc36
CI: add mr-label-maker.yml config
...
We are currently relying on `mr-label-maker` to automatically tag MRs
or issues. However, the config of the bot was done in the python project
itself as a python class.
Since https://gitlab.freedesktop.org/freedesktop/mr-label-maker/-/merge_requests/25 ,
we can have an external yaml config file that can be included as an URL
from the bot point of view.
This means that we can now keep the configuration of the bot in the mesa
project itself, lowering the difficulties to include a change in this
configuration.
Note: https://gitlab.freedesktop.org/freedesktop/fdo-bots/-/merge_requests/19
needs to be merged so that this whole mechanic is in place.
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28126 >
2024-03-18 10:26:19 +00:00
David Rosca
4b7b185711
radv/video: Set maxActiveReferencePictures to 16 for H264/5
...
H265 supports 16 reference frames too.
Fixes validation errors when decoding H265 stream with more than 8 reference
frames.
Cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27541 >
2024-03-18 10:04:52 +00:00
Nikita Popov
99f0449987
Pass no-verify-fixpoint option to instcombine in LLVM 18
...
When LLVM 18 is used, pass the no-verify-fixpoint option when
running the instcombine pass. Otherwise LLVM may abort with an
error.
The background here is that this option is enabled by default for
testing purposes, because instcombine is normally only explicitly
invoked like this inside tests. If it is used in an actual
production pipeline, the no-verify-fixpoint option needs to be
enabled.
This should fix the issue reported at
https://bugzilla.redhat.com/show_bug.cgi?id=2268800 .
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28101 >
2024-03-18 09:27:15 +00:00
Eric Engestrom
7982751307
ci/deqp: backport fix for dEQP-VK.wsi.direct_drm.* bug
...
Fixes these tests:
- dEQP-VK.wsi.direct_drm.full_screen_exclusive.*
- dEQP-VK.wsi.direct_drm.maintenance1.*
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28229 >
2024-03-17 11:09:30 +00:00
Eric Engestrom
eac703f691
Revert "nouveau: add missing vl lib"
...
This reverts commit 4e3f3c10e1 .
That commit turns out to be breaking the build in some cases.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10830
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28226 >
2024-03-16 20:51:15 +00:00
Faith Ekstrand
7bd1d4848c
Revert "nvk: Enable VK_KHR_shader_subgroup_uniform_control_flow"
...
This reverts commit ac5d529c65 . We're
failing 4 of the tests:
dEQP-VK.reconvergence.subgroup_uniform_control_flow_ballot.compute.nesting4.1.2
dEQP-VK.reconvergence.subgroup_uniform_control_flow_elect.compute.nesting4.1.2
dEQP-VK.reconvergence.workgroup_uniform_control_flow_ballot.compute.nesting4.1.2
dEQP-VK.reconvergence.workgroup_uniform_control_flow_elect.compute.nesting4.1.2
This is because we aren't guaranteeing re-convergence for loop
continues.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28221 >
2024-03-15 21:46:00 -05:00
Marek Olšák
f424ef1801
r300: enable tiling for scanout to fix DRI3 performance
...
Also don't use square tiling for scanout because the DDX doesn't use it
either.
Reviewed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28209 >
2024-03-15 22:20:54 +00:00
Marek Olšák
58b773bd9a
r300: port scanout pitch alignment from the DDX to fix DRI3
...
This wasn't needed with DRI2 because only the DDX allocates scanout
surfaces with DRI2.
Fixes: d779a5d16a - r300g: cleanup texture creation code
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2780
Reviewed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28209 >
2024-03-15 22:20:54 +00:00
Faith Ekstrand
3bed7b22fe
nvk: Always set SET_ATTRIBUTE_POINT_SIZE
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28217 >
2024-03-15 21:08:35 +00:00
Iván Briano
446f652cde
intel/cmat: fix stride calculation in cmat load/store
...
The stride given in the shader is in number of elements of the of the
type pointed by the given pointer, which may not match the matrix own
element type.
Since we cast the pointer to match the element type, the stride needs to
be ajusted accordingly.
v2:
- Fix mismatching bit-width in matrix element type and pointer type (Caio)
- Do the stride calculation in one place
Fixes dEQP-VK.compute.pipeline.cooperative_matrix.khr_*.multicomponent.*
Fixes: 3a35f8b29b ("intel/cmat: Lower cmat_load and cmat_store")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10820
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27903 >
2024-03-15 20:34:43 +00:00
Marek Olšák
ba6dfb6ca4
amd/ci: update stoney results
...
The dEQP failures are expected.
The occlusion query ones are new flakes, but I don't know what introduced them.
The checksum changes are expected due to new optimizations.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26819 >
2024-03-15 19:55:46 +00:00
Marek Olšák
9b819adbd8
glsl/linker,st/mesa: enable nir_opt_varyings and lower IO in the linker
...
The varying linker isn't changed. The passes are executed after linking
varyings and before linking uniforms if nir->options->lower_io_variables
is true. nir_opt_varyings can move uniforms between shaders and cause them
to be DCE'd.
It requires moving IO deref lowering from st/mesa into the GLSL linker
and nir_opt_varyings should be added at the same time because IO deref
lowering alone would disable IO optimizations in st/mesa such as
compaction.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26819 >
2024-03-15 19:55:46 +00:00
Marek Olšák
70fd817278
st/mesa: skip a few NIR passes that don't work with lowered IO
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26819 >
2024-03-15 19:55:46 +00:00
Marek Olšák
b48188e46c
st/mesa: lower sysvals slightly sooner
...
This will make a later commit simpler. No change in behavior.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26819 >
2024-03-15 19:55:46 +00:00
Marek Olšák
a3de3a5c32
st/mesa: get dual slot input info from NIR if IO is lowered
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26819 >
2024-03-15 19:55:46 +00:00
Marek Olšák
f28f8bba9f
radeonsi: add test failures due to incorrect tests for nir_opt_varyings
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26819 >
2024-03-15 19:55:46 +00:00
Marek Olšák
abf0de57ab
radeonsi: enable uniform propagation for varyings except VP/Energy
...
It regresses performance of VP/Energy.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26819 >
2024-03-15 19:55:46 +00:00
Marek Olšák
db5cf460d7
radeonsi: set trivial NIR options for nir_opt_varyings
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26819 >
2024-03-15 19:55:46 +00:00
Marek Olšák
5bbb279e7d
radeonsi: set the lower_mediump_io callback for GLSL
...
It will be called by the GLSL linker before nir_opt_varyings.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26819 >
2024-03-15 19:55:46 +00:00
Marek Olšák
6dbd1dcd93
nir/tests: add tests for nir_opt_varyings
...
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26819 >
2024-03-15 19:55:46 +00:00
Marek Olšák
c66967b5cb
nir: add nir_opt_varyings, new pass optimizing and compacting varyings
...
Highlights:
- all shader stages and all input/output types are handled, including
inputs and outputs with multiple vertices
- the optimizations performed are: unused input/output removal, constant
and uniform propagation, output deduplication, inter-shader code motion,
and compaction
- constant and uniform propagation and output deduplication work even
if a shader contains multiple stores of the same output, e.g. in GS
- the same optimizations are also performed between output stores and
output loads (for TCS)
- FS inputs are packed agressively. Only flat, interp FP32, and interp
FP16 can't be in the same vec4. Also, if an output value is
non-divergent within a primitive, the corresponding FS input is
opportunistically promoted to flat.
The big comment at the beginning of nir_opt_varyings.c has a detailed
explanation, which is the same as:
https://gitlab.freedesktop.org/mesa/mesa/-/issues/8841
dEQP and GLCTS have incorrect tests that fail with this, see:
https://gitlab.freedesktop.org/mesa/mesa/-/issues/10361
Acked-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26819 >
2024-03-15 19:55:46 +00:00
Marek Olšák
ba54099dce
nir: add a utility computing post-dominance of SSA uses
...
The massive comment explains it.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26819 >
2024-03-15 19:55:46 +00:00
Yogesh Mohan Marimuthu
9d76ba37e8
winsys/amdgpu: add more comments for winsys create in header file
...
v2: add data diagram (Pierre-Eric)
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27968 >
2024-03-15 18:06:55 +00:00
Yogesh Mohan Marimuthu
f93f7f8f3a
winsys/amdgpu: remove tab space
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27968 >
2024-03-15 18:06:55 +00:00
Yogesh Mohan Marimuthu
efbd602b63
winsys/amdgpu: use _destroy_locked() for failure to create winsys
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27968 >
2024-03-15 18:06:55 +00:00
Yogesh Mohan Marimuthu
5b6c0fdc97
winsys/amdgpu: aws instead of ws for amdgpu_winsys
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27968 >
2024-03-15 18:06:55 +00:00
Yogesh Mohan Marimuthu
c7e8486130
winsys/amdgpu: rws instead of ws for radeon_winsys
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27968 >
2024-03-15 18:06:55 +00:00
Yogesh Mohan Marimuthu
f2275eed44
winsys/amdgpu: sws instead of ws for amdgpu_screen_winsys
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27968 >
2024-03-15 18:06:55 +00:00
Valentine Burley
92879e9da8
docs/features: Add missing VK_EXT_surface/swapchain_maintenance1 entry
...
Signed-off-by: Valentine Burley <valentine.burley@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28203 >
2024-03-15 17:48:30 +00:00
Valentine Burley
5bde82b353
nvk: Expose VK_EXT_swapchain_colorspace
...
This extension is basically a no-op exposing some new enums.
Signed-off-by: Valentine Burley <valentine.burley@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28203 >
2024-03-15 17:48:29 +00:00
Valentine Burley
68e93cce5e
nvk: Expose VK_EXT_surface/swapchain_maintenance1
...
Passes dEQP-VK.wsi.*.maintenance1.*.
Signed-off-by: Valentine Burley <valentine.burley@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28203 >
2024-03-15 17:48:29 +00:00
Valentine Burley
547636dc43
nvk: Expose VK_EXT_display_control
...
Use the common implementation.
Signed-off-by: Valentine Burley <valentine.burley@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28203 >
2024-03-15 17:48:29 +00:00
Valentine Burley
3da1c0b6c9
nvk: Fix missing implementation of creating images from swapchains
...
These pNext structs are part of VK_KHR_swapchain which is core Vulkan
1.1 but they were missing. Based on ANV and RADV.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10806
Signed-off-by: Valentine Burley <valentine.burley@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28203 >
2024-03-15 17:48:29 +00:00
Pavel Ondračka
092299f18a
r300: remove some late NIR passes
...
Some of those are no longer needed after moving the sin/cos input fixups
to finalize_nir, while others were are just some unneeded remnants from
nir_to_tgsi era.
Almost no shader-db change on RV530:
total instructions in shared programs: 128940 -> 128939 (<.01%)
instructions in affected programs: 154 -> 153 (-0.65%)
helped: 3
HURT: 2
total cycles in shared programs: 197402 -> 197401 (<.01%)
cycles in affected programs: 263 -> 262 (-0.38%)
helped: 3
HURT: 2
or RV370:
total instructions in shared programs: 83946 -> 83944 (<.01%)
instructions in affected programs: 32 -> 30 (-6.25%)
helped: 2
HURT: 0
total cycles in shared programs: 132829 -> 132827 (<.01%)
cycles in affected programs: 93 -> 91 (-2.15%)
helped: 2
HURT: 0
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28070 >
2024-03-15 17:28:32 +00:00
Pavel Ondračka
d430225b29
r300: move sin/cos input fixups to finalize_nir
...
RV530 shader-db (and similarly R420):
total instructions in shared programs: 129022 -> 128940 (-0.06%)
instructions in affected programs: 4142 -> 4060 (-1.98%)
helped: 48
HURT: 10
total cycles in shared programs: 197475 -> 197402 (-0.04%)
cycles in affected programs: 4906 -> 4833 (-1.49%)
helped: 45
HURT: 10
total temps in shared programs: 17551 -> 17543 (-0.05%)
temps in affected programs: 71 -> 63 (-11.27%)
helped: 8
HURT: 0
total consts in shared programs: 94392 -> 94358 (-0.04%)
consts in affected programs: 2963 -> 2929 (-1.15%)
helped: 35
HURT: 1
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28070 >
2024-03-15 17:28:32 +00:00
Pavel Ondračka
ba1bc94233
r300: explicitly check if sin/cos input is already in correct range
...
before applying the input range normalization. This allows to move the pass
to finalize nir later without worrying we would apply the fixup twice and
also saves few instructions in wined3d shaders, where d3d9 already
guarantees the correct input range.
RV530 shader-db (and similarly for R4xx) improves few Anno1404 shaders:
total instructions in shared programs: 129040 -> 129022 (-0.01%)
instructions in affected programs: 310 -> 292 (-5.81%)
helped: 5
HURT: 0
no change on RV370
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28070 >
2024-03-15 17:28:32 +00:00
Samuel Pitoiset
67fd490fe5
radv: add a GPU hang workaround for legacy tess+GS for GFX10.3
...
Ported from RadeonSI ea94cb95e4
("radeonsi/gfx10.3: add a GPU hang workaround for legacy tess+GS")
Fixes: a23802bcb9 ("ac,radeonsi: start adding support for gfx10.3")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28165 >
2024-03-15 16:38:14 +00:00
Samuel Pitoiset
96e9c3fe77
radv: program SAMPLE_MASK_TRACKER_WATERMARK optimally for GFX11 APUs
...
Ported from RadeonSI 6ce3a95852
("radeonsi/gfx11: program SAMPLE_MASK_TRACKER_WATERMARK optimally for APUs")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28165 >
2024-03-15 16:38:14 +00:00
Samuel Pitoiset
d81809618f
radv: fix programming of PA_SC_BINNER_CNTL_1.MAX_ALLOC_COUNT on GFX11
...
Ported from RadeonSI 7d3a414662
("radeonsi/gfx11: fix programming of PA_SC_BINNER_CNTL_1.MAX_ALLOC_COUNT")
Fixes: 25a66477d0 ("radeonsi/gfx11: register changes")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28165 >
2024-03-15 16:38:14 +00:00
Samuel Pitoiset
8203284c03
radv: disable binning correctly on GFX11.5
...
Ported from RadeonSI 20445f296b
("radeonsi: disable binning correctly on gfx11.5").
Fixes: b44a886b84 ("amd/common: add registers for gfx11.5")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28165 >
2024-03-15 16:38:14 +00:00
Yonggang Luo
680e707534
treewide: Replace the invalid usage #if DEBUG with #ifdef DEBUG
...
This is done by find&replace and exclude the following folders in vscode
docs,*.rs,addrlib,src/imgui,*.sh,src/intel/vulkan/grl/gpu
This is a prepare step for re-working https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21946
These issues are found when to try switch DEBUG to MESA_DEBUG=0|1 in MR
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28092
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28083 >
2024-03-15 16:08:18 +00:00
Friedrich Vock
3f1cb470f0
radeonsi: Only enable SEs that the device reports
...
Matches PAL behavior.
Cc: mesa-stable
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28196 >
2024-03-15 13:23:34 +00:00
nyanmisaka
bad41f4db7
frontends/va: Report vendor and device ID through VADisplayPCIID
...
Signed-off-by: nyanmisaka <nst799610810@gmail.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18718 >
2024-03-15 13:05:27 +00:00
Eric Engestrom
7c480c2066
nouveau/ci: only trigger jobs for relevant changes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28204 >
2024-03-15 12:49:20 +00:00
Eric Engestrom
67bb74863d
nouveau/ci: fix yaml indentation
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28204 >
2024-03-15 12:49:20 +00:00
Eric Engestrom
4e3f3c10e1
nouveau: add missing vl lib
...
It's always been missing since the conversion to meson.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10792
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28133 >
2024-03-15 12:28:13 +00:00
Rohan Garg
656f590bf5
iris,anv: WA 1509820217 is no impact for Xe2+
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28201 >
2024-03-15 12:02:45 +00:00
Eric Engestrom
5b3cb226b1
ci: include all the src/**/gitlab-ci.yml files
...
No risk of getting it wrong, and this means adding the upcoming ones
will no longer trigger a full CI.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28202 >
2024-03-15 11:22:54 +00:00
duncan.hopkins
5fabb66f59
dri: guarded DRI code.
...
Added code guards that isolate DRM code paths so platformss that do not have DRM libraries can compile.
MacOS does not have vf86drm library and headers.
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28130 >
2024-03-15 10:50:12 +00:00
duncan.hopkins
fcd0b4c94a
util: Updated util/libdrm.h stubs with drmGetMagic()
...
Update adds in missing items that MacOS code needs to compile and run the DRI2 code.
New code is copied from the public repository: https://gitlab.freedesktop.org/mesa/drm/-/blob/main/xf86drm.h
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28130 >
2024-03-15 10:50:12 +00:00
duncan.hopkins
8ad4862126
gallium/dri: Added XCB dependency to frontends/dri/libdrm build. Fix header issues with xcb.h being used.
...
On systems where the xcb.h is not in the standard prefixed location,
meson needs to be told where to find it.
Adding the `dep_xcb` to the `libdri`build fixes this.
This issue happened on macOS when the brew package manager was not in the default location.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28130 >
2024-03-15 10:50:12 +00:00
duncan.hopkins
00e1562f5b
gallium/dri: Switch xf86drm.h for util/libdrm.h to allow for the no-op shim to be used.
...
This patch allows MacOS to compile the dri[2] systems by switching from direct xf86drm.h to
the pre-existing util/libdrm.h.
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28130 >
2024-03-15 10:50:12 +00:00
duncan.hopkins
1d9215f904
egl: Changed EGLNativeDisplayType size check to make sure it is big enough instead of exactly the same size.
...
MacOS uses a smaller EGLNativeDisplayType than 'void*', which is big enough for the storage.
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28130 >
2024-03-15 10:50:12 +00:00
duncan.hopkins
4477139ec2
egl: Added DRI3 code guards.
...
MacOS does not have any DRI3 libraries, these code guards hide the code paths
the fail to compile without DRI3.
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28130 >
2024-03-15 10:50:11 +00:00
duncan.hopkins
275fdf709d
egl: MacOS platform guard around pthread_condattr_setclock()
...
This patch disabled the call to pthread_condattr_setclock on MacOS/Apple platforms.
This funciton is missing from the the Xcode pthread implemetation.
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28130 >
2024-03-15 10:50:11 +00:00
duncan.hopkins
8387deff87
compiler/clc: fix compiler issue on MacOS with st_mtim[e] in stat.
...
MacOSs 'sys/stat.h' version of 'stat' doe snot have the 'st_mtim' that is used on other systems.
The change allows MacOS to use 'st_mtime' without affecting the behaviour on any other platform.
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28130 >
2024-03-15 10:50:11 +00:00
Samuel Pitoiset
6146a1651a
radv: emit VGT_GS_OUT_PRIM_TYPE as part of the dynamic primitive topology
...
With pipelines, the topology class is known at creation time but with
ESO this needs to be re-emitted when the topology change and not only
when graphics shaders are emitted.
This fixes spec@nv_primitive_restart@primitive-restart-* with Zink
when shader object is enabled.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28179 >
2024-03-15 09:26:33 +00:00
Samuel Pitoiset
ccf894f29c
radv: fix RADV_PERFTEST=dmashaders with ESO
...
Update the shader upload sequence when individual shaders are bound
to fix that.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28154 >
2024-03-15 08:10:59 +00:00
Samuel Pitoiset
dd0b4f05ad
radv: add helpers to bind the GS copy shader and the RT prolog
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28154 >
2024-03-15 08:10:59 +00:00
Friedrich Vock
cc61409ea6
radv: Only enable SEs that the device reports
...
Matches PAL behavior.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28195 >
2024-03-15 07:31:34 +00:00
Caio Oliveira
bfdcddfda9
intel/tools: Make intel_stub_gpu work when using meson devenv
...
When `meson devenv` is used, the shim library that is meant to be
preloaded is not necessarily available at the installation dir. So
when running in that mode both the script and the shim library will
be in the same (build) directory, so adjust the ld_preload to pick
that.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10798
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28134 >
2024-03-15 03:25:46 +00:00
Jordan Justen
6922f421f4
intel/compiler: nib_ctrl no longer exists on Xe2+
...
Ref: cfb34dc695 ("intel/eu/validate: Validate that the ExecSize is a factor of chosen ChanOff")
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28191 >
2024-03-15 03:01:53 +00:00
Jordan Justen
72d289b8d1
intel/compiler/fs: Restore SIMD32 restriction for ray_queries on Xe2
...
In 96e0d979a7 , the restriction was dropped because we don't compile a
SIMD8 program on Xe2. This change moves it to run_fs() so the
restriction will be added when compiling SIMD16 on Xe2.
Fixes: 96e0d979a7 ("intel/fs: Check fs_visitor instance before using it")
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28191 >
2024-03-15 03:01:53 +00:00
Marcin Ślusarz
2ad4d5f8dd
intel/compiler/xe2: fix decoding of sampler simd mode
...
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28191 >
2024-03-15 03:01:53 +00:00
Lionel Landwerlin
4df58ef503
intel/fs: bump max simd size of some messages for xe2
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28191 >
2024-03-15 03:01:53 +00:00
Caio Oliveira
e5bc5bba7c
anv: Enable VK_KHR_shader_maximal_reconvergence
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27278 >
2024-03-15 02:10:21 +00:00
Yiwei Zhang
d56f65f7ca
venus: ensure shmem is attached to renderer before use for guest vram
...
For guest vram, there's already roundtrip to protect device memory alloc
ordering. This change adds the same protection for shmem used in below
scenarios and optimize to wait for new shmem only.
- reply shmem
- indirect upload shmem
- cmd stream shmem
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28147 >
2024-03-15 01:51:16 +00:00
Yiwei Zhang
72b124031b
venus: minor naming cleanups
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28147 >
2024-03-15 01:51:16 +00:00
Yiwei Zhang
362ba3f007
venus: roundtrip now belongs to ring
...
A roundtrip is to ensure a cmd via virtqueue happens on the renderer
side before a ring relies on it. Since venus is now with multi-ring, the
roundtrip submit and wait should belong to ring instead of instance, and
each ring owns its own roundtrip seqno to synchronize with virtqueue.
No behavior change.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28147 >
2024-03-15 01:51:16 +00:00
Faith Ekstrand
160aa8ba48
nvk: Ignore rasterizationSamples when handling sampleShadingEnable
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28192 >
2024-03-15 01:31:55 +00:00
Timothy Arceri
20db9b77aa
glsl: move invariant builtin validation to the nir linker
...
We don't attempt to recreate a nir implementation of the symbol table
instead here we simply use location to find the variables we need to
validate.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28142 >
2024-03-15 00:01:34 +00:00
Yiwei Zhang
1bc25f4754
venus: optimize to further batch query records
...
Below is the common client pattern (app, angle, zink, etc):
- a few resets for queries to be used in this batch
- optional, depending on EXT_host_query_reset
- a few queries
- incremental
- can cross query pool boundary
The HW drivers normally have faster shader path when there are too many
individual reset and copies. Without further resolving, this ends up
with linear overhead on the 2d engines. This change has largely
optimized that:
- angle: many copies => 1 copy (or 2)
- zink: many resets and copies => 1 reset and 1 copy (or 2)
and again...some more renamings around
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28112 >
2024-03-14 23:40:44 +00:00
Yiwei Zhang
7c221e65a4
venus: add vn_queue_submission_get_resolved_query_records
...
This new split is for the getting the resolved query records, which is
to prepare for further query records resolving.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28112 >
2024-03-14 23:40:44 +00:00
Yiwei Zhang
e868fc0b1e
venus: refactor vn_queue_submission_add_query_feedback
...
Drop vn_combine_query_records_and_record_feedback to save the lines of
codes for args preparing. Also refactor to avoid the cmd stride trick,
but use indexing.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28112 >
2024-03-14 23:40:44 +00:00
Yiwei Zhang
a6bc116f84
venus: rewrite qfb vn_feedback helpers
...
1. move record into alloc to simplify caller handling, which aligns
with ffb and sfb as well
2. simplify locking to reduce lock overhead
3. remove unbalanced free from record helper
4. move reset to alloc
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28112 >
2024-03-14 23:40:44 +00:00
Yiwei Zhang
aabb52979a
venus: refactor query record recycle
...
Add a new free helper while renaming the alloc one as well. During query
record resolving, use a dropped list to store those records being reset.
This is to prepare for later further query record resolving.
This change also simplifies a query pool compare.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28112 >
2024-03-14 23:40:44 +00:00
Yiwei Zhang
2a7085584e
venus: simplify vn_cmd_reset and apply more code sharing
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28112 >
2024-03-14 23:40:44 +00:00
Yiwei Zhang
5dbd88ad2a
venus: drop vn_get_temp_cmd_ptr
...
It's more robust to base on original batch cmds instead of assuming
various constraints on copied cmds in the temp storage.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28112 >
2024-03-14 23:40:44 +00:00
Yiwei Zhang
9e7797c8c1
venus: minor cmd count related refactors
...
This is to prepare for qfb refactor, so that we can distinguish the
current batch's cmd count and the appended new cmd count
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28112 >
2024-03-14 23:40:44 +00:00
Yiwei Zhang
4bab7344a8
venus: massive qfb renamings
...
Summary:
- vn_feedback_query_batch => vn_cmd_query_record
- combined_batches => resolved_batches
- vn_feedback_query => vn_query_feedback
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28112 >
2024-03-14 23:40:43 +00:00
Yiwei Zhang
25be8e721d
venus: combine query record and reset
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28112 >
2024-03-14 23:40:43 +00:00
Yiwei Zhang
71bf46fa5d
venus: qfb to track cmd handle directly
...
since all usages are with vk handle
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28112 >
2024-03-14 23:40:43 +00:00
Mike Blumenkrantz
e931ef4884
zink: iterate all the modes when doing separate shader fixups
...
otherwise this might only do the inputs without also handling outputs
Fixes: 0a12cedec9 ("zink: add a special separate shader i/o mode for legacy variables")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28185 >
2024-03-14 23:17:02 +00:00
Faith Ekstrand
b68f2e747c
zink: Rework sparse texture lowering
...
Instead of the previous fragile attempt to handle sparse_resident_and
by crawling deref chains, we now insert an is_sparse_resident_zink
intrinsic immediately after the tex or sparse_load intrinsic and define
Zink's sparse resident codes to always be 0/1. Then sparse_resident_and
becomes iand and is_sparse_texels_resident becomes != 0 and everything
is well-defined and robust.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28123 >
2024-03-14 22:37:51 +00:00
Eric Engestrom
8a5120003c
ci/deqp: document which build produces which binary
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28181 >
2024-03-14 22:06:05 +00:00
Corentin Noël
51593c6b34
dri/kopper: Assume a non-null drawable in flush_frontbuffer
...
It is expected that drawable is non-null here so don't add check for it.
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28180 >
2024-03-14 21:30:31 +00:00
Kenneth Graunke
484246ea0a
iris: Eliminate prototype introduced in the previous patch
...
By moving iris_flush_resource() below. This is done separately to
make the diff for the actual change in the previous patch easier to
follow.
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13154 >
2024-03-14 20:37:09 +00:00
Kenneth Graunke
fa24ff24dd
iris: Remove suballocation in iris_flush_resource()
...
pipe->flush_resource() is called from eglCreateImageKHR in order to
prepare images to be shared. It also has a valid context. We can
just remove suballocation there, rather than doing it on the first
dri_image_query like radeonsi does.
This is much simpler and seems to work fine.
Suggested-by: Michel Dänzer <mdaenzer@redhat.com >
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13154 >
2024-03-14 20:37:09 +00:00
Sviatoslav Peleshko
a330ecc48a
dri: Flush the context after flush_resource when creating shareable image
...
This makes sure that we'll be done with any pending preparations before
the actual export of the resource.
Signed-off-by: Sviatoslav Peleshko <sviatoslav.peleshko@globallogic.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13154 >
2024-03-14 20:37:09 +00:00
Nanley Chery
27d35588f5
iris: Copy main ISL surf when reallocating in place
...
When reallocating a resource in place, we make sure to pass the
PIPE_BIND_SHARED flag for the new resource. On ACM, this generally
changes the allocation of the resource from tiled to linear. To pick up
the new layout of the resource, copy the new ISL surf.
This enables ACM to pass piglit's egl-ext_egl_image_storage
test.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10367
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13154 >
2024-03-14 20:37:09 +00:00
Valentine Burley
98690db847
tu: Reorder device features
...
Sort device features by KHR, EXT, vendor and then alphabetically within that.
Signed-off-by: Valentine Burley <valentine.burley@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28095 >
2024-03-14 19:13:23 +00:00
Valentine Burley
1726e03df4
tu: Advertise VK_KHR_vertex_attribute_divisor
...
This is a promotion from the EXT, except the new property
supportsNonZeroFirstInstance which should already be supported.
Signed-off-by: Valentine Burley <valentine.burley@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28095 >
2024-03-14 19:13:23 +00:00
Valentine Burley
355dd782c5
tu: Implement VK_KHR_map_memory2
...
Signed-off-by: Valentine Burley <valentine.burley@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28080 >
2024-03-14 18:50:19 +00:00
Corentin Noël
e7de9ab62a
zink: Make sure to initialize all the fields of VkMemoryBarrier
...
Fixes several random validation errors as the value of dstAccessMask could be
anything.
Cc: mesa-stable
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28166 >
2024-03-14 18:29:14 +00:00
Danylo Piliaiev
2aab8e0806
meson: Correctly get sizeof_pointer with cross-compilers
...
"native : true" used build system's compiler to determine
sizeof void*, which is wrong - we need to use host compiler.
Found when using pure NIX cross-compilation environment.
Fixes: ad34c932cd
("glapi: pass pointer size to python for glthread from meson")
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.co
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28177 >
2024-03-14 17:49:18 +00:00
Yonggang Luo
d2229304dc
panfrost/meson: remove redundant gallium include from meson files
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24439 >
2024-03-14 17:23:55 +00:00
Yonggang Luo
13ce0358b0
panfrost/shared: avoid use gallium helper in pan_minmax_cache.*
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24439 >
2024-03-14 17:23:55 +00:00
Lionel Landwerlin
20df1d2b1f
anv: ignore descriptor alignment for inline uniforms
...
For this particular case only it doesn't matter. Fixes some new CTS
tests with small inline uniform sizes.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28040 >
2024-03-14 16:54:30 +00:00
Corentin Noël
812be09cd2
st_pbo/compute: Use the correct structure type when allocating a specialized key
...
Use pbo_spec_async_data instead of pbo_async_data.
Cc: mesa-stable
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28173 >
2024-03-14 16:18:13 +00:00
José Roberto de Souza
27ab5fcf9f
anv: Set VM control to true in Xe KMD
...
Xe KMD needs VMs to be created to work.
Setting this on Xe KMD code path allow us to simply a feature check
in init_queue_families().
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28161 >
2024-03-14 15:53:22 +00:00
José Roberto de Souza
c20388d617
anv: Set VK_QUEUE_PROTECTED_BIT during queue families initialization
...
Don't make sense to only set it in VkGetPhysicalDeviceQueueFamilyProperties2().
Not setting it to the code path without pdevice->engine_info because
the protected support landed on i915 after DRM_I915_QUERY_ENGINE_INFO.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28161 >
2024-03-14 15:53:22 +00:00
José Roberto de Souza
9102cb972a
anv: Replace the 2 sparse booleans by 1 enum
...
Having just one place to check the Sparse type is less error prone.
For example in i915 it was always setting sparse_uses_trtt to true
even if running in gfx 9 that don't support sparse.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28161 >
2024-03-14 15:53:22 +00:00
Rhys Perry
ec892c4d2b
aco: don't reuse misaligned attribute destination VGPRs in VS prologs
...
Since we split misaligned attributes, we could overwrite one of these
VGPRs in the middle of loading the attribute.
For example:
v_add_u32_e32 v4, vcc, s7, v1
s_waitcnt lgkmcnt(0)
buffer_load_dword v4, v4, s[32:35], 0 idxen
buffer_load_dword v5, v4, s[32:35], 0 idxen offset:4
can overwrite the vertex index in the load of the first component.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27920 >
2024-03-14 15:30:12 +00:00
Rhys Perry
df7024bcdd
radv,aco: allow VS prologs to increase VGPR usage
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27920 >
2024-03-14 15:30:12 +00:00
Samuel Pitoiset
1a20942f6a
radv: fix wave32 support with ESO
...
For example when RADV_PERFTEST=gewave32 is used, the vgt shader key
was incorrect.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28151 >
2024-03-14 14:56:45 +00:00
Samuel Pitoiset
e1c73db01c
radv: rework generating vgt_shader_key for pipelines
...
This new helper will also be used for ESO.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28151 >
2024-03-14 14:56:45 +00:00
Samuel Pitoiset
c6485f560d
radv: determine radv_vgt_shader_key::has_ngg_xxx with the last VGT shader
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28151 >
2024-03-14 14:56:44 +00:00
Samuel Pitoiset
9ccbd459c6
radv: fix determining if PrimId is used for merged shaders compiled separately
...
For ESO when TES and GS are compiled separately,
BREAK_WAVE_AT_EOI/IA_SWITCH_ON_EOI must be enabled if the GS uses
PrimID.
This fixes
tests/spec/arb_tessellation_shader/execution/gs-primitiveid-instanced.shader_test
on RDNA2 when shader object is enabled with Zink.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28149 >
2024-03-14 14:34:19 +00:00
Guilherme Gallo
e052e30b29
r300/ci: Update xfiles based on nightly run
...
Refer to:
- https://gitlab.freedesktop.org/mesa/mesa/-/pipelines/1125483
- https://gitlab.freedesktop.org/mesa/mesa/-/jobs/56164946
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28145 >
2024-03-14 13:53:45 +00:00
Guilherme Gallo
3d45451fb4
etnaviv/ci: Update xfiles based on nightly run
...
Refer to:
- https://gitlab.freedesktop.org/mesa/mesa/-/pipelines/1125483
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28145 >
2024-03-14 13:53:45 +00:00
Guilherme Gallo
7d9ba366d4
freedreno/ci: Update xfiles based on nightly run
...
Refer to:
- https://gitlab.freedesktop.org/mesa/mesa/-/pipelines/1125483
- https://gitlab.freedesktop.org/mesa/mesa/-/jobs/56164985
- https://gitlab.freedesktop.org/mesa/mesa/-/jobs/56164987
- https://gitlab.freedesktop.org/mesa/mesa/-/jobs/56164988
- https://gitlab.freedesktop.org/mesa/mesa/-/jobs/56164989
- https://gitlab.freedesktop.org/mesa/mesa/-/jobs/56164989
- https://gitlab.freedesktop.org/mesa/mesa/-/jobs/56164990
- https://gitlab.freedesktop.org/mesa/mesa/-/jobs/56164990
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28145 >
2024-03-14 13:53:45 +00:00
Guilherme Gallo
c6b65ac639
v3d/ci: Update xfiles based on nightly run
...
Refer to:
- https://gitlab.freedesktop.org/mesa/mesa/-/pipelines/1125483
- https://gitlab.freedesktop.org/mesa/mesa/-/jobs/56164970
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28145 >
2024-03-14 13:53:45 +00:00
Guilherme Gallo
4350c7cb30
radv/ci: Update xfiles based on nightly run
...
Refer to:
- https://gitlab.freedesktop.org/mesa/mesa/-/pipelines/1125483
- https://gitlab.freedesktop.org/mesa/mesa/-/jobs/56167363
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28145 >
2024-03-14 13:53:45 +00:00
Guilherme Gallo
697a5a7b91
radv+zink/ci: Update xfiles based on nightly run
...
Refer to: https://gitlab.freedesktop.org/mesa/mesa/-/jobs/56164998
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28145 >
2024-03-14 13:53:45 +00:00
Mike Blumenkrantz
0f5b0dbc25
zink: handle image_deref_samples when stripping MS image instrs
...
fixes #10812
Fixes: 660671d462b ("zink: add a pass to strip out multisample storage image ops")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28160 >
2024-03-14 13:17:45 +00:00
Mike Blumenkrantz
b46479d443
zink: don't deref swapchain image array with UINT32_MAX
...
this indicates an unacquired swapchain
Fixes: 8fb83c0935 ("zink: only update swapchain readback cache on create if necessary")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28160 >
2024-03-14 13:17:45 +00:00
Boris Brezillon
9f2b23dd85
panvk: Get rid of fields we already have in vk_xxx objects
...
There's no point adding our own pointer when the base vk_xxx object
already provides a way to get back to the parent. Replace those
fields by _get_xxx() helpers.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104 >
2024-03-14 11:32:39 +01:00
Boris Brezillon
d5ed77800e
panvk: Fix GetPhysicalDeviceProperties2() to report accurate info
...
Fix GetPhysicalDeviceProperties2 to report accurate information, and
add comment explaining the reasoning behind the new limits.
While at it, stop using the MAX_xxx definitions since some of them
will be per-gen, and this file is not.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104 >
2024-03-14 11:32:33 +01:00
Boris Brezillon
783172add3
panvk: Make panvk_sampler inherit from vk_sampler
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104 >
2024-03-14 10:26:13 +01:00
Boris Brezillon
203f1a35a7
panvk: Implement {Map,Unmap}Memory2KHR
...
The core provides wrappers for {Map,Unmpa}Memory().
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104 >
2024-03-14 10:26:13 +01:00
Boris Brezillon
d9c0c728a2
panvk: Add extra checks to panvk_MapMemory()
...
While at it, add error messages to the existing error paths.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104 >
2024-03-14 10:26:13 +01:00
Boris Brezillon
88930cd95d
panvk: Make pan_AllocateMemory() robust to errors
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104 >
2024-03-14 10:26:13 +01:00
Boris Brezillon
db1fde16d7
panvk: Make panvk_device_memory inherit from vk_device_memory
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104 >
2024-03-14 10:26:13 +01:00
Boris Brezillon
4dc5613be6
panvk: Make panvk_buffer_view inherit from vk_buffer_view
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104 >
2024-03-14 10:26:13 +01:00
Boris Brezillon
567324749c
panvk: Get rid of panvk_pipeline_cache
...
We use the vk runtime stubs.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104 >
2024-03-14 10:26:13 +01:00
Boris Brezillon
e7b68cdef1
panvk: Drop panvk_framebuffer
...
vk_framebuffer provides exactly the same thing, so let the core
implement the VkFramebuffer entry points for us.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104 >
2024-03-14 10:26:13 +01:00
Boris Brezillon
39204afde1
panvk: Kill panvk_{Create,Destroy}SamplerYcbcrConversion()
...
The vk runtime provides a default implementation, drop the stubs we
had.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104 >
2024-03-14 10:26:13 +01:00
Boris Brezillon
d2e6dbf0f6
panvk: Get rid of unused panvk_cmd_buffer fields
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104 >
2024-03-14 10:26:13 +01:00
Boris Brezillon
b91c8543c0
panvk: Don't pass a device where we don't need one
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104 >
2024-03-14 10:26:13 +01:00
Boris Brezillon
cab8f19361
panvk: Allocate descriptor set arrays using vk_multialloc_zalloc()
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104 >
2024-03-14 10:26:13 +01:00
Boris Brezillon
1f69f99b2c
panvk: s/panvk_event_op/panvk_cmd_event_op/
...
Make sure the object name reflects the fact this object is related
to vkCmdEvent not vkEvent.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104 >
2024-03-14 09:51:41 +01:00
Boris Brezillon
b59d2a5137
panvk: Don't allocate a TEXTURE descriptor in CreateImageView()
...
The texture descriptor is stored in a CPU-only template that gets copied
to the descriptor set. No need to reserve space in the texture payload
BO.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104 >
2024-03-14 09:51:41 +01:00
Boris Brezillon
40c1d0d322
panvk: Don't open-code panvk_cmd_open_batch() in CmdBeginRenderPass2()
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104 >
2024-03-14 09:51:41 +01:00
Boris Brezillon
c4f7aa549c
panvk: Add missing util_dynarray_init() in panvk_cmd_open_batch()
...
Doesn't make a difference in practice, because we are allocating with
zalloc, but let's explicitly call util_dynarray_init() for correctness.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104 >
2024-03-14 09:51:41 +01:00
Boris Brezillon
c73e2f984c
panvk: Fix allocation scope of command buffer sub-objects
...
SCOPE_COMMAND means the allocation last only for the vkXxx call. Both
batches and clear values live longer than that.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104 >
2024-03-14 09:51:41 +01:00
Boris Brezillon
ff9c47f463
panvk: Get rid of the custom device lost handling
...
No panvk_device_set_lost() users yet, and if we start reporting
device-lost events, we will use vk_device_set_lost() directly.
Replace the only call to panvk_device_is_lost() by a vk_device_is_lost()
call.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104 >
2024-03-14 09:51:41 +01:00
Boris Brezillon
3aa02232a5
panvk: Get rid of unused panvk_image_get_plane_size() helper
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104 >
2024-03-14 09:51:41 +01:00
Boris Brezillon
ac61d6d0c0
panvk: Do not handle invalid NULL memory object in BindImageMemory2()
...
VkDeviceMemory objects passed to BindImageMemory2() are not allowed to
bu VK_NULL_HANDLE, so let's drop the if (mem) test and assert()
instead.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104 >
2024-03-14 09:51:41 +01:00
Boris Brezillon
b7d30f10f9
panvk: Add VKAPI_{ATTR,CALL} specifiers to all panvk-specific entrypoints
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104 >
2024-03-14 09:51:41 +01:00
Boris Brezillon
0136e8aec9
panvk: Kill the panvk_pack_color() prototype
...
The implementation was removed in 62e902101b ("panvk: Use
pan_pack_color").
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104 >
2024-03-14 09:51:41 +01:00
Boris Brezillon
43bb5acf26
panvk: clang-format the source files
...
We recently stopped enforcing clang-format in CI, but we still want to
be able to use it on new changes without pulling unrelated formatting
changes. Let's run it one more time to fix the existing formatting
issues.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104 >
2024-03-14 09:51:41 +01:00
Boris Brezillon
2d2820349a
panvk: Fix call ordering in panvk_DestroyDevice()
...
Destroy the decode context when all private BOs attached to the device
have been destroyed, otherwise we a have use-after-free situation when
panvk_priv_bo_destroy() calls pandecode_inject_mmap().
Fixes: 211aa20194 ("panvk: Move away from panfrost_{bo,device}")
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104 >
2024-03-14 09:51:41 +01:00
Jordan Justen
ce900dcbb1
intel/dev: Add ATS-M PCI ID for Data Center GPU Flex 170G
...
Ref: bspec 44477
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28141 >
2024-03-14 08:01:56 +00:00
Jordan Justen
59e0c38427
intel/dev: Adjust device strings for ATS-M devices
...
Ref: https://ark.intel.com/content/www/us/en/ark/products/230020/intel-data-center-gpu-flex-140.html
Ref: https://ark.intel.com/content/www/us/en/ark/products/230019/intel-data-center-gpu-flex-170.html
Ref: e00230a6c2/shared/source/dll/devices/devices_base.inl (L58-L59)
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28141 >
2024-03-14 08:01:56 +00:00
Eric Engestrom
9b6d6c1d2d
docs: add sha256sum for 24.0.3
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28163 >
2024-03-14 01:08:02 +00:00
Eric Engestrom
c0a40e724b
docs: add release notes for 24.0.3
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28163 >
2024-03-14 01:08:02 +00:00
Faith Ekstrand
7604697ec6
nvk: Implement shaderStorageImageMultisample
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9660
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28159 >
2024-03-13 23:49:12 +00:00
Faith Ekstrand
357720c5a7
nvk: Use different descriptor layouts for storage vs. sampled images
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28159 >
2024-03-13 23:49:12 +00:00
Faith Ekstrand
86a462fb96
nvk: Stop pretending to handle Intel image intrinsics
...
This is probably just a copy+paste from ANV when I wrote the descriptor
code. There's no actual point to pretending to do anything with these.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28159 >
2024-03-13 23:49:12 +00:00
Faith Ekstrand
bd9836a0b8
nvk: Use a HW generation names instead of chipsets
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28159 >
2024-03-13 23:49:12 +00:00
Faith Ekstrand
be1ef1a8d8
nil: Expose nil_pix_extent_sa()
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28159 >
2024-03-13 23:49:11 +00:00
Faith Ekstrand
418f8be9ea
nil: Add a helper to view a MSAA image as samples
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28159 >
2024-03-13 23:49:11 +00:00
Faith Ekstrand
ed6fd25a62
nil: Add support for larger textures on Pascal+
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28159 >
2024-03-13 23:49:11 +00:00
Faith Ekstrand
c3177e4fc2
nil: Whitespace fix
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28159 >
2024-03-13 23:49:11 +00:00
Valentine Burley
72e1a57752
nvk: Reorder device features
...
Sort device features by KHR, EXT, vendor and then alphabetically within that.
Signed-off-by: Valentine Burley <valentine.burley@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28094 >
2024-03-13 23:30:46 +00:00
Valentine Burley
94622ae491
nvk: Advertise VK_KHR_vertex_attribute_divisor
...
This is a promotion from the EXT, except the new property
supportsNonZeroFirstInstance which is already supported.
Signed-off-by: Valentine Burley <valentine.burley@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28094 >
2024-03-13 23:30:46 +00:00
Dave Airlie
133c73da85
nvk: enable a mappable bar heap when rebar is disabled.
...
Now that we've resolved the kernel side issues, this should be fine
to expose on non-rebar systems.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28144 >
2024-03-13 23:13:40 +00:00
Pavel Ondračka
647a2d1f6b
r300/ci: enable nine tests
...
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Reviewed-by: David Heidelberg <david@ixit.cz >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27434 >
2024-03-13 22:31:26 +00:00
Pavel Ondračka
98b36e02b9
ci: build nine tests
...
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Reviewed-by: David Heidelberg <david@ixit.cz >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27434 >
2024-03-13 22:31:26 +00:00
Pavel Ondračka
96640b142e
ci: build nine in debian-testing
...
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Reviewed-by: David Heidelberg <david@ixit.cz >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27434 >
2024-03-13 22:31:26 +00:00
Pavel Ondračka
da28579633
ci: install xwayland in x86_64_test-gl
...
X is needed for the incoming nine tests.
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Reviewed-by: David Heidelberg <david@ixit.cz >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27434 >
2024-03-13 22:31:26 +00:00
David Heidelberg
13812cc91d
ci: reduce irrelevant output to a simple list of libraries
...
Fixes: 90b6f84c5e ("ci: when specifying a driver remove all other ones")
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28048 >
2024-03-13 22:28:34 +01:00
David Heidelberg
045bc86ac9
ci/freedreno: mark fails resolved by "drm/msm/gem: Add metadata uapi"
...
This fails can be resolved by:
- using https://patchwork.freedesktop.org/series/126031/ patchset on
top of 6.6 (in our case)
- using 6.8 or later kernel
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28048 >
2024-03-13 21:43:17 +01:00
David Heidelberg
f1680f58b1
ci/freedreno: disable workarounds for Adreno 618, 630, and 660
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28048 >
2024-03-13 21:42:59 +01:00
David Heidelberg
ab690f25e8
ci: uprev kernel to 6.6.21
...
Including new https://patchwork.freedesktop.org/series/126031/ from 6.8
to get rid of spammed logs with:
```
TU: warning: Failed to set BO metadata with DRM_MSM_GEM_INFO: -22
```
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28048 >
2024-03-13 21:25:05 +01:00
Yiwei Zhang
e0da118ab1
anv/hasvk: default image_read_without_format to true
...
The spv cap has the correct requirements to be satisfied before an app
can use it, so we can drop the redundant check here to be more robust.
Either of below is needed:
- VkPhysicalDeviceFeatures::shaderStorageImageReadWithoutFormat
- VK_VERSION_1_3
- VK_KHR_format_feature_flags2
v2: dropped unused variable
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com > (v1)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28117 >
2024-03-13 19:29:04 +00:00
David Heidelberg
9c770f06c6
nine: drop useless and a bit too long line
...
Acked-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: lorn10 <kle@bluewin.ch >
Signed-off-by: David Heidelberg <david@ixit.cz >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27971 >
2024-03-13 18:58:15 +00:00
David Heidelberg
5b6a4b1c79
nine: fill missing licenses headers and copyrights
...
Acked-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: lorn10 <kle@bluewin.ch >
Signed-off-by: David Heidelberg <david@ixit.cz >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27971 >
2024-03-13 18:58:14 +00:00
David Heidelberg
81d3de71cd
nine: convert licenses block to SPDX
...
Convert licensing information using ISO/IEC 5962:2021 to SPDX format.
Acked-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: lorn10 <kle@bluewin.ch >
Signed-off-by: David Heidelberg <david@ixit.cz >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27971 >
2024-03-13 18:58:14 +00:00
Valentine Burley
ac5d529c65
nvk: Enable VK_KHR_shader_subgroup_uniform_control_flow
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9622
Signed-off-by: Valentine Burley <valentine.burley@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28033 >
2024-03-13 18:40:17 +00:00
David Tobolik
376d1e6667
rusticl: implement cl_khr_suggested_local_work_size
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28020 >
2024-03-13 17:59:09 +00:00
José Roberto de Souza
de94d98940
iris: Set BO_ALLOC_NO_SUBALLOC when allocating bo for slab
...
Without setting BO_ALLOC_NO_SUBALLOC iris_bo_alloc() will attempt to
get bo from slabs again.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27734 >
2024-03-13 16:02:46 +00:00
Karol Herbst
4f165117dc
nouveau/drm: remove nouveau_client::id
...
No idea what was the original purpose, but in the imported code we don't
need any of that.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27853 >
2024-03-13 15:21:08 +00:00
Karol Herbst
9583fb8d00
nouveau/drm: drop unsued chan argument from nouveau_pushbuf_kick
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27853 >
2024-03-13 15:21:08 +00:00
Karol Herbst
2101c9f2ac
nouveau/drm: rely on nouveau_pushbuf::channel being always set
...
Now with the immediate flag being removed, we can rely on this and drop
some code.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27853 >
2024-03-13 15:21:07 +00:00
Karol Herbst
a28cd6b1de
nouveau/drm: drop immediate parameter from nouveau_pushbuf_new
...
It was always set to true.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27853 >
2024-03-13 15:21:07 +00:00
Karol Herbst
1a4c2cba95
nouveau: call glsl_type_singleton_init_or_ref earlier
...
Fixes: 91029b7e87 ("nouveau: take glsl_type ref unconditionally")
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27853 >
2024-03-13 15:21:07 +00:00
Karol Herbst
821f4c8d99
nouveau: import libdrm_nouveau
...
Most of the code is copied as is, but there are a couple of changes:
- drop pre nvif code
- nouveau_list -> list_head
- pthread_mutex_t -> simple_mtx_t
- nvif_unwrap removed
- no assignments in if statements
- nouveau_object_mthd -> nouveau_device_info
- reworked object allocation UAPI calls
Most of the reworked code was copied from NVK or a previous version of it
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27853 >
2024-03-13 15:21:07 +00:00
Karol Herbst
a62fba6b62
nvk: use c.get_supported_arguments for compiler flags
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27853 >
2024-03-13 15:21:07 +00:00
Karol Herbst
c398bc5909
drm-uapi: Sync nouveau_drm.h
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27853 >
2024-03-13 15:21:07 +00:00
Lionel Landwerlin
b7719a9ed8
intel/fs: remove some unused send helpers
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28152 >
2024-03-13 14:37:48 +00:00
Erik Faye-Lund
0eaf7cca35
mesa: prefer read-format of RG for snorm
...
There's no good reason we want to read RGBA for SNORM RB textures. Let's
correct the preferred read-format here.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28120 >
2024-03-13 10:19:33 +00:00
Corentin Noël
c9e66df39f
zink: Add error logging on surface creation failure
...
Allows to differenciate which step has failed from the log message.
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28025 >
2024-03-13 09:26:31 +00:00
Corentin Noël
28854743dc
zink: Change zink_get_surface to return a zink_surface
...
Allows to avoid systematic casting of its return value.
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28025 >
2024-03-13 09:26:31 +00:00
Corentin Noël
207db01829
zink: Make sure to not leak anything on surface creation failure
...
Change wrap_surface to always take the ownership of the wrapped surface and
always check for an allocated value to make sure to not crash here.
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28025 >
2024-03-13 09:26:31 +00:00
Corentin Noël
948695e1a4
zink: Move zink_surface_destroy before zink_create_surface
...
This will allow to reuse it inside zink_create_surface.
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28025 >
2024-03-13 09:26:30 +00:00
Corentin Noël
27bde4b420
zink: Return early if the source could not have been acquired
...
Make the success case the main one.
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28025 >
2024-03-13 09:26:30 +00:00
Corentin Noël
2c22e78619
zink: Separate the template from the wrapped surface
...
Allow to better understand the case when needs_mutable is true, differenciate
`base` from `surf` even if they are the same variable in most cases.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28025 >
2024-03-13 09:26:30 +00:00
Corentin Noël
55cdde758c
zink: Use an intermediary variable for create_surface
...
Allows to NULL-check it afterwards.
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28025 >
2024-03-13 09:26:30 +00:00
Corentin Noël
faaa65a1a3
zink: Make wrap_surface return a zink_ctx_surface directly
...
Avoids to cast if back to zink_ctx_surface afterwards.
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28025 >
2024-03-13 09:26:30 +00:00
Lionel Landwerlin
2a77a46837
anv: return unsupported for FSR images on Gfx12.0
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28131 >
2024-03-13 08:52:24 +02:00
Caio Oliveira
e324fbbe68
intel/brw: Fix validation of accumulator register
...
The `stride` and `offset` attributes are meaningful for the "virtual"
register files (VGRFs, UNIFORMs and ATTRs). Accumulator is an ARF so
validation should check `hstride` (part of the <V,W,H> triple) and `subnr`
instead.
Fixes: 12d7aaf2b8 ("intel/compiler: add more validation for acc register usage")
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28059 >
2024-03-13 03:23:30 +00:00
Caio Oliveira
db8022dc4d
intel/brw: Use helper to create accumulator register
...
This ensure the region triple <V,W,H> is set correctly, in this case the
desired region is a sequential like <8,8,1>. Without the helper the
sequence we get is <0,1,0> -- which the generator currently partially
adjusts when emitting code, but is not sufficient when doing validation
earlier.
The code generated code is slightly modified. From crucible test
func.shader.subtractSaturate.uint in the fragment shader for SIMD8, the
diff looks like
```
mov(8) acc0<1>UD g21<8,8,1>UD { align1 1Q $0.dst };
-add.sat(8) g22<1>UD -acc0<0,1,0>UD g16<8,8,1>UD { align1 1Q @1 $0.dst };
+add.sat(8) g22<1>UD -acc0<8,8,1>UD g16<8,8,1>UD { align1 1Q @1 $0.dst };
```
Note that without the patch generator adjusted the hstride for acc0 used
as destination (see brw_set_dest), but kept the src region as is. For
the source, it is not clear to me why the <0,1,0> would work correctly
here since it is a scalar, but using <8,8,1> it is correct.
Fixes: 58907568ec ("intel/fs: Add SHADER_OPCODE_[IU]SUB_SAT pseudo-ops")
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28059 >
2024-03-13 03:23:30 +00:00
Mike Blumenkrantz
90cf8d14d6
zink: add a pass to strip out multisample storage image ops
...
ARB_shader_image_load_store requires that drivers can compile shaders
containing these tokens, but it doesn't require that they can execute
them. thus, deleting the multisample component is fine since these
shaders will never be executed
affects/fixes:
KHR-GL46.gl_spirv.spirv_validation_capabilities_test
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28078 >
2024-03-13 03:03:24 +00:00
Mike Blumenkrantz
3f122761a1
zink: remove stale comments for DRLR usage
...
EXT_dynamic_rendering_local_read has arrived to rescue us from renderpasses
once and for all, so this is no longer necessary
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28017 >
2024-03-13 02:42:38 +00:00
Mike Blumenkrantz
e7e55dcfaf
zink: be even stricter with shader object usage about blocking invalid usage
...
in some cases (e.g., ZINK_DEBUG=noopt), this will still need to compile a
full pipeline in order to provide valid behavior
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28017 >
2024-03-13 02:42:38 +00:00
Mike Blumenkrantz
485b4d9abe
zink: add even more strict checks for separate shader usage
...
this blocks e.g., shader object usage with sample shading which
cannot be used with current vk spec
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28017 >
2024-03-13 02:42:38 +00:00
Mike Blumenkrantz
5910ce4b86
zink: always sync and replace separable progs even with ZINK_DEBUG=noopt
...
this otherwise breaks when shader variants are needed and aren't created
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28017 >
2024-03-13 02:42:38 +00:00
Mike Blumenkrantz
460c7eeecb
zink: use the sanitized key in update_gfx_program_optimal()
...
this otherwise pulls in unused state values that are otherwise
sanitized away
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28017 >
2024-03-13 02:42:38 +00:00
Mike Blumenkrantz
daf2f4a583
zink: rename optimal_key in update_gfx_program_optimal()
...
no functional changes
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28017 >
2024-03-13 02:42:37 +00:00
Lynne
ee476f3eda
radv/av1: limit profile and bit depth to supported values
...
Same as with other codecs.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28143 >
2024-03-13 02:20:59 +00:00
Paulo Zanoni
18df1a81a8
anv/trtt: update GFX_TRTT_VA_RANGE for LNL
...
This register has changed a little bit for LNL.
While this fixes sparse with TR-TT, it is worth remembering that LNL
is using sparse with vm_bind by default.
v2: Use the proper value instead of hardcoding 0xF (Lionel).
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27316 >
2024-03-13 01:50:35 +00:00
Jordan Justen
f0769f5d8a
intel/compiler: Adjust fs_visitor::emit_cs_terminate() for Xe2
...
Fixes: 97bf3d3b2d ("intel/brw: Replace CS_OPCODE_CS_TERMINATE with SHADER_OPCODE_SEND")
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28110 >
2024-03-13 00:25:55 +00:00
Eric R. Smith
caabd41cd1
panfrost: make sure blends always have 4 components
...
bi_emit_blend_op has a hardcoded assumption that 4 components were used
for blending. This causes validation errors in some situations where
fewer components were actually used, because the number of staging
registers did not match the number of registers in the actual input.
Fix this by extending the source to 4 components.
Signed-off-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28057 >
2024-03-12 23:38:04 +00:00
Eric R. Smith
b2cedf5b56
panfrost: make drm-shim work again for panfrost
...
The new panthor support needs some additional ioctl() calls. Added some
defaults for these to drm-shim, so that we can use drm-shim again for
testing shaders.
Signed-off-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28132 >
2024-03-12 23:23:17 +00:00
Marek Olšák
02b6f4ef6b
radeonsi: don't test so many wave limits for AMD_TEST=testdmaperf
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28119 >
2024-03-12 23:00:00 +00:00
Marek Olšák
e99765df08
radeonsi: fix the DMA compute shader
...
It was correct for the parameters that the driver was using, but incorrect
for other parameters.
1. The address computation must multiply the workgroup size (wave size)
by num_mem_ops to fix the case when num_dwords_per_thread > 4.
2. nir_load_ssbo shouldn't set the number of components to 4 when
num_dwords_per_thread < 4.
Fixes: 6584088cd5 - radeonsi: "create_dma_compute" shader in nir
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28119 >
2024-03-12 23:00:00 +00:00
Marek Olšák
e589833ee1
ac/llvm: fix SSBO bounds checking by using raw instead of struct opcodes
...
Setting vindex != NULL (even if it's 0) selects a struct.buffer.load opcode,
which causes LLVM to look for "index * stride + offset" in voffset and
moves "index" to vindex (i.e. not 0 anymore), but the bounds checking
(OOB_SELECT) is set to ignore vindex. Setting vindex = NULL selects
a raw.buffer.load opcode.
Fixes: 6b573c00c9 - ac/nir: use ac_build_buffer_load() for SSBO load operations
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10794
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28119 >
2024-03-12 23:00:00 +00:00
José Roberto de Souza
31920cb60c
intel: Enable Xe KMD support by default
...
Xe KMD landed on drm-next, uAPI is now stable and we can remove
the build time parameter to enable support to it but platforms
older than Lunar lake will have experimental support with Xe KMD.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20418 >
2024-03-12 22:22:50 +00:00
Kenneth Graunke
97aec40111
intel/brw: Emit better code for read_invocation(x, constant)
...
For something as basic as read_invocation(x, 0), we were emitting:
mov(8) vgrf67:D, 0d
find_live_channel(8) vgrf236:UD, NoMask
broadcast(8) vgrf237:D, vgrf67:D, vgrf236+0.0<0>:UD NoMask
broadcast(8) vgrf235+0.0:W, vgrf197+0.0:W, vgrf237+0.0<0>:D NoMask
mov(8) vgrf234+0.0:W, vgrf235+0.0<0>:W
This is way overcomplicated - if the invocation is a constant, we can
simply emit a single MOV which reads the desired channel index. Not
only that, but it's difficult to clean up:
1. If this expression appears multiple times, CSE will find all the
redundant emit_uniformize(invocation) and get rid of the duplicate
(find_live_channel+broadcast) on future instructions.
2. Copy propagation will put the 0d directly in the first broadcast.
3. Dead code elimination will get rid of the vgrf67 temp holding 0.
4. Algebraic will replace the first broadcast(x, 0) with a MOV.
5. Copy propagation will put the 0d directly in the second broadcast.
6. Dead code elimination will get rid of the vgrf237 temp.
7. Algebraic will replace the second broadcast(x, 0) with a MOV.
8. Copy propagation will finally combine the two MOVs
That's at least 7-8 optimization passes and several loops through the
same passes just to clean up something we can do trivially.
Cuts 25% of the of the optimizer steps in pipeline 22200210259a2c9c
of fossil-db/google-meet-clvk/BgBlur.1f58fdf742c27594.1 (31 to 23).
Shortens compilation time of the google-meet-clvk/Relight pipeline by
-2.87717% +/- 0.509162% (n=150).
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28097 >
2024-03-12 21:58:27 +00:00
Ian Romanick
e87881f616
intel/brw: Avoid a silly add with zero in assign_curb_setup
...
No shader-db changes.
fossil-db:
DG2
Totals:
Instrs: 161008251 -> 161004452 (-0.00%)
Cycles: 13894249509 -> 13893050101 (-0.01%); split: -0.01%, +0.00%
Totals from 3804 (0.58% of 652145) affected shaders:
Instrs: 2232984 -> 2229185 (-0.17%)
Cycles: 7124966553 -> 7123767145 (-0.02%); split: -0.02%, +0.00%
No fossil-db changes on any other platform.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27552 >
2024-03-12 21:31:30 +00:00
Ian Romanick
d9674cbe7d
intel/brw: Combine constants for src0 of POW instructions too
...
I tried this when I was working on MR !7698 , and it didn't have much
affect back then. Maybe I've added more stuff to my fossil-db?
Gfx12 platforms (Tiger Lake and DG2) are unaffected because the POW
instruction was removed.
shader-db:
Ice Lake and Skylake had similar results. (Ice Lake shown)
total instructions in shared programs: 20301933 -> 20301900 (<.01%)
instructions in affected programs: 9077 -> 9044 (-0.36%)
helped: 33 / HURT: 0
total cycles in shared programs: 842797624 -> 842799471 (<.01%)
cycles in affected programs: 1361911 -> 1363758 (0.14%)
helped: 35 / HURT: 111
LOST: 0
GAINED: 9
fossil-db:
Ice Lake and Skylake had similar results. (Ice Lake shown)
Totals:
Instrs: 165510222 -> 165510163 (-0.00%)
Cycles: 15125195835 -> 15125194484 (-0.00%); split: -0.00%, +0.00%
Spill count: 45204 -> 45196 (-0.02%)
Fill count: 74157 -> 74149 (-0.01%)
Totals from 65 (0.01% of 656118) affected shaders:
Instrs: 57426 -> 57367 (-0.10%)
Cycles: 1667918 -> 1666567 (-0.08%); split: -0.11%, +0.03%
Spill count: 137 -> 129 (-5.84%)
Fill count: 515 -> 507 (-1.55%)
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27552 >
2024-03-12 21:31:30 +00:00
Ian Romanick
e7480f94c1
intel/brw: Combine constants for src0 of integer multiply too
...
The majority of cases that would have been affected by this actually
had both sources as integer constants. The earlier commit "intel/rt:
Don't directly generate umul_32x16" allowed those to be constant
folded.
v2: Move the a*-1 block to be near the existing a*-1 block.
No shader-db changes on any Intel platform.
fossil-db results:
All Intel platforms had similar results. (Ice Lake shown)
Totals:
Instrs: 165510246 -> 165510222 (-0.00%)
Cycles: 15125198238 -> 15125195835 (-0.00%); split: -0.00%, +0.00%
Totals from 46 (0.01% of 656118) affected shaders:
Instrs: 36010 -> 35986 (-0.07%)
Cycles: 2613658 -> 2611255 (-0.09%); split: -0.17%, +0.07%
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27552 >
2024-03-12 21:31:30 +00:00
Ian Romanick
dd3bed1d92
intel/brw: Integer multiply w/ DW and W sources is not commutative
...
The DW source must be first on all platforms since Gfx7. On previous
platforms it's the other way around.
Unsurprisingly, no shader-db or fossil-db changes. This change is
necessary for the next commit.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27552 >
2024-03-12 21:31:30 +00:00
Ian Romanick
93478c095e
intel/compiler: Enforce 64-bit RepCtrl restriction in eu_validate
...
For some reason, this wasn't always caught in fs_visitor::validate.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27552 >
2024-03-12 21:31:30 +00:00
Ian Romanick
31f640bc5f
intel/brw: Correctly dump subnr for FIXED_GRF in INTEL_DEBUG=optimizer
...
v2: Also update printing FIXED_GRF as destionation. Suggested by Lionel.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27552 >
2024-03-12 21:31:30 +00:00
Ian Romanick
f89d9cc53d
intel/brw: Silence "statement may fall through" warning
...
src/intel/compiler/brw_lower_logical_sends.cpp: In member function ‘bool fs_visitor::lower_logical_sends()’:
src/intel/compiler/brw_lower_logical_sends.cpp:3170:10: warning: this statement may fall through [-Wimplicit-fallthrough=]
3170 | if (devinfo->has_lsc) {
| ^~
src/intel/compiler/brw_lower_logical_sends.cpp:3174:7: note: here
3174 | case SHADER_OPCODE_DWORD_SCATTERED_READ_LOGICAL:
| ^~~~
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27552 >
2024-03-12 21:31:30 +00:00
Mike Blumenkrantz
c85768e380
zink: delete faked_e5sparse
...
this never actually worked, and I'm not sure why I added it from testing
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28115 >
2024-03-12 20:39:56 +00:00
Mike Blumenkrantz
8fa413fef0
zink: set the sparse format usage flags directly based on queried props
...
this should yield more consistent results and avoid weird cases where
various formats are queried for things they don't support and won't use
Fixes: 9a412c10b7 ("zink: set all usage flags when querying sparse features")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28115 >
2024-03-12 20:39:56 +00:00
Mike Blumenkrantz
ba2731941f
zink: nvk baseline updates
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28115 >
2024-03-12 20:39:56 +00:00
Mike Blumenkrantz
c248411907
zink: only add STORAGE bit for sparse images based on multisample usage
...
if the driver doesn't support multisample storage images, don't create them
Fixes: d320e8328d ("zink: set up image create bits for sparse textures")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28115 >
2024-03-12 20:39:56 +00:00
Mike Blumenkrantz
63f5a6cbe3
u/inlines: constify util_res_sample_count()
...
no functional changes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28115 >
2024-03-12 20:39:56 +00:00
Mike Blumenkrantz
61e5b6ad9d
zink: try getting sparse page size again without storage bit on fail
...
only certain formats are required to have the storage bit, so be more
tolerant of failure in the case where drivers actually check flags
and reject storage usage when it's actually unsupported
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28115 >
2024-03-12 20:39:56 +00:00
Mary Guillemard
80eac1337d
nvk: Always copy conditional rendering value before compare
...
The spec requires a compare on 32-bit but the hardware actually compare 64-bit.
As such, we are required to copy the value to a temporary buffer before
the compare.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Fixes: 8c25cd307a ("nvk: EXT_conditional_rendering")
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28106 >
2024-03-12 20:22:27 +00:00
Alyssa Rosenzweig
8a3e85776a
glsl_types: derive ht
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28056 >
2024-03-12 19:41:50 +00:00
Alyssa Rosenzweig
c29110ef99
v3d: derive ht
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28056 >
2024-03-12 19:41:49 +00:00
Alyssa Rosenzweig
2d32239b7a
radeonsi: derive ht
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28056 >
2024-03-12 19:41:49 +00:00
Alyssa Rosenzweig
3f287d100c
nvk: derive ht
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28056 >
2024-03-12 19:41:49 +00:00
Alyssa Rosenzweig
da59672e2b
asahi: derive ht
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28056 >
2024-03-12 19:41:49 +00:00
Alyssa Rosenzweig
be5c288dbf
panfrost: derive ht
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28056 >
2024-03-12 19:41:49 +00:00
Alyssa Rosenzweig
93879b1920
util/hash_table: add DERIVE macro
...
we typically use a hash table with a fixed struct key, but this requires tedious
boilerplate. add a macro that generates all the boilerplate for you so you can
just create a table and go.
naming inspired by Rust #![derive].
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28056 >
2024-03-12 19:41:49 +00:00
Alyssa Rosenzweig
49a89911c4
nir/print: do not print empty lists on intrinsics
...
before:
32 %0 = @load_vertex_id () ()
after:
32 %0 = @load_vertex_id
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27925 >
2024-03-12 19:00:26 +00:00
Alyssa Rosenzweig
ec9b6b5cfa
util: add _mesa_hash_table_u64_num_entries
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27925 >
2024-03-12 19:00:26 +00:00
Alyssa Rosenzweig
a6123a80da
nir/opt_shrink_vectors: shrink some intrinsics from start
...
If the backend supports it, intrinsics with a component() are straightforward to
shrink from the start. Notably helps vectorized I/O.
v2: add an option for this and enable only on grown up backends, because some
backends ignore the component() parameter.
RADV GFX11:
Totals from 921 (1.16% of 79439) affected shaders:
Instrs: 616558 -> 615529 (-0.17%); split: -0.30%, +0.14%
CodeSize: 3099864 -> 3095632 (-0.14%); split: -0.25%, +0.11%
Latency: 2177075 -> 2160966 (-0.74%); split: -0.79%, +0.05%
InvThroughput: 299997 -> 298664 (-0.44%); split: -0.47%, +0.02%
VClause: 16343 -> 16395 (+0.32%); split: -0.01%, +0.32%
SClause: 10715 -> 10714 (-0.01%)
Copies: 24736 -> 24701 (-0.14%); split: -0.37%, +0.23%
PreVGPRs: 30179 -> 30173 (-0.02%)
VALU: 353472 -> 353439 (-0.01%); split: -0.03%, +0.02%
SALU: 40323 -> 40322 (-0.00%)
VMEM: 25353 -> 25352 (-0.00%)
AGX:
total instructions in shared programs: 2038217 -> 2038049 (<.01%)
instructions in affected programs: 10249 -> 10081 (-1.64%)
total alu in shared programs: 1593094 -> 1592939 (<.01%)
alu in affected programs: 7145 -> 6990 (-2.17%)
total fscib in shared programs: 1589254 -> 1589102 (<.01%)
fscib in affected programs: 7217 -> 7065 (-2.11%)
total bytes in shared programs: 13975666 -> 13974722 (<.01%)
bytes in affected programs: 65942 -> 64998 (-1.43%)
total regs in shared programs: 592758 -> 591187 (-0.27%)
regs in affected programs: 6936 -> 5365 (-22.65%)
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev > (v1)
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28004 >
2024-03-12 18:17:17 +00:00
Alyssa Rosenzweig
aa99753a28
nir/opt_shrink_vectors: hoist alu helpers
...
to be used earlier in the file in the next commit
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28004 >
2024-03-12 18:17:17 +00:00
José Roberto de Souza
d1916432ab
intel/dev: Nuke display_ver
...
It is not used.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28128 >
2024-03-12 17:44:46 +00:00
José Roberto de Souza
b09ffe48f2
intel/dev: Nuke 'ver == 10' check
...
There is no intel_device_info with ver 10 anymore.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28128 >
2024-03-12 17:44:46 +00:00
Rhys Perry
a977a51a21
radv: stop using 5/8 component SSBO stores
...
These apparently work, but I'm not sure they were supposed to.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28108 >
2024-03-12 17:23:29 +00:00
Rhys Perry
cc7e3efc7c
radv: don't advertise DGC with LLVM
...
The meta shaders for this feature don't compile with LLVM because of 5/8
component SSBO stores. I'm not sure this was ever expected to work.
This seemed to break vkd3d-proton.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28108 >
2024-03-12 17:23:29 +00:00
Christian Gmeiner
3409c60099
etnaviv: isa: Support multiple encodings for texldb
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27871 >
2024-03-12 17:02:44 +00:00
Christian Gmeiner
20678b9204
etnaviv: isa: Fix #instruction-tex-src0-src1-src2 bitset
...
src1 got wrong values.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27871 >
2024-03-12 17:02:44 +00:00
Christian Gmeiner
ccc99bd42d
etnaviv: isa: Support multiple encodings for texldl
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27871 >
2024-03-12 17:02:44 +00:00
Christian Gmeiner
8d117b46ea
etnaviv: isa: Support unary texkill instruction
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27871 >
2024-03-12 17:02:44 +00:00
Christian Gmeiner
86de104d07
etnaviv: isa: Support unary branch instruction
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27871 >
2024-03-12 17:02:44 +00:00
Christian Gmeiner
0aa737018e
etnaviv: isa: Combine branch and branch_if
...
As we want to use the new asm as a drop-in replacement we
need to combine branch and branch_if back to one bitset.
This is caused by the fact that we need to replicate the defines
in isa.xml.h.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27871 >
2024-03-12 17:02:44 +00:00
Christian Gmeiner
48e1589b44
etnaviv: isa: Correct #instruction-alu-no-dst-has-src0-src1 expr name
...
This expression only checks if src0 and src1 are in use.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27871 >
2024-03-12 17:02:44 +00:00
Christian Gmeiner
10a7cf3121
etnaviv: isa: Correct #instruction-alu-no-dst-maybe-src1-src2 name
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27871 >
2024-03-12 17:02:44 +00:00
Christian Gmeiner
dfb2fcf652
etnaviv: isa: Correct #instruction-cf-src1-src2 bitset name
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27871 >
2024-03-12 17:02:44 +00:00
Christian Gmeiner
c2ffc7a09b
etnaviv: isa: Correct SRC0_AMODE
...
It is 3 bit long and not one.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27871 >
2024-03-12 17:02:44 +00:00
Christian Gmeiner
b1cbd35bb5
etnaviv: isa: Move {TEX_SWIZ}
...
Should have never been there.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27871 >
2024-03-12 17:02:44 +00:00
Christian Gmeiner
d8f6de7314
etnaviv: isa: Add movar opcode
...
I was unable to grab this opcode from blob, so lets just
document it as the Gallium driver makes use of it.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27871 >
2024-03-12 17:02:44 +00:00
Christian Gmeiner
e77fbe2bcc
etnaviv: isa: Add internal register group
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27871 >
2024-03-12 17:02:44 +00:00
Christian Gmeiner
f416bb3f8c
etnaviv: isa: Rename reg_group u2 to u
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27871 >
2024-03-12 17:02:44 +00:00
Christian Gmeiner
cf3fa2fd8c
etnaviv: isa: Reorder instructions
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27871 >
2024-03-12 17:02:44 +00:00
Christian Gmeiner
9c6378abec
etnaviv: isa: Add div opcode
...
Encoded instruction is taken from blob running the following CL kernel:
__kernel void simple(__global float *out, __global float *in)
{
int iGID = get_global_id(0);
out[iGID] = 4.5f / in[iGID];
}
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27871 >
2024-03-12 17:02:44 +00:00
Christian Gmeiner
e2a9bc73f5
etnaviv: isa: Remove note about GC3000
...
All the encoded instructions in the Opcodes test are comming
from blob running on different GPU models.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27871 >
2024-03-12 17:02:44 +00:00
Christian Gmeiner
fa3d2bc486
etnaviv: isa: Add texldd opcode
...
Encoded instruction is taken from blob running:
- dEQP-GLES3.functional.shaders.texture_functions.texturegrad.sampler2d_float_vertex
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27871 >
2024-03-12 17:02:44 +00:00
Christian Gmeiner
0701f3ef9b
etnaviv: isa: Add texldl opcode
...
Encoded instruction is taken from blob running:
- dEQP-GLES3.functional.shaders.texture_functions.texturegrad.isampler2d_vertex
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27871 >
2024-03-12 17:02:44 +00:00
Christian Gmeiner
8c86bd0209
etnaviv: isa: Add texldb opcode
...
Encoded instruction is taken from blob running:
- dEQP-GLES3.functional.texture.mipmap.2d.bias.linear_nearest
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27871 >
2024-03-12 17:02:44 +00:00
Christian Gmeiner
3c72596ebf
etnaviv: isa: Add bit_rev opcode
...
Encoded instruction is taken from blob running:
- dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse.int_lowp_vertex
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27871 >
2024-03-12 17:02:44 +00:00
Christian Gmeiner
2e2a0e8059
etnaviv: isa: Add movai opcode
...
Encoded instruction is taken from blob running:
- dEQP-GLES3.functional.shaders.struct.uniform.dynamic_loop_struct_array_fragment
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27871 >
2024-03-12 17:02:44 +00:00
Christian Gmeiner
73584cf46a
etnaviv: isa: Name cond enum value 22
...
Blob told me about it when running:
- dEQP-GLES3.functional.ubo.random.scalar_types.4
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27871 >
2024-03-12 17:02:44 +00:00
Christian Gmeiner
20022f5389
etnaviv: isa: Add branch_any opcode
...
Encoded instruction is taken from blob running:
- dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic.bvec3_api_int_both
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27871 >
2024-03-12 17:02:43 +00:00
Christian Gmeiner
6a71636179
etnaviv: isa: Correct dp2 opcode
...
Encoded instruction is taken from blob running:
- dEQP-GLES2.functional.shaders.operator.geometric.refract.highp_vec2_float_vertex
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27871 >
2024-03-12 17:02:43 +00:00
Christian Gmeiner
47106e0f80
etnaviv: isa: Add bit_extract opcode
...
Encoded instruction is taken from blob running:
- dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.int_lowp_vertex
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27871 >
2024-03-12 17:02:43 +00:00
Christian Gmeiner
3b4cbbf0d2
etnaviv: isa: Add norm_dp2, norm_dp3 and norm_dp4 opcodes
...
Encoded instructions are taken from blob running:
- dEQP-GLES2.functional.shaders.operator.geometric.normalize.mediump_vec2_vertex
- dEQP-GLES2.functional.shaders.operator.geometric.normalize.mediump_vec3_vertex
- dEQP-GLES2.functional.shaders.operator.geometric.normalize.mediump_vec4_vertex
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27871 >
2024-03-12 17:02:43 +00:00
Christian Gmeiner
4cd779af3f
etnaviv: isa: Add frc opcode
...
Encoded instruction is taken from blob running:
- dEQP-GLES2.functional.shaders.operator.common_functions.fract.mediump_vec4_vertex
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27871 >
2024-03-12 17:02:43 +00:00
Christian Gmeiner
ede0008c16
etnaviv: isa: Add dsx and dsy opcodes
...
Encoded instructions are taken from blob running:
- dEQP-GLES3.functional.shaders.derivate.dfdx.texture.basic.float_highp
- dEQP-GLES3.functional.shaders.derivate.dfdy.texture.basic.float_highp
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27871 >
2024-03-12 17:02:43 +00:00
Christian Gmeiner
031c2c26df
etnaviv: isa: Remove duplicate #instruction-alu-atomic
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27871 >
2024-03-12 17:02:43 +00:00
Mike Blumenkrantz
0f66589c2a
mesa: force rendertarget usage on required-renderable formats
...
the existing guesswork during format selection for teximage is
accurate most of the time, but it's not accurate all of the time.
GL/ES each have a set of sized formats that are required to be
color renderable, and so any time one of these is allocated as a
texture, it MUST have the rendertarget usage bit attached so that
it can later be bound as a framebuffer attachment
an alternative might be to relax this and then try to do migration
to a different format/buffer later if necessary, but that's hard and
probably not actually as useful
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28055 >
2024-03-12 14:22:17 +00:00
Erik Faye-Lund
d7def3ccdf
panfrost: add pan_force_afbc_packing driconf
...
This is useful for forcing AFBC-P to be used in applications where it's
know to work well. This can significantly reduce memory consumption and
bandwidth, leading more applications working in the first place, and
also better performance.
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27916 >
2024-03-12 12:44:49 +00:00
Erik Faye-Lund
2bcdc4939c
panfrost: add driconf infrastructure
...
This is the boiler-plate code needed to support driver-specific driconf
variables in Panfrost.
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27916 >
2024-03-12 12:44:49 +00:00
Erik Faye-Lund
d861bd1563
panfrost: give afbc-packing its own flag
...
There's no point in querying this over and over again for each
resource, especially not when this test is about to become more
complicated. So let's give this its own flag.
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27916 >
2024-03-12 12:44:49 +00:00
Karol Herbst
7487ac2046
rusticl/device: support query_memory_info to retrieve available memory
...
Some drivers implement query_memory_info, but not the MAX_GLOBAL_SIZE
compute cap.
Long term we should drop the compute cap anyway.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28122 >
2024-03-12 12:24:31 +00:00
Karol Herbst
2df640c4f6
rusticl/kernel: assign sampler locations before DCEing variables
...
This fixes an issue hit by one of darktable's kernels, where the sampler
argument got assigned the location of a dead kernel parameter turning it
into a zombie and leading us to trash the kernel input buffer's layout.
Fixes: 25b8a34b48 ("rusticl/kernel: inline samplers")
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28121 >
2024-03-12 11:30:48 +01:00
Tapani Pälli
493d5764e3
iris: setup distribution granularity with Wa_14019166699
...
Workaround describes that we need to set instance level distribution
granularity when primitive id is used by the draw.
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27955 >
2024-03-12 09:25:32 +00:00
Tapani Pälli
da3d5d1064
iris: refactor function that checks primitive id usage
...
We will need this for another workaround, make it more generic.
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27955 >
2024-03-12 09:25:32 +00:00
Tapani Pälli
275bcbd7a7
anv: setup distribution granularity with Wa_14019166699
...
Workaround describes that we need to set instance level distribution
granularity when primitive id is used by the draw.
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27955 >
2024-03-12 09:25:32 +00:00
Lionel Landwerlin
75c6ad9907
intel/fs: fixup sampler header message
...
If you look at the sampler message header on Gfx9+, you'll see that we
mostly only use 2 dwords (dw2 & dw3). DW2 has a bunch of sampler
parameters, DW3 is the sampler handle.
On Gfx9 we can micro optimize by copying r0 into the header because
the HW mostly doesn't care about other DWs. We just have to clear dw2
on non VS/FS stages.
On Gfx11+, we always have to do a careful copy of the r0.3 bits to
mask out the bottom unrelated bits. So there, just clearing the entire
header makes more sense.
On Xe2+, the dw4 of the header references the sampler feedback surface
handle and bit0 is a boolean to know whether to use that surface or
not. So it *REALLY* matters to have that as 0. If we copy r0, we'll
get random bits in dw4, leading to enable that surface.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28082 >
2024-03-12 07:25:45 +00:00
Hyunjun Ko
db8eaa3620
anv/video: fix scan order for scaling lists on H265 decoding.
...
The default scan order of scaling lists is up-right-diagonal
according to the spec. But the device requires raster order,
so we need to convert from the passed scaling lists.
Fixes: 8d519eb ("anv: add initial video decode support for h265")
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28063 >
2024-03-12 03:33:49 +00:00
Timothy Arceri
182bff5c05
glsl: remove unrequired do_lower_jumps() call
...
We were using this to remove unreachable instructions following
jumps. The previous patch allowed glsl to nir to handle these
instructions so this call is no longer needed.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27288 >
2024-03-12 01:43:03 +00:00
Timothy Arceri
1391bc3721
glsl_to_nir: never convert instructions after jump
...
Unlike in GLSL IR it is illegal to add an instruction to a block
following a jump in NIR. Here we add code to the glsl_to_ir pass
to remove any such instructions before they are processed i.e.
we remove them as soon as we process the jumps.
Handling this in glsl to nir allows us to avoid depending on the
lower_jumps() pass being called directly before glsl to nir when
it otherwise doesn't need to be called an additional time.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27288 >
2024-03-12 01:43:03 +00:00
Timothy Arceri
f06aed8e1d
glsl: make an explicitly safe version of visit_exec_list()
...
visit_exec_list() has always called foreach_in_list_safe() here
were rename that version to visit_exec_list_safe() and create
a version that calls the non-safe foreach call.
There are only 2 users of visit_exec_list() we change lower_jumps
to use the renamed version and leave glsl_to_nir() to use the
non-safe version as it never deletes the current instruction and
in the following patch we will add code that may delete the next
instruction meaning the safe version would be unsafe to use.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27288 >
2024-03-12 01:43:03 +00:00
Faith Ekstrand
626502d7c7
nil: Advertise support for PIPE_FORMAT_R5G6B5_UNORM
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28103 >
2024-03-12 01:20:18 +00:00
Faith Ekstrand
edd3379c09
nvk: Manually offset array and Z slices in BeginRendering
...
We can't trust the hardware above about 4095 so we're better off just
offsetting manually now that we have the code to do so.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10655
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28103 >
2024-03-12 01:20:18 +00:00
Faith Ekstrand
81db82bd8c
nvk: Add a nil_image helper variable in BeginRendering
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28103 >
2024-03-12 01:20:18 +00:00
Faith Ekstrand
696e2064bd
nil: Move Z slice offset calculations to a helper
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28103 >
2024-03-12 01:20:18 +00:00
Marek Olšák
813f37a8ed
nir: add nir_block::divergent to indicate a divergent entry condition
...
to be used by nir_opt_varyings
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28049 >
2024-03-12 00:29:03 +00:00
Marek Olšák
936690f733
nir: print nir_io_semantics::invariant
...
this was missing
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28049 >
2024-03-12 00:29:03 +00:00
Marek Olšák
867a0a7db9
nir/divergence_analysis: handle derefs of system values
...
needed by GLSL compiler optimizations that have unlowered sysvals
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28049 >
2024-03-12 00:29:03 +00:00
Marek Olšák
eb670d6eaf
nir/divergence_analysis: load_instance_id is convergent within a primitive
...
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28049 >
2024-03-12 00:29:03 +00:00
Marek Olšák
310b13b7f0
nir/divergence_analysis: load_primitive_id is convergent within a primitive
...
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28049 >
2024-03-12 00:29:03 +00:00
Marek Olšák
1621d4a0d3
nir/divergence_analysis: change function prototypes
...
for following commits
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28049 >
2024-03-12 00:29:03 +00:00
Qiang Yu
6b1fd20780
radeonsi: split RADEON_USAGE_NEEDS_IMPLICIT_SYNC into CB and DB flags
...
it will be required in the future
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27943 >
2024-03-11 23:36:55 +00:00
Marek Olšák
123e0b4240
radeonsi: add radeonsi_cache_rb_gl2 option enabling GL2 caching for CB and DB
...
for perf testing
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27943 >
2024-03-11 23:36:55 +00:00
Marek Olšák
2347259f1d
radeonsi/gfx11: add missing DCC_RD_POLICY setting
...
Fixes: 5acff16ce4 ("radeonsi: add a separate gfx10_init_gfx_preamble_state function")
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27943 >
2024-03-11 23:36:55 +00:00
Marek Olšák
82aca689c1
ac: use the gfx11 shadowed register tables for gfx11.5
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27943 >
2024-03-11 23:36:55 +00:00
Marek Olšák
6ce3a95852
radeonsi/gfx11: program SAMPLE_MASK_TRACKER_WATERMARK optimally for APUs
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27943 >
2024-03-11 23:36:55 +00:00
Marek Olšák
bd71d62b8f
radeonsi: program tessellation rings right before draws
...
so that we only wait for idle right before draw packets and all preceding
SET packets can be processed in parallel with draws from the previous IB.
This way we also don't need to update the preamble and flush the context
just to emit the preamble. It's a normal state now.
Use the new state atom that is emitted last.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27943 >
2024-03-11 23:36:55 +00:00
Marek Olšák
b9b7d34d05
radeonsi/gfx11: program the attribute ring right before draws
...
This way, we only wait for idle right before draw packets,
so that all preceding SET packets can be processed in parallel
with draws from the previous IB.
Add a new state atom that is emitted last. It only contains code for gfx11,
but some code for older chips will be added by the next commit.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27943 >
2024-03-11 23:36:55 +00:00
Marek Olšák
9e08569d6a
radeonsi: allocate only one set of tessellation rings per device
...
Move them to si_screen. The "has_tessellation" context flag indicates that
the screen has valid tess rings, so that we don't have to lock the mutex
to check whether the rings are valid.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27943 >
2024-03-11 23:36:55 +00:00
Marek Olšák
ea94cb95e4
radeonsi/gfx10.3: add a GPU hang workaround for legacy tess+GS
...
Fixes: a23802bcb9 - ac,radeonsi: start adding support for gfx10.3
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27943 >
2024-03-11 23:36:55 +00:00
Marek Olšák
7d3a414662
radeonsi/gfx11: fix programming of PA_SC_BINNER_CNTL_1.MAX_ALLOC_COUNT
...
Fixes: 25a66477d0 - radeonsi/gfx11: register changes
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27943 >
2024-03-11 23:36:55 +00:00
Marek Olšák
20445f296b
radeonsi: disable binning correctly on gfx11.5
...
Fixes: b44a886b84 - amd/common: add registers for gfx11.5
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27943 >
2024-03-11 23:36:55 +00:00
Marek Olšák
62d360c287
amd/registers: add correct gfx11.x enums for BINNING_MODE
...
Fixes: ced3fbbcf9 - amd/registers: add gfx11.json
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27943 >
2024-03-11 23:36:55 +00:00
Marek Olšák
74c28b93c8
glthread: invert _mesa_glthread_has_no_{un}pack_buffer by removing the negation
...
transform _mesa_glthread_has_no_unpack_buffer into
_mesa_glthread_has_unpack_buffer, etc.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27490 >
2024-03-11 22:44:42 +00:00
Marek Olšák
9939f20a49
glthread: execute small glDrawPixels asynchronously
...
Compute the image size and copy the image into the batch.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27490 >
2024-03-11 22:44:41 +00:00
Marek Olšák
b43b111b19
glthread: execute small glBitmap asynchronously
...
Compute the bitmap size and copy the bitmap into the batch.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27490 >
2024-03-11 22:44:41 +00:00
Marek Olšák
ada351f2ea
glthread: track glPixelStore(GL_UNPACK_*)
...
so that glthread can compute the size of images passed to GL functions.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27490 >
2024-03-11 22:44:41 +00:00
Marek Olšák
c76efafc0d
mesa: move struct gl_pixelstore_attrib into glthread.h
...
it will be used there
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27490 >
2024-03-11 22:44:41 +00:00
Marek Olšák
9fe8ef1282
mesa: deduplicate initialization of gl_pixelstore_attrib
...
the new helper will be used later
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27490 >
2024-03-11 22:44:41 +00:00
Mike Blumenkrantz
6a52c50a65
zink: simplify vb masking on bind
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28118 >
2024-03-11 22:22:39 +00:00
Mike Blumenkrantz
068973b069
zink: set VkExternalMemoryBufferCreateInfo for opaque fds too
...
this fixes (VVL) issues with EXT_external_object usage
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28118 >
2024-03-11 22:22:39 +00:00
Mike Blumenkrantz
7fd12a446d
zink: destroy batch states after copy context
...
the copy context contains its own batch states, so these must
not be destroyed yet
Fixes: b06f6e00fb ("zink: fix heap-use-after-free on batch_state with sub-allocated pipe_resources")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28118 >
2024-03-11 22:22:39 +00:00
José Roberto de Souza
9227d63c19
anv: Fix Xe KMD userptr unbind
...
Userptr don't have a valid gem fd so it can't use DRM_XE_VM_BIND_OP_UNMAP_ALL.
Current code was unbinding workaround_bo or returning error when
workaround_bo size was smaller than userptr address.
So here doing a regular DRM_XE_VM_BIND_OP_UNMAP, without setting
xe_bind->obj and setting xe_bind->range and xe_bind->addr.
Fixes: 19439624 ("anv: Use DRM_XE_VM_BIND_OP_UNMAP_ALL to unbind whole bos")
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28114 >
2024-03-11 22:00:51 +00:00
Faith Ekstrand
a56d2b8dad
zink: Remove interpolateAtSample() when not multi-sampling
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28113 >
2024-03-11 21:30:26 +00:00
Mike Blumenkrantz
4bc1bf1625
zink: apply zink_shader::uses_sample to fs variant updating
...
not actually doing the shader rewriting yet
also add a helper for checking this value
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28113 >
2024-03-11 21:30:26 +00:00
Mike Blumenkrantz
b061ab7198
zink: track whether shaders use load_barycentric_at_sample
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28113 >
2024-03-11 21:30:26 +00:00
Iván Briano
e1b66f9707
compiler/types: fix serialization of cooperative matrix
...
Encoding of cmat_desc is overwriting the base_type with the type of the
elements of the matrix.
Fixes: 2d0f4f2c17 ("compiler/types: Add support for Cooperative Matrix types")
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28086 >
2024-03-11 20:35:16 +00:00
Eric Engestrom
fc2b619621
ci/image-tags: re-generate all the images building deqp-runner
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27420 >
2024-03-11 19:43:08 +00:00
Eric Engestrom
fcd43ee243
ci/deqp-runner: fix list of image tags to update
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27420 >
2024-03-11 19:43:07 +00:00
Eric Engestrom
2d80f35562
ci/deqp-runner: update repo url
...
Repo was moved from its original author (anholt) to mesa.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27420 >
2024-03-11 19:43:07 +00:00
Eric Engestrom
810586279c
ci/deqp-runner: bring "install from crate" & "install from git" to feature parity
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27420 >
2024-03-11 19:43:07 +00:00
Eric Engestrom
9eb50036d4
ci/deqp-runner: set android rust target in the caller (debian/x86_64_test-android.sh)
...
This also allows non-x86 android which I hope to add some day.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27420 >
2024-03-11 19:43:07 +00:00
Eric Engestrom
8fd86519a1
ci/deqp-runner: do a release build instead of debug
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27420 >
2024-03-11 19:43:07 +00:00
Paulo Zanoni
4c92084ed9
anv/trtt: invalidate the TLB after writing TR-TT entries
...
We're changing the memory address translation tables, we should
invalidate their cache.
It seems i915.ko is already doing this for us in between batches. The
xe.ko driver only adds invalidates to the ring before submissions if
scratch page is enabled in the VM (which it is today, but may change
in the future), and after some vm_bind and all vm_unbind ioctls, but
we don't use vm_bind for TR-TT. Still, it won't hurt to have it here
righ tnow.
v2: Use PIPE_CONTROL_length (José).
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com > (v1)
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27928 >
2024-03-11 19:17:20 +00:00
Paulo Zanoni
3e5dfd668d
anv: add an anv_pipe_bits bit to allow invalidating the TLB
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27928 >
2024-03-11 19:17:20 +00:00
José Roberto de Souza
52ced4008c
intel: Drop pre-production steppings
...
Workaround tool was already updated with MTL production stepping so no
need to return any stepping value for MTL.
For TGL it was also updated a long time ago, so no need to check for
revision 0.
Reviewed-by: Mark Janes <markjanes@swizzler.org >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27399 >
2024-03-11 18:52:44 +00:00
Juston Li
80f532a636
venus: fix VkDeviceGroupSubmitInfo cmd counts from feedback
...
Per v1.3.279 spec "VUID-VkDeviceGroupSubmitInfo-commandBufferCount-00083
commandBufferCount must equal VkSubmitInfo::commandBufferCount"
When adding feedback, need to check for vkDeviceGroupSubmitInfo in the
SubmitInfo pNext to update their commandBufferCount and
pCommandBufferDeviceMasks to include feedback cmds.
Signed-off-by: Juston Li <justonli@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28029 >
2024-03-11 18:31:06 +00:00
Mike Blumenkrantz
577085ef0e
zink: update nv baseline
...
all format selection bugs in core mesa
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28111 >
2024-03-11 18:09:57 +00:00
Faith Ekstrand
cda4ca53b8
nvk: Drop nvk_device::pdev
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28105 >
2024-03-11 17:46:15 +00:00
Faith Ekstrand
4b38ba5d70
nvk: Replace more dev->pdev with nvk_device_physical()
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28105 >
2024-03-11 17:46:15 +00:00
Faith Ekstrand
9ddaa4ea10
nvk: Add and use more cmd_buffer_*_cls helpers
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28105 >
2024-03-11 17:46:15 +00:00
Faith Ekstrand
f55bb91159
nvk: Drop a bunch of dev->pdev and just use pdev
...
In all these cases, we already have a pdev temporary, we're just not
using it.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28105 >
2024-03-11 17:46:15 +00:00
Friedrich Vock
4c35828933
radv,driconf: Remove active accel struct workaround
...
Now unused and enabled by default.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28077 >
2024-03-11 17:08:09 +00:00
Friedrich Vock
217072d25f
radv/rt: Force active leaves for every updateable accel struct
...
We can't rely on games getting updates right. To avoid adding
workarounds for tons of games, be more robust by default.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28077 >
2024-03-11 17:08:09 +00:00
Samuel Pitoiset
d12984edb8
ac/nir: fix exporting NGG streamout outputs with implicit PrimId from VS/TES
...
With RADV, when VS/TES and FS are compiled separately, the PrimitiveId
is exported unconditionally because it's not possible to know if the
FS reads it or not. This happens with fast-link GPL and shader object.
Though, the PrimitiveID should be ignored when it's implicitly exported
because otherwise the stream output LDS offset is incorrect.
This fixes a bunch of failures with transform feedback and Zink/RADV
when shader object is enabled on RDNA3.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27981 >
2024-03-11 16:28:32 +00:00
Eric Engestrom
6d287943d1
vk/update-aliases: drop VK_ERROR_ prefix substitution
...
There is no code currently concatenating that string so it is not useful
to have it here, and it is triggering a loop because a substitution is
becoming itself if we remove this prefix.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28102 >
2024-03-11 14:48:14 +00:00
Mike Blumenkrantz
9a57b1df53
driconf: add radv_zero_vram for Crystal Project (1637730)
...
fixes #10666
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28079 >
2024-03-11 14:14:52 +00:00
Mike Blumenkrantz
c19edbb6af
zink: update nvk baseline with nvk changes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28100 >
2024-03-11 13:55:19 +00:00
Samuel Pitoiset
7e3056e21c
zink/ci: update list of flakes for RADV jobs
...
Mostly auto-generated with ci-collate.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28039 >
2024-03-11 13:32:04 +00:00
Samuel Pitoiset
e0f9cd882c
radv/ci: update list of flakes for VKCTS jobs
...
Using ci-collate, no wildcards because this has been auto generated.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28039 >
2024-03-11 13:32:04 +00:00
Samuel Pitoiset
91579236dc
ci: use Linux kernel 6.6 for RADV
...
Because .b2c-test is used by other farms, this needs to be overwritten
elsewhere.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28039 >
2024-03-11 13:32:04 +00:00
Juan A. Suarez Romero
69fbd5cb90
v3d: fix line coords with perspective projection
...
The algorithm used to rendering smooth lines worked under the assumption
that line coords were in the [0, 1] range. This was correct when using
an orthogonal projection, but not when using a perspective projection.
With a perspective projection (where the value for 1/Wc set in the VPM
is not 1.0), line coords values are also affected by this projection, so
the values are not in this range.
To deal with this, we normalize the line coords using the Wc value so
the range becomes [0, 1], and the smooth line rendering works as
expected.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10496
Fixes: ee4d51f8b2 ("v3d: Add a lowering pass for line smoothing")
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28072 >
2024-03-11 12:42:50 +00:00
Juan A. Suarez Romero
62e1dff256
v3d: add load_fep_w_v3d intrinsic
...
This intrinsic helps to read the W coordinate stored in the QPU register
when initializing the input data for the fragment shaders.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28072 >
2024-03-11 12:42:49 +00:00
Eric Engestrom
4e720f1fef
docs: delay 24.1 branchpoint by 2 weeks
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28098 >
2024-03-11 12:34:54 +00:00
Juan A. Suarez Romero
d38ff02c03
v3dv: mark some promoted extensions as supported
...
There are few EXT_ extensions that were promoted to KHR_, but we didn't
enabled them as supported.
This makes some CTS tests to be run as unsupported when they should be
supported instead.
For example, we were passing 16/108 line rasterization tests instead of
40/108 because we did not enabled KHR_line rasterization.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28090 >
2024-03-11 12:17:43 +00:00
Boris Brezillon
6fab8abebb
vk/meta: Fix base_type selection in build_{clear,blit}_shader()
...
vk_format_is_int() returns true for both signed and unsigned integers,
which means unsigned types will always be assigned a GLSL_TYPE_INT type,
which causes some backend compilers (like bifrost) to pick a wrong
register type.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28073 >
2024-03-11 11:52:13 +00:00
Boris Brezillon
c722265c16
vk/meta: Add the PUSH_DESCRIPTOR_BIT flag when creating blit pipeline layouts
...
Descriptors are updated with CmdPushDescriptorSet(), we need to reflect
that with a VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR when
the DescriptorSetLayout is created.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28073 >
2024-03-11 11:52:13 +00:00
Luigi Santivetti
24cedcf838
pvr: return the OS page size for minMemoryMapAlignment
...
The driver was returning the wrong limit. The spec says that after calling
vkMapMemory: "subtracting offset bytes from the returned pointer will
always produce an integer multiple of this limit", which is in fact the OS
page size.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10767
Fixes 8991e6464 ("pvr: Add a Vulkan driver for Imagination Technologies PowerVR Rogue GPUs")
Signed-off-by: Luigi Santivetti <luigi.santivetti@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28044 >
2024-03-11 11:32:53 +00:00
Samuel Pitoiset
433a3c262a
util/u_debug: fix parsing of "all" again
...
The current implementation is incorrect if the string starts with "all"
like "RADV_DEBUG=allbos".
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10741
Fixes: 0c42c79edf ("utils/u_debug: Fix parse of "all,<something else>")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28051 >
2024-03-11 10:44:12 +00:00
Juan A. Suarez Romero
7eae0e03f1
broadcom/compiler: fix SFU check for 7.1
...
Avoid SFU op when the result would land in other thread.
total instructions in shared programs: 691634 -> 691928 (0.04%)
instructions in affected programs: 44888 -> 45182 (0.65%)
helped: 17
HURT: 211
helped stats (abs) min: 1 max: 2 x̄: 1.06 x̃: 1
helped stats (rel) min: 0.19% max: 1.96% x̄: 0.74% x̃: 0.71%
HURT stats (abs) min: 1 max: 8 x̄: 1.48 x̃: 1
HURT stats (rel) min: 0.06% max: 14.29% x̄: 2.15% x̃: 1.11%
95% mean confidence interval for instructions value: 1.14 1.44
95% mean confidence interval for instructions %-change: 1.62% 2.24%
Instructions are HURT.
total max-temps in shared programs: 133794 -> 133804 (<.01%)
max-temps in affected programs: 237 -> 247 (4.22%)
helped: 0
HURT: 10
HURT stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
HURT stats (rel) min: 1.72% max: 12.50% x̄: 6.52% x̃: 4.63%
95% mean confidence interval for max-temps value: 1.00 1.00
95% mean confidence interval for max-temps %-change: 3.37% 9.66%
Max-temps are HURT.
total sfu-stalls in shared programs: 818 -> 766 (-6.36%)
sfu-stalls in affected programs: 164 -> 112 (-31.71%)
helped: 79
HURT: 26
helped stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
helped stats (rel) min: 10.00% max: 100.00% x̄: 76.52% x̃: 100.00%
HURT stats (abs) min: 1 max: 2 x̄: 1.04 x̃: 1
HURT stats (rel) min: 0.00% max: 100.00% x̄: 12.18% x̃: 0.00%
95% mean confidence interval for sfu-stalls value: -0.67 -0.32
95% mean confidence interval for sfu-stalls %-change: -64.00% -45.11%
Sfu-stalls are helped.
total inst-and-stalls in shared programs: 692452 -> 692694 (0.03%)
inst-and-stalls in affected programs: 36509 -> 36751 (0.66%)
helped: 9
HURT: 181
helped stats (abs) min: 1 max: 2 x̄: 1.11 x̃: 1
helped stats (rel) min: 0.19% max: 1.96% x̄: 0.74% x̃: 0.71%
HURT stats (abs) min: 1 max: 8 x̄: 1.39 x̃: 1
HURT stats (rel) min: 0.06% max: 6.25% x̄: 1.57% x̃: 1.09%
95% mean confidence interval for inst-and-stalls value: 1.12 1.43
95% mean confidence interval for inst-and-stalls %-change: 1.27% 1.66%
Inst-and-stalls are HURT.
total nops in shared programs: 25075 -> 25154 (0.32%)
nops in affected programs: 529 -> 608 (14.93%)
helped: 3
HURT: 76
helped stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
helped stats (rel) min: 5.26% max: 50.00% x̄: 21.75% x̃: 10.00%
HURT stats (abs) min: 1 max: 6 x̄: 1.08 x̃: 1
HURT stats (rel) min: 1.04% max: 200.00% x̄: 48.08% x̃: 50.00%
95% mean confidence interval for nops value: 0.84 1.16
95% mean confidence interval for nops %-change: 36.45% 54.40%
Nops are HURT.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28009 >
2024-03-11 10:23:48 +00:00
Juan A. Suarez Romero
9b1008f3bc
v3d: disable Early Z for multisampled 16-bit depth buffers
...
Besides disabling early-z when a frame is an odd width or height, we
need to disable it if the buffer is 16-bit and multisampled.
Note that the ZS state can change after we decided globably the early-Z.
In this case, we need to re-evaluate the decision.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28009 >
2024-03-11 10:23:48 +00:00
Juan A. Suarez Romero
08af5f2703
v3dv: disable Early Z for multisampled 16-bit depth buffers
...
Besides disabling early-z when a frame is an odd width or height, we
need to disable it if the buffer is 16-bit and multisampled.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28009 >
2024-03-11 10:23:48 +00:00
Juan A. Suarez Romero
33e77c9041
v3d,v3d: use new simulator
...
The new simulator provides a new API, so we need to adapt the code.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28009 >
2024-03-11 10:23:48 +00:00
Samuel Pitoiset
75a940c949
radvi/ci: enable RADV_PERFTEST=shader_object for RENOIR
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28069 >
2024-03-11 09:45:58 +00:00
Samuel Pitoiset
898f28f790
radv: allow RADV_PERFTEST=shader_object on all GFX9 GPUs
...
Renoir used to hangs in CI but it's fixed now.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28069 >
2024-03-11 09:45:58 +00:00
Mary Guillemard
fbe820f5a0
panfrost, pan/lib: Move pan_resource_table to panfrost
...
pan_blitter now uses its own table definition.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27846 >
2024-03-11 09:23:56 +00:00
Mary Guillemard
4a4698733b
pan/bi: Lower ubo table in indices for Valhall
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27846 >
2024-03-11 09:23:56 +00:00
Mary Guillemard
652e1c2e13
pan/bi: Rework indices for attributes on Valhall
...
This also fix missing encoding of indice with non immediate index.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27846 >
2024-03-11 09:23:56 +00:00
Mary Guillemard
27031910f7
pan/bi: Rework indices for image on Valhall
...
Lower image table in indices on panfrost.
Also implement indirect texture index support.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27846 >
2024-03-11 09:23:56 +00:00
Mary Guillemard
ce52b6d359
pan/bi: Rework indices for tex on Valhall
...
Lower tex/sampler table in indices on panfrost.
This also implement wide indices and change the format of texture and sampler
indices received by the compiler.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27846 >
2024-03-11 09:23:56 +00:00
Mary Guillemard
181891495a
pan/lib: Remove variables in blitter
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27846 >
2024-03-11 09:23:56 +00:00
Mary Guillemard
05607311fe
pan/bi: assert indices when offsets are present in bi_emit_tex_valhall
...
This should always be 0 as lower_index_to_offset is expected to be set.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27846 >
2024-03-11 09:23:56 +00:00
Samuel Pitoiset
c7202751ad
radv: fix emitting default blend state for PS without epilogs and ESO
...
When a fragment shader doesn't have any written color outputs it
doesn't need a PS epilog because it's unnecessary. Though, with ESO
the driver still needs to emit the default blend state like graphics
pipelines.
This fixes a bunch of flakes with ESO and Zink.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28008 >
2024-03-11 08:51:47 +00:00
Samuel Pitoiset
7ebff681db
radv: re-emit RB+ state with PS epilogs only when the col format changes
...
RB+ was re-emitted every time a new PS epilog was requested even if
the non-compacted color format was equal.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28008 >
2024-03-11 08:51:47 +00:00
Samuel Pitoiset
c1307184d2
radv: stop using the custom blend mode for PS epilogs
...
Internal operations that set the custom blend mode are monolithic
pipelines only, and the value should always be zero.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28008 >
2024-03-11 08:51:47 +00:00
Tapani Pälli
e592ab466f
anv: use workaround framework for Wa_16013000631
...
This should drop it from MTL as there it should apply only for a0
stepping.
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28047 >
2024-03-11 08:18:26 +00:00
Christian Gmeiner
93255abe30
etnaviv: Fix how we determine the max supported number of varyings
...
The driver is written that we should support ETNA_NUM_VARYINGS and reporting
a bigger number will cause some troubles. I had a quick look at galcore's
hw database and there are entries that report a higher value.
So I think what we want is to the minimum value of what kernel driver reports
and what the gallium driver should be able to handle.
Fixes: 84816c22e4 ("etnaviv: ask kernel for max number of supported varyings")
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27923 >
2024-03-11 07:30:51 +00:00
Yonggang Luo
14e9894a19
glx: Remove DEBUG code in xfont.c
...
This is the result of https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21946#note_1836697
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28093 >
2024-03-11 00:09:58 +00:00
Faith Ekstrand
cc74a819e4
nvk: Disable the Out Of Range Address exception
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27927 >
2024-03-10 17:30:48 +00:00
Faith Ekstrand
0ed7bce8e5
nvk: Always wait for the FALCON in set_priv_reg
...
The previous version had an optimization where, instead of actually
waiting on the FALCON to return, it would just do a bunch of nops in
some cases. This seems broken at least on Turing+ and results in
registers not ending up with the right values. It only really shows up
when you set two registers back-to-back in which case the second
SET_PRIV_REG may mess up the first.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27927 >
2024-03-10 17:30:48 +00:00
Faith Ekstrand
df90d80d9d
nvk: Document the register name for the helper load workaround
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27927 >
2024-03-10 17:30:48 +00:00
Faith Ekstrand
cbcef73668
nil: Fix a typo in a comment
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27927 >
2024-03-10 17:30:48 +00:00
Echo J
f8f9bceb17
nak: Rip out a few dead_code statements
...
This is a far less radical solution (but I still removed a decent
amount of them)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27991 >
2024-03-10 16:28:14 +00:00
Caio Oliveira
e1afffe7fa
intel/brw: Use hstride instead of stride for accumulator
...
The `stride` field is not meant to be used by ARFs (like the
accumulator), and is always 1. Use the `hstride` instead.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28064 >
2024-03-09 18:26:24 +00:00
Marek Olšák
e01266335b
amd: update addrlib
...
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27954 >
2024-03-09 16:56:56 +00:00
Mike Blumenkrantz
2cd192f879
mesa: fix CopyTexImage format compatibility checks for ES
...
the ES spec imposes additional requirements for copy commands,
specifically that the formats have matching component sizes
the existing check used the driver's internal formats to check
for a match, which is broken since the spec requires the match be
between the passed internalFormat and the buffer's effective internal
format (i.e., this has no relation to what the driver supports)
fixes KHR-GLES3.copy_tex_image_conversions.forbidden* on a bunch of drivers
cc: mesa-stable
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/28030 >
2024-03-09 15:23:07 +00:00
David Heidelberg
a5010f5f03
ci/deqp: add EGL patch for correct suite (GLES, not GL)
...
Fixes: 9ab02222d0 ("ci/deqp: backport Implement support for the EGL_EXT_config_select_group extension GL-CTS patch")
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28091 >
2024-03-09 12:45:37 +01:00
Mohamed Ahmed
3b05ebaa62
nvk: advertise shader resource residency
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26719 >
2024-03-09 00:13:23 +00:00
Mohamed Ahmed
410de4bf69
nak: wire up sparse image loads
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26719 >
2024-03-09 00:13:23 +00:00
Faith Ekstrand
b17f139281
nak: Wire up sparse residency for texture ops
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26719 >
2024-03-09 00:13:23 +00:00
Faith Ekstrand
140cf8d616
nak/nir: Add sparse support to shrink_image_load()
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26719 >
2024-03-09 00:13:23 +00:00
Faith Ekstrand
671c6334bf
nak: Plumb is_sparse through from NIR for texture ops
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26719 >
2024-03-09 00:13:23 +00:00
Mohamed Ahmed
75390a7aeb
nak: wire up shader resource residency intrinsics
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26719 >
2024-03-09 00:13:23 +00:00
Faith Ekstrand
09e2917ee8
nak: Rename resident to fault
...
The predicate returns true if the requisite pixels are NOT resident.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26719 >
2024-03-09 00:13:23 +00:00
Mohamed Ahmed
48803ac53d
nvk: enable sparse residency features
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26719 >
2024-03-09 00:13:23 +00:00
Faith Ekstrand
db45b29f5f
nvk/queue: Add support for non-opaque sparse binds
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26719 >
2024-03-09 00:13:23 +00:00
Faith Ekstrand
80b417d557
nvk: Refactor opaque image binds
...
This adds a helper for iterating over the various planes separate from
the actual bind operation.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26719 >
2024-03-09 00:13:23 +00:00
Faith Ekstrand
97de81af13
nvk/queue: Add a push_bind helper
...
This automatically combines consecutive bind ranges so we potentially
pass a smaller set of binds to the kernel. It also does the assert that
everything is in-bounds.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26719 >
2024-03-09 00:13:23 +00:00
Mohamed Ahmed
bd6940a68d
nvk: add sparse queries
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26719 >
2024-03-09 00:13:23 +00:00
Mohamed Ahmed
23f2cfe8fb
nil: Add support for sparse resident images
...
These have to use one of the Vulkan specified sparse image block sizes
for the tiling and have concept of a mip tail start LOD which we need to
calculate as well.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26719 >
2024-03-09 00:13:23 +00:00
Faith Ekstrand
3700e58692
nvk: Use "real" 3D image views
...
Now that we have NAK and codegen isn't messing about with 3D images
behind our back, 3D storage images "just work".
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26719 >
2024-03-09 00:13:23 +00:00
Faith Ekstrand
e5a2a9b60e
nil: Add a concept of sliced 3D image views
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26719 >
2024-03-09 00:13:22 +00:00
Faith Ekstrand
c809e85832
nil: Add a concept of width to tile sizes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26719 >
2024-03-09 00:13:22 +00:00
Faith Ekstrand
f406206fee
nil: Rework tiling calculations
...
Instead of calling choose_tiling once per LOD, we now call it once at
the top and then simply clamp at every LOD like the hardware does. This
means all heuristic decisions get made up-front and the mip level walk
simply emulates the hardware.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26719 >
2024-03-09 00:13:22 +00:00
Faith Ekstrand
1a2f23439b
nvk: Use row_stride_B instead of width for render and copies
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26719 >
2024-03-09 00:13:22 +00:00
Mohamed Ahmed
301e707db5
nil: Expose tiling_extent_B()
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26719 >
2024-03-09 00:13:22 +00:00
Mohamed Ahmed
7a314170f7
nil: Add helpers for conversion from pixel values to tiles
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26719 >
2024-03-09 00:13:22 +00:00
Mohamed Ahmed
132516d702
nil: Add helper function to get tile size in pixels
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26719 >
2024-03-09 00:13:22 +00:00
Mohamed Ahmed
ad62f87045
nil: change image_level_size() to take tiling in account
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26719 >
2024-03-09 00:13:22 +00:00
Paulo Zanoni
a8f7d26c2b
anv: change the vm_bind-related kmd_backend vfuncs to return VkResult
...
All these vfuncs funnel down to either stubs or the xe_vm_bind_op()
function. By returning int we're shifting VkResult generation to the
callers, which are simply not doing the correct job. If they get
VkResult they can simply throw the errors up the stack without having
to erroneously try to figure out what really happened.
Today the callers are returning either VK_ERROR_UNKNOWN or
VK_ERROR_OUT_OF_DEVICE_MEMORY, but after the patch we're returning
either VK_ERROR_OUT_OF_HOST_MEMORY or VK_ERROR_DEVICE_LOST.
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27926 >
2024-03-08 23:14:09 +00:00
Paulo Zanoni
4863e12679
anv/sparse: don't use the bind_timeline when doing sparse binding
...
The bind_timeline is used to guarantee that non-sparse objects will
be bound when batches use them (although any batch will wait on the
most recent bind, even if that's not necessary). For sparse binding
resources, it's up to the user to guarantee synchronization: do not
force every single batch buffer to wait on the latest sparse binding
operation, as that adds unnecessary synchronization points.
v2: Document how each of the vfuncs interacts with bind_timeline
(José).
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27926 >
2024-03-08 23:14:09 +00:00
Paulo Zanoni
8051919b3c
anv/sparse: leave the semaphore waits and signals to the vm_bind ioctl
...
We can now finally leave the semaphore waits and signals to the
vm_bind ioctl, making vm_bind operations truly asynchronous.
This was previously done for TR-TT in 18bd00c024 ("anv/trtt: don't
wait/signal syncobjs using the CPU anymore").
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27926 >
2024-03-08 23:14:09 +00:00
Paulo Zanoni
aa07d8a04c
anv/sparse: don't issue a single bind operation per vm_bind ioctl
...
The xe.ko driver finally fixed bug 746, which means we can finally
pass multiple bind operations in a single ioctl. There's a dEQP test
that issues 960 bind operations in a single call, so our gains here
have potential, although most real-world apps are not even remotely
close to this.
Link: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/746
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27926 >
2024-03-08 23:14:09 +00:00
David Heidelberg
dd6301935e
ci/freedreno: update expectations comment
...
Fixes: c91bd82b4b ("Uprev Piglit to 1e631479c0b477006dd7561c55e06269d2878d8d")
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28060 >
2024-03-08 22:12:18 +00:00
David Heidelberg
9ab02222d0
ci/deqp: backport Implement support for the EGL_EXT_config_select_group extension GL-CTS patch
...
This will be useful for finishing the
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9989
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28060 >
2024-03-08 22:12:18 +00:00
Yiwei Zhang
c9d3cc2615
vulkan: refactor the runtime header gen order dependency
...
Summary:
- ensure headers used outside runtime are included in dependency source
- drop redundant idep_vulkan_common_entrypoints_h
- drop redundant icd side tricks for the order of header gen
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28066 >
2024-03-08 21:42:07 +00:00
Yiwei Zhang
d857f10574
vulkan: remove header files from lib source files
...
The generated "astc_spv.h" is for runtime internal use, so leave it
inside the runtime files to ensure the header is generated before being
used to compile.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28066 >
2024-03-08 21:42:07 +00:00
Yiwei Zhang
90824e07a2
vulkan: properly ensure wsi_entrypoints header gen order
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28066 >
2024-03-08 21:42:07 +00:00
Yiwei Zhang
872c9fabeb
vulkan: remove unused wsi_common_entrypoints include and dep
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28066 >
2024-03-08 21:42:07 +00:00
Yiwei Zhang
8af267eb00
venus: fix ffb batch prepare for a corner case and avoid a memcpy UB
...
Batches must be ignored if batch count is zero, so all batch inspections
have to be gated behind batch count. For memcpy, it's UB if either src
or dst is NULL even when size is zero.
Side note:
- For original commit, this fixes just the memcpy UB
- For current codes, this fixes to not skip ffb batch prepare
Fixes: 493a3b5cda ("venus: refactor batch submission fixup")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28071 >
2024-03-08 21:26:18 +00:00
David Heidelberg
f5532f8bab
intel/tools: avoid invalid time and file bits combination
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10780
Fixes: cc41603d6d ("intel/tools: new intel_sanitize_gpu tool")
Reported-by: Fabio Pedretti <pedretti.fabio@gmail.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28081 >
2024-03-08 21:01:38 +00:00
Collabora's Gfx CI Team
c91bd82b4b
Uprev Piglit to 1e631479c0b477006dd7561c55e06269d2878d8d
...
2a1c49a81c...1e631479c0
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28003 >
2024-03-08 19:12:56 +00:00
Sil Vilerino
803f7f5398
d3d12: Video Encode - Add driver workaround for rate control reconfiguration
...
Adds a driver workaround for IHVs actually supporting rate control
reconfiguration but not reporting it in the DX12 driver support flags,
and later having crashes/hangs in the driver when the rate control
reconfiguration happens using the fallback method that includes re-creating
the encoder state and encoder heap objects upon new rate control params
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28075 >
2024-03-08 18:19:45 +00:00
Sil Vilerino
830561c575
d3d12: Only check D3D12_FEATURE_DATA_PLACED_RESOURCE_SUPPORT_INFO for D3D_FEATURE_LEVEL_1_0_GENERIC
...
Fixes: 55e377e965 ("d3d12: Add partial media, compute, graphics support with CORE and GENERIC feature levels")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28074 >
2024-03-08 18:02:03 +00:00
Sil Vilerino
1b6d7ab80b
d3d12: Add GetDesc wrapper for ID3D12Heap
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10779
Fixes: 55e377e965 ("d3d12: Add partial media, compute, graphics support with CORE and GENERIC feature levels")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28074 >
2024-03-08 18:02:03 +00:00
Valentine Burley
089cb522be
docs: Update features.txt for anv, nvk and tu
...
Signed-off-by: Valentine Burley <valentine.burley@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28052 >
2024-03-08 16:56:38 +00:00
Valentine Burley
fbd3269756
tu: Promote VK_EXT_line_rasterization to KHR
...
Signed-off-by: Valentine Burley <valentine.burley@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28052 >
2024-03-08 16:56:37 +00:00
Valentine Burley
465ff8114c
tu: Promote VK_EXT_load_store_op_none to KHR
...
Signed-off-by: Valentine Burley <valentine.burley@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28052 >
2024-03-08 16:56:37 +00:00
Valentine Burley
2d3ed6853d
tu: Promote VK_EXT_index_type_uint8 to KHR
...
Signed-off-by: Valentine Burley <valentine.burley@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28052 >
2024-03-08 16:56:37 +00:00
José Roberto de Souza
7ea5d1ed7d
anv: Skip cmd_buffer_emit_bt_pool_base_address() in blitter and video engines
...
Blitter and video engines don't support PIPE_CONTROL and
3DSTATE_BINDING_TABLE_POOL_ALLOC.
I'm not 100% sure if something else should be called instead but this
is doing the same as cmd_buffer_emit_state_base_address() and this
fixes the test that was crashing in
unreachable("Trying to emit unsupported PIPE_CONTROL command.");
Fixes: dEQP-VK.pipeline.monolithic.timestamp.misc_tests.two_cmd_buffers_secondary_transfer_queue_with_availability_bit
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28053 >
2024-03-08 14:39:09 +00:00
José Roberto de Souza
cccb5e36f1
anv: Call flush_pipeline_select_gpgpu() for compute engines in compute code paths
...
These 2 compute code paths were checking for
anv_cmd_buffer_is_render_queue() before calling
flush_pipeline_select_gpgpu() causing cmd_buffer->state.current_pipeline
to never to be set to GPGPU, trigerring
assert(cmd_buffer->state.current_pipeline == GPGPU) when running in
the compute engine.
So here just dropping the anv_cmd_buffer_is_render_queue() check.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28053 >
2024-03-08 14:39:09 +00:00
Zan Dobersek
a13860e5df
tu: add RMV support
...
Add RMV support for Turnip. The internal RMV layer is added and integrated
into the VkDevice entrypoint dispatch tables. As elsewhere, memory tracing
is put into action when enabled through the MESA_VK_TRACE environment
variable.
Similar to other implementations of RMV support in Mesa, tracing points are
added across Turnip to report on different types of RMV events, calling
into tu_rmv logging functions to emit the relevant RMV token data.
TU_BO_ALLOC_INTERNAL_RESOURCE allocation flag is added. When used, in RMV
output such an allocation will be associated with an internal resource
of the VK_RMV_RESOURCE_TYPE_MISC_INTERNAL type.
Signed-off-by: Zan Dobersek <zdobersek@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27631 >
2024-03-08 11:34:17 +00:00
Zan Dobersek
e29677b16d
vulkan/rmv: enable logging miscellaneous internal resources
...
Add the vk_rmv_misc_internal_description struct and list the misc_internal
member of that type in the vk_rmv_resource_create_token union, allowing
logging of different internal resources in RMV dumps.
The vk_rmv_common.h header also has the C-linkage block added in order to
enable its inclusion in C++ files.
Signed-off-by: Zan Dobersek <zdobersek@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27631 >
2024-03-08 11:34:17 +00:00
Samuel Pitoiset
6965c569cc
radv/ci: mark dEQP-VK.shader_object.binding.mesh_swap_task as flake on NAVI21
...
Can't reproduce locally.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27895 >
2024-03-08 08:43:15 +00:00
Samuel Pitoiset
fbdf99d01b
radv/ci: enable RADV_PERFTEST=shader_object for VKCTS jobs on GFX10+
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27895 >
2024-03-08 08:43:15 +00:00
Felix DeGrood
26da033c91
intel/ds: add pipe control reasons to perfetto flushes
...
Add up to four reasons per flush to perfetto flushes. PC reasons
will help debuggers understand why flushes were required, and
perhaps provide hints as to how they can be avoided.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27400 >
2024-03-08 07:52:20 +00:00
Samuel Pitoiset
3f8ff988fa
radv: add a helper to emit PS/TCS epilogs
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28042 >
2024-03-08 07:28:47 +00:00
Samuel Pitoiset
0ed6aba85a
radv,aco: stop duplicating PS/TCS epilog fields
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28042 >
2024-03-08 07:28:47 +00:00
Samuel Pitoiset
974d1395a2
radv: allow RADV_PERFTEST=shader_object on GFX10/GFX10.3
...
VK_EXT_shader_object is now supported on all GPUs! It's still not
enabled by default because it needs more testing and more fixing (Renoir
still hangs for some reasons and Zink/RADV on Polaris10 still has
flakes).
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27880 >
2024-03-08 07:09:40 +00:00
Samuel Pitoiset
86e4c56dbb
radv: implement has_vgt_flush_ngg_legacy_bug for ESO
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27880 >
2024-03-08 07:09:39 +00:00
Samuel Pitoiset
62e6132284
radv: disable NGG in more situations with ESO on GFX10/GFX10.3
...
NGG streamout isn't supported on GFX10/GFX10.3, so NGG GS must be
disabled when pre-rasterization stages are compiled separately because
it's not possible to know that when compiling VS/TES only.
Also GFX10/GFX10.3 needs to disable NGG when extreme geometry are used
with tessellation and we can't know the previous stage if the GS is
compiled separately.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27880 >
2024-03-08 07:09:39 +00:00
Yiwei Zhang
bffdd05a79
vulkan: fix runtime libraries' dep against generated headers
...
This change adds a new generated header dep to the runtime internal
library dependencies. This ensures the headers are generated before the
below libraries are compiled:
- libvulkan_lite_runtime (already satisfied due to file sources)
- libvulkan_lite_instance
- libvulkan_runtime
- libvulkan_instance
Fixes: fe2ec50844 ("vulkan: allow building venus without libcompiler")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28062 >
2024-03-07 22:17:12 -08:00
Jesse Natalie
c75c485d7d
dzn: Support bufferDeviceAddress
...
Flip on the caps/extensions, use their presence to turn on bindless just like
descriptor_indexing, use the buffer flag to indicate UAV access, and fix up
the getter to return the kind of data we want.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28028 >
2024-03-07 22:35:09 +00:00
Jesse Natalie
68f43aa3ec
spirv2dxil: Support buffer_device_address
...
This works similarly to the CL compiler, where a 64-bit address is
decomposed into a 32-bit index and offset. But unlike CL, where the
index is into a per-kernel array of bound buffers, for Vulkan it points
into the global device-wide descriptor heap.
For all global deref chains that terminate in a load/store/atomic, create
a parallel deref chain that begins by decomposing the pointer to a vec2,
followed by a load_vulkan_descriptor, and then an SSBO deref chain. Any instance
where the original deref chain was used for something else will remain as
global derefs, so also run lower_explicit_io for global to produce appropriate
pointer math.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28028 >
2024-03-07 22:35:09 +00:00
Corentin Noël
57d914b757
ci: Update virglrenderer and crosvm
...
Update virglrenderer to test EXT_attachment_feedback_loop_layout
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28014 >
2024-03-07 21:19:05 +00:00
Yonggang Luo
fe2ec50844
vulkan: allow building venus without libcompiler
...
This is done by introduce idep_vulkan_lite_runtime, and only venus
depends on idep_vulkan_lite_runtime.
Modify the meson and source files to allow building venus without
the compiler.
See details Venus build metrics at the MR description.
gfxstream-vulkan forwards the shader to the host, and doesn't
need to convert into NIR in the guest. This results in faster
builds and less parts of Mesa to build. Also venus does the
same thing too, that's what the build is keyed on right now
as an in-tree user.
v7: By Yonggang Luo <luoyonggang@gmail.com >
Add idep_vulkan_common_entrypoints_h into vulkan_lite_runtime_deps because
vk_instance.c depends on idep_vulkan_common_entrypoints_h but vk_common_entrypoints is
not compiled in library `vulkan_lite_instance`.
Rename idep_vulkan_runtime_headers to idep_vulkan_lite_runtime_headers because
both lite/full runtime library depends on this, but lite should not depends on full
vk_meta_private.h added into vulkan_runtime_files
v6: By Yonggang Luo <luoyonggang@gmail.com >
get vulkan_lite_runtime_files and vulkan_runtime_files sorted
v5: By Yiwei Zhang <zzyiwei@chromium.org >
both vk_sampler and vk_ycbcr_conversion can stay in the lite runtime
v4: By Yonggang Luo <luoyonggang@gmail.com >
only build vk_instance.(c|h) twice for reduce compiling time
v3: By Yiwei Zhang <zzyiwei@chromium.org >
less code changes by introduce libvulkan_lite_runtime
v2: By Yonggang Luo <luoyonggang@gmail.com >
allow building Vulkan without libcompiler without compiling flags, the
venus is always built without libcompiler
v1: By Gurchetan Singh <gurchetansingh@google.com >
allow building Vulkan without libcompiler
Signed-off-by: Gurchetan Singh <gurchetansingh@google.com >
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26574 >
2024-03-07 20:33:28 +00:00
Yonggang Luo
a367cd4931
Revert "meson/vulkan/util: allow venus to drop compiler deps"
...
This reverts commit 3923d43908 .
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Gurchetan Singh <gurchetansingh@google.com >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26574 >
2024-03-07 20:33:28 +00:00
Konstantin Seurer
12c71ef847
radv/rt: Fix raygen_imported condition
...
This can cause GPU hangs if the imported raygen shader is the first
shader of the library.
Fixes: 0f87d40 ("radv/rt: Skip compiling a traversal shader")
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27137 >
2024-03-07 20:07:07 +00:00
Konstantin Seurer
0e8f2eca9e
radv/rt: Inline constant information about ray flags
...
Totals from 4 (1.06% of 379) affected shaders:
Instrs: 2868 -> 2588 (-9.76%)
CodeSize: 15184 -> 13544 (-10.80%)
Latency: 69280 -> 86922 (+25.46%)
InvThroughput: 11546 -> 14486 (+25.46%)
Copies: 680 -> 592 (-12.94%)
Branches: 148 -> 128 (-13.51%)
PreSGPRs: 216 -> 172 (-20.37%)
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27137 >
2024-03-07 20:07:07 +00:00
Konstantin Seurer
b4735a944a
radv/rt: Inline constant trace_ray srcs into the traversal shader
...
Totals from 4 (1.06% of 379) affected shaders:
Instrs: 2864 -> 2868 (+0.14%)
CodeSize: 15232 -> 15184 (-0.32%)
Latency: 69074 -> 69280 (+0.30%)
InvThroughput: 11512 -> 11546 (+0.30%)
VClause: 124 -> 116 (-6.45%)
Copies: 676 -> 680 (+0.59%)
PreVGPRs: 316 -> 312 (-1.27%)
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27137 >
2024-03-07 20:07:07 +00:00
Konstantin Seurer
843d19a995
radv/rt: Avoid passing unused data to the next stage
...
We can gather the args used by all other stages and use that to optimize
the traversal shader.
Totals from 4 (1.06% of 379) affected shaders:
Instrs: 2912 -> 2864 (-1.65%)
CodeSize: 15424 -> 15232 (-1.24%)
Latency: 69342 -> 69074 (-0.39%)
InvThroughput: 11558 -> 11512 (-0.40%)
Copies: 712 -> 676 (-5.06%)
Branches: 152 -> 148 (-2.63%)
PreVGPRs: 324 -> 316 (-2.47%)
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27137 >
2024-03-07 20:07:07 +00:00
Konstantin Seurer
eb249bb18e
aco: Only fix used variables to registers
...
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27137 >
2024-03-07 20:07:07 +00:00
Konstantin Seurer
348d13f06e
radv/rt: Fixup constant args
...
They are fixed up automatically right now, which will change in the next
patch.
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27137 >
2024-03-07 20:07:07 +00:00
Konstantin Seurer
0597906ada
radv/rt: Add radv_ray_tracing_stage_info
...
Useful for gathering more information about used args and traces.
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27137 >
2024-03-07 20:07:07 +00:00
Konstantin Seurer
a44765606c
radv/rt: Implement RADV_DEBUG=shaderstats
...
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27137 >
2024-03-07 20:07:07 +00:00
Konstantin Seurer
f3fe1f2f18
vulkan: Implement DebugMarkerSetObjectNameEXT
...
DebugMarkerSetObjectNameEXT is just a less powerful version of
SetDebugUtilsObjectNameEXT. Fixes the objectType cast warning as well.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27975 >
2024-03-07 19:28:53 +00:00
Iván Briano
d039764410
anv, hasvk: pMutableDescriptorTypeLists can be out of range on pool creation
...
The spec for vkCreateDescriptorPool says:
If VkMutableDescriptorTypeCreateInfoEXT does not exist in the pNext
chain, or VkMutableDescriptorTypeCreateInfoEXT::pMutableDescriptorTypeLists[i]
is out of range, the descriptor pool allocates enough memory to be
able to allocate a VK_DESCRIPTOR_TYPE_MUTABLE_EXT descriptor with any
supported VkDescriptorType as a mutable descriptor.
So check that mutableDescriptorTypeListCount is in range of the binding
we are asking for instead of just 0.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28031 >
2024-03-07 18:56:57 +00:00
Eric R. Smith
0e1862a2ab
panfrost: protect alpha calculation from accessing non-existent component
...
We had a "Don't read out-of-bounds" sanity check for creating an alpha
when ATEST was needed, but that check happened only after we already
did a bi_extract(), which meant that the bi_extract could get into
trouble and assert() when there weren't enough components. Fixed by
re-arranging the calculation.
Signed-off-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund>@collabora.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28045 >
2024-03-07 17:29:09 +00:00
Timur Kristóf
a6f270c160
radv: Lower mesh shader draw ID to zero when they have a task shader.
...
This prevents potential app bugs causing GPU hangs and other issues.
Note that the draw ID is undefined in mesh shaders when also
using a task shader.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27879 >
2024-03-07 17:07:24 +00:00
Caio Oliveira
7a038cc097
intel/elk: Clean up unused code in elk_compiler.h
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27629 >
2024-03-07 15:53:19 +00:00
Caio Oliveira
be73fa1434
intel/elk: Remove multi-polygon support
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27629 >
2024-03-07 15:53:19 +00:00
Caio Oliveira
fd3a815a5b
intel/elk: Remove remaining Gfx9+ code
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27629 >
2024-03-07 15:53:19 +00:00
Caio Oliveira
ea12b38602
intel/elk: Remove uses of intel_device_info_is_9lp()
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27629 >
2024-03-07 15:53:18 +00:00
Caio Oliveira
9f5213923e
intel/elk: Remove Gfx9+-only passes
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27629 >
2024-03-07 15:53:18 +00:00
Caio Oliveira
fb2eee2aaa
intel/elk: Remove use_tcs_multi_patch
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27629 >
2024-03-07 15:53:18 +00:00
Caio Oliveira
abbb7d64f5
intel/elk: Remove Gfx9+ from NIR auxiliary code
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27629 >
2024-03-07 15:53:18 +00:00
Caio Oliveira
64ff9fa5ae
intel/elk: Remove Gfx9+ from disasm
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27629 >
2024-03-07 15:53:18 +00:00
Caio Oliveira
566e3c675e
intel/elk: Remove Gfx9+ from asm grammar
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27629 >
2024-03-07 15:53:18 +00:00
Caio Oliveira
936528cda5
intel/elk: Remove Gfx9+ from Reg related code
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27629 >
2024-03-07 15:53:18 +00:00
Caio Oliveira
f170d8395b
intel/elk: Remove Gfx9+ from FS generator
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27629 >
2024-03-07 15:53:18 +00:00
Caio Oliveira
3d867e2fc7
intel/elk: Remove coarse pixel handling
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27629 >
2024-03-07 15:53:18 +00:00
Caio Oliveira
7bce435dca
intel/elk: Remove Gfx9+ from EU emission
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27629 >
2024-03-07 15:53:18 +00:00
Caio Oliveira
d9e7682ccc
intel/elk: Remove Gfx9+ from thread payload
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27629 >
2024-03-07 15:53:18 +00:00
Caio Oliveira
241a03b8ec
intel/elk: Remove Gfx9+ from passes
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27629 >
2024-03-07 15:53:18 +00:00
Caio Oliveira
2b6b786feb
intel/elk: Remove FB_WRITE_LOGICAL_SRC_SRC_STENCIL
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27629 >
2024-03-07 15:53:18 +00:00
Caio Oliveira
7b651ac6c3
intel/elk: Remove Gfx9+ from compile/run functions
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27629 >
2024-03-07 15:53:18 +00:00
Caio Oliveira
cb2d96af6a
intel/elk: Remove Gfx9+ from nir conversion
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27629 >
2024-03-07 15:53:18 +00:00
Caio Oliveira
6b6de68b1c
intel/elk: Remove validation code for Gfx9+
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27629 >
2024-03-07 15:53:18 +00:00
Caio Oliveira
9f80fc3d70
intel/elk: Remove unused SEND features
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27629 >
2024-03-07 15:53:18 +00:00
Caio Oliveira
2b15a90cc3
intel/elk: Remove unused sources from ELK_SHADER_OPCODE_SEND
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27629 >
2024-03-07 15:53:18 +00:00
Caio Oliveira
e44bacfa91
intel/elk: Remove Xe2 logical sends lowering
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27629 >
2024-03-07 15:53:18 +00:00
Caio Oliveira
ff64e68ef4
intel/elk: Remove ex_desc and ex_mlen from elk_inst
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27629 >
2024-03-07 15:53:18 +00:00
Caio Oliveira
75e13ac705
intel/elk: Remove Gfx12.5 URB message
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27629 >
2024-03-07 15:53:18 +00:00
Caio Oliveira
a3f67c2d3a
intel/elk: Remove FB_READ opcodes
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27629 >
2024-03-07 15:53:18 +00:00
Caio Oliveira
77ba6f5dcd
intel/elk: Remove Gfx9+ dataport messages
...
Note GFX9_DATAPORT_DC_PORT1_A64_SCATTERED_READ is marked as Gfx9 but
it is in the bspec and the PRM does mention it (although not in the
list), so keep it around since we've been using it for a while now.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27629 >
2024-03-07 15:53:18 +00:00
Caio Oliveira
59c5c67d22
intel/elk: Rename symbols for A64 OWord Block R/W messages
...
These are also present in Gfx8, so use the GFX8 instead of
GFX9 as prefix to avoid confusion.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27629 >
2024-03-07 15:53:18 +00:00
Caio Oliveira
05d78994a7
intel/elk: Remove Gfx9+ sampler messages and modes
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27629 >
2024-03-07 15:53:18 +00:00
Caio Oliveira
9b709e31cb
intel/elk: Remove Gfx12 SFIDs and related LSC code
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27629 >
2024-03-07 15:53:18 +00:00
Caio Oliveira
43b2261ab5
intel/elk: Remove SYNC opcode and SWSB annotations
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27629 >
2024-03-07 15:53:18 +00:00
Caio Oliveira
37cd18e30e
intel/elk: Remove encoding for Gfx9+
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27629 >
2024-03-07 15:53:18 +00:00
Caio Oliveira
accac95c0d
intel/elk: Remove EU compaction logic for Gfx9+
...
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27629 >
2024-03-07 15:53:18 +00:00
Caio Oliveira
e8c4104362
intel/elk: Remove IADD3 opcode
...
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27629 >
2024-03-07 15:53:17 +00:00
Caio Oliveira
d1049408b5
intel/elk: Remove ROR and ROL opcodes
...
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27629 >
2024-03-07 15:53:17 +00:00
Caio Oliveira
28a7265b10
intel/elk: Remove DP4A opcode
...
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27629 >
2024-03-07 15:53:17 +00:00
Caio Oliveira
9e58170f84
intel/elk: Remove BTD and RT opcodes
...
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27629 >
2024-03-07 15:53:17 +00:00
Caio Oliveira
24569b8079
intel/elk: Remove DPAS opcode
...
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27629 >
2024-03-07 15:53:17 +00:00
Caio Oliveira
7b90470ca1
intel/elk: Remove split sends
...
They are not supported in Gfx8-.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27629 >
2024-03-07 15:53:17 +00:00
Gert Wollny
b7d6d90dab
zink/nir-to-spirv: Make sure sampleid for InterpolateAtSample is int
...
This fixes the validation error
VUID-VkShaderModuleCreateInfo-pCode-08737
triggered by piglit:
spec@arb_gpu_shader5@execution@built-in-functions@fs-interpolateatsample-block-array:
GLSL.std.450 InterpolateAtSample: expected Sample to be 32-bit integer
%47 = OpExtInst %float %1 InterpolateAtSample %45 %float_0
Fixes: 9f6be8effb
zink: store and use alu types for ntv defs
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28043 >
2024-03-07 13:26:31 +00:00
Rhys Perry
dea8b02b03
aco: don't pass constant to is_overwritten_since()
...
Fixes usage of uninitialised value in dead_space/065515347dca4851 and
other dead_space shaders.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Fixes: def0c275c4 ("aco: Eliminate SCC copies when possible.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28011 >
2024-03-07 12:17:39 +00:00
Samuel Pitoiset
c383739cfc
radv/ci: remove dEQP-VK.robustness.* from the VANGOGH skip list
...
These no longer hangs the GPU since 4c05ebf3a5 ("radv: Set SCRATCH_EN
for RT pipelines based on dynamic stack size").
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28037 >
2024-03-07 11:51:42 +00:00
Samuel Pitoiset
52be850d7f
radv/ci: remove RT tests from the VANGOGH skip list
...
I thought the recent scratch fix for RT would have fixed it but even
with it reverted everything is passing. A bunch of RT fixes landed
since, who knows.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9208
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28037 >
2024-03-07 11:51:42 +00:00
Friedrich Vock
7792ee1c15
radv/rt: Fix frontface culling with emulated RT
...
We need to preserve the divisor's sign for front/backface detection to
work correctly.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28034 >
2024-03-07 10:34:52 +00:00
David Heidelberg
23441f7f4a
drm-shim: Avoid invalid file and time bits combination
...
See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1065153
Fixes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10721
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27967 >
2024-03-07 09:55:06 +00:00
Kenneth Graunke
9e5fd49cbe
iris: Fix tessellation evaluation shaders that use scratch
...
The code path for emitting tessellation commands when the TES needed
scratch space was failing to emit 3DSTATE_TE, and instead only emitting
3DSTATE_DS. This meant that you could get HS and DS enabled with
tessellation itself turned off, which is utter nonsense and would
cause a GPU hang.
Alchemist and later takes a different path and don't take this bug,
but all earlier hardware would hit it. Discovered while working on
compiler changes that caused a single piglit test to spill minorly,
and thus break entirely.
Fixes: 4256f7ed58 ("iris: Fill out scratch base address dynamically")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28032 >
2024-03-07 09:32:51 +00:00
Chris Rankin
f9358cb105
frontends/vdpau: Add support for VDPAU AV1 decoding.
...
Signed-off-by: Chris Rankin <rankincj@gmail.com >
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27825 >
2024-03-07 07:55:19 +00:00
Chris Rankin
f64e8ca7f4
meson: bump the minimal required vdpau version to 1.5
...
Signed-off-by: Chris Rankin <rankincj@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27825 >
2024-03-07 07:55:19 +00:00
Mike Blumenkrantz
2665badcfe
util/blitter: iterate samples in stencil_fallback
...
this matches handling in do_blits and fixes multisampled stencil blits
fixes (nv):
GTF-GL45.gtf44.GL31Tests.texture_stencil8.texture_stencil8_gl44
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27988 >
2024-03-07 04:44:58 +00:00
Timothy Arceri
981900055c
glsl: remove now unused glsl ir lower discard pass
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28005 >
2024-03-07 04:02:45 +00:00
Timothy Arceri
8ceb10a1bd
glsl: make use of nir lower discard flow
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28005 >
2024-03-07 04:02:45 +00:00
Timothy Arceri
8317a37ea7
glsl: implement nir version of lower discard flow
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28005 >
2024-03-07 04:02:45 +00:00
Teng, Jin Chung
ef45417690
d3d12: HEVC Encode - Query slice config mode based on user slice setting
...
Queries D3D12_FEATURE_VIDEO_ENCODER_SUPPORT1 for HEVC setting
D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT1.SubregionFrameEncoding as
D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_UNIFORM_PARTITIONING_SUBREGIONS_PER_FRAME
or D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_FULL_FRAME depending on
the frontend number of slices requested.
Doing this avoids d3d12_video_encoder_config_dirty_flag_slices from
being set on every frame otherwise, triggering a reconstruction of the
encoder objects on every frame on some platforms.
Signed-off-by: Teng, Jin Chung <jin.chung.teng@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28007 >
2024-03-07 03:43:10 +00:00
Jesse Natalie
cda6877cb6
nir_lower_tex_shadow: For old-style shadows, use vec4(result, 0, 0, 1)
...
If the app requests a swizzle on the shadow sampler which doesn't just
return the red channel or literal 0s/1s, we'll crash attempting to build
the result vector. Use something that's probably valid.
Cc: mesa-stable
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28001 >
2024-03-07 01:15:46 +00:00
Mike Blumenkrantz
4b7bf9a6db
zink: update nvk baseline
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28026 >
2024-03-07 00:21:05 +00:00
Sil Vilerino
2074da0c39
d3d12: Refactor graphics functions from context and blit to separate files
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27997 >
2024-03-06 23:06:59 +00:00
Sil Vilerino
55e377e965
d3d12: Add partial media, compute, graphics support with CORE and GENERIC feature levels
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27997 >
2024-03-06 23:06:59 +00:00
Sil Vilerino
0cd023bf6a
frontend/va: Use get_resources in VaDeriveImage for media only devices without get_surfaces support
...
Reviewed-by: Thong Thai <thong.thai@amd.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27997 >
2024-03-06 23:06:59 +00:00
Sil Vilerino
bf6a415841
frontend/va: Support media only post proc without compositor using shaders or surfaces
...
Reviewed-by: Thong Thai <thong.thai@amd.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27997 >
2024-03-06 23:06:59 +00:00
Lionel Landwerlin
0b6a2c24d6
anv: don't copy the null descriptor from the GPU memory
...
Performance regression with vkd3d-proton.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 9506d3f338 ("anv: implement data write entry points for EXT_descriptor_buffer")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Tested-by: Felix DeGrood felix.j.degrood@intel.com
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28010 >
2024-03-06 22:45:13 +00:00
Faith Ekstrand
d20b547e8e
nvk: Report official GPU names from NVIDIA when we have them
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28024 >
2024-03-06 22:28:22 +00:00
Faith Ekstrand
1069b216ac
nouveau: Import g_nv_name_released.h from NVIDIA OGK
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28024 >
2024-03-06 22:28:22 +00:00
Sil Vilerino
43b857a015
d3d12: HEVC encode - Update CQP using current frame type as per VA frontend change
...
Fixes: 8c9445896f ("frontends/va: Separate QP for I/P/B frames")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28018 >
2024-03-06 22:09:45 +00:00
Sil Vilerino
f8274eea76
d3d12: H264 encode - Update CQP using current frame type as per VA frontend change
...
Fixes: 8c9445896f ("frontends/va: Separate QP for I/P/B frames")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28018 >
2024-03-06 22:09:45 +00:00
Sil Vilerino
e3e593d721
d3d12: AV1 encode - Configure CQP using qp and new qp_inter parameters
...
Fixes: 8c9445896f ("frontends/va: Separate QP for I/P/B frames")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28018 >
2024-03-06 22:09:45 +00:00
Vasily Khoruzhick
4762d03391
lima: update expected CI failures
...
Backport-to: 23.3
Backport-to: 24.0
Reviewed-by: Erico Nunes <nunes.erico@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24855 >
2024-03-06 21:43:43 +00:00
Vasily Khoruzhick
feccf4121b
lima: gpir: abort compilation if load_uniform instrinsic src isn't const
...
GP supports indirect indexing of uniforms, but it's never been
implemented in GPIR, so just abort compilation instead of crashing an
app with assertion failure.
Backport-to: 23.3
Backport-to: 24.0
Reviewed-by: Erico Nunes <nunes.erico@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24855 >
2024-03-06 21:43:43 +00:00
Vasily Khoruzhick
6998c48f77
lima: ppir: use dummy program if FS has empty body
...
As per spec, any colors, or color components, associated with a fragment
that are not written by the fragment shader are undefined.
So we might as well just write vec4(1.0) to output, since HW doesn't allow
us to have an empty FS.
Backport-to: 23.3
Backport-to: 24.0
Reviewed-by: Erico Nunes <nunes.erico@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24855 >
2024-03-06 21:43:43 +00:00
Vasily Khoruzhick
b999e41250
lima: ppir: always use vec4 for output register
...
gl_FragDepth is a float, but the hardware still uses a vec4 register,
.x component for depth and another component for stencil, so we have to
always allocate a vec4 for output.
Backport-to: 23.3
Backport-to: 24.0
Reviewed-by: Erico Nunes <nunes.erico@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24855 >
2024-03-06 21:43:43 +00:00
Felix DeGrood
f6c908293e
iris: Increase target batch size to 128 KB
...
Doubling batch size speeds up GFXBench Manhattan +0.5% by
reducing batches / frame from 3 -> 2.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28002 >
2024-03-06 21:22:17 +00:00
Danylo Piliaiev
a76fcebfc0
tu: Fix dynamic state not always being emitted
...
We precompile static state and count it as dynamic, so we have to
manually clear bitset that tells which dynamic state is set, in order to
make sure that future dynamic state will be emitted. The issue is that
framework remembers only a past REAL dynamic state and compares a new
dynamic state against it, and not against our static state masquaraded
as dynamic.
Example:
- Set dynamic state S with value A
- Bind pipeline with dynamic state S
- Draw
- Bind pipeline with static state S with value B
- Draw
- Set dynamic state S with value A
- Bind pipeline with dynamic state S
- Draw
Previously, at the last draw the dynamic state S was not dirty and
current dynamic state was equal to the past dynamic state, so
it was not emitted, while GPU used value B from static pipeline.
This fix, at the point of static pipeline binding, clears the
bitset which tells that dynamic state S was previously set.
This forces the next dynamic state to be re-emitted.
Fixes broken rendering in Arma 3, and probably some other
games running through DXVK.
Fixes: 97da0a7734
("tu: Rewrite to use common Vulkan dynamic state")
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27961 >
2024-03-06 20:57:35 +00:00
Lionel Landwerlin
6823ffe70e
anv: try to keep the pipeline in GPGPU mode when buffer transfer ops
...
To avoid ping-ponging between 3D & GPGPU in the following sequence :
vkCmdDispatch(...)
vkCmdCopyBuffer(...)
vkCmdDispatch(...)
We can try to keep the pipeline in GPGPU mode when doing blorp buffer
operations (we have blorp support for the CCS and can use the same
shaders on RCS).
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27956 >
2024-03-06 20:33:12 +00:00
Lionel Landwerlin
194afe8416
anv/iris/blorp: use the right MOCS values for each engine
...
There are multiple problems currently :
- blorp blitter commands overwrite the protection value coming from
the driver
- anv & iris are using render target MOCS for compute commands
Driver already have the ability to pass the MOCS values so we choose
to stick to that in this change. But now the driver need to select the
right MOCS depending on the engine the commands are going to run onto.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27956 >
2024-03-06 20:33:12 +00:00
Lionel Landwerlin
c40f14bb31
anv: fix incorrect ISL usage in buffer view creation
...
We need to use the usage parameter.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 64f20cec28 ("anv: prepare image/buffer views for non indirect descriptors")
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27956 >
2024-03-06 20:33:12 +00:00
Faith Ekstrand
33bf7ca710
nvk: Return os_page_size for minMemoryMapAlignment
...
Fixes: 8017ac0e79 ("nvk: add some limits/features from binary driver.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28019 >
2024-03-06 19:21:20 +00:00
Gert Wollny
1882527f78
zink: decrease aggressiveness of increasing descriptor data space adaptive
...
An increase by factor 10 with each re-allocation is a bit aggressive and
we hit the available limit easily on lavapipe.
By starting of with an initial larger scale, but decreasing this over time
this error can be avoided.
Specifically with
"spec@arb_shader_texture_lod@execution@tex-miplevel-selection *gradarb 1d"
originally the buffer sizes would be 250, 2500, 25000, and 250000,
with the patch it's 250, 4000, and 32000.
v2: use minimum scale of 4 instead of 2 (Mike)
v3: fix typo (Mike)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27977 >
2024-03-06 18:50:46 +00:00
Gert Wollny
8e239dda41
zink: use only ZINK_BIND_DESCRIPTOR
...
ZINK_BIND_RESOURCE_DESCRIPTOR and ZINK_BIND_SAMPLER_DESCRIPTOR are
always used together, so that we can replace these two values with
ZINK_BIND_DESCRIPTOR and use only one bit to represent the value.
With that we can also remove the aliasing of ZINK_BIND_DESCRIPTOR with
PIPE_BIND_CONST_BW.
Fixes: 13c6ad0038
zink: use a single descriptor buffer for all non-bindless types
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28016 >
2024-03-06 18:15:21 +00:00
Konstantin Seurer
1bcb7f1eb8
docs: Document lavapipe ray tracing features
...
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25616 >
2024-03-06 16:34:26 +00:00
Konstantin Seurer
b55580cab8
lavapipe/ci: Document ray query failures
...
This is the same issue as RADV+emulate_rt has. (Except the jit timeout
of course)
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25616 >
2024-03-06 16:34:26 +00:00
Konstantin Seurer
c2646c6bbc
lavapipe: Advertise VK_KHR_ray_query
...
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25616 >
2024-03-06 16:34:26 +00:00
Konstantin Seurer
32e86e1bff
lavapipe: Advertise VK_KHR_acceleration_structure
...
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25616 >
2024-03-06 16:34:26 +00:00
Konstantin Seurer
09bf35e3c4
lavapipe: Advertise VK_KHR_deferred_host_operations
...
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25616 >
2024-03-06 16:34:26 +00:00
Konstantin Seurer
ed6c0a7443
lavapipe: Implement VK_KHR_ray_query
...
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25616 >
2024-03-06 16:34:26 +00:00
Konstantin Seurer
b69ae8b355
lavapipe: Add ray traversal code
...
Basically the software implementation in radv_rt_common without
traversal stack.
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25616 >
2024-03-06 16:34:26 +00:00
Konstantin Seurer
897ccbd180
lavapipe: Implement VK_KHR_acceleration_structure
...
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25616 >
2024-03-06 16:34:25 +00:00
Konstantin Seurer
ff09e95080
vulkan/cmd_queue: Implement CmdBuildAccelerationStructuresKHR
...
This is needed for copying the arguments properly.
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25616 >
2024-03-06 16:34:25 +00:00
Amber
48da361eb7
tu: wideLines support for a7xx.
...
Passes dEQP-VK.clipping.clip_volume.clipped.wide_lines_*
Signed-off-by: Amber Harmonia <amber@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27775 >
2024-03-06 16:01:09 +00:00
Rhys Perry
beb07fafba
nir/search: fix nir_replace_instr() debug code
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27335 >
2024-03-06 15:23:18 +00:00
Rhys Perry
a93bd52f4f
nir/lower_int64: allow 64-bit comparisons when lowering minmax
...
RADV doesn't need these to be lowered.
fossil-db (navi31):
Totals from 1 (0.00% of 79242) affected shaders:
Instrs: 28 -> 26 (-7.14%)
CodeSize: 140 -> 128 (-8.57%)
Latency: 605 -> 604 (-0.17%)
Copies: 5 -> 6 (+20.00%)
VALU: 14 -> 13 (-7.14%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27335 >
2024-03-06 15:23:18 +00:00
Rhys Perry
b37804c8de
nir/algebraic: optimize 64-bit comparisons with zero'd halves to 32-bit
...
These expect nir_lower_int64 to replace u2u64 to pack_64_2x32_split(, 0).
fossil-db (navi31):
Totals from 149 (0.19% of 79242) affected shaders:
Instrs: 433095 -> 431830 (-0.29%); split: -0.29%, +0.00%
CodeSize: 2165980 -> 2160284 (-0.26%); split: -0.27%, +0.00%
SpillSGPRs: 689 -> 688 (-0.15%)
Latency: 3801497 -> 3799901 (-0.04%); split: -0.05%, +0.01%
InvThroughput: 1547916 -> 1546567 (-0.09%); split: -0.09%, +0.01%
VClause: 4698 -> 4693 (-0.11%)
SClause: 9981 -> 9977 (-0.04%); split: -0.05%, +0.01%
Copies: 66148 -> 65431 (-1.08%); split: -1.09%, +0.01%
PreSGPRs: 6732 -> 6729 (-0.04%)
PreVGPRs: 7976 -> 7945 (-0.39%)
VALU: 252936 -> 252336 (-0.24%)
SALU: 51794 -> 51274 (-1.00%); split: -1.03%, +0.02%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27335 >
2024-03-06 15:23:18 +00:00
Rhys Perry
417eb390c6
nir/algebraic: remove duplicated iand(ien, ine)/ior(ieq, ieq) patterns
...
These don't seem useful, since they're already done in the early optimizations.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27335 >
2024-03-06 15:23:18 +00:00
Rhys Perry
6952bb359c
nir/algebraic: don't create 64-bit min/max/ior if lowered
...
fossil-db (navi31):
Totals from 58 (0.07% of 79242) affected shaders:
Instrs: 11692 -> 11304 (-3.32%)
CodeSize: 65836 -> 62412 (-5.20%)
VGPRs: 1320 -> 1344 (+1.82%)
Latency: 51712 -> 50234 (-2.86%)
InvThroughput: 10190 -> 10160 (-0.29%)
Copies: 460 -> 688 (+49.57%)
VALU: 6130 -> 5897 (-3.80%)
SALU: 1231 -> 1284 (+4.31%); split: -0.32%, +4.63%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27335 >
2024-03-06 15:23:18 +00:00
Daniel Schürmann
61854009f3
aco: rematerialize constants in every basic block during optimizer
...
Totals from 16837 (21.25% of 79242) affected shaders: (GFX11)
MaxWaves: 441634 -> 444546 (+0.66%); split: +0.66%, -0.00%
Instrs: 25908303 -> 25838469 (-0.27%); split: -0.36%, +0.09%
CodeSize: 133943168 -> 135446948 (+1.12%); split: -0.04%, +1.16%
VGPRs: 985332 -> 977440 (-0.80%); split: -0.83%, +0.03%
SpillSGPRs: 9133 -> 7535 (-17.50%); split: -17.74%, +0.24%
SpillVGPRs: 1418 -> 1359 (-4.16%); split: -4.58%, +0.42%
Scratch: 5047552 -> 5040640 (-0.14%)
Latency: 204330340 -> 204179212 (-0.07%); split: -0.32%, +0.25%
InvThroughput: 36584220 -> 36508856 (-0.21%); split: -0.40%, +0.19%
VClause: 437847 -> 437344 (-0.11%); split: -0.34%, +0.22%
SClause: 771311 -> 771013 (-0.04%); split: -0.42%, +0.38%
Copies: 1774950 -> 1712070 (-3.54%); split: -4.46%, +0.91%
Branches: 580595 -> 580478 (-0.02%); split: -0.03%, +0.01%
PreSGPRs: 877017 -> 817549 (-6.78%)
PreVGPRs: 852747 -> 846966 (-0.68%); split: -0.68%, +0.00%
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26875 >
2024-03-06 15:02:21 +00:00
Rohan Garg
9baa57158d
intel/genxml: update PIPE_CONTROL so that we can decode it on the CCS
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28013 >
2024-03-06 14:37:11 +00:00
Rhys Perry
3b28ba8239
aco: optimize for purely linear VGPR copies
...
fossil-db:
Totals from 2 (0.00% of 79242) affected shaders:
Instrs: 1344 -> 1340 (-0.30%)
CodeSize: 6968 -> 6952 (-0.23%)
Latency: 4414 -> 4410 (-0.09%)
InvThroughput: 1018 -> 1020 (+0.20%)
Copies: 60 -> 56 (-6.67%)
SALU: 40 -> 36 (-10.00%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27697 >
2024-03-06 12:55:46 +00:00
Rhys Perry
8cd3a3a520
aco/tests: add tests for linear VGPR register allocation
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27697 >
2024-03-06 12:55:46 +00:00
Rhys Perry
f9b37723d0
aco/ra: emit linear VGPR parallel copy separately
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27697 >
2024-03-06 12:55:46 +00:00
Rhys Perry
d9b69a7cbf
aco/ra: disable live range splitting of linear vgprs
...
These shouldn't happen anymore.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27697 >
2024-03-06 12:55:46 +00:00
Rhys Perry
b7738de4f9
aco/ra: rework linear VGPR allocation
...
We allocate them at the end of the register file and keep them separate
from normal VGPRs. This is for two reasons:
- Because we only ever move linear VGPRs into an empty space or a space
previously occupied by a linear one, we never have to swap a normal VGPR
and a linear one. This simplifies copy lowering.
- As linear VGPR's live ranges only start and end on top-level blocks, we
never have to move a linear VGPR in control flow.
fossil-db (navi31):
Totals from 5493 (6.93% of 79242) affected shaders:
MaxWaves: 150365 -> 150343 (-0.01%)
Instrs: 7974740 -> 7976073 (+0.02%); split: -0.06%, +0.08%
CodeSize: 41296024 -> 41299024 (+0.01%); split: -0.06%, +0.06%
VGPRs: 283192 -> 329560 (+16.37%)
Latency: 64267936 -> 64268414 (+0.00%); split: -0.17%, +0.17%
InvThroughput: 10954037 -> 10951735 (-0.02%); split: -0.09%, +0.07%
VClause: 132792 -> 132956 (+0.12%); split: -0.06%, +0.18%
SClause: 223854 -> 223841 (-0.01%); split: -0.01%, +0.01%
Copies: 559574 -> 561395 (+0.33%); split: -0.24%, +0.56%
Branches: 179630 -> 179636 (+0.00%); split: -0.02%, +0.02%
VALU: 4572683 -> 4574487 (+0.04%); split: -0.03%, +0.07%
SALU: 772076 -> 772111 (+0.00%); split: -0.01%, +0.01%
VOPD: 1095 -> 1099 (+0.37%); split: +0.73%, -0.37%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27697 >
2024-03-06 12:55:46 +00:00
Rhys Perry
2d49c79c7e
aco/ra: change get_reg_bounds() helper
...
We will have a separate bounds for linear VGPRs.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27697 >
2024-03-06 12:55:46 +00:00
Rhys Perry
a38bc9e165
aco/ra: move parallelcopy creation into helper
...
This is almost a direct copy+paste into it's own function.
This is useful both for future work and the make the caller smaller.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27697 >
2024-03-06 12:55:46 +00:00
Rhys Perry
a8b72082cf
aco/ra: constify various RegisterFile
...
This makes it more obvious that these functions don't change it.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27697 >
2024-03-06 12:55:45 +00:00
Rhys Perry
6a195bb521
aco: only allow linear vgpr kills in top-level blocks
...
This is already the case, and requiring it will be useful in the future.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27697 >
2024-03-06 12:55:45 +00:00
Rhys Perry
07eab4ab40
aco: require linear vgpr uses to be late kill
...
This also removes some linear VGPR tests which will be replaced soon
anyway.
fossil-db (navi31):
Totals from 107 (0.14% of 79242) affected shaders:
Instrs: 66203 -> 66211 (+0.01%); split: -0.09%, +0.10%
CodeSize: 354644 -> 354588 (-0.02%); split: -0.08%, +0.07%
VGPRs: 4476 -> 4452 (-0.54%); split: -0.80%, +0.27%
Latency: 513863 -> 513877 (+0.00%); split: -0.08%, +0.08%
InvThroughput: 68871 -> 68870 (-0.00%); split: -0.02%, +0.02%
SClause: 1589 -> 1590 (+0.06%)
PreVGPRs: 3404 -> 3415 (+0.32%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27697 >
2024-03-06 12:55:45 +00:00
Rhys Perry
5e17a39b15
aco: allow p_start_linear_vgpr to use multiple operands
...
Merging the p_create_vector into the p_start_linear_vgpr is useful since
we stopped attempting to place the p_start_linear_vgpr definition in the
same registers as the operand.
fossil-db (navi31):
Totals from 927 (1.17% of 79242) affected shaders:
MaxWaves: 26412 -> 26442 (+0.11%)
Instrs: 938328 -> 938181 (-0.02%); split: -0.14%, +0.13%
CodeSize: 4891448 -> 4890820 (-0.01%); split: -0.11%, +0.10%
VGPRs: 47016 -> 47004 (-0.03%); split: -0.13%, +0.10%
SpillSGPRs: 222 -> 226 (+1.80%)
Latency: 5076065 -> 5075191 (-0.02%); split: -0.12%, +0.10%
InvThroughput: 712316 -> 712421 (+0.01%); split: -0.09%, +0.10%
SClause: 27992 -> 27972 (-0.07%); split: -0.09%, +0.02%
Copies: 38042 -> 38104 (+0.16%); split: -1.95%, +2.12%
PreVGPRs: 39448 -> 39369 (-0.20%)
VALU: 570157 -> 570224 (+0.01%); split: -0.13%, +0.14%
SALU: 51672 -> 51678 (+0.01%); split: -0.01%, +0.02%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27697 >
2024-03-06 12:55:45 +00:00
Rhys Perry
f764f6848a
aco/ra: disable p_start_linear_vgpr allocation hint
...
As this is, this will become useless soon.
fossil-db (navi31):
Totals from 176 (0.22% of 79242) affected shaders:
Instrs: 101932 -> 102413 (+0.47%); split: -0.01%, +0.49%
CodeSize: 541352 -> 543256 (+0.35%); split: -0.01%, +0.36%
VGPRs: 7884 -> 7896 (+0.15%)
Latency: 588129 -> 588559 (+0.07%); split: -0.07%, +0.15%
InvThroughput: 83349 -> 83689 (+0.41%); split: -0.01%, +0.42%
Copies: 4324 -> 4691 (+8.49%)
VALU: 61431 -> 61798 (+0.60%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27697 >
2024-03-06 12:55:45 +00:00
Rhys Perry
f99443a68b
aco: don't combine linear and normal VGPR copies
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27697 >
2024-03-06 12:55:45 +00:00
Christian Gmeiner
599de4b47c
etnaviv: Remove not used etna_assemble_set_imm(..)
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27950 >
2024-03-06 12:40:02 +00:00
Jonathan Gray
2777a4c692
intel/dev: update DG2 device names
...
Ref: https://ark.intel.com/content/www/us/en/ark/products/codename/226095/products-formerly-alchemist.html
Ref: DG2 PRM, Volume 4: Configurations, Steppings and Device IDs
Fixes: 99354efe31 ("intel/dev: Add DG2 G12 PCI IDs")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27944 >
2024-03-06 11:23:02 +00:00
Rohan Garg
731ffa0737
anv, blorp: Set COMPUTE_WALKER Message SIMD field
...
Fixes: d95bbf35 ('anv: Set COMPUTE_WALKER Message SIMD field')
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27983 >
2024-03-06 10:58:27 +00:00
Lionel Landwerlin
0de856ecef
anv: fix companion command buffer initialization
...
Currently the command buffer is completely empty, which is not good.
There are a few of things that should be programmed, but we've
probably been okay due to the default engine initialization.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: edcde0679c ("anv: Add helper to create companion RCS command buffer")
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27979 >
2024-03-06 10:23:34 +00:00
Lionel Landwerlin
67c9f94b05
anv: delay internal shader upload to when needed
...
People reported an increase in device initialization affecting some
Android tests [1].
So delay the internal shader upload (similar to what we do for blorp
shaders, and what RADV seems to be doing too) until actually needed.
[1] : https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25361#note_2305129
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27946 >
2024-03-06 09:58:53 +00:00
Patrick Lerda
11ce5b1a9f
r300: enable R400 cos and sin hardware vertex shader opcodes
...
The R400 has working hardware opcodes for cos and sin at
the vertex shader level. This change enables these features.
This change was tested on an ATI R430 (0x554d).
Here is the shader-db summary:
total instructions in shared programs: 103863 -> 103552 (-0.30%)
instructions in affected programs: 5610 -> 5299 (-5.54%)
helped: 38
HURT: 24
total temps in shared programs: 16836 -> 16830 (-0.04%)
temps in affected programs: 42 -> 36 (-14.29%)
helped: 6
HURT: 0
total cycles in shared programs: 162448 -> 162139 (-0.19%)
cycles in affected programs: 5760 -> 5451 (-5.36%)
helped: 38
HURT: 24
LOST: 0
GAINED: 3
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10504
Signed-off-by: Patrick Lerda <patrick9876@free.fr >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27970 >
2024-03-06 09:38:27 +00:00
Eric Engestrom
158e5882e9
ci/lavapipe: fold DEQP_VER: vk and drop .deqp-test-vk
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27936 >
2024-03-06 08:54:11 +00:00
Eric Engestrom
54254ae3f2
ci/venus-lavapipe: drop unused DEQP_VER that's being overwritten by DEQP_SUITE anyway
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27936 >
2024-03-06 08:54:11 +00:00
Samuel Pitoiset
4a2a261a79
radv: stop passing radv_cmd_buffer to draw functions with task shaders
...
In order to remove the ambiguity because for task shaders the driver
needs to emit to both the GFX CS and the ACE CS but all states come
from the main cmdbuf (ie. GFX) from the application point of view.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27819 >
2024-03-06 08:24:39 +00:00
Samuel Pitoiset
c2288ad43d
radv: allocate a 32-bit value for the MEC fw bug with indirect mesh+task earlier
...
This workaround will be removed soon but in order to pass only
radv_cmd_state+cs+ace_cs to the functions that draw with mesh+task, the
32-bit value needs to be allocated earlier.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27819 >
2024-03-06 08:24:39 +00:00
Samuel Pitoiset
d18c50856a
radv: refactor emitting the view index for task shaders
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27819 >
2024-03-06 08:24:39 +00:00
Samuel Pitoiset
1f8cfb2b2e
radv: always use ace_cs for the gang CS variable
...
For consistency.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27819 >
2024-03-06 08:24:39 +00:00
qbojj
4b7f4724f8
vulkan: Fix calculation of flags in vk_graphics_pipeline_state_fill
...
Fixes: 2b62d90158 ("vk/graphics_state: Support VK_KHR_maintenance5")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10705
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27929 >
2024-03-06 07:54:28 +00:00
Mark Janes
597c1c1c18
intel/dev: declare workarounds required by ATSM platforms
...
INTEL_PLATFORM_ATSM_G10 requires the same workarounds as INTEL_PLATFORM_DG2_G10
INTEL_PLATFORM_ATSM_G11 requires the same workarounds as INTEL_PLATFORM_DG2_G11
Closes : #10749
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27987 >
2024-03-05 22:49:14 -08:00
Dave Airlie
ac391536eb
nvk: only unmap heap bos that were mapped
...
Otherwise we munmap(0, size) and remove the cts binary maps
Also add an assert, though NULL is legal for munmap in theory,
nothing should be using it in practice on Linux.
Fixes: e6f137e9ed ("nvk: Only map heaps that explicitly request maps")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28006 >
2024-03-06 15:20:25 +10:00
Faith Ekstrand
2feb3c6e30
nak: Support F2I for 8-bit integers on SM50
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28000 >
2024-03-06 03:20:10 +00:00
Faith Ekstrand
11de561395
nak/sm50: Use OpBfe instead of OpBRev for nir_op_find_lsb
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28000 >
2024-03-06 03:20:10 +00:00
Faith Ekstrand
3d13d190e6
nak/sm50: Fix encoding of immediates in OpFFma
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28000 >
2024-03-06 03:20:10 +00:00
Faith Ekstrand
21de61b1ac
nak: Fix printing of OpIsberd
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28000 >
2024-03-06 03:20:10 +00:00
David Heidelberg
1316854e74
ci/intel: split asus-cx9400-volteer into acer-cp514-2h-11{30,60}g7-volteer
...
Cc: mesa-stable
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27877 >
2024-03-06 01:52:49 +00:00
David Heidelberg
861c123ba0
ci/intel: move machine definition to the intel-tgl-skqp job
...
Cc: mesa-stable
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27877 >
2024-03-06 01:52:49 +00:00
David Heidelberg
f9ba492647
ci/intel: add acer-cp514-2h-11{30,60}g7-volteer
...
Originally asus-cx9400-volteer, but now we can choose machine regarding
to available CPU within.
Cc: mesa-stable
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27877 >
2024-03-06 01:52:49 +00:00
David Heidelberg
ed73137d35
ci/intel: decompose anv-tgl-test so we can specify custom devices for TGL
...
No functional changes.
Cc: mesa-stable
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27877 >
2024-03-06 01:52:49 +00:00
Felix DeGrood
a2bd99f521
driconf: add SotTR DX12 to Intel XeSS workaround
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27610 >
2024-03-06 01:12:54 +00:00
Jesse Natalie
9c4c1796d7
d3d12: Point sprite lowering pass needs to handle arrays
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27999 >
2024-03-06 00:54:31 +00:00
Jesse Natalie
788c106ea1
wgl: Initialize DEVMODE struct
...
Otherwise the dmDriverExtra field might be uninitialized and have a nonzero
value, which can cause the API implementation to smash the stack when copying
to the output struct.
Cc: mesa-stable
Reviewed-by: Joshua Ashton <joshua@froggi.es >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27998 >
2024-03-06 00:33:58 +00:00
Faith Ekstrand
d1cf01dc52
vulkan/pipeline: Always init pipeline cache objects
...
vk_shader_init_cache_obj() is fast enough and the already-found case is
rare enough that there's no good reason to avoid the init. This allows
us to use vk_shader_unref instead of vk_shader_destroy which is probably
a touch safer over-all. It also fixes the assert that the two shaders
have matching keys.
Fixes: bb8b11d806 ("vulkan/pipeline: Handle fully compiled library shaders properly")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10752
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27993 >
2024-03-05 23:12:34 +00:00
Timur Kristóf
def0c275c4
aco: Eliminate SCC copies when possible.
...
Foz-DB Navi31:
Totals from 2517 (3.22% of 78112) affected shaders:
Instrs: 5992126 -> 5972611 (-0.33%); split: -0.33%, +0.00%
CodeSize: 30986404 -> 30914536 (-0.23%); split: -0.23%, +0.00%
Latency: 43221112 -> 43217422 (-0.01%); split: -0.02%, +0.01%
InvThroughput: 6675983 -> 6674598 (-0.02%); split: -0.02%, +0.00%
SClause: 181987 -> 181976 (-0.01%); split: -0.01%, +0.00%
Copies: 538852 -> 519419 (-3.61%)
Co-authored-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27072 >
2024-03-05 22:51:01 +00:00
Mike Blumenkrantz
9a53e3b1fd
nvk: bump NVK_PUSH_MAX_SYNCS to 256
...
technically this needs to be MUCH higher since there's no limitation
on the number of semaphore waits that can be submitted, but this is
enough to handle zink usage
fixes KHR-GL46.sparse_buffer_tests.BufferStorageTest
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27992 >
2024-03-05 22:34:58 +00:00
Jesse Natalie
ba17f5ca6a
microsoft/compiler: Remove code after discard/terminate in later optimization steps
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27996 >
2024-03-05 21:40:09 +00:00
Chia-I Wu
3d4dfae7eb
aco: fix nir_op_pack_32_4x8 handling
...
I started seeing
ACO ERROR:
In file ../src/amd/compiler/aco_validate.cpp:98
Operand and Definition types do not match: s1: %44 = p_parallelcopy %158
test_basic: ../src/amd/compiler/aco_interface.cpp:85: void validate(aco::Program*):
Assertion `is_valid' failed.
since commit 52ee4cf229 ("nir/builder: Teach nir_pack_bits and
nir_unpack_bits about 32_4x8").
Fixes: e0d232c2fc ("aco: implement nir_op_pack_32_4x8"). I
Suggested-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27972 >
2024-03-05 20:38:34 +00:00
Georg Lehmann
482137402a
aco/ssa_elimination: check if pseudo scratch reg overwrittes regs used for v_cmpx opt
...
Cc: mesa-stable
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27855 >
2024-03-05 20:16:21 +00:00
Georg Lehmann
e7d6cd9216
aco/post-ra: track pseudo scratch sgpr/scc clobber
...
Foz-DB Navi31:
Totals from 1439 (1.84% of 78112) affected shaders:
Instrs: 1994854 -> 1996650 (+0.09%)
CodeSize: 11376864 -> 11383384 (+0.06%)
Latency: 14996299 -> 14999317 (+0.02%); split: -0.00%, +0.02%
InvThroughput: 2061294 -> 2061518 (+0.01%); split: -0.00%, +0.01%
Cc: mesa-stable
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27855 >
2024-03-05 20:16:21 +00:00
Georg Lehmann
1eb067ee9f
aco: store if pseudo instr needs scratch reg
...
Cc: mesa-stable
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27855 >
2024-03-05 20:16:21 +00:00
Georg Lehmann
bd93e8372d
aco/post-ra: assume scc is going to be overwritten by phis at end of blocks
...
Cc: mesa-stable
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27855 >
2024-03-05 20:16:21 +00:00
Georg Lehmann
a5056b2f93
aco/post-ra: rename overwritten_subdword to allow additional uses
...
Cc: mesa-stable
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27855 >
2024-03-05 20:16:21 +00:00
Georg Lehmann
b0554ab0a1
aco: create pseudo instructions with correct struct
...
Cc: mesa-stable
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27855 >
2024-03-05 20:16:21 +00:00
Job Noorman
8d0f9c8fcd
ir3: fix returning false instead of NULL
...
Fixes: 9de628b65c ("ir3: fold and/or and negations into branches")
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27986 >
2024-03-05 19:50:32 +00:00
Job Noorman
9cfc44532b
ir3: fix freeing incorrect register in loops
...
While processing loop back edges, current live defs were freed through
their def pointer instead of correctly using get_def(). This may cause
the wrong register being freed when the current live def was reloaded.
Fixes: 21cd9b9557 ("ir3: implement RA for predicate registers")
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27986 >
2024-03-05 19:50:32 +00:00
Yonggang Luo
1e97fded47
vulkan/runtime: Mark vk_default_dynamic_graphics_state to be private
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27526 >
2024-03-05 19:05:00 +00:00
Yonggang Luo
2f57834d27
freedreno/vulkan: Use vk_dynamic_graphics_state_init instead of direct assignment
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27526 >
2024-03-05 19:05:00 +00:00
Yonggang Luo
db103c56ab
treewide: Remove vulkan/runtime vulkan/util prefix in include path
...
This is for unify the include style of shared vulkan headers
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27526 >
2024-03-05 19:05:00 +00:00
Mike Blumenkrantz
ea9d87bf75
zink: call CmdSetRasterizationStreamEXT when using shader objects
...
required by spec
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27990 >
2024-03-05 18:41:44 +00:00
Mike Blumenkrantz
0736c212b5
zink: fix PIPE_CAP_MAX_SHADER_PATCH_VARYINGS
...
maxTessellationControlPerPatchOutputComponents is the per-patch limit,
maxTessellationControlPerVertexOutputComponents is the per-vertex limit
fixes #10750
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27990 >
2024-03-05 18:41:44 +00:00
Friedrich Vock
4c05ebf3a5
radv: Set SCRATCH_EN for RT pipelines based on dynamic stack size
...
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27899 >
2024-03-05 18:15:00 +00:00
Mike Blumenkrantz
ac4e60b9c9
lavapipe bump descriptor buffer address space limits
...
lavapipe is the only driver that advertises the spec minimum, which is
stupidly small
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27989 >
2024-03-05 17:43:53 +00:00
Rob Clark
850267ef99
freedreno/a6xx: Add dual_color_blend_by_location
...
Needed by unigine heaven.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27969 >
2024-03-05 16:53:29 +00:00
Rohan Garg
c82edb4e8f
anv: drop duplicated 3DSTATE_SLICE_TABLE_STATE_POINTERS emission
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27985 >
2024-03-05 15:49:41 +00:00
Georg Lehmann
1d8b2b159e
nir/divergence_analysis: fix subgroup mask
...
These depend on the subgroup invocation id, so they are divergent.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Fixes: df86c5ffb3 ("nir: add divergence analysis pass.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27962 >
2024-03-05 14:52:17 +00:00
Georg Lehmann
230743da2e
nir: remove rotate scope
...
All other subgroup operations do not have a scope in NIR, so for consistency
rotate shouldn't have one either.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27964 >
2024-03-05 14:12:21 +00:00
Kenneth Graunke
edf14f4b7c
intel/brw: Unindent code after previous change
...
I kept things indented in the previous patch to make the diffs easier to
read, but there's no reason to continue doing so.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27959 >
2024-03-05 12:03:31 +00:00
Kenneth Graunke
4c10613625
intel/brw: Remove SIMD lowering to a larger SIMD size
...
On Gfx4, we had to emulate SIMD8 texturing with SIMD16 for some message
types. This ceased to be a thing with Gfx5 and hasn't come up again.
So, we can simply assert that we are truly "SIMD splitting", and assume
that the lowered size is smaller than the original instruction size.
This avoids some mental complexity as we can always think of the split
instructions as taking apart, operating on, and recombining subsets of
the original values.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27959 >
2024-03-05 12:03:31 +00:00
Kenneth Graunke
bb191e3af5
intel/brw: Call constant combining after copy propagation/algebraic
...
This copy propagation can create MADs with immediates in src1, which
need to be cleaned up by constant combining (which puts them back in
VGRFs).
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27876 >
2024-03-05 11:39:26 +00:00
Kenneth Graunke
e8ef184677
intel/brw: Make register coalescing obey the g112-g127 restriction
...
opt_register_coalesce can sometimes unpleasantly coalesce both
SENDS payload sources into the larger of the two registers.
This can break the assumption that the VGRFs for sources 2-3
must occupy no more than 16 registers, so they fit in g112-127.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27876 >
2024-03-05 11:39:26 +00:00
Kenneth Graunke
1c1e79d75a
intel/brw: Copy the smaller payload in fixup_sends_duplicate_payload
...
Sometimes one source can be a larger register than the other, especially
since opt_register_coalesce can sometimes coalesce those sources into
larger registers.
Copy the smaller of mlen and ex_mlen. It's less copying.
shader-db and fossil-db on Alchemist show 47 shaders affected with
small 1-2 instruction improvements each, and no regressions.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27876 >
2024-03-05 11:39:26 +00:00
Kenneth Graunke
91252c98a8
intel/brw: Add assertions that EOT messages live in g112+
...
The validator already catches this, but asserting here makes it easier
to catch the problem earlier in a debugger.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27876 >
2024-03-05 11:39:26 +00:00
Kenneth Graunke
f6ac6c94a9
intel/brw: Handle SHADER_OPCODE_SEND without src[3] in copy prop
...
We construct some SENDs with only 3 sources (such as FB writes).
This code could read out of bounds.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27876 >
2024-03-05 11:39:26 +00:00
Kenneth Graunke
49606ab067
intel/brw: Avoid copy propagating any fixed registers into EOTs
...
We were handling FIXED_GRF, but we probably also ought to handle ATTR
(pushed inputs) and UNIFORM (pushed constants). Just check if file
isn't VGRF to handle everything.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27876 >
2024-03-05 11:39:26 +00:00
Kenneth Graunke
97bf3d3b2d
intel/brw: Replace CS_OPCODE_CS_TERMINATE with SHADER_OPCODE_SEND
...
There's no need for special handling here, it's just a send message
with a trivial g0 header and descriptor.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27924 >
2024-03-05 11:16:20 +00:00
Patrick Lerda
f93f215898
radeonsi/gfx10: fix main_shader_part_ngg_es memory leak
...
Indeed, main_shader_part_ngg_es was not freed.
For instance, this issue is triggered on a radeonsi/gfx10 gpu with
"piglit/bin/arb_gpu_shader5-tf-wrong-stream-value -auto -fbo":
Direct leak of 1464 byte(s) in 1 object(s) allocated from:
#0 0x7f17904b99a7 in calloc (/usr/lib64/libasan.so.6+0xb19a7)
#1 0x7f1785d65ac2 in si_init_shader_selector_async ../src/gallium/drivers/radeonsi/si_state_shaders.cpp:3132
#2 0x7f1783af67d8 in util_queue_thread_func ../src/util/u_queue.c:309
#3 0x7f1783b51dfa in impl_thrd_routine ../src/c11/impl/threads_posix.c:67
#4 0x7f178f69d38a (/lib64/libc.so.6+0x8438a)
Indirect leak of 2024 byte(s) in 1 object(s) allocated from:
#0 0x7f17904b97ef in __interceptor_malloc (/usr/lib64/libasan.so.6+0xb17ef)
#1 0x7f1785d5443a in read_chunk ../src/gallium/drivers/radeonsi/si_state_shaders.cpp:221
#2 0x7f1785d62cf5 in si_load_shader_binary ../src/gallium/drivers/radeonsi/si_state_shaders.cpp:293
#3 0x7f1785d65255 in si_shader_cache_load_shader ../src/gallium/drivers/radeonsi/si_state_shaders.cpp:423
#4 0x7f1785d65ef9 in si_init_shader_selector_async ../src/gallium/drivers/radeonsi/si_state_shaders.cpp:3169
#5 0x7f1783af67d8 in util_queue_thread_func ../src/util/u_queue.c:309
#6 0x7f1783b51dfa in impl_thrd_routine ../src/c11/impl/threads_posix.c:67
#7 0x7f178f69d38a (/lib64/libc.so.6+0x8438a)
Fixes: 8f72f137ad ("radeonsi/gfx10: add as_ngg variant for TES as ES to select Wave32/64")
Signed-off-by: Patrick Lerda <patrick9876@free.fr >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27958 >
2024-03-05 10:50:22 +00:00
Christian Gmeiner
516a2a3a0e
isaspec: encode: Constify bitset_params
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Acked-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27965 >
2024-03-05 07:29:08 +00:00
Christian Gmeiner
381d19d138
isaspec: encode: Constify encode.type
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Acked-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27965 >
2024-03-05 07:29:08 +00:00
Lionel Landwerlin
dde2527afb
anv: add support for VK_EXT_map_memory_placed
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27963 >
2024-03-05 07:03:13 +00:00
Lionel Landwerlin
6ad2a03ffd
anv: remove some wrapping around mmap
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27963 >
2024-03-05 07:03:13 +00:00
Tapani Pälli
0df9571bfb
crocus: make sure aux is disabled for memory objects
...
Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27948 >
2024-03-04 20:36:43 +02:00
Tapani Pälli
9d18cde8ed
hasvk: make sure aux is disabled for memory objects
...
Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27948 >
2024-03-04 20:36:34 +02:00
Yiwei Zhang
aaa2d13181
venus: add VK_KHR_fragment_shading_rate
...
Notes:
- handle the property interop with VK_EXT_sample_locations
- handle the interop with pipeline creation
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27942 >
2024-03-04 10:11:16 -08:00
Yiwei Zhang
9edf180796
venus: sync protocol for VK_KHR_fragment_shading_rate
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27942 >
2024-03-04 10:11:16 -08:00
Eric Engestrom
78ea3bb43d
ci/deqp: use the proper gl/gles releases for deqp-gl*, deqp-gles*, deqp-egl
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27473 >
2024-03-04 16:53:58 +00:00
Eric Engestrom
8bb59f16ec
ci/deqp-runner: inline never-used DEQP_VARIANT variable
...
It has never been used, and we're about to change some of them and not others,
so we need to distinguish them.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27473 >
2024-03-04 16:53:58 +00:00
Eric Engestrom
e9fb4d951b
ci/deqp: split vk/gl/gles patches
...
All files are identical copies for now, but this allows changing one
without touching the others.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27473 >
2024-03-04 16:53:58 +00:00
Eric Engestrom
74bcb91a91
ci/deqp: drop zlib url patch
...
It's no longer necessary, and removing it now simplifies the diff later.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27473 >
2024-03-04 16:53:57 +00:00
Lionel Landwerlin
f3b0330fbc
anv: fix helper usage for CmdUpdateBuffer()
...
We created a new helper for things that don't need to be indexed from
the dynamic state pool. This allocation got missed.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 82d772fa9b ("anv: create new helper for small allocations")
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27966 >
2024-03-04 16:24:24 +00:00
Oskar Viljasaar
f9acfeeb59
compiler/types: Fix glsl_dvec*_type() helpers
...
Commit 90e364edb0 contained a typo in the glsl_dvec4_type() helper,
instead returning a glsl_ivec4_type. As an ivec4 is 2x smaller than
a dvec4, this also broke piglit sanity on crocus/hsw.
This also fixes the dvec2 helper, though it has not been specifically
tested anywhere.
Fixes: 90e364edb0 ("compiler/types: Add a few more helpers to get builtin types")
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27917 >
2024-03-04 15:22:32 +00:00
Sathishkumar S
0fe5ad708d
radeonsi/vcn: avoid hard-coding the number of jpeg instance
...
use the number of jpeg instances from query to create as many submission ctx
Signed-off-by: Sathishkumar S <sathishkumar.sundararaju@amd.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27884 >
2024-03-04 13:41:56 +00:00
Sathishkumar S
f3ab454f07
ac/gpu_info: query the number of ip instance
...
query the number of ip instances for VCN and JPEG
v2: use num_queues and remove new variable (Marek)
v3: remove whitespace (Leo)
v4: remove redundant print jpeg_decode (Marek)
Signed-off-by: Sathishkumar S <sathishkumar.sundararaju@amd.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27884 >
2024-03-04 13:41:56 +00:00
Patrick Lerda
29df85788a
r300: fix constants_remap_table memory leak
...
For instance, this issue is triggered with
"piglit/bin/object-namespace-pollution glBitmap program -auto -fbo":
Direct leak of 112 byte(s) in 7 object(s) allocated from:
#0 0x7f472540e7ef in __interceptor_malloc (/usr/lib64/libasan.so.6+0xb17ef)
#1 0x7f471a9ce18f in rc_remove_unused_constants ../src/gallium/drivers/r300/compiler/radeon_remove_constants.c:101
#2 0x7f471a9b0836 in rc_run_compiler_passes ../src/gallium/drivers/r300/compiler/radeon_compiler.c:476
#3 0x7f471a9b0ad5 in rc_run_compiler ../src/gallium/drivers/r300/compiler/radeon_compiler.c:498
#4 0x7f471a9ec862 in r3xx_compile_fragment_program ../src/gallium/drivers/r300/compiler/r3xx_fragprog.c:172
#5 0x7f471a9e1ab2 in r300_translate_fragment_shader ../src/gallium/drivers/r300/r300_fs.c:516
#6 0x7f471a9e6303 in r300_pick_fragment_shader ../src/gallium/drivers/r300/r300_fs.c:591
#7 0x7f471a9544fe in r300_create_fs_state ../src/gallium/drivers/r300/r300_state.c:1073
#8 0x7f4718f2ebe5 in st_create_fp_variant ../src/mesa/state_tracker/st_program.c:1070
#9 0x7f4718f374b5 in st_get_fp_variant ../src/mesa/state_tracker/st_program.c:1116
#10 0x7f4718f38273 in st_precompile_shader_variant ../src/mesa/state_tracker/st_program.c:1281
#11 0x7f4718f38273 in st_finalize_program ../src/mesa/state_tracker/st_program.c:1345
#12 0x7f4718f389e9 in st_program_string_notify ../src/mesa/state_tracker/st_program.c:1378
#13 0x7f47199d9f99 in set_program_string ../src/mesa/main/arbprogram.c:413
Fixes: 1c2c4ddbd1 ("r300g: copy the compiler from r300c")
Signed-off-by: Patrick Lerda <patrick9876@free.fr >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27957 >
2024-03-04 13:00:00 +00:00
Eric Engestrom
dfc9656425
softpipe: update expectations
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27951 >
2024-03-04 12:01:04 +00:00
David Heidelberg
31ef5b203f
ci: re-enable Collabora farm after maintenance
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27949 >
2024-03-04 11:40:35 +01:00
Eric Engestrom
1e8642ebbe
zink+radv: update navi31 expectations (one test fixed)
...
Fixed by some commit between 0c95d39309 and 3d38c9597f .
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27947 >
2024-03-04 09:26:58 +00:00
Corentin Noël
b6962bbfc8
zink: Return early if the file descriptor could not have been duplicated/acquired
...
Do not continue and call drmIoctl on an invalid file descriptor.
Fix defect reported by Coverity Scan.
Argument cannot be negative
The negative argument will be interpreted as a very large unsigned value.
CID: 1544377
Cc: mesa-stable
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27788 >
2024-03-04 09:10:29 +00:00
Corentin Noël
da2f393dda
venus: enable VK_EXT_attachment_feedback_loop_layout
...
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27886 >
2024-03-04 08:52:07 +00:00
Corentin Noël
6746c3483b
venus: sync protocol for VK_EXT_attachment_feedback_loop_layout
...
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27886 >
2024-03-04 08:52:07 +00:00
Corentin Noël
bc11e6ee8d
glsl: Ensure that we are dealing with ir_variable and ir_rvalue
...
Use the built-in function from ir_instruction to make sure that we are actually
not casting to anther type by mistake.
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27114 >
2024-03-04 08:03:55 +00:00
Erik Faye-Lund
d795bd380a
glsl: Make error_value a real ir_rvalue type
...
It exposes a type so let it be a real ir_rvalue instead of abusing ir_type_unset.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27114 >
2024-03-04 08:03:55 +00:00
Samuel Pitoiset
a38e7f127a
radv: preserve streamout_buffers user SGPR for VS/TES + GS compiled separately
...
Otherwise, VS or TES could overwrite it but it needs to be preserved
if GS reads it.
This fixes the remaining NGG streamout bug on RDNA3 with VKCTS and ESO.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27914 >
2024-03-04 07:38:06 +00:00
Timothy Arceri
eefd836ebc
glsl: make use of nir recursion detection
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27841 >
2024-03-04 05:40:55 +00:00
Timothy Arceri
38eb850883
glsl: move function inlining out of glsl_to_nir()
...
This will allow us to do more of the function linking work in nir
in the future.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27841 >
2024-03-04 05:40:55 +00:00
Timothy Arceri
f7a664754f
glsl: add nir version of function recursion detection
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27841 >
2024-03-04 05:40:55 +00:00
Timothy Arceri
eecd7504a8
glsl: add missing define to linker_util.h
...
Avoids compiler warning in files that use linker_util.h but not
the set util.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27841 >
2024-03-04 05:40:55 +00:00
Timothy Arceri
edf242f825
nir: add some nir_parameter fields
...
These will be used in future to do more validation on functions as
the glsl nir linker is expanded. The first use is in the following
patch.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27841 >
2024-03-04 05:40:55 +00:00
Saleemkhan Jamadar
4ed4058910
radeonsi/vcn: set jpeg reg version for gfx 1151
...
select appropriate jpeg reg version for gfx 1151
Co-authored-by: Alan Liu <haoping.liu@amd.com >
Signed-off-by: Yifan Zhang <yifan1.zhang@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27811 >
2024-03-04 04:43:53 +00:00
Yifan Zhang
4ed8931164
radv: initialize video decoder for GFX11.5.1
...
Signed-off-by: Yifan Zhang <yifan1.zhang@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27811 >
2024-03-04 04:43:53 +00:00
Yifan Zhang
8446604dd4
amd: Add code to enable gfx11.5.1
...
Signed-off-by: Yifan Zhang <yifan1.zhang@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27811 >
2024-03-04 04:43:53 +00:00
Vignesh Raman
e4d8b4592f
ci: disable Collabora's farm due to maintenance
...
Planned downtime in the farm as follows:
* Start: 2024-03-04 08:00 UTC
* End: 2024-03-04 14:00 UTC
Signed-off-by: Vignesh Raman <vignesh.raman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27915 >
2024-03-04 03:16:11 +00:00
Timothy Arceri
39052dabf9
glsl: don't inline functions in glsl ir
...
Everthing is now in place for nir and glsl to nir to handle this
stuff for us.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27108 >
2024-03-04 11:31:21 +11:00
Timothy Arceri
c6c150b4cd
glsl_to_nir: support conversion of opaque function params
...
Here we can assume anything that is not an input is bindless.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27108 >
2024-03-04 11:31:21 +11:00
Timothy Arceri
de7574f70a
glsl_to_nir: support conversion of struct/array function returns
...
This adds support for array and struct function returns in the glsl
to nir pass allowing us to avoid extra calls to the glsl IR
optimisation loop.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27108 >
2024-03-04 11:31:20 +11:00
Timothy Arceri
fac9b1c594
glsl_to_nir: support conversion of struct/array function params
...
This adds support for array and struct function params in the glsl
to nir pass allowing us to avoid extra calls to the glsl IR
optimisation loop.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27108 >
2024-03-04 11:31:20 +11:00
Timothy Arceri
7afce96b80
glsl_to_nir: merge function param handling
...
Here we remove the special handling for input params that was hard
to work with and unite it with the output and inout params.
Here a mediump test needs to be updated to what is a more expected
outcome anyway.
We also need to update the code that inserts software f64 to the
new way input params are handled.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27108 >
2024-03-04 11:31:20 +11:00
Eric Engestrom
5a852bd24c
radeonsi/ci: add vangogh piglit flake
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27941 >
2024-03-03 20:34:59 +00:00
Eric Engestrom
176f9b2fbe
r300/ci: add flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27940 >
2024-03-03 19:45:25 +00:00
Eric Engestrom
7ba43413b9
zink+anv: update expectations
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27937 >
2024-03-02 20:57:11 +00:00
Eric Engestrom
59cccade3a
freedreno/ci: add another a618 flake
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27935 >
2024-03-02 15:48:15 +00:00
Eric Engestrom
f703aac4ee
rpi3/ci: update expectations for vc4-rpi3-gl-piglit-full:arm32 2/4
...
This job very often hangs (hence why it's split into 4), but it managed
to finish once and failed because this test is now skipped instead of
failing:
https://gitlab.freedesktop.org/mesa/mesa/-/jobs/55772960
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27934 >
2024-03-02 15:24:22 +00:00
Eric Engestrom
7016538cf0
panfrost/ci: skip dEQP-GLES31.functional.copy_image.non_compressed.* on t760 as they hang
...
e.g. https://gitlab.freedesktop.org/mesa/mesa/-/jobs/55771063
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27933 >
2024-03-02 13:33:08 +00:00
Eric Engestrom
e5bbf4975f
iris/ci: add pbuffer flakes for amly, same as apl and glk
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27932 >
2024-03-02 13:08:24 +00:00
Eric Engestrom
3328e9cf0f
r300/ci: add another tex-miplevel-selection flake
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27930 >
2024-03-02 12:44:07 +00:00
Eric Engestrom
4be5cb2ccb
r300/ci: group tex-miplevel-selection flakes together
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27930 >
2024-03-02 12:43:50 +00:00
Kenneth Graunke
63d2aa4eb6
intel/brw: Mark FIND[_LAST]_LIVE_CHANNEL as not writing the flag
...
brw_lower_find_live_channel doesn't actually write a flag register,
but elk_find_live_channel notes that the flag was used on Gfx7.
This allows more CSE on FIND[_LAST]_LIVE_CHANNEL.
shader-db and fossil-db on Alchemist show minor reductions in cycles
and instruction count, a few minor increases, but it doesn't seem to
be a large effect in either direction.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27862 >
2024-03-01 17:18:30 -08:00
Anton Bambura
2ece531e33
docs/panfrost: Document Mali-T600 support
...
Signed-off-by: Anton Bambura <jenneron@postmarketos.org >
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27519 >
2024-03-01 23:26:57 +00:00
Anton Bambura
0129b3ff79
panfrost: Enable Mali-T600
...
It works since !27515
Signed-off-by: Anton Bambura <jenneron@postmarketos.org >
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27519 >
2024-03-01 23:26:57 +00:00
Caio Oliveira
337641cfcc
intel/compiler: Fix SIMD lowering when instruction needs a larger SIMD
...
When lower_simd_width() encounters an instruction that needs a larger
SIMD, for example SHADER_OPCODE_TXS_LOGICAL in Gfx4 needs at least
SIMD16. In this case the builder needs to be at least as large as
max_width, otherwise the group() setup will assert.
Turns out this did not assert before "by accident", since it was
relying on the default fs_visitor builder that had a dispatch width of 64,
a bogus placeholder value, expected not to be used.
However, when we changed the code to remove that builder (and the bogus
value), we created a new builder in the pass shader dispatch_width --
which work fine except in the case where we want to "lower" the SIMD above
the shader dispatch width. The fix is to also consider the already
calculated max_width when creating the builder.
Fixes: 5b8ec015f2 ("intel/compiler: Don't use fs_visitor::bld in remaining places")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10338
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27782 >
2024-03-01 22:54:57 +00:00
Kenneth Graunke
ad37622a8f
intel/brw: Delete legacy texture opcodes
...
We first generate the logical opcodes, and these days fully lower to
SHADER_OPCODE_SEND. In the past, we lowered to a non-logical variant
and handled that in the generator. These days, we were just using the
non-logical opcodes as an awkward intermediate opcode change during
the lowering...which isn't really necessary at all.
This patch eliminates them by using the original logical opcodes.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27908 >
2024-03-01 22:19:51 +00:00
Kenneth Graunke
19248f48eb
intel/brw: Allow CSE on TXF_CMS_W_GFX12_LOGICAL
...
This was missed when adding the new XeHP variant of the opcode.
Fixes: 261dd6c8 ("intel/compiler: Add new variant for TXF_CMS_W")
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27908 >
2024-03-01 22:19:51 +00:00
Kenneth Graunke
45a5e4c0c4
intel/brw: Delete SHADER_OPCODE_TXF_UMS
...
Nothing seems to generate this anymore. I guess we always use CMS.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27908 >
2024-03-01 22:19:51 +00:00
Kenneth Graunke
601ef12467
intel/brw: Delete SHADER_OPCODE_TXF_CMS[_LOGICAL]
...
We always use the wide variant (_W) on hardware this compiler supports.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27908 >
2024-03-01 22:19:50 +00:00
Kenneth Graunke
494eee1337
intel/brw: Change unit tests to use TEX_LOGICAL instead of TEX
...
We're not really doing any fancy texturing here, just emitting a TEX
instruction that writes multiple destination registers. I plan to
remove the non-logical TEX instruction in the next commit, so we swap
these over to use the logical version instead. It should work just as
well for the purposes of the test.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27908 >
2024-03-01 22:19:50 +00:00
Roland Scheidegger
e03e593143
auxiliary/rtasm: fix unaligned stores
...
Unaliged stores are unspecified behavior according to C rules, hence
address sanitizers may complain. Even though this worked fine in
practice (it's almost impossible here for the compiler to do something
"wrong" even if it assumes the store is aligned, given such stores work
just fine on x86), we should follow the rules.
The widely accepted solution for this (it may be somewhat surprising
you can't actually do unaligned assignments explicitly somehow in C)
nowadays is to just use memcpy(). The compiler should figure out (at
least with optimizations enabled) it's just a trivial store and
optimize it back to a single cpu instruction, while still satisfying
asan. (I've verified that even in debug builds the memcpy() is actually
optimized away anyway, I suspect there's some compiler flags somewhere
forcing this behavior.)
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10208
Reviewed-by: Jose Fonseca <jose.fonseca@broadcom.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27896 >
2024-03-01 21:44:52 +00:00
Friedrich Vock
e7d78a7b87
vulkan/runtime: Allow more than 8 DRM devices
...
Some people seem to have systems with more than 8 GPUs installed at
once. 256 is the maximum number of devices returned by libdrm, so using
this seems like a good choice for now.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27901 >
2024-03-01 21:18:44 +00:00
Jesse Natalie
4ccbaa2cd8
microsoft/compiler: Remove deref load/store/atomic ops that statically go out of array bounds
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27919 >
2024-03-01 20:49:17 +00:00
Jesse Natalie
941d83ded4
spirv2dxil: Set push constant register space to nonzero
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27919 >
2024-03-01 20:49:17 +00:00
Luca Bacci
fe520ecfbf
meson,windows: Use relative paths in Vulkan ICD manifest files
...
See https://github.com/msys2/MINGW-packages/issues/16065
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27468 >
2024-03-01 20:09:59 +00:00
Nanley Chery
a1e3c93ff7
isl: Pick a better initial state for zeroed MCS
...
Pick the compressed-no-clear aux state instead of aux-invalid state to
reduce ambiguates in iris. Hopefully this will help debug the issues
seen around MCS-enabling on ACM.
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27881 >
2024-03-01 19:40:03 +00:00
Sagar Ghuge
5775bc0c53
anv/xe: Consider pat_index while unbinding the bo
...
Xe KMD also checks if cpu_caching caching set during bo creationg
matches with caching of the PAT index set in the VM unbind.
This was being unnoticed until now by luck and lack of testing in MTL.
So here always setting PAT index for all VM operations that has a bo
associated.
v2: (Jose)
- Move pat_index little bit up
- Copy commit message from iris patch
Fixes: 19439624d9 ("anv: Use DRM_XE_VM_BIND_OP_UNMAP_ALL to unbind whole bos")
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27893 >
2024-03-01 19:08:19 +00:00
José Roberto de Souza
963c08b623
iris/xe: Consider pat_index while unbinding the bo
...
Xe KMD also checks if cpu_caching caching set during bo creationg
matches with caching of the PAT index set in the VM unbind.
This was being unnoticed until now by luck and lack of testing in MTL.
So here always setting PAT index for all VM operations that has a bo
associated.
Fixes: eb18a92ef9 ("iris: Fill PAT fields in Xe KMD gem_create and vm_bind uAPIs")
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27893 >
2024-03-01 19:08:19 +00:00
Konstantin Seurer
6380118d13
radv/meta: Add shader - device mapping for radv_build_printf
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27817 >
2024-03-01 18:46:41 +00:00
Konstantin Seurer
d9a1882daa
radv/rra: Avoid reading past the ray history buffer
...
The loop exit condition did not take the token size into account.
Fixes: 767f628 ("radv/rra: Dump basic ray history tokens")
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27815 >
2024-03-01 18:20:13 +00:00
Caio Oliveira
082735750b
intel/brw: Simplify usage of reg immediate helpers
...
Use fs_reg and don't take the type as argument. In all uses the type
passed is the type of the register.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27904 >
2024-03-01 17:52:09 +00:00
Caio Oliveira
fb1d871714
intel/brw: Fold backend_reg into fs_reg
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27904 >
2024-03-01 17:52:09 +00:00
Sil Vilerino
67c461dbe0
d3d12: Do not use PIPE_BIND_DISPLAY_TARGET for d3d12_video_buffer
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27918 >
2024-03-01 17:29:12 +00:00
Samuel Pitoiset
570ebe1b37
radv: enable radv_zero_vram for RAGE2
...
Another native Vulkan game which doesn't properly initialize memory.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10701
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27845 >
2024-03-01 16:49:16 +00:00
Rohan Garg
73d98848fa
intel/compiler: Xe2+ can do URB load/store with a byte offset
...
Thanks to Ken for suggesting this URB refactoring change and pointing
out that the LSC can operate on the byte offset granularity.
This should fix the geometry shader test cases where we have more than
32 vertices since previously we were failing to write the correct
control data bits because of incorrect write mask.
Shader-db results for Xe2:
total instructions in shared programs: 153475 -> 153437 (-0.02%)
instructions in affected programs: 1374 -> 1336 (-2.77%)
helped: 11
HURT: 0
helped stats (abs) min: 3 max: 5 x̄: 3.45 x̃: 3
helped stats (rel) min: 1.67% max: 4.92% x̄: 3.23% x̃: 2.70%
95% mean confidence interval for instructions value: -3.92 -2.99
95% mean confidence interval for instructions %-change: -4.10% -2.36%
Instructions are helped.
total loops in shared programs: 140 -> 140 (0.00%)
loops in affected programs: 0 -> 0
helped: 0
HURT: 0
total cycles in shared programs: 16002649 -> 16002329 (<.01%)
cycles in affected programs: 9174 -> 8854 (-3.49%)
helped: 11
HURT: 0
helped stats (abs) min: 22 max: 38 x̄: 29.09 x̃: 32
helped stats (rel) min: 2.62% max: 5.54% x̄: 3.78% x̃: 3.85%
95% mean confidence interval for cycles value: -33.56 -24.62
95% mean confidence interval for cycles %-change: -4.48% -3.08%
Cycles are helped.
total spills in shared programs: 52 -> 52 (0.00%)
spills in affected programs: 0 -> 0
helped: 0
HURT: 0
total fills in shared programs: 94 -> 94 (0.00%)
fills in affected programs: 0 -> 0
helped: 0
HURT: 0
total sends in shared programs: 4240 -> 4240 (0.00%)
sends in affected programs: 0 -> 0
helped: 0
HURT: 0
LOST: 0
GAINED: 0
Rework: (Sagar)
- Adjust offset/indirect offset calculation.
- Add shader-db results
- Always calculate dword index
- Drop changes for indirect writes
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27602 >
2024-03-01 16:11:30 +00:00
Eric Engestrom
2ef7b4dfc1
ci/deqp: control the GLES release independently of GL
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27465 >
2024-03-01 15:33:11 +00:00
Eric Engestrom
3c9cba1085
ci/deqp: control the GL release independently of VK
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27465 >
2024-03-01 15:33:11 +00:00
Eric Engestrom
c59f0ca97e
ci/deqp: make deql-egl for android less of a special case
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27465 >
2024-03-01 15:33:11 +00:00
Eric Engestrom
3fb95a9457
ci/deqp: build deqp-egl using mold as well
...
Just like the build for the rest of the components.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27465 >
2024-03-01 15:33:10 +00:00
Eric Engestrom
07b8b410a8
ci/deqp: only apply the android patches to the android build
...
They are unnecessary otherwise, so let's skip them
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27465 >
2024-03-01 15:33:10 +00:00
Eric Engestrom
d63e7b4403
ci/image-tags: move KERNEL_ROOTFS_TAG to group the test images together
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27465 >
2024-03-01 15:33:10 +00:00
Bas Nieuwenhuizen
3b15a9c52c
radv: Expose VK_EXT_map_memory_placed.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27689 >
2024-03-01 15:07:09 +00:00
Bas Nieuwenhuizen
7e029735e6
radv: Implement reserving the VA range on unmap.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27689 >
2024-03-01 15:07:09 +00:00
Bas Nieuwenhuizen
a6a31538c5
radv: Support for mapping a buffer at a fixed address.
...
Doing the separate bool to support mapping at 0.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27689 >
2024-03-01 15:07:09 +00:00
Bas Nieuwenhuizen
d779cda0ae
radv/amdgpu: Use mmap directly.
...
To give more control.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27689 >
2024-03-01 15:07:09 +00:00
Bas Nieuwenhuizen
cccbe1527c
radv/winsys: Use radv_buffer_map wrapper.
...
So we can have 1 function ptr and then have a version with default
args.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27689 >
2024-03-01 15:07:09 +00:00
Bas Nieuwenhuizen
f7e8fdf35d
radv: Add winsys argument to buffer map/unmap.
...
To use later.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27689 >
2024-03-01 15:07:09 +00:00
Samuel Pitoiset
4e95d1cc12
radv: allow RADV_PERFTEST=shader_object on GFX11
...
It should be working now on RDNA3.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27724 >
2024-03-01 14:45:05 +00:00
Samuel Pitoiset
426d8b5216
radv: add support for emitting NGG shaders with ESO
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27724 >
2024-03-01 14:45:05 +00:00
Samuel Pitoiset
85d682b318
radv: lower lds_ngg_{gs_out_vertex_base,_scratch_base} with ESO
...
These values will be computed at draw time when both shaders are known
in case it's VS+GS or TES+GS as NGG.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27724 >
2024-03-01 14:45:05 +00:00
Samuel Pitoiset
2a9b466299
radv: add a new user SGPR for NGG shaders compiled separately with ESO
...
The esgs ring size and the scratch lds base can't be known at compile
time when NGG shaders are merged separately.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27724 >
2024-03-01 14:45:05 +00:00
Samuel Pitoiset
4d87a05d34
radv: add a helper to emit PKT3_COND_EXEC
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27746 >
2024-03-01 14:19:48 +00:00
Samuel Pitoiset
f21cc55dae
radv: add missing conditional rendering for indirect dispatches on GFX6
...
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27746 >
2024-03-01 14:19:48 +00:00
Samuel Pitoiset
cdf7e35618
radv: fix conditional rendering on compute queue on GFX6
...
PKT3_SET_PREDICATION is GFX only, even on GFX6.
This fixes recent
dEQP-VK.conditional_rendering.dispatch.*_compute_queue.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27746 >
2024-03-01 14:19:48 +00:00
Job Noorman
0b953bdbb8
freedreno/ci: Update pixmark-piano-v2 hash
...
Minor irrelevant change.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27411 >
2024-03-01 13:45:11 +00:00
Job Noorman
9de628b65c
ir3: fold and/or and negations into branches
...
Fold and/or into braa/brao when profitable. Only do this when the and/or
is not used for any non-branch instructions as this would increase total
instruction count.
Add an algebraic nir pass that performs the inverse DeMorgan's laws to
try to bring and/or in front of branches. Again, only do this when the
original inot in only used for branches. This should always decrease
instruction count since the extra inots can be folded into the branch.
Fold inot into branches by using the inv1/inv2 cat0 fields.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27411 >
2024-03-01 13:45:11 +00:00
Job Noorman
96c2fe3e1a
nir: add search helper is_only_used_by_if
...
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27411 >
2024-03-01 13:45:11 +00:00
Job Noorman
ddd5f6abae
ir3: fold negations into cmps.ne zero
...
It was already implemented for sel so pull that functionality into a
helper function which can be used from ir3_get_predicate.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27411 >
2024-03-01 13:45:11 +00:00
Job Noorman
c43d0e4e4f
ir3: insert predicate conversions after their source
...
Instead of creating a cmps.s.ne for every use of a predicate, create
just one and insert it after the instruction whose def is tested. This
reduces the number of compares or, when they are folded into bitwise
operations, those operations.
It also decreases register pressure on GPRs by increasing pressure on
predicate registers. This should be preferred in general since at worst,
the predicate register will be spilled to a GPR again.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27411 >
2024-03-01 13:45:11 +00:00
Job Noorman
c6a6902e4d
ir3: optimize bitwise ops that can directly write predicates
...
On a6xx+, bitwise operations can directly write to predicate registers.
The result will be 1 iff the result of the non-predicate operation would
be non-zero.
When generating instructions that need a predicate source, ir3 will
insert a cmps.s.ne 0 instruction to guarantee a predicate can be
produced. This is kept in place by this patch and we add a pass that
tries to optimize useless comparisons away.
Concretely:
- Look through chains of multiple cmps.s.ne instructions and remove all
but the first.
- If the source of the cmps.s.ne can write directly to predicates,
remove the cmps.s.ne.
In both cases, no instructions are actually removed but clones are made
and we rely on DCE to remove anything that became unused. Note that it's
fine to always make a clone since even in the case that the original
instruction is also used for non-predicate sources (so it won't be
DCE'd), we replaced a cmps.ne.s with another instruction so this pass
should never increase instruction count.
Note that this pass replaces the double-comparison folding that was
performed by ir3_cp before.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27411 >
2024-03-01 13:45:11 +00:00
Job Noorman
9905b6f2f4
ir3: integrate predicates into RA validation
...
In principle, validating the result of predicate RA works exactly the
same as for normal RA. There is one slight issue: spilling is
implemented by cloning the instruction that produced the original def
which might cause different defs to legitimately reach the same source.
For example:
bool b = ...;
if (...) {
// b gets spilled and reloaded
} else {
// b is not spilled
}
use b;
The use of b might see different reaching defs. To solve this, RA will
store a pointer to the original def in the instruction's data field.
Validation then uses the original def.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27411 >
2024-03-01 13:45:11 +00:00
Job Noorman
96dc227988
ir3: validate no registers are invalid after RA
...
This would already be caught by another check but would produce a
message that was difficult to interpret. Better to check for it
explicitly.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27411 >
2024-03-01 13:45:11 +00:00
Job Noorman
21cd9b9557
ir3: implement RA for predicate registers
...
Up to now, ir3 only supported one predicate register (p0.x). However,
since a6xx, four predicate registers are available. This patch adds a
register allocator for predicate registers that allows all of them to be
used. The RA also works for older generations with only one register.
The use of p0.x was hard-coded in many places in ir3. This has been
replaced by a new flag, IR3_REG_PREDICATE, to indicate that an SSA value
should be allocated to a predicate register.
The RA uses the standard liveness analysis available in ir3. Using this,
registers are allocated in a single pass over all blocks. For each block
we keep track of currently live defs in the registers. Predicate
destinations allocate a new register and sources take the register from
their def.
The live defs of a block are initialized with the intersection of the
live-out defs of their predecessors: if all predecessors have the same
live-out def in the same register, it is used as live-in. However, we
only do this for defs that are actually live-in according to the
liveness analysis.
This doesn't work for loops: since predecessors from back edges are
processed after their successors, we don't know their live-out state
yet. We solve this by ignoring such predecessors while calculating the
live-in state. When this predecessor is later processed, we fix-up its
live-out state to match what its successor expects by reloading defs if
necessary.
Spilling is implemented by reloading, or rematerializing, the
instruction that produced the def. Whenever we need a new register while
none are available, we simply free one. If the freed def is later needed
again, we clone the original instruction in front on the new use. We
keep track of the original def the reload is cloned from so that
subsequent uses can reuse the reload.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27411 >
2024-03-01 13:45:11 +00:00
Job Noorman
49f5a73312
ir3: allow finding SSA uses for a subset of uses
...
Predicate RA only needs uses of predicate registers so we don't need to
calculate the uses of all instructions.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27411 >
2024-03-01 13:45:10 +00:00
Job Noorman
f55a44d88b
ir3: allow liveness calculation for different register types
...
This allows us to only calculate the liveness for predicate registers
during predicate RA.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27411 >
2024-03-01 13:45:10 +00:00
Job Noorman
49b2fbe2f0
ir3: remove comp1/2 from cat0
...
Just take the component values from the source registers.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27411 >
2024-03-01 13:45:10 +00:00
Job Noorman
a720eef12d
ir3: remove OPC_B and brtype from cat0
...
We currently have a bit of a confusing situation where we have both
opcodes for the different branches (OPC_BR, OPC_BRAA,...) and branch
types which are supposed to be used with OPC_B (BRANCH_PLAIN,
BRANCH_AND,...). However, not every kind of branch has a corresponding
type. For example, getone is represented by OPC_GETONE instead of a
branch type.
This patch proposes to get rid of the branch types and use opcodes
everywhere. I think this makes the representation of branches more
consistent. It also removes the for the encoder to translate branch
types into opcodes.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27411 >
2024-03-01 13:45:10 +00:00
Job Noorman
7a66523124
ir3: print branch sources
...
Now that branches are always inserted at the end of blocks, it's
convenient to see their sources when printed.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27411 >
2024-03-01 13:45:10 +00:00
Job Noorman
846c813355
ir3: fix instruction count before kill_sched
...
It uses the start- and end IPs of blocks but never counts instructions.
It probably just accidentally works most of the time.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27411 >
2024-03-01 13:45:10 +00:00
Job Noorman
eefb1d9d3f
ir3: add terminators to blocks
...
Instead of using brtype and condition fields in blocks, explicitly add
terminator branches in their instruction lists. This makes it more
uniform to deal with branches in passes. This will be especially useful
for passes that need to deal with predicate registers like the new
register allocator.
Note that only a single terminator is added to blocks: either an
unconditional jump in case of a single successor, or a conditional
branch in case of two successors. In the latter case, the unconditional
jump to the second successor is implicit. This makes it slightly easier
to handle terminators since there is always exactly one.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27411 >
2024-03-01 13:45:10 +00:00
Job Noorman
1aa1036525
ir3: validate instruction block pointer
...
When moving instructions between blocks, it's easy to forget to update
the block pointer resulting in obscure errors later. Let's add a
validation check to improve error reporting.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27411 >
2024-03-01 13:45:10 +00:00
Job Noorman
4d0445d914
ir3: fix alignment of spill slots
...
Alignment was set in units of half registers instead of bytes causing
spill slots to sometimes be under-aligned.
Fixes: 613eaac ("ir3: Initial support for spilling non-shared registers")
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27411 >
2024-03-01 13:45:10 +00:00
Job Noorman
cef867edc5
ir3: update a0/a1 users when cloning instructions
...
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27411 >
2024-03-01 13:45:10 +00:00
Job Noorman
a38f7ea125
ir3: add disassembly for flat.b
...
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27411 >
2024-03-01 13:45:10 +00:00
Eric Engestrom
54cb45cc6c
ci: uprev mold to the latest release
...
The mold version we've been using is very old by now, and we've
now encountered some mold bugs, so let's uprev it to see it things
work better now.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27905 >
2024-03-01 13:02:58 +00:00
Eric Engestrom
140480974e
ci: document which image tags to bump when touching build-mold.sh
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27905 >
2024-03-01 13:02:58 +00:00
Erik Faye-Lund
3711964f33
panvk: do not handle illegal null
...
The Vulkan spec says that VkBindBufferMemoryInfo::memory must be a valid
VkDeviceMemory handle, see
https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfo-memory-parameter
So let's assert instead here.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27910 >
2024-03-01 12:34:27 +00:00
Lionel Landwerlin
5a7e58a430
anv: fix non matching image/view format attachment resolve
...
Let's say you have an image in R32_UINT format, a view is created in
R32_SFLOAT and used as color attachment.
When resolving the attachment, our current code uses the image format
(R32_UINT in this case). But resolve mode might apply only to SFLOAT,
so we currently run into an assert in blorp.
We should instead use the view format. There is an exception for
depth/stencil view because the format we want to resolve is actually
the depth/stencil format, not just the depth or stencil aspect.
This fixes vkd3d-proton's test_multisample_resolve_formats.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27875 >
2024-03-01 12:10:28 +00:00
Eric Engestrom
2106092e63
ci/android: use a specific version of android-cuttlefish
...
Using whatever version is the latest at the time of the image build is
bad practice from a stability & reproducibility point of view, and the
latest version is currently broken, preventing any change that rebuilds
the android image from being merged.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27911 >
2024-03-01 11:16:41 +00:00
Boris Brezillon
fab675956a
panfrost: Update the release note to mention G310/G610 addition
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26358 >
2024-03-01 10:42:43 +00:00
Boris Brezillon
d778df1a60
panfrost: Advertize G310 support
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26358 >
2024-03-01 10:42:43 +00:00
Boris Brezillon
d17d076cc6
panfrost: Advertize G610 support
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26358 >
2024-03-01 10:42:43 +00:00
Bob Beckett
f54c8413e6
panfrost: Add the gallium glue to get panfrost loaded when panthor is detected
...
Needed if we don't want to force users to pass GALLIUM_DRIVER=panfrost.
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26358 >
2024-03-01 10:42:43 +00:00
Bob Beckett
a29443dc6b
panfrost: Add an entry for panthor in the renderonly_drivers[] array
...
Same as panfrost, but the kernel driver has a different name.
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26358 >
2024-03-01 10:42:43 +00:00
Boris Brezillon
4943002a2c
panfrost: Enable v10 in the gallium driver
...
Now that everything is in place to support v10, add it to the
panfrost_versions array in meson.build and patch panfrost_create_screen()
to hook up pipe_screen initialization.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26358 >
2024-03-01 10:42:43 +00:00
Alyssa Rosenzweig
447075eeee
panfrost: Add support for the CSF job frontend
...
CSF-specific implementation of the job-frontend helpers.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26358 >
2024-03-01 10:42:43 +00:00
Boris Brezillon
e6a97a2b4a
panfrost: Add a cleanup_batch() method to panfrost_vtable
...
We have to do some cleanup on v10+. Let's add a new hook to allow
per-arch batch cleanup procedures.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26358 >
2024-03-01 10:42:43 +00:00
Boris Brezillon
5b53db5f60
panfrost: Add a panfrost_context_reinit() helper
...
Will be needed for v10, so we can re-instantiate a context when an
unrecoverable error is reported on a group or VM.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26358 >
2024-03-01 10:42:43 +00:00
Boris Brezillon
5e3771ab5a
panfrost: Add arch-specific context init/cleanup hooks
...
This will allow us to defer some CSF-specific initialization to
pan_csf.c, keeping pan_context.c job-frontend agnostic.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26358 >
2024-03-01 10:42:43 +00:00
Boris Brezillon
1b93524605
panfrost: Relax position result alignment constraint on v10+
...
Looks like the alignment constraint is gone on v10...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26358 >
2024-03-01 10:42:43 +00:00
Alyssa Rosenzweig
3b82448f47
panfrost: Add a library to build CSF command streams
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26358 >
2024-03-01 10:42:43 +00:00
Boris Brezillon
8e303b9350
pan/genxml: Make sure pan_pack() evaluates 'dst' only once
...
Will be useful for the cs_builder, where we have
and we don't want cs_alloc_ins() to be called more than once.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26358 >
2024-03-01 10:42:43 +00:00
Boris Brezillon
2d44800079
panfrost: Don't allocate a tiler heap buffer on v10+
...
Heap management is completely different on CSF hardware, and the heap
buffer remain unused in that case. Make the tiler heap BO creation
conditional to reflect that.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26358 >
2024-03-01 10:42:43 +00:00
Boris Brezillon
ce24f78603
pan/decode: Introduce the concept of usermode queue
...
This way we allow JUMPs to be decoded when the decode function is
passed an indirect CS buffer that's called from a kernelmode queue.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26358 >
2024-03-01 10:42:43 +00:00
Boris Brezillon
2e9450f49f
pan/genxml: Various CS related improvements in v10.xml
...
Various improvements to the CS related definitions:
- make the field name consistent across all instructions using the same
pattern
- define missing fields,
- replace the CEU prefix by a CS prefix
- define enums where it makes sense
- re-order instruction definitions by IDs
- add missing instructions
While at it, extend decode_csf.c to support all known instructions.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26358 >
2024-03-01 10:42:43 +00:00
Boris Brezillon
729f6b28a6
panfrost: Add v10 support to libpanfrost
...
The code has already been patched to support v10, we just need to add
v10 to the version array when compiling per-arch files.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26358 >
2024-03-01 10:42:43 +00:00
Boris Brezillon
97f6a62f7e
pan/kmod: Add a backend for panthor
...
Panthor is a new kernel driver handling CSF-based GPUs. It's designed
around the new VM model where:
- VM management is all explicit (you get to choose where objects are
mapped in the GPU VA space)
- synchronization is explicit too (there's not BO_WAIT, and we don't
pass BOs around to serve as implicit deps)
We add a few panthor specific helpers (those exposed in panthor_kmod.h)
too:
- panthor_kmod_xxx_sync_point() are needed to make pan_kmod_bo_wait()
work with the new synchronization/VM model
- panthor_kmod_get_flush_id() is exposing the LATEST_FLUSH_ID register
- panthor_kmod_vm_handle() is providing a way to query the VM handle
attached to the pan_kmod_vm object (needed for a few panthor ioctls)
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26358 >
2024-03-01 10:42:43 +00:00
Boris Brezillon
fe76c22aeb
drm-uapi: Add panthor uAPI
...
Import panthor uAPI header from the drm-misc-next branch, commit
0f25e493a246 ("drm/panthor: Add uAPI").
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26358 >
2024-03-01 10:42:43 +00:00
Boris Brezillon
89ea39c09d
pan/perf: Reject panthor kernel driver
...
Make sure we reject perfcnt users when the kernel driver is not panfrost.
We might decide to abstract perf counters at the kmod level at some
point, but we're not there yet.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26358 >
2024-03-01 10:42:43 +00:00
Boris Brezillon
1519d613c8
panfrost: Prepare support for GPU variants
...
Some GPU gens have variants impacting the GPU capabilities. Let the
kmod backend report a variant ID through a new
pan_kmod_dev_props::gpu_variant field, and patch the panfrost_model
logic to match both the gpu_id and the gpu_variant.
All existing entries are assumed to have no variant, hence the
gpu_variant field assigned to zero.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26358 >
2024-03-01 10:42:43 +00:00
Boris Brezillon
4477daf957
panfrost: Rework the way we compute thread info
...
Rework the way we compute thread info to make it mostly GPU-agnostic
outside of the kmod backend.
The new logic is based on the following information extracted from
GPU registers:
- mximum number of threads per core
- maximum number ot threads per workgroup
- number of registers per core
If the GPU doesn't provide this information (registers are zero), we
pick the per-arch defaults we had in panfrost_max_thread_count().
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26358 >
2024-03-01 10:42:43 +00:00
Boris Brezillon
73da66706e
pan/kmod: Reject pre 1.1 panfrost kernel drivers
...
Panfrost kernel driver has been around long enough to bump the minimal
requirement to 1.1. This allows us to get rid of the texture_features
hack we had to cope with the absence of
DRM_PANFROST_PARAM_TEXTURE_FEATURES[0-3] kernel side.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Suggested-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26358 >
2024-03-01 10:42:43 +00:00
Boris Brezillon
0b5f1b6cb1
pan/kmod: Add a PAN_KMOD_VM_FLAG_TRACK_ACTIVITY flag
...
This flag reflects whether the backend should track the VM activity or
not. Needed if PAN_KMOD_VM_OP_MODE_DEFER_TO_NEXT_IDLE_POINT is used, so
we can insert proper dependencies on our VM operations.
Patch the gallium driver to set this flag at VM creation time since it
calls pan_kmod_vm_bind() with
mode=PAN_KMOD_VM_OP_MODE_DEFER_TO_NEXT_IDLE_POINT in the BO
destruction path.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26358 >
2024-03-01 10:42:43 +00:00
Boris Brezillon
812035b2d2
pan/kmod: Fix typo in pan_kmod_vm_op_check() helper
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26358 >
2024-03-01 10:42:43 +00:00
Karol Herbst
36fb256e9a
rusticl/event: we need to call the CL_COMPLETE callback on errors as well
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10673
Fixes: 47a80d7ff4 ("rusticl/event: proper eventing support")
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27777 >
2024-03-01 09:44:10 +00:00
Daniel Schürmann
67ea2eb97a
radv: fix initialization of radv_shader_layout->use_dynamic_descriptors
...
Fixes: 66eaca3a0a ('radv: introduce radv_shader_layout for per-stage descriptor layout')
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27898 >
2024-03-01 09:06:33 +00:00
Christian Gmeiner
0a3a80a4ca
etnaviv: Remove no_oneconst_limit from etna_inst
...
It makes no sense to store no_oneconst_limit in struct etna_inst as this
flag is not instruction specific. This is a flag that affects every instruction.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27887 >
2024-03-01 07:38:57 +00:00
Samuel Pitoiset
529efb1f9b
radv: enable deviceGeneratedComputePipelines
...
This is supported now and it's passing
dEQP-VK.dgc.nv.compute.layout.pipeline_*.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27495 >
2024-03-01 06:59:59 +00:00
Samuel Pitoiset
cbeb88012c
radv: force shader BOs to be local BOS with DGC indirect compute pipelines
...
To make sure the compute shader BO is always part of the DGC execute
submission. This is more like a workaround but this ext is currently
only exposed for vkd3d-proton and it doesn't use indirect compute
pipeline binds.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27495 >
2024-03-01 06:59:59 +00:00
Samuel Pitoiset
c253a76f5d
radv: handle indirect pipeline binds with scratch and DGC
...
vkCmdUpdatePipelineIndirectBufferNV() can be called on any queue
supporting transfer operations and it's not required to call it on the
same queue as DGC execute. This is very annoying if the compute shader
has scratch because it needs to be configured per queue.
The solution is to gather the maximum possible scratch size used by
indirect compute pipelines and use that to configure scratch.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27495 >
2024-03-01 06:59:59 +00:00
Samuel Pitoiset
a2d67adff1
radv: implement indirect compute pipeline binds with DGC
...
This also supports push constants.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27495 >
2024-03-01 06:59:59 +00:00
Samuel Pitoiset
12b015940f
radv: implement vkCmdUpdatePipelineIndirectBufferNV()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27495 >
2024-03-01 06:59:59 +00:00
Samuel Pitoiset
74ff7fe02f
radv: implement vkGetPipelineIndirectXXX() for DGC
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27495 >
2024-03-01 06:59:59 +00:00
Samuel Pitoiset
91c21c8cba
radv: add support for VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV
...
This stores the VA/size of the indirect buffer to be used in
vkCmdUpdatePipelineIndirectBufferNV.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27495 >
2024-03-01 06:59:59 +00:00
Samuel Pitoiset
6d8f88d12f
radv: add a function to get compute pipeline metadata for DGC
...
This struct will be used to emit a compute pipeline from the prepare
DGC shader.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27495 >
2024-03-01 06:59:59 +00:00
Samuel Pitoiset
7409d7ec29
radv: add a helper to calculate the compute resource limits
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27495 >
2024-03-01 06:59:58 +00:00
Samuel Pitoiset
1cddf59165
radv: get the pipeline layout info from the push constant token with DGC
...
They must be compatible and this allows us to remove some pipeline
references (useful for experimenting pipeline binds).
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27495 >
2024-03-01 06:59:58 +00:00
Caio Oliveira
97759ef139
intel/brw: Remove typedefs from fs_builder
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27866 >
2024-02-29 21:14:13 -08:00
Caio Oliveira
0f5f3fddd4
intel/brw: Fold backend_instruction into fs_inst
...
Since we are touching it, change fs_inst to use struct instead of
class so its forward declaration is C compatible.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27866 >
2024-02-29 21:14:13 -08:00
Caio Oliveira
e5c5a983f7
intel/brw: Move functions from backend_instruction into fs_inst
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27866 >
2024-02-29 21:14:13 -08:00
Caio Oliveira
f5a593ade7
intel/brw: Use fs_inst in disasm_annotate()
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27866 >
2024-02-29 21:14:13 -08:00
Caio Oliveira
db322554a7
intel/brw: Use fs_inst explicitly in various passes
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27866 >
2024-02-29 20:47:48 -08:00
Caio Oliveira
692021cad7
intel/brw: Use fs_inst in cfg_t
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27866 >
2024-02-29 20:47:48 -08:00
Caio Oliveira
d5ed82b97c
intel/brw: Hide the definition of cfg_t et al from C code
...
Will make easier to flatten the IR. We can revert this back later
if we need to.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27866 >
2024-02-29 20:47:48 -08:00
Caio Oliveira
1f975e7af7
intel/brw: Use C++ for brw_disasm_info.c
...
This code uses cfg_t which we are going to rework a bit as part of
flattening the IR types. It is easier if it can see C++ types for now.
At the end we can change this back if needed.
To avoid casting and be consistent with existing structs,
use int for some offset parameters in the functions.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27866 >
2024-02-29 20:47:48 -08:00
Caio Oliveira
6e33b39b46
intel/compiler: Remove nir_print_instr hack in disasm_info
...
The compilers (brw and elk) static libraries depend only on
idep_nir_headers instead of idep_nir. This was done to
increase the parallelism in the build. One side effect is that
consumers of the compilers must depend on idep_nir themselves to
ensure nir symbols are resolved.
Various intel tools don't use NIR directly, so don't depend on it,
and only use a few functions of the compiler, that *mostly* don't
depend on linking NIR functions except for the case of nir_print_instr.
The current code adds a weak empty function to take its place in case
it is not linked. This is sort of a hack because if we change the
compiler in ways that use NIR differently, or we use different functions
of the compiler in the tools, we will end up having to add other
dummy definitions.
A better solution here (suggested by Dylan) is to add the idep_nir
to the list of dependencies of the compilers idep's. The static
libraries of the compilers still don't depend directly on NIR,
but any user of idep_compiler_* will get that dependency.
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27865 >
2024-02-29 23:08:16 +00:00
Caio Oliveira
1ba5e9432d
intel/meson: Add dependencies for brw and elk
...
Instead of link_with, use meson dependency for the compilers. Will
be useful later to propagate some extra dependencies.
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27865 >
2024-02-29 23:08:16 +00:00
Dave Airlie
d5b6f8a414
nvk: free leaked cmd_buffer descriptors state.
...
This wasn't been freed, free it in reset and destroy paths.
Spotted with valgrind
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27870 >
2024-02-29 22:51:56 +00:00
Friedrich Vock
b588cb29a3
radv/rt: Handle monolithic pipelines in capture/replay
...
If monolithic shaders were inlined, there might not be a radv_shader
associated with some stages. Zero out the shader allocation info in that
case, the shader will get identified by hash instead.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27890 >
2024-02-29 22:21:12 +00:00
Derek Foreman
7f72eb9e6c
vulkan/wsi/wayland: More descriptive name for swapchain queue
...
We can have multiple swapchains, and we can also have retired swap chains
that can continue to deliver events briefly after being replaced. It's
helpful to have both a surface id and a per surface swapchain id.
Signed-off-by: Derek Foreman <derek.foreman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27852 >
2024-02-29 21:45:57 +00:00
Hans-Kristian Arntzen
73c1fbfc79
wsi/wayland: Replace surface pilfer with retired bool.
...
PresentWait can still be called on a retired swapchain, and pilfering
the WSI surface can cause issues. To avoid retired swapchains
interfering with non-retired swapchain event queue, flag a swapchain as
retired instead and immediately return OUT_OF_DATE from acquire and
present.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27851 >
2024-02-29 21:08:59 +00:00
Derek Foreman
c7dc82e3e8
vulkan/wsi/wayland: Use wl_display_dispatch_queue_timeout
...
Instead of coding our own polling function, use the (new) wayland
wl_display_dispatch_queue_timeout() function instead.
Signed-off-by: Derek Foreman <derek.foreman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27851 >
2024-02-29 21:08:59 +00:00
Derek Foreman
7eaceb0392
vulkan/wsi/wayland: Adjust presentation id locking
...
If we want to use the new wl_display_dispatch_queue_timeout function
in libwayland we lose the ability to drop the lock while we poll
and pick it up again to dispatch.
That would cause other waiters to potentially block past their
timeouts while waiting for the dispatching thread's timeout.
Prepare for this change now by dropping the lock for the entire
dispatch, and reacquiring the lock in the functions being dispatched.
Signed-off-by: Derek Foreman <derek.foreman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27851 >
2024-02-29 21:08:59 +00:00
Derek Foreman
fb22b69df3
vulkan/wsi/wayland: Remove confusing comment
...
We do own the lock if there's a timeout, and the code is written with that
in mind - but the comment seems to imply otherwise.
Drop it.
Signed-off-by: Derek Foreman <derek.foreman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27851 >
2024-02-29 21:08:59 +00:00
Jesse Natalie
f96d31bc8a
wgl: Check for stw_device->screen before trying to destroy it
...
The stw_device and its screen are set up independently. It's possible
to have a device without a screen if the DLL is loaded but never
called into, since DllMain for PROCESS_ATTACH sets up the stw_device,
but the screen is initialized later on the first call to get pixel
formats. If the DLL is loaded and then unloaded, don't crash.
Cc: mesa-stable
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27892 >
2024-02-29 20:51:32 +00:00
Chia-I Wu
2c10767732
radv: set VK_SYNC_FEATURE_GPU_MULTI_WAIT
...
I think amdgpu always supports multi wait since syncobj is just a
container of dma-fences. Fixes
Assertion `!(req_features & ~ttype->point_sync_type->features)' failed.
in vk_sync_timeline_type_validate on older kernels.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27838 >
2024-02-29 20:20:37 +00:00
Chia-I Wu
f9907733e3
radv: hide the sparse queue on older kernels
...
On older kernels without timeline syncobjs, the timeline and the submit
modes are VK_DEVICE_TIMELINE_MODE_EMULATED and
VK_QUEUE_SUBMIT_MODE_DEFERRED respectively. They are incompatible with
the sparse queue which requires VK_QUEUE_SUBMIT_MODE_THREADED.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27838 >
2024-02-29 20:20:37 +00:00
Chia-I Wu
dd84a575c0
radv: hide the sparse queue when radv_legacy_sparse_binding
...
This change is unnecessary but should be harmless. We will have other
reasons to hide the sparse queue so do it here for
radv_legacy_sparse_binding as well.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27838 >
2024-02-29 20:20:37 +00:00
Jesse Natalie
0ac7ea7578
dzn: Fix conditions for barrier in texture-converting copy case
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27864 >
2024-02-29 19:56:59 +00:00
Caio Oliveira
865ef36609
intel/brw: Remove brw_shader.h
...
Find a better home for its existing content. Some functions are
now just static functions at the usage sites.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27861 >
2024-02-29 19:28:06 +00:00
Caio Oliveira
d9552fccf2
intel/brw: Remove extra stage_prog_data field in fs_visitor
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27861 >
2024-02-29 19:28:06 +00:00
Caio Oliveira
634dff403f
intel/brw: Fold backend_shader into fs_visitor
...
The base class was used when we had vec4, but now we can fold it with
its only subclass. Declare fs_visitor now as a struct to be able to
forward declare for C code without causing errors due to class/struct
being mixed.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27861 >
2024-02-29 19:28:05 +00:00
Caio Oliveira
f3e9a5c719
intel/brw: Move dump_* functions into fs_visitor
...
Make them non-virtual and update the parameter to use fs_inst.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27861 >
2024-02-29 19:28:05 +00:00
Caio Oliveira
20dfee69c3
intel/brw: Change cfg_t to refer to fs_visitor
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27861 >
2024-02-29 19:28:05 +00:00
Caio Oliveira
1e3fbb1afe
intel/brw: Fold fs_instruction_scheduler into instruction_scheduler
...
And use fs_inst instead of backend_instruction.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27861 >
2024-02-29 19:28:05 +00:00
Caio Oliveira
559d94cd0d
intel/brw: Use fs_visitor instead of backend_shader in various passes
...
And since we are touching them, rename a couple of passes
to follow same name convention as existing ones.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27861 >
2024-02-29 19:28:05 +00:00
Ian Romanick
1b890825f6
i915: Fix value returned for PIPE_CAP_MAX_TEXTURE_CUBE_LEVELS
...
Found by inspection. Original code was returning the size instead of the
number of levels. This was probably an over zealous search-and-replace
when PIPE_CAP_MAX_TEXTURE_2D_LEVELS was changed to _SIZE.
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Fixes: 0c31fe9ee7 ("gallium: Redefine the max texture 2d cap from _LEVELS to _SIZE.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27800 >
2024-02-29 19:12:20 +00:00
Faith Ekstrand
3ea1d4787d
nil: Enable A8_UNORM for storage buffers
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27889 >
2024-02-29 18:55:22 +00:00
Daniel Stone
a3418105b9
egl/wayland: Remove EGL_WL_create_wayland_buffer_from_image
...
This extension was originally intended to complement
EGL_WL_bind_wayland_display.
The idea behind bind_wayland_display was that libEGL.so on the server
side could register Wayland extensions for libEGL.so on the client side
to use to create buffers, with eglQueryWaylandBufferWL being used to
query the buffer properties, and EGL_WAYLAND_BUFFER_WL added as an
EGLImage target for texturing.
eglCreateWaylandBufferFromImageWL was then to be used for nested
compositors to perform passthrough: it would take an EGLImage created by
the magical libEGL secret handshake, and make it usable in the parent
compositor by doing the same secret handshake again.
Since that original idea, we've just standardised dmabuf across the
Wayland ecosystem instead. The last known user of this extension was a
sample client in the Weston tree, which was broken quite some years ago
and never ported to the Meson build system when we moved.
Given it won't affect anyone, let's just remove this extension so no-one
thinks it would be a good idea to use it.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27793 >
2024-02-29 18:26:53 +00:00
Kenneth Graunke
f159a7943c
intel/brw: Delete brw_eu_util.c
...
This was just a bunch of helpers for the Gfx4-6 fixed-function shaders.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27872 >
2024-02-29 18:00:14 +00:00
Kenneth Graunke
655cb9c61f
intel/brw: Delete some swizzling functions
...
Not needed in the align1 world, apparently.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27872 >
2024-02-29 18:00:14 +00:00
Kenneth Graunke
bbcd35141b
intel/brw: Delete unnecessary brw_wm_prog_data fields
...
Register blocks and interp_mode[] were for Gfx4-5.
The binding table section doesn't seem to be used anymore, nor does
color_outputs_written.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27872 >
2024-02-29 18:00:14 +00:00
Kenneth Graunke
0eeeab16a8
intel/brw: Delete brw_wm_prog_key::line_aa
...
Not used on modern hardware.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27872 >
2024-02-29 18:00:14 +00:00
Kenneth Graunke
bfb12def74
intel/brw: Delete enum gfx6_gather_sampler_wa
...
Only needed on Gfx6, which we don't support anymore.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27872 >
2024-02-29 18:00:14 +00:00
Kenneth Graunke
5fbba530cf
intel/brw: Delete compiler->supports_shader_constants
...
True for all drivers using this compiler.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27872 >
2024-02-29 18:00:14 +00:00
Kenneth Graunke
485b2bca17
intel/brw: Delete constant_buffer_0_is_relative
...
This was only for old kernels on old hardware.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27872 >
2024-02-29 18:00:14 +00:00
Kenneth Graunke
eebd24680c
intel/brw: Delete SINCOS
...
Only existed on Gfx4-5.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27872 >
2024-02-29 18:00:14 +00:00
Kenneth Graunke
292e424162
intel/brw: Delete more unused compression stuff
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27872 >
2024-02-29 18:00:14 +00:00
Kenneth Graunke
a18030305c
intel/brw: Delete SIMD4x2 URB opcodes
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27872 >
2024-02-29 18:00:14 +00:00
Kenneth Graunke
288b966e3e
intel/brw: Delete legacy SFIDs
...
This involves a little rework in the assembler to treat "math" as an
opcode token rather than an SFID.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27872 >
2024-02-29 18:00:14 +00:00
Kenneth Graunke
afae5e78ca
intel/brw: Delete more unused defines
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27872 >
2024-02-29 18:00:14 +00:00
Kenneth Graunke
3202f3fdbe
intel/brw: Delete enum brw_urb_write_flags
...
This was used by the vec4 backend.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27872 >
2024-02-29 18:00:14 +00:00
David Rosca
cbbed6ca3e
radeonsi/vcn: Implement separate QP for I/P/B frames
...
This also fixes max_au_size as a side effect of using new IB.
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27558 >
2024-02-29 16:12:13 +00:00
David Rosca
252ba4bbdd
radeonsi/vcn: Use temporal_layer_index to select temporal layer
...
Don't change enc_pic.temporal_id as that is used in AV1 encode.
Fixes: 8d44a11508 ("radeonsi/vcn: Don't reinitialize encode session on bitrate/fps change")
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27558 >
2024-02-29 16:12:13 +00:00
David Rosca
8c9445896f
frontends/va: Separate QP for I/P/B frames
...
For H264/HEVC this needs to calculate init_qp + slice_qp_delta.
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27558 >
2024-02-29 16:12:13 +00:00
Faith Ekstrand
c69f76170e
docs/nvk: Document NAK_DEBUG
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27885 >
2024-02-29 16:03:41 +00:00
Faith Ekstrand
d6638e89fd
docs/nvk: Update the NVK_DEBUG docs
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27885 >
2024-02-29 16:03:41 +00:00
Faith Ekstrand
bc8df338ca
docs/nvk: Update the conformance status section
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27885 >
2024-02-29 16:03:41 +00:00
Mike Blumenkrantz
532d43881f
zink: stop enabling EXT_conservative_rasterization
...
this isn't used
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27882 >
2024-02-29 15:32:05 +00:00
David Heidelberg
2ca6d044c1
ci: enable Collabora farm
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27883 >
2024-02-29 14:54:18 +00:00
Eric Engestrom
64f037e079
vk/util: print a nice error in vk_icd_gen.py when VK_HEADER_VERSION is not defined
...
Shouldn't be reachable in normal case, but when messing with vk.xml it's
nicer than the current:
TypeError: can only concatenate str (not NoneType) to str
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27779 >
2024-02-29 14:25:49 +00:00
Eric Engestrom
3f2790adcd
vk/util: trivial cleanups in vk_icd_gen.py
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27779 >
2024-02-29 14:25:49 +00:00
Eric Engestrom
bc38b68ab8
ci_run_n_monitor: read job logs as utf-8
...
Fixes regular crashes like this one:
Traceback (most recent call last):
File "bin/ci/ci_run_n_monitor.py", line 478, in <module>
print_log(cur_project, target_job_id)
File "bin/ci/ci_run_n_monitor.py", line 270, in print_log
lines = job.trace().decode("raw_unicode_escape").splitlines()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
UnicodeDecodeError: 'rawunicodeescape' codec can't decode bytes in position 6090-6091: truncated \uXXXX escape
decoding with 'raw_unicode_escape' codec failed
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27653 >
2024-02-29 14:17:02 +00:00
Eric Engestrom
656e329fa2
ci_run_n_monitor: fix handling of optional jobs again
...
Looks like a recent rework broke this again, so let's add the existence check back.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27874 >
2024-02-29 14:11:32 +00:00
Mike Blumenkrantz
e4d45c582b
glx: only print zink failure-to-load messages if explicitly requested
...
if zink is inferred, let it fail silently
ref #10293
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27836 >
2024-02-29 13:13:09 +00:00
Mike Blumenkrantz
571effdf08
egl/dri2: use the right egl platform enum
...
this is otherwise completely broken and allows loading zink in all cases
Fixes: 0fd066a1d7 ("egl: only check dri3 on X11")
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27836 >
2024-02-29 13:13:09 +00:00
David Heidelberg
75f186f3c4
ci: temporarily disable Collabora farm
...
need to restart gitlab-runner
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27878 >
2024-02-29 13:09:42 +00:00
Nanley Chery
6d76d46154
iris: Enable pass-through state init for gfx12 CCS
...
The previous patch changed the gfx12 CCS initial aux state from
pass-through to compressed-no-clear. This isn't always accurate.
This patch determines if a CCS is in the pass-through state by
inspecting the associated resources' bo field. In order to do that
clearly, move aux-state initialization out of
iris_resource_configure_aux (which can be called before BO creation).
Split up that logic and move the pieces into iris_resource_from_handle,
iris_resource_init_aux_buf, and a new function in ISL.
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27835 >
2024-02-29 12:32:11 +00:00
Nanley Chery
06dff45abb
iris: Don't memset CCS on integrated gfx12
...
There are no illegal CCS values on integrated gfx12 platforms.
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27835 >
2024-02-29 12:32:11 +00:00
Nanley Chery
e1443074f3
iris: Don't memset the extra_aux memory range
...
The extra_aux memory range holds the CCS portion of surfaces using
MCS_CCS or HiZ+CCS on integrated gfx12.x. Avoid memsetting because:
* There's no known CCS initialization requirement for MCS_CCS.
* ACM has the same documented initialization requirements for HIZ+CCS on
TGL/MTL, but iris doesn't initialize the CCS portion on discrete. For
TGL+, anv does not initialize the CCS portion of HiZ+CCS. Let's be
consistent with these other cases and avoid initialization.
If we end up needing to initialize the CCS, we can try come up with
something that will work for both integrated and discrete gfx12.
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27835 >
2024-02-29 12:32:11 +00:00
Danylo Piliaiev
8567d02682
tu: Update prim restart state when we switch from/to indexed draw
...
Previously, if first draw call with wasn't indexed but pipeline
had primitive restart enabled - primitive restart would be disabled
for draw calls, even indexed, that follow.
However, prim restart index works in non-indexed draw calls, but since
we don't emit fresh PC_RESTART_INDEX for them - they may use stale
value if prim restart is enabled for non-indexed draw calls.
So we have track the switch between indexed and non-indexed draw calls
and emit PC_PRIMITIVE_CNTL_0 for them.
Fixes car rear window in Need for Speed: Most Wanted (2012)
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27821 >
2024-02-29 11:56:01 +00:00
Mike Blumenkrantz
d4f3770ea2
zink: use uncompacted vk_dispatch_table
...
the dispatch table doesn't know which extensions zink wants to use,
so let zink use the extensions it wants to use
fixes #10513
cc: mesa-stable
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27834 >
2024-02-29 11:18:18 +00:00
Mike Blumenkrantz
5d91db9666
vulkan/dispatch_table: add an uncompacted version of the table
...
this is a bandaid fix that allows users (zink) to actually call the
functions intended to be called. the real fix would be to figure out
which extensions are enabled on the device and then only GPA the
functions associated with those extensions
that's too hard though so I'm slapping some flex tape on it
cc: mesa-stable
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27834 >
2024-02-29 11:18:18 +00:00
Tapani Pälli
185d420b27
anv: make sure aux is disabled for memory objects
...
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9248
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10608
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27614 >
2024-02-29 07:44:09 +00:00
Tapani Pälli
9058a2a78e
iris: make sure aux is disabled for external objects
...
Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27614 >
2024-02-29 07:44:09 +00:00
Lionel Landwerlin
fe037dec6e
anv: expose VK_EXT_descriptor_buffer
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22151 >
2024-02-29 07:05:06 +00:00
Lionel Landwerlin
454d381243
anv: disable mutable combined image/sampler in descriptor buffer
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22151 >
2024-02-29 07:05:06 +00:00
Lionel Landwerlin
ab7641b8dc
anv: implement descriptor buffer binding
...
And barriers for them.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22151 >
2024-02-29 07:05:06 +00:00
Lionel Landwerlin
349c46c553
anv: handle push descriptor writes with descriptor buffers
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22151 >
2024-02-29 07:05:06 +00:00
Lionel Landwerlin
1de44b1951
anv: add pipeline/shader support for descriptor buffers
...
Lowering/layout is pretty much the same as direct descriptors. The
caveats is that since the descriptor buffers are not visible from the
binding tables we can't promote anything to the binding table (except
push descriptors).
The reason for this is that there is nothing that prevents an
application to use both types of descriptors and because descriptor
buffers have visible address + capture replay, we can't merge the 2
types in the same virtual address space location (limited to 4Gb max,
limited 2Gb with binding tables).
If we had the guarantee that both are not going to be used at the same
time, we could consider a 2Gb VA for descriptor buffers.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22151 >
2024-02-29 07:05:06 +00:00
Lionel Landwerlin
8090bd78b8
anv: add descriptor set layout support for descriptor buffers
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22151 >
2024-02-29 07:05:06 +00:00
Lionel Landwerlin
7ba059854c
anv: add new helper to update binding table pool offset
...
We'll want to differentiate STATE_BASE_ADDRESS from
3DSTATE_BINDING_TABLE_POOL updates.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22151 >
2024-02-29 07:05:06 +00:00
Lionel Landwerlin
ef8f09148f
anv: add embedded sampler support
...
Those samplers live in the dynamic state base address and their offset
can be directly baking into the shaders.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22151 >
2024-02-29 07:05:06 +00:00
Lionel Landwerlin
259cdc5496
nir: add additional flag to resource_intel for embedded samplers
...
This will enable specific lowering of embedded samplers.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22151 >
2024-02-29 07:05:06 +00:00
Lionel Landwerlin
99047451c9
intel/fs: add plumbing for embedded samplers
...
We can address samplers from 3 different locations :
- binding table
- dynamic state base address
- bindless sampler base address (only Gfx11+)
Here we allow samplers to be address from the dynamic state base
address with the embedded sampler flag.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22151 >
2024-02-29 07:05:06 +00:00
Lionel Landwerlin
3f25b2826f
anv: add embedded sampler parameters in descriptor set layout hash
...
The way we implement embedded samplers will be to have the sampler
handle as a relocated constant in the shader.
This implies that 2 identical shaders with different embedded sampler
parameters must have different hash as we cannot reuse the final
shader binary.
So add the sampler hash to the descriptor set layout hash when the set
has embedded samplers.
This has the effect of creating multiple shader entries in the cache
unfortunately. An improvement over this would be to have a anv_device
map of (embedded samplers hash + shader hash) to shader in instruction
heap, so that pipeline caches only have a single entry regardless of
embedded sampler parameters.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22151 >
2024-02-29 07:05:06 +00:00
Lionel Landwerlin
6d59168dc9
anv: compute a sampler hash based on parameters
...
To be used for embedded samplers.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22151 >
2024-02-29 07:05:06 +00:00
Lionel Landwerlin
9506d3f338
anv: implement data write entry points for EXT_descriptor_buffer
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22151 >
2024-02-29 07:05:06 +00:00
Lionel Landwerlin
ec73db3b8c
anv: allocate fsr states for descriptor buffer
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22151 >
2024-02-29 07:05:06 +00:00
Lionel Landwerlin
44bf552704
anv: allocate border colors for descriptor buffers
...
Because we have 2 dynamic state heaps, we need to duplicate values.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22151 >
2024-02-29 07:05:06 +00:00
Lionel Landwerlin
271f0b8b9c
anv: allocate slice_hash for descriptor buffer
...
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22151 >
2024-02-29 07:05:06 +00:00
Lionel Landwerlin
859f087c0b
anv: move aux-tt to general state pool
...
We're about to use 2 different location for the dynamic state heap.
Which means at least on i915 we need 2 copies of all the fixed
(CPS_STATE, border colors, slice hash) stuff on the dynamic state
heap.
Let's avoid having the aux-tt tables in there too.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22151 >
2024-02-29 07:05:06 +00:00
Lionel Landwerlin
226c519f28
anv: add a second dynamic state heap for descriptor buffers
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22151 >
2024-02-29 07:05:06 +00:00
Lionel Landwerlin
82d772fa9b
anv: create new helper for small allocations
...
A number of allocations during command buffer building are sourced
from the dynamic state heap. They're not actually access using an
offset in the dynamic state heap, it just happens to be a conveninent
place.
Use different helpers for thoses so we dynamically change the dynamic
state heap location in the next commits.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22151 >
2024-02-29 07:05:06 +00:00
Lionel Landwerlin
c6a91f1695
anv: add new heap/pool for descriptor buffers
...
We'll use a new heap & a new pool for descriptor buffers. The heap
will hold descriptor buffers, while the pool will only be used on
Gfx12.5+ for push descriptors.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22151 >
2024-02-29 07:05:05 +00:00
Lionel Landwerlin
fc1aeb57bb
anv: optimize push descriptor updates
...
vkd3d-proton uses a descriptor set with a single descriptor, so we
don't even need to copy the old data where there is an update.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22151 >
2024-02-29 07:05:05 +00:00
Mike Blumenkrantz
3d38c9597f
zink: hook up KHR_partial_update
...
this just requires clamping the renderArea to the passed damage rect,
which is composed by merging all the passed rects into a single large
region
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27867 >
2024-02-29 03:26:14 +00:00
Mike Blumenkrantz
e0131cd371
zink: use VK_KHR_incremental_present to propagate damage rects
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27867 >
2024-02-29 03:26:14 +00:00
Mike Blumenkrantz
4fe88170ce
zink: hook up VK_KHR_incremental_present
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27867 >
2024-02-29 03:26:14 +00:00
Mike Blumenkrantz
738fbddca8
zink: use a slab allocator for zink_kopper_present_info
...
this improves perf slightly at extremely high fps
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27867 >
2024-02-29 03:26:14 +00:00
Mike Blumenkrantz
cdd1ce140d
zink: make zink_kopper_present_info public
...
no functional changes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27867 >
2024-02-29 03:26:14 +00:00
Faith Ekstrand
4c73e52933
nvk: Advertise VK_KHR_pipeline_library
...
This is required by VK_EXT_graphics_pipeline_library
Fixes: fb564040a7 ("nvk: Advertise VK_KHR_graphics_pipeline_library")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27860 >
2024-02-29 02:49:42 +00:00
Faith Ekstrand
bb8b11d806
vulkan/pipeline: Handle fully compiled library shaders properly
...
In the fast-link case, we should just use the library shader and assume
that it's correct. We have to do this because we may not have a
precompiled shader in this case so we can't even generate the shader
hash.
In the link optimization case, we could still have a library shader
coming in from some library pipeline. That shader may happen to be
correct, in which case we can just use it and not even bother digging
around in the cache. In the more likely case, the keys won't match and
we should throw it away before we look up a different shader in the
cache and leak our reference.
Fixes: 9308e8d90d ("vulkan: Add generic graphics and compute VkPipeline implementation")
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27860 >
2024-02-29 02:49:42 +00:00
Faith Ekstrand
d9908af9d2
vulkan/pipeline: Whitespace fix
...
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27860 >
2024-02-29 02:49:42 +00:00
José Roberto de Souza
283d8ca98a
iris: Force lmem cpu accessible for bos with clear-color
...
KMD needs to be able to read and write the clear-color from CPU.
i915 can workaround it but Xe KMD will reject page flips with
clear-color bos that can be read from CPU.
So here it make sure that bos with the clear color information
are placed in a lmem portion that is CPU-visible, that is important in
PCIe small bar systems.
And as CCS in discrete GPUs are only supported in lmem this bo can't
become a IRIS_HEAP_DEVICE_LOCAL_PREFERRED(lmem + smem).
So here the IRIS_HEAP_DEVICE_LOCAL_CPU_VISIBLE_SMALL_BAR heap is selected.
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26700 >
2024-02-29 02:20:43 +00:00
José Roberto de Souza
8a9168584c
iris: Add IRIS_HEAP_DEVICE_LOCAL_CPU_VISIBLE_SMALL_BAR heap type
...
This is intented to be used in cases where BOs can only be placed in
lmem but needs to accesible from CPU side.
Actual usage will be added in the next patch, here just adding the
heap type and all the handling.
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26700 >
2024-02-29 02:20:43 +00:00
Mike Blumenkrantz
f55ed175eb
zink: fix stencil-only blitting with stencil fallback
...
these shouldn't do extra depth blits
fixes (nvidia):
dEQP-GLES3.functional.fbo.blit.depth_stencil.depth24_stencil8_stencil_only,Fail
dEQP-GLES3.functional.fbo.blit.depth_stencil.depth32f_stencil8_stencil_only,Fail
spec@arb_framebuffer_object@arb_framebuffer_object-depth-stencil-blit stencil gl_depth24_stencil8,Fail
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27859 >
2024-02-29 01:53:38 +00:00
Mike Blumenkrantz
f0430b095b
egl/wayland: delete swrast references to zink
...
this is an entirely separate path now
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27703 >
2024-02-29 01:15:23 +00:00
Mike Blumenkrantz
17355e737d
egl/wayland: split out kopper update_buffers
...
no functional changes
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27703 >
2024-02-29 01:15:23 +00:00
Mike Blumenkrantz
1959691033
egl/wayland/kopper: actually call kopper swapbuffer functions
...
this allows passing through the zsbuf discard flag
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27703 >
2024-02-29 01:15:23 +00:00
Mike Blumenkrantz
2a8c6cf7ac
kopper: set drawable buffer age
...
this fixes buffer age reporting with lavapipe
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27703 >
2024-02-29 01:15:23 +00:00
Mike Blumenkrantz
9cf22c5fd0
egl/kopper: call swrast buffer age query for kopper+swrast
...
with zink+lavapipe, this is actually how it works since the vtable is
different
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27703 >
2024-02-29 01:15:23 +00:00
Mike Blumenkrantz
1bd28d62e4
egl/wayland: split out kopper swapbuffers functions
...
no functional changes
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27703 >
2024-02-29 01:15:23 +00:00
Mike Blumenkrantz
76f74f55a4
egl/wayland: add a separate hook for kopper buffer age
...
this otherwise hits the swrast one which is wrong
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27703 >
2024-02-29 01:15:23 +00:00
Mike Blumenkrantz
4345c415d7
egl/wayland: split out kopper vtable
...
no functional changes
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27703 >
2024-02-29 01:15:23 +00:00
Mike Blumenkrantz
1188178811
egl/kopper: advertise EXT_swap_buffers_with_damage only in non-sw mode
...
this isn't actually damage-ful otherwise
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27703 >
2024-02-29 01:15:23 +00:00
Mike Blumenkrantz
ad8794884c
egl/kopper: plumb through SwapBuffersWithDamage
...
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27703 >
2024-02-29 01:15:23 +00:00
Mike Blumenkrantz
0c82a67ea6
drisw: pass all frontend swapbuffer damage rects through
...
this is really stupid because EGLRect is int[4] but pipe_box is not,
requiring conversion from one to the other
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27703 >
2024-02-29 01:15:23 +00:00
Mike Blumenkrantz
cda627eb48
drisw/winsys: loop over all the boxes in display()
...
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27703 >
2024-02-29 01:15:23 +00:00
Mike Blumenkrantz
389e83c4fe
drisw/xlib: loop over all the boxes in display() hook
...
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27703 >
2024-02-29 01:15:23 +00:00
Mike Blumenkrantz
c83768c76c
egl/wayland/sw: clamp putimage geometry to surface size
...
this otherwise writes oob
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27703 >
2024-02-29 01:15:23 +00:00
Mike Blumenkrantz
fa465e34ca
egl/wayland/sw: pass damage region through from put_image2 to wl_surface_damage
...
this propagates damage from drisw to wayland; y inversion matches protocol
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27703 >
2024-02-29 01:15:23 +00:00
Mike Blumenkrantz
d90b14c768
egl/wayland/sw: fix no-op updating of current backbuffer
...
if the frontbuffer is the backbuffer then its contents are up-to-date
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27703 >
2024-02-29 01:15:23 +00:00
Mike Blumenkrantz
75cf82005d
egl/wayland/sw: move partial->full copy promotion to swapbuffers
...
this will ensure that the wl_buffer data is always fully updated
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27703 >
2024-02-29 01:15:23 +00:00
Mike Blumenkrantz
425d919b0a
egl/wayland/sw: trigger damage from put_image2
...
no functional changes currently
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27703 >
2024-02-29 01:15:23 +00:00
Mike Blumenkrantz
e4db8c6e8d
egl/wayland/sw: call dri2_wl_swrast_attach_backbuffer() before swap
...
should be no functional changes
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27703 >
2024-02-29 01:15:23 +00:00
Mike Blumenkrantz
448cd2cd37
egl/wayland/sw: split out surface attach from dri2_wl_swrast_commit_backbuffer()
...
no functional changes
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27703 >
2024-02-29 01:15:23 +00:00
Mike Blumenkrantz
cce12981e4
egl/wayland: unify back/current swapping between zink and swrast
...
these are functionally the same, they just happened in different places
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27703 >
2024-02-29 01:15:23 +00:00
Mike Blumenkrantz
73a3a1c646
egl/wayland/sw: move dri2_wl_swrast_commit_backbuffer() directly into swapbuffers
...
no functional changes
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27703 >
2024-02-29 01:15:23 +00:00
Mike Blumenkrantz
81e5f9c398
egl/wayland/sw: move swrast_update_buffers() directly into swapbuffers
...
no functional changes
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27703 >
2024-02-29 01:15:23 +00:00
Mike Blumenkrantz
fd6f7e3f16
drisw: plumb through a swapBuffersWithDamage interface
...
currently the same as regular swap
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27703 >
2024-02-29 01:15:23 +00:00
Mike Blumenkrantz
3aea0e31a4
winsys/sw: propagate nboxes to displaytarget_display()
...
only a single box region is used
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27703 >
2024-02-29 01:15:22 +00:00
Mike Blumenkrantz
3cca761934
gallium: add a nboxes param to flush_frontbuffer
...
this allows conveying damage regions through the sw presentation interface
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27703 >
2024-02-29 01:15:22 +00:00
Boyuan Zhang
74f6392545
meson: bump the minimal required vdpau version to 1.4
...
VDP_YCBCR_FORMAT_P010 and VDP_YCBCR_FORMAT_P016 require ver 1.4 or above
Fixes: c3ceec6cd8 ("vdpau: Refactor query for video surface formats.")
Cc: mesa-stable
Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27857 >
2024-02-29 00:32:45 +00:00
Eric Engestrom
cdab305e36
docs: update calendar for 24.0.2
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27858 >
2024-02-29 00:25:04 +00:00
Eric Engestrom
d4de363278
docs: add sha256sum for 24.0.2
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27858 >
2024-02-29 00:25:04 +00:00
Eric Engestrom
64eb09cd7c
docs: add release notes for 24.0.2
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27858 >
2024-02-29 00:25:04 +00:00
Yiwei Zhang
83f3b1d76a
venus: mandate a few venus capsets long required before 1.0
...
Just a clean up. Venus driver can no longer work without those.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27842 >
2024-02-29 00:05:13 +00:00
José Roberto de Souza
661ddf6084
intel/nullhw: Fix 32bits compilation warnings
...
../src/intel/nullhw-layer/intel_nullhw.c: In function ‘new_device_data’:
../src/intel/nullhw-layer/intel_nullhw.c:65:20: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
65 | #define HKEY(obj) ((uint64_t)(obj))
| ^
../src/intel/nullhw-layer/intel_nullhw.c:193:15: note: in expansion of macro ‘HKEY’
193 | map_object(HKEY(data->device), data);
Reviewed-by: Mark Janes <markjanes@swizzler.org >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27854 >
2024-02-28 23:37:43 +00:00
José Roberto de Souza
209ae6bd41
intel/tools: Fix compilation in 32 bits
...
u64 is long long in 32 bits.
Fixes: 90e38bbb3b ("intel/tools/error_decode: Parse Xe KMD error dump file")
Reviewed-by: Mark Janes <markjanes@swizzler.org >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27854 >
2024-02-28 23:37:43 +00:00
Mark Collins
1ba6ccc51a
tu: Unconditionally enable GMEM on A7XX
...
GMEM is at parity with A7XX sysmem in terms of functionality so it's
safe to enable it without any conditions now.
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26461 >
2024-02-28 22:49:58 +00:00
Mark Collins
de3dc30a29
tu: Add blit cache flushing for input attachments
...
Input attachments which read GMEM via the UCHE aperture need to
flush the blit cache on A7XX and wait for the writes to land, this
implements it as access flags and a pending flush with special
semantics.
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26461 >
2024-02-28 22:49:58 +00:00
Mark Collins
0cf27a7236
tu: Clear VSC_UNKNOWN_0D08 on A7XX
...
This register is set by the proprietary driver along with other VSC state
for binning, the stale value of this register set by the prop driver was
being used by Turnip resulting in crashes that were exclusive to Android
due to only running the prop driver alongside Turnip there.
The fix is to emit this new register alongside all other VSC state inside
the `update_vsc_pipe` function.
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26461 >
2024-02-28 22:49:58 +00:00
Mark Collins
71918f7cff
tu: Fix CP_BLIT sync on A7XX
...
A7XX needs the CCU blit caches to be flushed before a CP_BLIT to
ensure any writes from a CP_EVENT_WRITE::BLIT have landed, without
this the source buffer may have an incomplete load/clear when the
2D blit starts resulting in what's written out being broken.
The corruption can be seen with GMEM passes using CP_BLIT especially
when forced using `TU_DEBUG=gmem,unaligned_store`.
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26461 >
2024-02-28 22:49:58 +00:00
Mark Collins
9a67f00398
tu: Set RB_CCU_CNTL during HW init on A7XX
...
On A7XX, A6XX_RB_CCU_CNTL was broken into two registers, A7XX_RB_CCU_CNTL which
has static properties that can be set once, this requires a WFI to take effect.
As a result, it's now set during `tu6_hw_init` rather than being set every time.
While the newly introduced register A7XX_RB_CCU_CNTL2 has properties that may
change per-RP and don't require a WFI to take effect, only CCU inval/flush
events are required. This is now the only register set in `emit_rb_ccu_cntl`.
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26461 >
2024-02-28 22:49:58 +00:00
Mark Collins
265eb463b5
tu: Disable LRZ properly on A7XX
...
LRZ wasn't entirely disabled due to the register `A7XX_GRAS_LRZ_DEPTH_BUFFER_INFO`
not being set to `0` in all circumstances, this register affects rendering even
when LRZ is disabled so needs to be set to `0` until LRZ is properly implemented.
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26461 >
2024-02-28 22:49:58 +00:00
Mark Collins
3188c1b5c7
tu: Use Z24_UNORM_S8_UINT_AS_R8G8B8A8 for A7XX GMEM D24S8 blits/clear
...
A7XX has corruption when 2D blits are performed on D24S8 images
from GMEM when the source format is FMT6_8_8_8_8_UNORM, this is
fixed by using FMT6_Z24_UNORM_S8_UINT_AS_R8G8B8A8.
Fixes VK-CTS: dEQP-VK.pipeline.monolithic.multisample.misc.*
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26461 >
2024-02-28 22:49:58 +00:00
Mark Collins
1714e0c240
tu: Fix 2D blit path for GMEM stores on A7XX
...
These were broken due to the new window offset register not being
set for every tile, even with this the 2D blit path is broken for
MSAA D24S8 resolves but since outside of FDM that should be handled
by the event blit path it's not a major concern but should be fixed.
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26461 >
2024-02-28 22:49:58 +00:00
Mark Collins
9e699afa9b
tu: Allow event blit to resolve depth stencil formats
...
This seemingly works on A7XX with no issues and the comment there
prior suggests that it should work on A6XX so this case is now
allowed to go through the event blit rather than the slow path.
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26461 >
2024-02-28 22:49:58 +00:00
Mark Collins
cc6399de31
tu: Update CCU layout selection logic for seperate stencil stores
...
The CCU layout logic needed to match the full `use_fast_path` case
in `tu_store_gmem_attachment`, not just unaligned but also for the
stencil storage logic.
The current code works since depth/stencil formats are forced to use the
slow path by `blit_can_resolve`. However, that will be removed since only
seperate stencil stores are unable to use the fast path while combined
stores can use it without any issues. This change prevents a regression
due to no longer choosing the sysmem CCU layout for seperate stencil
stores when fast-path resolves are allowed for DS formats.
Fixes VK-CTS cases (when fast-path stores for DS formats are enabled):
dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_2.d24_unorm_s8_uint.compatibility_depth_zero_stencil_zero_testing_stencil
dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_2.d24_unorm_s8_uint_separate_layouts.compatibility_depth_zero_stencil_zero_testing_stencil
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26461 >
2024-02-28 22:49:58 +00:00
Mark Collins
b44474407d
tu: Use full size color CCU in sysmem mode
...
Only a fraction of GMEM was being used by the color CCU even in
sysmem mode where it would go unused aside from the portion used by
the depth CCU. This can help with color CCU bottlenecks on both
A6XX and A7XX.
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26461 >
2024-02-28 22:49:58 +00:00
Mark Collins
40b3a38951
freedreno/devices: Update A7XX tile values
...
The tile align size was incorrect resulting in certain invalid bins
being selected that would cause rendering to entirely break down. In
addition, the maximum tile size has been further increased on A7XX.
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26461 >
2024-02-28 22:49:58 +00:00
Mark Collins
120779f009
tu: Set RB_UNKNOWN_88E4 for A7XX event blits
...
Event blits on A7XX are entirely broken without setting the first
bit of this register.
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26461 >
2024-02-28 22:49:58 +00:00
Danylo Piliaiev
f0ae416fc1
tu/autotuner: Use CP_EVENT_WRITE7 for submission fence
...
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26461 >
2024-02-28 22:49:58 +00:00
Mark Collins
4e6a1f8852
tu/autotune: Use CP_EVENT_WRITE7::ZPASS_DONE on A7XX
...
The `RB_SAMPLE_COUNT_ADDR` register no longer exists on A7XX and
the address is provided as a part of `CP_EVENT_WRITE7`.
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26461 >
2024-02-28 22:49:58 +00:00
Mark Collins
45b415a044
tu: Use CP_SET_PSEUDO_REG for A7XX VSC stream regs
...
VSC stream registers on A7XX are psuedo-registers rather than actual
registers and need to be set via `CP_SET_PSEUDO_REG`.
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26461 >
2024-02-28 22:49:58 +00:00
Mark Collins
2c78d104b0
tu: Only set PC/VFD PWR_CNTL regs on A6XX
...
These are no longer used on A7XX and should not be emitted.
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26461 >
2024-02-28 22:49:58 +00:00
Mark Collins
0b2df4ca26
tu: Set CP_THREAD_CONTROL::CONCURRENT_BIN_DISABLE in A7XX HW init
...
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26461 >
2024-02-28 22:49:58 +00:00
Mark Collins
1af86d5a6a
tu: Set A7XX registers in tu6_tile_render_begin
...
These are mostly copied from the sysmem registers with the values
based off prop GMEM traces.
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26461 >
2024-02-28 22:49:58 +00:00
Mark Collins
9759222282
tu: Allow GMEM on A7XX when TU_DEBUG=gmem
...
GMEM is entirely non-functional on A7XX, however, it is useful to be
able to test intermediary commits as support is added. This is still
put behind an explicit `TU_DEBUG` gmem flag to avoid regressions from
bisecting sysmem issues.
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26461 >
2024-02-28 22:49:58 +00:00
Rohan Garg
3dbc15e74e
anv: add a command streamer stall on Xe2+ when switching pipelines
...
Xe2+ gets rid of PIPELINE_SELECT, so we need to make sure we add a stall
when switching pipelines
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27823 >
2024-02-28 22:24:39 +00:00
Simon Ser
af41fad1e9
egl/wayland: explain why implicit modifier downgrade is allowed
...
We break the rule that an explicit modifier cannot be stripped.
Fixing this would require a bit of effort and wl_drm is reaching
its end of life anyways, so leave a TODO instead.
Signed-off-by: Simon Ser <contact@emersion.fr >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26346 >
2024-02-28 21:30:55 +00:00
Simon Ser
35143febba
egl/wayland: ensure wl_drm is available before use
...
Avoid crashing if wl_drm is unavailable. Instead, gracefully error
out.
Signed-off-by: Simon Ser <contact@emersion.fr >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Fixes: c60fea8c22 ("Revert "egl/wayland: deprecate drm_handle_format() and drm_handle_capabilities()"")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26346 >
2024-02-28 21:30:55 +00:00
Rohan Garg
1f36cc6ca3
anv: cleanup duplicate robustness flag calculations
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27850 >
2024-02-28 21:05:44 +00:00
Mike Blumenkrantz
2b1d12b104
zink: force max buffer alignment on return ptrs for mapped staging buffers
...
this guarantees the alignment matches what the API expects
fixes KHR-GL4*.map_buffer_alignment.functional on nvk
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27827 >
2024-02-28 20:37:22 +00:00
Mike Blumenkrantz
f7d6a75d6b
zink: delete unused buffer map conditional
...
this is now handled in the block above
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27827 >
2024-02-28 20:37:22 +00:00
Mike Blumenkrantz
80456abff7
zink: fix unsynchronized read-mapping of device-local buffers
...
these can use the copy context to enable readback on systems without BAR
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27827 >
2024-02-28 20:37:22 +00:00
Mike Blumenkrantz
91f99f82ab
zink: null out bo usage when allocating from slab
...
avoids weird cases with stale usage
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27827 >
2024-02-28 20:37:22 +00:00
Mike Blumenkrantz
689a80704a
zink: emit SpvCapabilityImageMSArray for ms arrayed storage images
...
required by spec
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27827 >
2024-02-28 20:37:22 +00:00
Mike Blumenkrantz
701ee4be91
zink: apply all storage memory masks to control barriers if no modes are specified
...
fixes VUID-StandaloneSpirv-OpControlBarrier-04650 errors
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27827 >
2024-02-28 20:37:22 +00:00
Faith Ekstrand
75785749ef
meson: Rename nouveau-experimental to nouveau and build by default on x86
...
Reviewed-by: Joshua Ashton <joshua@froggi.es >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27832 >
2024-02-28 19:58:28 +00:00
Faith Ekstrand
e32c36df07
nvk: Don't print the NVK_I_WANT_A_BROKEN_VULKAN_DRIVER warning in release builds
...
The environment variable is still there and it still works but this
means that release builds will simply silently fail to enumerate rather
than throwing confusing warnings at users.
Reviewed-by: Joshua Ashton <joshua@froggi.es >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27832 >
2024-02-28 19:58:28 +00:00
Faith Ekstrand
b5dab7c965
nvk: Drop the non-conformant warning on Turing-Ada
...
Reviewed-by: Joshua Ashton <joshua@froggi.es >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27832 >
2024-02-28 19:58:28 +00:00
Faith Ekstrand
4ce4560a45
nvk: Advertise a CTS version of 1.3.7.3
...
Reviewed-by: Joshua Ashton <joshua@froggi.es >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27832 >
2024-02-28 19:58:28 +00:00
Martin Roukala (né Peres)
81230513a8
radv/ci: add a vkd3d-tahiti job
...
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27844 >
2024-02-28 17:54:47 +00:00
Samuel Pitoiset
778ef9b133
radv: move conditional rendering for compute in radv_cmd_state
...
Like other conditional rendering states.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27818 >
2024-02-28 17:33:29 +00:00
Samuel Pitoiset
536c44d946
radv: fix conditional rendering with direct mesh+task draws and multiview
...
Having to compute the predication size manually is VERY prone to errors.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27818 >
2024-02-28 17:33:29 +00:00
Samuel Pitoiset
ba7b7e2d3f
radv: add missing RADV_DEBUG_NO_NGG_GS to the physical device cache key
...
This affects shaders and they need to be recompiled.
Fixes: 69d734a8d5 ("radv: add RADV_DEBUG=nongg_gs for GFX10/GFX10.3")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27820 >
2024-02-28 17:07:26 +00:00
Danylo Piliaiev
be46639974
freedreno/a7xx: Fix base_align for non-UBWC depth-stencil
...
A7XX appears to require alignment of 4096 for DS in both
UBWC and non-UBWC cases.
Fixes rendering with TU_DEBUG=noubwc
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27848 >
2024-02-28 16:30:15 +00:00
Zan Dobersek
25a0eadcae
tu: tu_device should clean up its global bo
...
The global buffer object is allocated and mapped during tu_device creation.
Correspondingly it should also be cleaned up during device destruction.
Signed-off-by: Zan Dobersek <zdobersek@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27814 >
2024-02-28 15:51:00 +00:00
Chia-I Wu
f623c27eab
meson: fix a build ereror
...
Fixes
src/vulkan/wsi/meson.build:71:13:
ERROR: Unknown variable "libloader_wayland_helper".
for headless vulkan-only builds.
Fixes: a00f9c401b ("loader/wayland: Add fallback wl_display_dispatch_queue_timeout")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27837 >
2024-02-28 15:03:05 +00:00
Robert Beckett
9c096e23c0
vulkan/wsi: fix force_bgra8_unorm_first
...
fixes: 7c16a1ae vulkan/wsi: Add a driconf option to force WSI to advertise BGRA8_UNORM first
Signed-off-by: Robert Beckett <bob.beckett@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23991 >
2024-02-28 13:20:56 +00:00
Pierre-Eric Pelloux-Prayer
224ff11617
egl/wayland: use __DRI_IMAGE_PRIME_LINEAR_BUFFER in get_back_bo
...
Some drivers (radeonsi, iris) relies on this hint to detect DRI_PRIME
blits and implement a special path (eg: SDMA copy for radeonsi).
Reviewed-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27719 >
2024-02-28 12:47:54 +00:00
Danylo Piliaiev
55e99728e0
tu: Do not emit zero-sized fs params
...
The comparison change accidentally slipped in.
Fixes a crash in:
dEQP-VK.subgroups.size_control.framebuffer.fragment_allow_varying_subgroup_size
Fixes: 76e417ca59
("turnip,ir3/a750: Implement consts loading via preamble")
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27829 >
2024-02-28 12:00:33 +00:00
Samuel Pitoiset
b3064f9cf4
radv: clean up MAX_ALLOWED_TILES_IN_WAVE programming
...
To match RadeonSI.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27789 >
2024-02-28 11:39:33 +00:00
Derek Foreman
61cfabda5d
vulkan/wsi/wayland: Give names to our Wayland event queues
...
Named queues just add a little bit more debugging information.
Signed-off-by: Derek Foreman <derek.foreman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27824 >
2024-02-28 11:01:31 +00:00
Derek Foreman
235144cf51
egl/wayland: Give names to our Wayland event queues
...
Named queues just add a little bit more debugging information.
Signed-off-by: Derek Foreman <derek.foreman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27824 >
2024-02-28 11:01:31 +00:00
Derek Foreman
eb1235f343
loader/wayland: Add named queue fallback
...
If libwayland isn't new enough to create event queues with names, just
throw away the name. It's just a debug feature anyway.
Signed-off-by: Derek Foreman <derek.foreman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27824 >
2024-02-28 11:01:31 +00:00
Collabora's Gfx CI Team
4e219a22e2
Uprev Piglit to 2a1c49a81cd9a6bf5d0c3a9b87225be94771ca96
...
e9316bcd12...2a1c49a81c
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27375 >
2024-02-28 10:22:38 +00:00
Mike Blumenkrantz
150525980e
ci: disable clang-format job
...
this is still killing merge pipelines
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27831 >
2024-02-28 09:05:07 +00:00
Caio Oliveira
803a1a5ada
intel/brw: Remove automatic_exec_sizes
...
As Ken describes: "This was only used by legacy SF/Clip/FFGS programs."
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:39 +00:00
Caio Oliveira
dae59e7078
intel/brw: Remove runtime_check_aads_emit
...
It was used for Gfx4 payload.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:39 +00:00
Caio Oliveira
35b07ab035
intel/brw: Use a single register set
...
Different sets were needed for SIMD8/SIMD16 in old Gfx versions, but now
we can use a single one regardless of the SIMD size.
Suggested by Ken.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:39 +00:00
Caio Oliveira
3ef6fa3767
intel/brw: Remove Gfx8- fields from *_prog_data structs
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:39 +00:00
Caio Oliveira
aff961f423
intel/brw: Remove Gfx8- fields from *_prog_key structs
...
Those are not used or relevant anymore. Also update Iris accordingly.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:39 +00:00
Caio Oliveira
63a4a4400a
intel/brw: Remove edgeflag_is_last VS parameter
...
Suggested by Ken.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:39 +00:00
Caio Oliveira
5a3f65e678
intel/brw: Remove unused attrib workarounds
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:39 +00:00
Caio Oliveira
d3e451780b
intel/brw: Inline brw_nir_apply_sampler_key code
...
It doesn't use the prog_key anymore, so just move the nir_lower_tex
call pass to the single callsite.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:39 +00:00
Caio Oliveira
8f3c52c1da
intel/brw: Remove MRF type
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:39 +00:00
Caio Oliveira
5c93a0e125
intel/brw: Remove Gfx8- remaining opcodes
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:39 +00:00
Caio Oliveira
3ef1ed73d3
intel/brw: Remove Gfx8- code from visitor
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:39 +00:00
Caio Oliveira
c793644ce9
intel/brw: Remove Gfx8- code from SIMD lowering
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
e0d767f5fe
intel/brw: Remove Gfx8- code from VUE map
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
3b3931daec
intel/brw: Remove Gfx8- code from fs_inst
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
b6098676fa
intel/brw: Remove Gfx8- code from builder
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
071e9f49f1
intel/brw: Remove F16TO32 and F32TO16 opcodes
...
These are done with MOVs and appropriate types in Gfx9+.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
866a2f88df
intel/brw: Replace inst FF macro with F or F20 macros
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
625338389e
intel/brw: Update comments for FK macro
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
4e16c565f4
intel/brw: Remove Gfx8- code from inst FFDC, FDC and FD macros
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
b2822bc8d4
intel/brw: Remove Gfx8- code from inst BRW_IA*_ADDR_IMM macros
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
a7da7e4e69
intel/brw: Remove Gfx8- code from inst FI macros
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
7b523a9f8e
intel/brw: Remove Gfx8- code from inst FD20 and FV20 macros
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
e684ab6a06
intel/brw: Remove Gfx8- code from inst F20 macros
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
72a73eca96
intel/brw: Replace inst F8 macro with F macro
...
F8 had a case for 4+, 8+ and 12+. Its uses now can be replaced
with F that has a case for 9+ and 12+.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
add6ea8a22
intel/brw: Remove Gfx8- code from inst FC and F macros
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
ccece38623
intel/brw: Remove Gfx8- specific EU inst helpers
...
The "generic" macros will be handled in a separate patch.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
e8ee44e8f1
intel/brw: Remove Gfx8- code from register type helpers
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
0a637dce05
intel/brw: Remove Gfx8- code from NIR options
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
d61d6fc3bc
intel/brw: Remove Gfx8- code from EU codegen helpers
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
99d41ca90d
intel/brw: Remove Gfx4-5 manual compression selection
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
a1e694a890
intel/brw: Remove Gfx8- code from NIR passes
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
99f173ddd2
intel/brw: Remove Gfx8- code from EU validation
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
f321e555b6
intel/brw: Remove Gfx8- code from EU emission
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
91c05d990a
intel/brw: Remove Gfx8- code from IR performance analysis
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
5765c7b80c
intel/brw: Remove Gfx8- code from EU compaction
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
7ac5696157
intel/brw: Remove Gfx8- code from backend passes
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
9569ea82a8
intel/brw: Remove Gfx8- code from generator
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
371468c013
intel/brw: Remove Gfx8- code from lower logical sends
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
1ee29f82d2
intel/brw: Remove Gfx8- code from lower storage image pass
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
6a03280af1
intel/brw: Remove Gfx8- code from NIR conversion
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
2a1c2a1bf1
intel/brw: Remove Gfx8- code from thread payload
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
ed6f0665e0
intel/brw: Remove Gfx8- code from register allocator
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
85eb672325
intel/brw: Remove Gfx8- code from scheduler
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
6e88fa8a77
intel/brw: Remove Gfx8- code from brw_compile_* functions
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
a4bf016582
intel/brw: Remove Gfx8- code from assembler
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
83d7ddebcb
intel/brw: Remove Gfx8- code from disassembler
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
15469b0a63
intel/brw: Remove unused legacy shader stages
...
CLIP, STRIP-FAN and FF Geometry don't apply to Gfx9+.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
c621f75e7b
intel/brw: Remove now unused vec4-only opcodes
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
a641aa294e
intel/brw: Remove vec4 backend
...
It still exists as part of ELK for older gfx versions.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:37 +00:00
Caio Oliveira
7c23b90537
intel/brw: Always use scalar shaders
...
Remove scalar_stage[] array, since now it is always scalar. This
removes any usage of vec4 shaders in brw.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:37 +00:00
Caio Oliveira
303fd4e935
intel/brw: Move type_size_* functions out of vec4-specific file
...
Will make easier later to delete vec4 files.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:37 +00:00
Caio Oliveira
9bfccc1935
intel/brw: Move brw_compile_* functions out of vec4-specific files
...
These contain code that is both fs and vec4. Will make easier later to
delete vec4 files.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:37 +00:00
Caio Oliveira
c11d7743b3
intel/blorp: Remove Gfx8- references in BRW code
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:37 +00:00
Vinson Lee
6c190bdfe9
intel/clc: Fix file descriptor leak
...
Fix defect reported by Coverity Scan.
Resource leak (RESOURCE_LEAK)
leaked_storage: Variable fp going out of scope leaks the storage it points to.
Fixes: 4fd7495c69 ("intel/clc: add ability to output NIR")
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27778 >
2024-02-28 04:30:33 +00:00
Faith Ekstrand
41722c6137
nak: Add support for imad on Volta+ and enable it in simple cases
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27159 >
2024-02-27 21:51:30 -06:00
Faith Ekstrand
a747cd1bd5
nak: Move NAK_FS_OUT_COLOR next to the enum
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27159 >
2024-02-27 21:51:30 -06:00
Faith Ekstrand
f4fb5277c3
nir: Add an imad opcode
...
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27159 >
2024-02-27 21:51:30 -06:00
Faith Ekstrand
1881d97c27
nak: Implement nir_op_iadd3 on SM70+
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27159 >
2024-02-27 21:51:29 -06:00
Mike Blumenkrantz
0c95d39309
zink: add nvk baseline
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27843 >
2024-02-27 21:50:47 -05:00
Mike Blumenkrantz
9ffb7e0179
zink: update nv blob baseline
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27843 >
2024-02-27 21:50:47 -05:00
Daniel Almeida
efc4ac0d27
nak/sm50: sprinkle OpAnnotate in optimization passes
...
Not only do we want to know where an Op originated from, but also how it got
transformed along the way if possible. Preferably all the way to the final
machine code emitted.
This commit inserts OpAnnotates in some of the optimization passes when
map_instr() or Instr::new_boxed is used.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27158 >
2024-02-28 01:12:03 +00:00
Daniel Almeida
feb2d3e1da
nak/sm50: support annotations through OpAnnotate
...
Add a new op to annotate the IR. This will help debugging and is only
in effect when NAK_DEBUG=annotate is set.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27158 >
2024-02-28 01:12:03 +00:00
Daniel Almeida
a69bd9a70a
nak/sm50: add an annotate debug flag
...
Add a flag so that users can enable debug annotations when printing the IR.
This does nothing for now. A follow-up commit will actually implement
annotations.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27158 >
2024-02-28 01:12:03 +00:00
Daniel Almeida
02774be708
nak/sm50: add a memstream abstraction
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27158 >
2024-02-28 01:12:03 +00:00
Juston Li
e57cf175e2
venus: move feedback on empty last batch to prior batch
...
For submissions with an empty last batch containing no cmd buffers but
with semaphores as zink does, adding feedback to that batch would make
it no longer empty and increase submission overhead on some drivers.
Since feedback order is enforced by barriers, the feedback cmds can
instead be appended to the previous batch (if it exists) so that the
last batch remains empty.
Signed-off-by: Juston Li <justonli@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27830 >
2024-02-28 00:56:26 +00:00
Thong Thai
0586a3fb22
frontends/va/postproc: do not use efc if image is to be translated
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10658
Signed-off-by: Thong Thai <thong.thai@amd.com >
Tested-by: Andrej Benz <hello@benz.dev >
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27802 >
2024-02-27 22:56:04 +00:00
Faith Ekstrand
b8c3d18fba
nvk: Advertise VK_EXT_shader_object
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9648
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27024 >
2024-02-27 22:17:09 +00:00
Faith Ekstrand
fb564040a7
nvk: Advertise VK_KHR_graphics_pipeline_library
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9635
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27024 >
2024-02-27 22:17:09 +00:00
Faith Ekstrand
813b253939
nvk: Switch to shader objects
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27024 >
2024-02-27 22:17:09 +00:00
Faith Ekstrand
4001658c18
nvk: Use vk_render_pass_state::attachments for write masks
...
This pulls everything into nvk_cmd_draw.c where it's a bit easier to
manage. When the time comes for switching to EXT_shader_object, this
will let us handle VK_EXT_dynamic_rendering_unused_attachments via the
common vk_pipeline code.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27024 >
2024-02-27 22:17:09 +00:00
Faith Ekstrand
839629634f
nvk: Move nir_lower_patch_vertices to nvk_lower_nir()
...
As long as it happens after we merge tess info between the two stages
(it does) then there's no need to have it in the pipeline code. It's
just an optimization anyway.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27024 >
2024-02-27 22:17:09 +00:00
Faith Ekstrand
bd76444257
nvk: Pass an array of descriptor sets to nvk_lower_nir
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27024 >
2024-02-27 22:17:09 +00:00
Faith Ekstrand
a4f519d72d
nvk: Move populate_fs_key to nvk_shader.c
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27024 >
2024-02-27 22:17:09 +00:00
Faith Ekstrand
045741ac30
nvk/shader: Refactor some helpers
...
This puts them in the form we need for vk_shader.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27024 >
2024-02-27 22:17:09 +00:00
Faith Ekstrand
626f38e25e
nvk: Populate vk_descriptor_set_layout::blake3
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27024 >
2024-02-27 22:17:09 +00:00
Faith Ekstrand
9308e8d90d
vulkan: Add generic graphics and compute VkPipeline implementations
...
These implementations are built on top of vk_shader. For the most part,
the driver shouldn't notice a difference between draws consuming
pipelines vs. draws consuming shaders. The only real difference is
that, when vk_driver_shader_ops::compile() is called for pipelines, a
struct vk_graphics_pipeline_state is provided. For shader objects, the
state object will be NULL indicating that all state is unknown. Besides
that, all the rest of the differences between Vulkan 1.0 pipelines,
VK_EXT_graphics_pipeline_library, and VK_EXT_shader_object are handled
by the Vulkan runtime code.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27024 >
2024-02-27 22:17:09 +00:00
Faith Ekstrand
c488dc9f50
vulkan: Add a BLAKE3 hash to vk_descriptor_set_layout
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27024 >
2024-02-27 22:17:09 +00:00
Faith Ekstrand
682b99a63f
vulkan: Add push constant ranges to vk_pipeline_layout
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27024 >
2024-02-27 22:17:09 +00:00
Faith Ekstrand
e2cb395a1f
vulkan: Add a vk_pipeline base struct
...
We need to be able to thunk through a destroy callback if we want to
have different kinds of pipelines implemented in different parts of the
stack.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27024 >
2024-02-27 22:17:09 +00:00
Faith Ekstrand
5e71e6f3f6
vulkan: Add a new dynamic state for render pass attachments
...
This is useful for implementing VK_EXT_dynamic_rendering_unused_attachments
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27024 >
2024-02-27 22:17:09 +00:00
Faith Ekstrand
6ec177b116
vulkan: Rework vk_render_pass_state::attachments
...
The new bitfield has a separat flag for each of the color attachments.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27024 >
2024-02-27 22:17:09 +00:00
Faith Ekstrand
c09c086c12
vulkan: Add a vk_render_pass_state_has_attachment_info() helper
...
We already have a helper like this internally. Give it a better name
and expose it.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27024 >
2024-02-27 22:17:09 +00:00
Faith Ekstrand
9f62008bff
vulkan: Add runtime code for VK_EXT_shader_object
...
This adds a new base vk_shader object along with vtables for creating,
binding, and working with shader objects.
Unlike other parts of the runtime, the new shader object code is a bit
more sanitized and opinionated than just handing you the Vulkan
entrypoints. For one thing, the create_shaders() calback takes a NIR
shader, not SPIR-V. Conversion of SPIR-V into NIR, handling of magic
meta NIR shaders, etc. is all done in common code. [De]serialization is
done via `struct blob` and the common code does a checksum of the binary
and handles rejecting invalid binaries based on shaderBinaryUUID and
shaderBinaryVersion. This should make life a bit easier for driver
authors as well as provides a bit nicer interface for building the
common pipeline implementation on top of shader objects.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27024 >
2024-02-27 22:17:09 +00:00
Connor Abbott
0d225c9e43
vk/graphics_state: Add stubs required by VK_EXT_shader_objects
...
Because these functions were introduced by VK_EXT_shader_objects, we
technically have to expose them even though they have to do with NV
extensions that no one else supports.
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27024 >
2024-02-27 22:17:09 +00:00
Connor Abbott
657b8e5264
vk/graphics_state: Remove bogus assert in CmdSetSampleMaskEXT
...
We're supposed to just ignore samples above what we support, and there's
no VU matching this assert. Fixes a crash in
dEQP-VK.pipeline.shader_object_unlinked_spirv.extended_dynamic_state.misc.sample_shading_dynamic_sample_count.
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27024 >
2024-02-27 22:17:08 +00:00
Faith Ekstrand
6ad294202e
vulkan: Move the descriptor set limit to vk_limits.h
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27024 >
2024-02-27 22:17:08 +00:00
Faith Ekstrand
498d58a5f8
vulkan: Add a vk_get_subgroup_size() helper
...
No reason to duplicate this logic between pipelines and shader objects.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27024 >
2024-02-27 22:17:08 +00:00
M Henning
af2cea8f84
nak: Remove assert on nir->info.outputs_written
...
nir->info.outputs_written isn't used for fragment shaders except as an
early out a few lines above this, so we don't rely on this property.
My best guess is that this was intended to check if the information
from nir_gather_info is stale, but dead variables fail the assert
even if the info is up to date.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27595 >
2024-02-27 21:58:08 +00:00
David Rosca
82ff9204ab
frontends/va: Only set VP9 segmentation fields when segmentation is enabled
...
Workaround for ffmpeg setting segmentation_update_map to 1 with
segmentation_enabled == 0.
Fixes decoding sample from https://github.com/mpv-player/mpv/issues/13533
Cc: mesa-stable
Reviewed-by: Leo Liu <leo.liu@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27816 >
2024-02-27 20:54:48 +00:00
Ruijing Dong
eb74aa8515
frontends/va: get av1 encoding ref frame infos for L0.
...
Reference frame list is formed by each of the provided
recon_frame, while the assumption here is to use the API
provided by VAAPI interface, when a frame is marked as
"long term reference" by
av1->picture_flags.bits.long_term_reference
Its recon_frame will be kept in DPB marked by its
recon_frame as signature. When a future input requests
refering to it, it can go this way:
1. set av1->ref_frame_ctrl_l0.field.search_idx2 to indicate
which ref_frame_idx slot will be used.
x = av1->ref_frame_ctrl_l0.field.search_idx2;
2. n = av1->ref_frame_idx[x-1];
av1->reference_frames[n] as the signature to compare with.
if av1->reference_frames[n] is pointing to the
same video buffer (signature) as the one marked as
"long term reference". Then the new input is refering to
it only.
3. in SVC case, long terms are used for temproal_id 0 only,
because using long term means potentially scene change
could happen.
4. the "long term reference" recon_frame should be kept,
instead of being reused until it is no longer needed to
avoid signature duplication.
Reviewed-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27771 >
2024-02-27 20:20:46 +00:00
Ruijing Dong
4b92fa9e10
radeonsi/vcn: vcn4 av1 long term ref support
...
Add vcn4 av1 long term reference support.
So that frames can be controlled from application
side to refer to the identified reference, which
usually could provide better coding efficiency in
the case of scene chagne back and forth, just it
needs to identify and mark these frames before
using them.
We assume 2 long term reference frames should be
good in a key frame period, and these long term
references can be overwritten by marking new ones.
Reviewed-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27771 >
2024-02-27 20:20:46 +00:00
Ruijing Dong
5663221bdb
radeonsi/vcn: data structure av1 enc long term reference.
...
Here it borrowed the term "long term reference" to represent
the customized reference frame rather than the default ones used.
To enable that, it needs application to leverage VAAPI existing
interface to mark a frame as "long term reference", and then
it will be preserved in the DPB for later usage. This preserved
frame later could be refered to by having its signature used in
the ref_frame_idx[] list, and the index can be indicated by
RefFrameCtrl index2, which has not been used for other purpose.
Reviewed-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27771 >
2024-02-27 20:20:45 +00:00
Hans-Kristian Arntzen
2d3e7b6e9a
wsi/wl: Fix deadlock in dispatch_queue_timeout.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Fixes: a00f9c401b ("loader/wayland: Add fallback wl_display_dispatch_queue_timeout")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27828 >
2024-02-27 19:09:28 +00:00
Ian Romanick
a2292f53b5
nir: Optimize uniform vote_all and vote_any
...
No shader-db changes on any Intel platform.
fossil-db:
All Ice Lake and newer platforms had similar results. (Ice Lake)
Totals:
Instrs: 165513303 -> 165511820 (-0.00%)
Cycles: 15125314947 -> 15125211500 (-0.00%); split: -0.00%, +0.00%
Totals from 82 (0.01% of 656120) affected shaders:
Instrs: 544627 -> 543144 (-0.27%)
Cycles: 22616493 -> 22513046 (-0.46%); split: -0.46%, +0.00%
No fossil-db changes on Gfx9.
Suggested-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27044 >
2024-02-27 09:44:32 -08:00
Ian Romanick
535caaf3e0
nir: Optimize uniform iadd, fadd, and ixor reduction operations
...
This adds optimizations for iadd, fadd, and ixor with reduce,
inclusive scan, and exclusive scan.
NOTE: The fadd and ixor optimizations had no shader-db or fossil-db
changes on any Intel platform.
NOTE 2: This change "fixes" arb_compute_variable_group_size-local-size
and base-local-size.shader_test on DG2 and MTL. This is just changing
the code path taken to not use whatever path was not working properly
before.
This is a subset of the things optimized by ACO. See also
https://gitlab.freedesktop.org/mesa/mesa/-/issues/3731#note_682802 . The
min, max, iand, and ior exclusive_scan optimizations are not
implemented.
Broadwell on shader-db is not happy. I have not investigated.
v2: Silence some warnings about discarding const.
v3: Rename mbcnt to count_active_invocations. Add a big comment
explaining the differences between the two paths. Suggested by Rhys.
shader-db:
All Gfx9 and newer platforms had similar results. (Ice Lake shown)
total instructions in shared programs: 20300384 -> 20299545 (<.01%)
instructions in affected programs: 19167 -> 18328 (-4.38%)
helped: 35 / HURT: 0
total cycles in shared programs: 842809750 -> 842766381 (<.01%)
cycles in affected programs: 2160249 -> 2116880 (-2.01%)
helped: 33 / HURT: 2
total spills in shared programs: 4632 -> 4626 (-0.13%)
spills in affected programs: 206 -> 200 (-2.91%)
helped: 3 / HURT: 0
total fills in shared programs: 5594 -> 5581 (-0.23%)
fills in affected programs: 664 -> 651 (-1.96%)
helped: 3 / HURT: 1
fossil-db results:
All Intel platforms had similar results. (Ice Lake shown)
Totals:
Instrs: 165551893 -> 165513303 (-0.02%)
Cycles: 15132539132 -> 15125314947 (-0.05%); split: -0.05%, +0.00%
Spill count: 45258 -> 45204 (-0.12%)
Fill count: 74286 -> 74157 (-0.17%)
Scratch Memory Size: 2467840 -> 2451456 (-0.66%)
Totals from 712 (0.11% of 656120) affected shaders:
Instrs: 598931 -> 560341 (-6.44%)
Cycles: 184650167 -> 177425982 (-3.91%); split: -3.95%, +0.04%
Spill count: 983 -> 929 (-5.49%)
Fill count: 2274 -> 2145 (-5.67%)
Scratch Memory Size: 52224 -> 35840 (-31.37%)
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27044 >
2024-02-27 09:44:11 -08:00
Ian Romanick
c63ea755fe
intel/fs: Use nir_opt_uniform_subgroup
...
shader-db:
All Skylake and newer platforms had similar results. (Ice Lake shown)
total instructions in shared programs: 20300435 -> 20300384 (<.01%)
instructions in affected programs: 303 -> 252 (-16.83%)
helped: 2 / HURT: 0
total cycles in shared programs: 842810326 -> 842809750 (<.01%)
cycles in affected programs: 8374 -> 7798 (-6.88%)
helped: 2 / HURT: 0
fossil-db:
All Intel platforms (note below) had similar results. (Ice Lake shown)
Instrs: 165559735 -> 165551893 (-0.00%)
Cycles: 15133083961 -> 15132539132 (-0.00%); split: -0.00%, +0.00%
Spill count: 45262 -> 45258 (-0.01%)
Fill count: 74293 -> 74286 (-0.01%)
Totals from 854 (0.13% of 656120) affected shaders:
Instrs: 3461998 -> 3454156 (-0.23%)
Cycles: 154252729 -> 153707900 (-0.35%); split: -0.36%, +0.01%
Spill count: 2655 -> 2651 (-0.15%)
Fill count: 3881 -> 3874 (-0.18%)
DG2 did not see changes in spills or fills.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27044 >
2024-02-27 08:38:45 -08:00
Ian Romanick
f10d1ef372
nir: Initial framework for optimizing uniform subgroup operations
...
The first commit just optimizes operation where the result of the
subgroup operation is the same as each of the individual channel
results.
This is a subset of the things optimized by ACO. See also
https://gitlab.freedesktop.org/mesa/mesa/-/issues/3731#note_682802 .
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27044 >
2024-02-27 08:38:31 -08:00
Ian Romanick
8fb37ef985
intel/fs: Add fast path for ballot(true)
...
This doesn't help very much now. A later commit adds a NIR optimization
pass, tentatively called nir_opt_uniform_subgroup, that converts many
kinds of subgroup operations to things involving
bitCount(ballot(true)). This commit makes a huge difference in the
results of that later commit.
No shader-db changes on any Intel platform.
Fossil-db results:
All Intel platforms had similar results. (Ice Lake shown)
Totals:
Instrs: 165558033 -> 165557519 (-0.00%)
Cycles: 15156188362 -> 15156178922 (-0.00%); split: -0.00%, +0.00%
Totals from 299 (0.05% of 656117) affected shaders:
Instrs: 88293 -> 87779 (-0.58%)
Cycles: 3709498 -> 3700058 (-0.25%); split: -0.28%, +0.03%
v2: Rebase on splitting ELK from BRW. Remove devinfo->ver >= 8 check.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27044 >
2024-02-27 08:37:46 -08:00
Ian Romanick
c42830c64a
intel/fs: Use constant of same type to write flag
...
Otherwise the compiler generates an extra MOV to load the constant into
a register first because reasons. 🤷 vote_any, vote_all, vote_ieq,
and vote_feq handling already do this.
No shader-db changes on any Intel plaform.
Fossil-db results:
All Intel platforms had similar results. (Ice Lake shown)
Totals:
Instrs: 165592451 -> 165557937 (-0.02%)
Cycles: 15133282615 -> 15133059360 (-0.00%); split: -0.00%, +0.00%
Totals from 33779 (5.15% of 656115) affected shaders:
Instrs: 4396576 -> 4362062 (-0.79%)
Cycles: 86867412 -> 86644157 (-0.26%); split: -0.37%, +0.11%
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27044 >
2024-02-27 08:37:15 -08:00
Ian Romanick
b22fff90d5
intel/fs: Enable nir_opt_uniform_atomics in all shader stages
...
The problem seems to have been related to
nir_intrinsic_load_global_block_intel being marked as non-divergent.
No shader-db or fossil-db changes on any Intel platform.
v2: Rebase on splitting ELK from BRW. Remove devinfo->ver >= 8 check.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27044 >
2024-02-27 08:37:05 -08:00
Ian Romanick
75de4458a1
nir: Mark nir_intrinsic_load_global_block_intel as divergent
...
This is divergent because it specifically loads sequential values into
successive SIMD lanes.
No shader-db or fossil-db changes on any Intel platform.
Fixes: 9f44a26462 ("nir/divergence: handle load_global_block_intel")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27044 >
2024-02-27 08:36:42 -08:00
Ian Romanick
56a3f031f4
intel/fs: Delete stale comment in nir_intrinsic_ballot implementation
...
Discard actually uses f1.x, so this implementation of ballot is fine.
Trivial.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27044 >
2024-02-27 08:36:34 -08:00
Ian Romanick
5da5106727
nir: Add documentation for subgroup_.._mask
...
v2: Fix reference to GL_ARB_shader_ballot. Noticed by Lionel.
Suggested-by: Lionel
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27044 >
2024-02-27 08:36:09 -08:00
Samuel Pitoiset
727170fee0
radv/ci: enable RADV_PERFTEST=shader_object for vkcts-tahiti-valve
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27812 >
2024-02-27 14:28:54 +00:00
Martin Roukala (né Peres)
83efcd6a72
radv/ci: add a vkcts-tahiti job
...
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27812 >
2024-02-27 14:28:54 +00:00
Sebastian Wick
0fe7e06f5f
vulkan/wsi/wayland: Use dispatch_queue_timeout in acquire_next_image
...
Signed-off-by: Sebastian Wick <sebastian.wick@redhat.com >
Reviewed-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27511 >
2024-02-27 13:10:13 +00:00
Sebastian Wick
a00f9c401b
loader/wayland: Add fallback wl_display_dispatch_queue_timeout
...
This is almost a 1:1 copy of the same function in libwayland. If the version
with the symbol propagates far enough the fallback can be removed again.
Signed-off-by: Sebastian Wick <sebastian.wick@redhat.com >
Reviewed-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27511 >
2024-02-27 13:10:13 +00:00
Sebastian Wick
df801bec1e
util: Add timespec_sub_saturate to avoid negative time for deadlines
...
Signed-off-by: Sebastian Wick <sebastian.wick@redhat.com >
Reviewed-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27511 >
2024-02-27 13:10:13 +00:00
Connor Abbott
a80a23dc49
tu: Enable UBWC for storage images on a7xx
...
I'm not sure exactly when this was introduced. It doesn't work on a650,
but does work on a7xx, I'm not sure whether it works on the a660
generation.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27506 >
2024-02-27 07:34:15 -05:00
Connor Abbott
b9e04f8293
tu: Enable UBWC for SNORM formats on a740+
...
The fast-clear value is now the same for SNORM and UNORM, so our trick
of reinterpreting SNORM as UNORM when copying now works with UBWC. We
can also freely reinterpret UNORM, SNORM, and UINT formats, as tested by
dEQP-VK.image.mutable.*.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27506 >
2024-02-27 07:33:59 -05:00
Connor Abbott
4529b2ea54
tu: Reenable MSAA UBWC on a6xx gen1
...
This passes a full CTS run now, probably due to other fixes in the
meantime.
Closes : #7438
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27506 >
2024-02-27 07:17:29 -05:00
Daniel Stone
dcbf61f5df
egl/dri: Use pipe_format instead of DRI_IMAGE_FORMAT
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:03 +00:00
Daniel Stone
68eaf820e1
st/dri: Use pipe_format from config directly
...
The driver already stores the pipe_format within the mode, so we can
just reuse that rather than trying to re-derive it back from a hardcoded
set of masks.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:03 +00:00
Daniel Stone
832d814852
egl: Remove shifts/sizes from dri2_add_config argument
...
All the callers now do their own filtering on driver configs to decide
whether or not to add them.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:03 +00:00
Daniel Stone
e66305d681
egl/x11: Compare config shifts/sizes locally
...
Rather than getting the egl_dri2 core to compare our shift/size arrays,
do it in the caller, as X11 is the only caller that constructs configs
like this.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:03 +00:00
Daniel Stone
273e54391a
egl/android: Remove hard-coded color-channel data
...
We don't need to write out tables of the shift/size of every colour
channel, because we already have that as part of the format description
if we use pipe_format.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:03 +00:00
Daniel Stone
d8d153d4c2
gbm: Remove hardcoded color-channel data
...
We don't need to write out the shifts and sizes everywhere; we already
have them as part of the format description.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:03 +00:00
Daniel Stone
a10f10c4ce
gbm/dri: Query DRIImage for FourCC directly
...
No need to go through the DRIImage format query when we can just get the
FourCC directly.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:03 +00:00
Daniel Stone
6b04b64a21
egl: Use pipe_format for pbuffer configs
...
There's no need to pass shifts and masks now; we can just take a list of
pbuffer configs to add.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:03 +00:00
Daniel Stone
630fda2492
egl: Automatically set EGLConfig ID
...
There's no reason to make the users go through and count all their
configs; just set it ourselves in the core.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:03 +00:00
Daniel Stone
487016796b
egl/{surfaceless,device}: Remove check for EGLConfig presence
...
We now check in the EGL core that we actually have some configs for the
display, so no need to do it in the platform.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:03 +00:00
Daniel Stone
e12a55c979
egl/android: Remove check for EGLConfig presence
...
We now check in the EGL core that we actually have some configs for the
display, so no need to do it in the platform.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:03 +00:00
Daniel Stone
ac304d0393
egl/x11: Remove check for EGLConfig presence
...
We now check in the EGL core that we actually have some configs for the
display, so no need to do it in the platform.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:03 +00:00
Daniel Stone
6770921918
egl/gbm: Remove check for EGLConfig presence
...
We now check in the EGL core that we actually have some configs for the
display, so no need to do it in the platform.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:03 +00:00
Daniel Stone
bf7ebe6ff8
egl/wayland: Remove check for EGLConfig presence
...
We now check in the EGL core that we actually have some configs for the
display, so no need to do it in the platform.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:03 +00:00
Daniel Stone
cbb6f62135
egl: Fail display creation if no EGLConfigs created
...
If we failed to create any EGLConfigs, throw an error and refuse to
create the display. This lets us eliminate a bunch of copy-and-wasted
code throughout the drivers.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:03 +00:00
Daniel Stone
97c435c926
egl/wayland: Remove shift/size masks
...
We don't need these anymore.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:03 +00:00
Daniel Stone
7889c9dc92
egl/wayland: Use pipe_format for format names
...
We don't need to carry our own strings.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:03 +00:00
Daniel Stone
84bb6d0e0a
egl/wayland: Remove WL_SHM_* format listings
...
We don't need to type all of these out, because they're exactly the same
as the DRM ones, with the exception of ARGB8888 and XRGB8888 which carry
their own format codes.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:03 +00:00
Daniel Stone
5ac70182e8
egl/wayland: Simplify alternate-format fallback for configs
...
Rather than doing everything to add the config twice, we can simply
reuse the helpers to check if the different formats are supported, then
add the config only once.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:03 +00:00
Daniel Stone
ee04cc5d2b
egl/wayland: Eliminate double loop for configs
...
We used to loop like this:
foreach (config_supported_by_driver) {
foreach (config_wl_knows_about) {
dri2_add_config(wl_config.rgba_masks, wl_config.rgba_shifts)) {
if (wl_config.rgba_masks != driver_config.rgba_masks ||
wl_config.rgba_shifts != driver_config.rgba_shifts) {
return NULL; /* driver config != wl config */
}
}
}
}
This is a pretty painful way to discover the relationship between the
different sets of configs, especially as we can just look up our Wayland
visual entry directly.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:03 +00:00
Daniel Stone
f63e676370
egl/wayland: Use helper to look up visual
...
No functional change.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:03 +00:00
Daniel Stone
ebdf9ad85c
egl/wayland: Add helper to check server format support
...
Often when we look up a dri2_wl_visual, the only thing we want to do
with it is check whether or not the server supports it. Add a helper for
this common pattern.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:03 +00:00
Daniel Stone
a34d3c290e
egl/wayland: Use FourCC to look up wl_buffer support
...
No point in using a DRI_IMAGE_FORMAT, since we'll need to get a FourCC
for dmabuf/wl_drm support anyway.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:03 +00:00
Daniel Stone
6a084e2b08
egl/wayland: Use pipe_format to look up configs
...
Instead of using the sizes and shifts to look up a dri2_wl_visual from a
config, just use the pipe_format we stash in the config.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:03 +00:00
Daniel Stone
9ea9a963aa
egl/wayland: Fix EGL_EXT_present_opaque
...
This extension has been broken ever since the initial commit. It created
an XRGB DRIImage for the driver to render to, so whilst the presentation
was opaque, the buffer also completely lacked an alpha channel.
Fix it by making sure we only modify the FourCC we send to the Wayland
server when creating a buffer.
Closes : mesa/mesa#5886
Fixes: 9aee7855d2 ("egl: implement EGL_EXT_present_opaque on wayland")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:03 +00:00
Daniel Stone
c74f480391
egl/wayland: Add opaque-equivalent FourCCs
...
Add a mapping for the opaque version of an alphaful format (e.g.
ARGB8888 -> XRGB8888) to better support EGL_EXT_present_opaque.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:03 +00:00
Daniel Stone
084fea1e7d
egl/wayland: s/DRI_IMAGE_FORMAT/pipe_format/g
...
All the DRI_IMAGE_FORMATs we use are now pipe_formats, so eliminate the
old type names.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:03 +00:00
Daniel Stone
ba3b867552
egl/wayland: Query image FourCC for linear copies
...
This entire pattern really wants to be a shared helper, to allocate a
shadow linear image from another device and then import it across into
the rendering GPU. Querying the FourCC from the DRIImage makes it easier
to pull out into shared code.
This temporarily makes the implementation more ugly, however it's
already pretty hard on the eyes, so probably no great loss.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:03 +00:00
Daniel Stone
57c3343c2d
dri/kopper: Flatten pipe_format/DRIImage/FourCC conversion
...
No need to go through DRI_IMAGE_FORMAT_* tokens; we can just directly
convert from pipe_format to FourCC.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:03 +00:00
Daniel Stone
3c46252570
dri/kopper: Reorder format tables
...
Just make it more obvious that they're identical.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:03 +00:00
Daniel Stone
d60415bad5
dri/kopper: Add translations for sRGB formats
...
There was DRI_IMAGE_FORMAT -> FourCC format translation, but this was
unreachable as we only ever called image_format_to_fourcc() on the
result of get_dri_format().
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:03 +00:00
Daniel Stone
ca0f94c805
dri/kopper: Move format -> FourCC translation up a level
...
There's no reason to use DRIImage formats here, given that it's only
ever used to immediately convert to a FourCC.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:03 +00:00
Daniel Stone
a8cb490193
st/dri: Reuse stored texture format
...
When we create a texture, we allocate a pipe_resource for it with a
given format. When we export the texture to an EGLImage, we go look
up what the GL format was and try to re-derive the pipe_format back
again.
Instead of doing that, just immediately reuse the pipe_format for the
image's format.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:03 +00:00
Daniel Stone
858ad38f8b
st/dri: Reuse stored renderbuffer format
...
When we create a renderbuffer, we allocate a pipe_resource for it with a
given format. When we export the renderbuffer to an EGLImage, we go look
up what the GL format was and try to re-derive the pipe_format back
again.
Instead of doing that, just immediately reuse the pipe_format for the
image's format.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:03 +00:00
Daniel Stone
303b935dbd
egl/wayland: Remove format-query fallback
...
The DRI2 frontend should always be responsible for answering a FourCC
query, so just remove one use of DRI formats here.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:03 +00:00
Daniel Stone
216d4613c3
st/dri: Store pipe_format in gl_config
...
When the DRI frontend generates configs to pass to the APIs, store the
pipe_format in the internal gl_config structure. Doing this allows us to
nuke a few places where we try to retcon our way back from the config to
a pipe_format.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:03 +00:00
Daniel Stone
ad0edea53a
st/dri: Check format properties from format helpers
...
When populating DRI configs, driconf allows us to exclude
10bpc/RGBA/float configs. Rather than having a hardcoded set of formats
which satisfy those properties, just check the actual format
definitions.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:03 +00:00
Daniel Stone
4025845137
st/dri: Use pipe_format for Z/S modes
...
Rather than just passing down the depth/stencil bits, pass the
pipe_format for the depth/stencil modes down to driCreateConfigs so we
retain the explicit information as long as possible.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:03 +00:00
Daniel Stone
69d64812e2
st/dri: Rework depth/stencil format selection
...
When we're building configs, be a bit more explicit about which format
we're using, as a prelude to passing the formats down explicitly to
driCreateConfigs.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:03 +00:00
Daniel Stone
4816cdd204
st/dri: Add transient HAS_ZS() helper
...
Just saves a load of redundant typing.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:03 +00:00
Daniel Stone
e018c91384
st/dri: Completely remove mesa_format from config setup
...
We don't need to have mesa_format here at all, we can just work entirely
on pipe_format.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:03 +00:00
Daniel Stone
4515bcf5af
st/dri: Remove format tables from driCreateConfigs
...
Just get all the information we need from u_format, rather than keeping
it in hand-written tables.
If you have bisected any kind of failure to this commit, please build
the previous commit in debug mode (so that assertions are enabled) and
check if there are any runtime failures. If so, there is a difference
between the u_format descriptions and the handwritten descriptions that
this commit deletes.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:03 +00:00
Daniel Stone
d3ed00f38a
util: Add util_format_get_component_shift
...
Similar to util_format_get_component_bits, get the bit offset for a
particular channel in a given format.
Use this to calculate the shift/mask sets for formats when creating DRI
configs, as a prelude to ripping out and replacing the hardcoded table.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:03 +00:00
Daniel Stone
b3d419ad24
st/dri2: Use u_format to get config format information
...
Now that we have both the pipe_format and the mesa_format available to
us, prefer the former so we don't need to map between the two worlds.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:02 +00:00
Daniel Stone
87955b67ae
st/dri2: Pass pipe_format to driCreateConfigs
...
Gently start removing some of the open-coded format work here.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:02 +00:00
Daniel Stone
5cdfc9a811
st/dri2: Remove __DRI_IMAGE_FORMAT conversion
...
It's now just a PIPE_FORMAT, so we can use that.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:02 +00:00
Daniel Stone
7e10601786
dri: Redeclare __DRI_IMAGE_FORMAT_* as PIPE_FORMAT_*
...
These aren't used by any external DRI callers, so unexport them and
redeclare them in terms of PIPE_FORMAT_*, so we can flatten them down
later.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:02 +00:00
Daniel Stone
e9891f9cf1
st/dri: Use correct pipe_resource for GL texture image export
...
When we're binding a GL texture to an EGLImage, we have to be sure to
check the right resource. A GL texture resource can contain multiple
pipe_resources on different levels; so once we get the texture object,
we have to chase that down to a texture image before we use the
pipe_resource.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709 >
2024-02-27 10:51:02 +00:00
Juan A. Suarez Romero
5d71eb60f3
v3dv/ci: remove crashes from expected list
...
These are now fixed.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27813 >
2024-02-27 10:07:17 +01:00
Samuel Pitoiset
450b375b69
radv: disable VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 with minmax filter on GFX6
...
This doesn't seem supported and introduced regressions on
Pitcairn/Tahiti, but it seems fine on Bonaire (GFX7).
Fixes: 926d9f1cef ("radv: support minmax filter for more formats")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27760 >
2024-02-27 09:23:53 +01:00
Tapani Pälli
1b1afd7b24
iris: make sure DS and TE are sent in pairs on >= gfx125
...
We have couple of dynamic fields used on >= gfx125, ScratchSpaceBuffer
and TessellationDistributionMode. There are also 2 workarounds dealing
with TessellationDistributionMode. These changes make sure that we
always emit both DS and TE together when the dynamic fields need to be
changed.
This fixes KHR-Single-GL46.arrays_of_arrays_gl.AtomicUsage on MTL.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10636
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27753 >
2024-02-27 06:48:45 +00:00
Dave Airlie
d103b76ad6
radv/video: add VK_KHR_video_decode_av1 support.
...
This adds support for AV1 decode to radv, there are likely some
cleanups necessary.
Co-author: Charlie Turner <cturner@igalia.com >
(I wrote the initial mesa extension, and Charlie ported it to
the KHR extension and kept it up to date and fixed CTS things)
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27424 >
2024-02-27 15:03:54 +10:00
Dave Airlie
7c0e0b7462
radv/video: use proper struct sizes for decoder structs.
...
This just cleans it up before av1 lands.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27424 >
2024-02-27 15:00:52 +10:00
Dave Airlie
0466453d31
radv: rename it_ptr to it_probs_ptr in advance of adding av1
...
This is just a rename, just to make the name more meaningful.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27424 >
2024-02-27 15:00:39 +10:00
Dave Airlie
d599391ac9
radv/video: use vcn ip version in more places.
...
This parallels changes made to the radeonsi code, but since we have uvd
in here as well we still use family in some places.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27424 >
2024-02-27 14:59:42 +10:00
Dave Airlie
03f18be607
radv/video: fix filling out decode operations.
...
This just makes it consistent with the extension.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27424 >
2024-02-27 14:59:42 +10:00
Yiwei Zhang
e9290ec0bb
venus: fix to ensure sfb cmds can get recycled
...
The prior refactor has missed a case that timeline sempahore can be
ping-pong'ed between device signal and host wait.
Fixes: d63432012d ("venus: refactor semaphore feedback")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reported-by: Juston Li <justonli@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27807 >
2024-02-27 03:05:32 +00:00
José Roberto de Souza
90e38bbb3b
intel/tools/error_decode: Parse Xe KMD error dump file
...
There is more to do but this is able to parse batch buffers, including
fetch and parse other bos like shader programs.
Some functions used by read_i915_data_file() could be shared with Xe
so I have moved those to aubinator_error_decode_lib.c/h.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27661 >
2024-02-27 01:04:16 +00:00
José Roberto de Souza
7e88176b0b
intel/tools/error_decode: Move code that can be shared between i915 and Xe error decoders
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27661 >
2024-02-27 01:04:16 +00:00
José Roberto de Souza
6f9a5f4811
iris/xe: Add VMs to error dump
...
To ask Xe KMD to dump BO/VMA content to error state it is necessary to
set DRM_XE_VM_BIND_FLAG_DUMPABLE during VM bind, so places that were
setting 'bo.real.capture = true' after the VM bind were useless for
Xe KMD.
To fix that BO_ALLOC_CAPTURE was added, alloc_fresh_bo() will set
'bo.real.capture = true' automaticacly for new bos before vm bind.
alloc_bo_from_cache() also required to check if capture states matches
between asked bo and bo in cache.
Only slabs might be left out of error dump if DEBUG_CAPTURE_ALL is not
set but that was already happening for i915.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27661 >
2024-02-27 01:04:15 +00:00
José Roberto de Souza
c26663eede
anv/xe: Add VMs to error dump
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27661 >
2024-02-27 01:04:15 +00:00
José Roberto de Souza
d40c48cac1
intel: Sync xe_drm.h
...
Syncs xe_drm.h with b2121f2bd223 ("drm/xe: Extend uAPI to query HuC micro-controler firmware version").
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27661 >
2024-02-27 01:04:15 +00:00
Sagar Ghuge
5e800ab6f7
anv: Implement VK_AMD_texture_gather_bias_lod
...
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27447 >
2024-02-27 00:22:46 +00:00
Sagar Ghuge
269d2c4a3f
intel/compiler: Enable packing of offset with LOD or Bias
...
Move intel_nir_lower_texture just before nir_lower_tex since we need to
operate on the offset and those are getting lowerd.
v2: (Ian)
- Rename variable name to intel_tex_options
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27447 >
2024-02-27 00:22:46 +00:00
Sagar Ghuge
30ead72e80
nir: Allow nir_texop_tg4 in implicit derivative
...
This allow us to invoke the quad helper.
v2: (Georg)
- Add check for is_gather_implicit_lod
Fixes: 48158636bf ("nir: add is_gather_implicit_lod")
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27447 >
2024-02-27 00:22:46 +00:00
Sagar Ghuge
6f0ab5e4d5
intel/compiler: Add texture gather offset LOD/Bias message support
...
v2: (Ian)
- Space formatting on conditional statement
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27447 >
2024-02-27 00:22:46 +00:00
Sagar Ghuge
79af0ac29a
intel/compiler: Add gather4_i/l/[_c]/b sampler message
...
v2: (Ian)
- Format comment
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27447 >
2024-02-27 00:22:46 +00:00
Sagar Ghuge
3c7f1feebf
intel/compiler: Add helper method to decide if header is required
...
v2: (Ian)
- Return immediately from the switch case
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27447 >
2024-02-27 00:22:46 +00:00
Sagar Ghuge
2ea041e04a
intel/compiler: Pack texture LOD and offset to a single 32-bit value
...
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27447 >
2024-02-27 00:22:46 +00:00
Sagar Ghuge
9b37b3ba73
intel/compiler: Pack LOD/bias and array index on TG4 messages
...
Bspec: 56996
Programming note:
When doing cube arrays on gather4_l and gather4_b with SIMD16 or
SIMD32 the AI parameters is combined with the LOD/bias parameter on
the 9 LSBs.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27447 >
2024-02-27 00:22:46 +00:00
Sagar Ghuge
b34b2bdff3
intel/compiler: Adjust sample_b parameter according to new layout
...
On Xe2+, we need to pack LOD with array index for cube array surfaces,
with that mlod parameter gets adjusted to different indices based on the
layout.
So track if we are packing LOD with array index in fs_inst and propogate
that to sampler lowering code to adjust param location.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27447 >
2024-02-27 00:22:46 +00:00
Sagar Ghuge
d4ce848476
intel/compiler: Trim vector properly till array index
...
This fixes the off-by one mistake, we want to trim the vector till the
array index not till the coordinates last component.
v2: (Ian)
- Use tex->coord_component - 1 in nir_trim_vector
Fixes: 73a3257968 ("intel/compiler: Add texture operation lowering pass")
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27447 >
2024-02-27 00:22:46 +00:00
Connor Abbott
db0291c235
tu: Follow pipeline compatibility rules for dynamic descriptors
...
When we bind a descriptor set with dynamic descriptors, we can't ignore
dynamic descriptors in previously-bound higher descriptor sets. For
example, assume we have descriptor sets A and B, each of which has one
dynamic storage buffer, and we do:
CmdBindDescriptorSets(firstSet=1, descriptorSetCount=1, A)
CmdBindDescriptorSets(firstSet=0, descriptorSetCount=1, B)
and in the first CmdBindDescriptorSets the pipeline layout includes a
descriptor set layout compatible with B in set 0. Then, following
"Pipeline Layout Compatibility," set 0 is disturbed:
When binding a descriptor set to set number N, a previously bound
descriptor set bound with lower index M than N is disturbed if the
pipeline layouts for set M and N are not compatible for set M.
Otherwise, the bound descriptor set in M is not disturbed
When it's disturbed, it's effectively turned into a set with 1 undefined
dynamic storage buffer:
When a descriptor set is disturbed by binding descriptor sets, the
disturbed set is considered to contain undefined descriptors bound
with the same pipeline layout as the disturbing descriptor set.
This disturbed set is compatible with B, so in the second
CmdBindDescriptorSets this clause doesn't apply:
If, additionally, the previously bound descriptor set for set N was
bound using a pipeline layout not compatible for set N, then all
bindings in sets numbered greater than N are disturbed.
and A remains valid to access. The code before 88db7364 worked only if
the pipeline layout when binding B contained a descriptor layout
compatible with A in set 1, because it used the pipeline layout's total
size when allocating the internal dynamic descriptors array, but that
isn't actually a requirement, so the previous code was already broken.
After 88db7364 we only allocate as much space as required by the current
descriptors being bound, because I misread the rules here, which made it
more broken and broke 3DMark Wildlife Extreme that does something like
this.
In order to properly fix this we need to keep track of the maximum ever
seen dynamic descriptor size, similar to what we already do for
descriptor sets, and use that. We have no idea what needs to be
preserved when binding a descriptor set with dynamic descriptors, so we
have to be conservative.
Fixes: 88db7364 ("tu: Rework dynamic offset handling")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27750 >
2024-02-26 23:52:41 +00:00
Yiwei Zhang
8c86690072
venus: add vn_set_temp_cmd helper to initialize feedback batch cmd
...
This way the feedback cmd info init for sync2 is done once at one place.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27758 >
2024-02-26 21:54:36 +00:00
Yiwei Zhang
d63432012d
venus: refactor semaphore feedback
...
1. move feedback helpers into vn_feedback
2. rename related structs, helpers, etc
3. only recycle wait semaphores is enough for the submission. Later we
can further optimize to only recycle each timeline sempahore once
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27758 >
2024-02-26 21:54:36 +00:00
Yiwei Zhang
3c166710f6
venus: simplify to drop the struct vn_feedback_cmds accessor
...
We can add the accessor to vn_queue_submission and bump the offset in
the temp cmds directly upon batch setup.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27758 >
2024-02-26 21:54:36 +00:00
Yiwei Zhang
fa8c7dcb5a
venus: refactor to add vn_queue_submission_setup_batch
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27758 >
2024-02-26 21:54:36 +00:00
Yiwei Zhang
72fd719698
venus: massive feedback renamings for consistency and clarity
...
No behavior change, and below is the summary:
1. simplify to drop _timeline_ from semaphore feedback naming
2. update feedback structs to use obj_handle naming
3. for vn_feedback_cmd_pool, use fb_cmd_pool variable naming
4. for vn_feedback_buffer, use fb_buf variable naming
5. for query_feedback_cmd, use qfb_cmd variable naming (already use ffb)
6. s/submit_batches2/submit2_batches/
7. s/cmd_buffer_count/cmd_count/
8. use total_cmd_size instead of cmd_buffer_size if applicable
9. update vn_queue_submission's feedback_cmd_count to cmd_count
10. update setup time local feedback_cmd_count to extra_cmd_count
11. update feedback_event_cmd to event_feedback_cmd
12. other trivial renames
Most semaphore and query feedback cmd renamings are deferred to later
commits.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27758 >
2024-02-26 21:54:36 +00:00
Caio Oliveira
e3dc608db9
intel/brw: Move workarounds to a separate file
...
All the workarounds are relatively small, so keep them in a single file.
Promote (or add) them to a separate file if they get large -- like it is
done for opt and lower.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26887 >
2024-02-26 20:54:25 +00:00
Caio Oliveira
c25803880e
intel/brw: Move lower_simd_width to its own file
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26887 >
2024-02-26 20:54:25 +00:00
Caio Oliveira
c989ad09f1
intel/brw: Expose flag_mask/bit_mask fs helpers
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26887 >
2024-02-26 20:54:25 +00:00
Caio Oliveira
404630ad2e
intel/brw: Move lower_integer_multiplication to its own file
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26887 >
2024-02-26 20:54:25 +00:00
Caio Oliveira
4fe3498e72
intel/brw: Move small lowering passes into brw_fs_lower.cpp
...
Larger lowering passes will go to their own files.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26887 >
2024-02-26 20:54:25 +00:00
Caio Oliveira
bbffe124fc
intel/brw: Move fs algebraic to its own file
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26887 >
2024-02-26 20:54:25 +00:00
Caio Oliveira
df013738db
intel/brw: Move virtual GRF opts into their own file
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26887 >
2024-02-26 20:54:25 +00:00
Caio Oliveira
f3b7f4726a
intel/brw: Move optimize and small optimizations to brw_fs_opt.cpp
...
Remaining optimizations in brw_fs.cpp will get their own files.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26887 >
2024-02-26 20:54:25 +00:00
Caio Oliveira
7451c0f5d6
intel/brw: Pull optimize() out of fs_visitor
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26887 >
2024-02-26 20:54:25 +00:00
Caio Oliveira
254312b9dd
intel/brw: Pull lower_scoreboard out of fs_visitor
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26887 >
2024-02-26 20:54:25 +00:00
Caio Oliveira
5a5a242210
intel/brw: Pull emit_dummy_mov_instruction out of fs_visitor
...
Remove references to the workaround number from the callsites. Instead
the function has "workaround" as part of the name and the number is
in its definition. Return bool for consistency with other passes.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26887 >
2024-02-26 20:54:25 +00:00
Caio Oliveira
755d6e8c44
intel/brw: Pull emit_dummy_memory_fence_before_eot out of fs_visitor
...
Rename to workaround_memory_fence_before_eot and return the already
present progress value for consistency.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26887 >
2024-02-26 20:54:25 +00:00
Caio Oliveira
a7e0eec62b
intel/brw: Pull fixup_3src_null_dest out of fs_visitor
...
Rename fixup to lower and return the already present
progress value for consistency.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26887 >
2024-02-26 20:54:25 +00:00
Caio Oliveira
a073116091
intel/brw: Simplify OPT macro usage in fs_visitor::optimize
...
All passes now take `*this`, so change the macro to implicitly pass it.
The `##__VA_ARGS__` makes it work when there's no extra arguments
(will make the comma disappear), same approach is taken by NIR_PASS.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26887 >
2024-02-26 20:54:25 +00:00
Caio Oliveira
de6a798577
intel/brw: Use references for a couple of backend_shader passes
...
This will allow simplify the OPT macro for fs_visitor::optimize().
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26887 >
2024-02-26 20:54:25 +00:00
Caio Oliveira
19b28ee44a
intel/brw: Pull lower_load_payload out of fs_visitor
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26887 >
2024-02-26 20:54:25 +00:00
Caio Oliveira
7397d3c950
intel/brw: Pull lower_find_live_channel out of fs_visitor
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26887 >
2024-02-26 20:54:25 +00:00
Caio Oliveira
619888e077
intel/brw: Pull lower_uniform_pull_constant_loads out of fs_visitor
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26887 >
2024-02-26 20:54:25 +00:00
Caio Oliveira
6b00719513
intel/brw: Pull fixup_sends_duplicate_payload out of fs_visitor
...
Rename it to lower_sends_overlapping_payload.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26887 >
2024-02-26 20:54:25 +00:00
Caio Oliveira
06272d4883
intel/brw: Pull lower_regioning out of fs_visitor
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26887 >
2024-02-26 20:54:25 +00:00
Caio Oliveira
89866b6259
intel/brw: Pull lower_derivatives out of fs_visitor
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26887 >
2024-02-26 20:54:25 +00:00
Caio Oliveira
7b7da31c45
intel/brw: Pull lower_sub_sat out of fs_visitor
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26887 >
2024-02-26 20:54:25 +00:00
Caio Oliveira
058b723d14
intel/brw: Pull lower_integer_multiplication out of fs_visitor
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26887 >
2024-02-26 20:54:25 +00:00
Caio Oliveira
e8dd8b461e
intel/brw: Pull fixup_nomask_control_flow out of fs_visitor
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26887 >
2024-02-26 20:54:25 +00:00
Caio Oliveira
1bdfa5230f
intel/brw: Pull lower_logical_sends out of fs_visitor
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26887 >
2024-02-26 20:54:25 +00:00
Caio Oliveira
422b4bead6
intel/brw: Pull lower_barycentrics out of fs_visitor
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26887 >
2024-02-26 20:54:25 +00:00
Caio Oliveira
af2b3c478c
intel/brw: Pull lower_simd_width out of fs_visitor
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26887 >
2024-02-26 20:54:25 +00:00
Caio Oliveira
14954cbd58
intel/brw: Pull lower_pack out of fs_visitor
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26887 >
2024-02-26 20:54:25 +00:00
Caio Oliveira
f6b82b0270
intel/brw: Pull lower_constant_loads out of fs_visitor
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26887 >
2024-02-26 20:54:25 +00:00
Caio Oliveira
a1c35563ae
intel/brw: Pull register_coalesce out of fs_visitor
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26887 >
2024-02-26 20:54:25 +00:00
Caio Oliveira
ce10130f09
intel/brw: Pull remove_extra_rounding_modes out of fs_visitor
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26887 >
2024-02-26 20:54:25 +00:00
Caio Oliveira
73fe658456
intel/brw: Pull eliminate_find_live_channel out of fs_visitor
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26887 >
2024-02-26 20:54:25 +00:00
Caio Oliveira
4f314f89f7
intel/brw: Pull opt_zero_samples out of fs_visitor
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26887 >
2024-02-26 20:54:25 +00:00
Caio Oliveira
838d6d5cd2
intel/brw: Pull opt_split_sends out of fs_visitor
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26887 >
2024-02-26 20:54:25 +00:00
Caio Oliveira
8dcbdc8fac
intel/brw: Pull split/compact virtual_grf opts out of fs_visitor
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26887 >
2024-02-26 20:54:25 +00:00
Caio Oliveira
1947a38680
intel/brw: Pull opt_algebraic out of fs_visitor
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26887 >
2024-02-26 20:54:25 +00:00
Caio Oliveira
d849c2ecff
intel/brw: Pull redundant_halt out of fs_visitor
...
And call it "remove redundant halts".
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26887 >
2024-02-26 20:54:25 +00:00
Caio Oliveira
96c4aa8545
intel/brw: Pull peephole_sel out of fs_visitor
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26887 >
2024-02-26 20:54:25 +00:00
Caio Oliveira
10489b418c
intel/brw: Pull bank_conflicts out of fs_visitor
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26887 >
2024-02-26 20:54:25 +00:00
Caio Oliveira
13c312431c
intel/brw: Pull opt_cse out of fs_visitor
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26887 >
2024-02-26 20:54:25 +00:00
Caio Oliveira
4f09ad9dee
intel/brw: Pull opt_combine_constants out of fs_visitor
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26887 >
2024-02-26 20:54:24 +00:00
Caio Oliveira
59bff8adf4
intel/brw: Pull dead_code_eliminate out of fs_visitor
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26887 >
2024-02-26 20:54:24 +00:00
Caio Oliveira
1bd175f458
intel/brw: Pull opt_saturate_propagation out of fs_visitor
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26887 >
2024-02-26 20:54:24 +00:00
Caio Oliveira
dc33a8fb06
intel/brw: Pull opt_cmod_propagation out of fs_visitor
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26887 >
2024-02-26 20:54:24 +00:00
Caio Oliveira
6a3329a6c4
intel/brw: Pull opt_copy_propagation out of fs_visitor
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26887 >
2024-02-26 20:54:24 +00:00
Caio Oliveira
0b73d163d4
intel/brw: Remove Gfx8- passes from optimize()
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26887 >
2024-02-26 20:54:24 +00:00
Tapani Pälli
1a4f220c29
intel/blorp: disable use of REP16 independent of format
...
Previously we were optimistic and tied this to certain format but wa
description lists other formats and bspec clearly disallows the usage.
Issue can be seen with different 16bpp tests, effect looks a bit like
dithering pattern but it is not, it is just rep16 failing.
Fixes:
GTF-GL46.gtf42.GL3Tests.texture_storage.texture_storage_texture_as_framebuffer_attachment
on DG2 and MTL, some 565 EGL tests on Android and internal issue on game
that displays a dither like pattern on the background while it's not
supposed to do that.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10646
Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27794 >
2024-02-26 19:30:31 +00:00
Eric R. Smith
1adb2e9e95
panfrost: support multi-sampled image load/store
...
On panfrost we can treat 2DMS image access like 3D access.
Use a lowering pass to do this to implement 2DMS image
load/store.
Signed-off-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27626 >
2024-02-26 19:01:32 +00:00
Eric R. Smith
c9831a4d34
panfrost: add lowering pass for multisampled images
...
Panfrost generally treats 2D multisampled images like 3D images,
with the R coordinate holding the sample index. This commit adds
a lowering pass to convert 2DMS images to 3D for the compiler. It
is not actually invoked yet.
Signed-off-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27626 >
2024-02-26 19:01:32 +00:00
Pierre-Eric Pelloux-Prayer
a8a4bcec36
wsi/wl: check wsi_wl_surface's validity before use
...
Fixes: 9a00a360ad ("wsi/wl: flush connection on swapchain failure")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27767 >
2024-02-26 16:56:27 +00:00
Faith Ekstrand
8ab337047c
nvk: Advertise VK_KHR_maintenance5
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9616
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27795 >
2024-02-26 16:25:08 +00:00
Faith Ekstrand
509fdf4fe4
nvk: Use VkPipelineCreateFlags2 flag names
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27795 >
2024-02-26 16:25:08 +00:00
Faith Ekstrand
a72bcc0a26
vulkan/meta: Handle VK_REMAINING_ARRAY_LAYERS in blit and resolve
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27795 >
2024-02-26 16:25:08 +00:00
Faith Ekstrand
8ed3aa7b1a
nvk/copy: Handle VK_REMAINING_ARRAY_LAYERS
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27795 >
2024-02-26 16:25:08 +00:00
Faith Ekstrand
a120022b02
nvk: Handle missing gl_PointSize in the last geometry stage
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27795 >
2024-02-26 16:25:07 +00:00
Faith Ekstrand
4287d04e98
nak: Add writes_point_size to nak_shader_info
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27795 >
2024-02-26 16:25:07 +00:00
Faith Ekstrand
828b3c18fb
nil: Add PIPE_FORMAT_R5G5B5A1_UNORM
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27795 >
2024-02-26 16:25:07 +00:00
Alyssa Rosenzweig
6825902bb6
treewide: use ralloc_memdup
...
@@
expression memctx, dst, src, size;
@@
-dst = ralloc_size(memctx, size);
-memcpy(dst, src, size);
+dst = ralloc_memdup(memctx, src, size);
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27762 >
2024-02-26 15:37:58 +00:00
Alyssa Rosenzweig
66b00e2966
util/ralloc: add memdup
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27762 >
2024-02-26 15:37:58 +00:00
Alyssa Rosenzweig
d964f57a48
util/hash_table: add u64 foreach macro
...
needs some nontrivial wrapping but can mostly fallback to the regular impl.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27762 >
2024-02-26 15:37:58 +00:00
Timur Kristóf
cc1501628f
nir: Clean up divergence analysis for TES patch input loads.
...
Just make the code a little bit easier to follow.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27680 >
2024-02-26 14:53:23 +00:00
Timur Kristóf
870a2e4197
nir: Cleanup divergence analysis for mesh shaders.
...
1. Mesh shaders don't have inputs (only task payload),
so remove them from handling load_input.
2. Clarify in comments that loading any mesh shader
output is an NV_mesh_shader only feature.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27680 >
2024-02-26 14:53:23 +00:00
Timur Kristóf
9553d67373
nir: Fix divergence analysis of load_patch_vertices_in.
...
load_patch_vertices_in can only occur in tessellation shaders,
and contains the number of vertices in an input patch.
* TCS: patch_vertices_in is equal to the input patch size
* TES: patch_vertices_in is equal to the TCS output patch size
The patch sizes may be set by a pipeline or dynamic states,
however in both cases it is definitely uniform within a subgroup.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27680 >
2024-02-26 14:53:23 +00:00
Timur Kristóf
537c0029dd
nir: Fix divergence of reductions.
...
By accident, the function would return without setting
the divergence information.
Cc: mesa-stable
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27680 >
2024-02-26 14:53:23 +00:00
Alyssa Rosenzweig
9548cba8ab
anv,hasvk: use vk_index_to_restart
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27764 >
2024-02-26 14:13:08 +00:00
Alyssa Rosenzweig
9da77e6c97
tu: use vk_index_to_restart
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27764 >
2024-02-26 14:13:08 +00:00
Alyssa Rosenzweig
a97966b840
vulkan: add vk_index_type_to_restart helper
...
from nvk
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27764 >
2024-02-26 14:13:07 +00:00
Patrick Lerda
4d00edda00
r300: fix memory leaks when register allocation fails
...
For instance, this issue is triggered with
"piglit/bin/ext_framebuffer_multisample-accuracy all_samples color depthstencil -auto -fbo":
Direct leak of 1160 byte(s) in 1 object(s) allocated from:
#0 0x7fbe8897d7ef in __interceptor_malloc (/usr/lib64/libasan.so.6+0xb17ef)
#1 0x7fbe7e7abfcc in rc_constants_copy ../src/gallium/drivers/r300/compiler/radeon_code.c:47
#2 0x7fbe7e7ec902 in r3xx_compile_fragment_program ../src/gallium/drivers/r300/compiler/r3xx_fragprog.c:174
#3 0x7fbe7e7e1b22 in r300_translate_fragment_shader ../src/gallium/drivers/r300/r300_fs.c:516
#4 0x7fbe7e7e6373 in r300_pick_fragment_shader ../src/gallium/drivers/r300/r300_fs.c:591
#5 0x7fbe7e75456e in r300_create_fs_state ../src/gallium/drivers/r300/r300_state.c:1073
#6 0x7fbe7cd2ebe5 in st_create_fp_variant ../src/mesa/state_tracker/st_program.c:1070
#7 0x7fbe7cd374b5 in st_get_fp_variant ../src/mesa/state_tracker/st_program.c:1116
#8 0x7fbe7cd38273 in st_precompile_shader_variant ../src/mesa/state_tracker/st_program.c:1281
#9 0x7fbe7cd38273 in st_finalize_program ../src/mesa/state_tracker/st_program.c:1345
#10 0x7fbe7d798ca8 in st_link_glsl_to_nir ../src/mesa/state_tracker/st_glsl_to_nir.cpp:724
#11 0x7fbe7d798ca8 in st_link_shader ../src/mesa/state_tracker/st_glsl_to_nir.cpp:952
#12 0x7fbe7d6790d5 in link_program ../src/mesa/main/shaderapi.c:1336
#13 0x7fbe7d6790d5 in link_program_error ../src/mesa/main/shaderapi.c:1447
...
SUMMARY: AddressSanitizer: 2528456 byte(s) leaked in 1057 allocation(s).
Fixes: 54f6e72b27 ("r300: better register allocator for vertex shaders")
Signed-off-by: Patrick Lerda <patrick9876@free.fr >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27792 >
2024-02-26 13:55:53 +00:00
Patrick Lerda
b11ecacb93
r300: fix r300_destroy_context() related memory leaks
...
For instance, with "piglit/bin/fcc-blit-between-clears -auto -fbo"":
SUMMARY: AddressSanitizer: 70512 byte(s) leaked in 497 allocation(s).
Fixes: e01f86c67b ("r300: set PIPE_BIND_CONSTANT_BUFFER for const_uploader")
Signed-off-by: Patrick Lerda <patrick9876@free.fr >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27791 >
2024-02-26 12:56:30 +01:00
Samuel Pitoiset
4071c399a2
radv: compute the total LDS usage in gfx10_get_ngg_info()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27722 >
2024-02-26 10:42:37 +00:00
Samuel Pitoiset
d85311b120
radv: compute NGG scratch LDS base in gfx10_get_ngg_info()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27722 >
2024-02-26 10:42:37 +00:00
Samuel Pitoiset
0570d40d5b
radv: determine NGG culling info before NGG info
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27722 >
2024-02-26 10:42:37 +00:00
Samuel Pitoiset
e3863a22bb
radv: pass radv_shader_info to gfx10_get_ngg_info()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27722 >
2024-02-26 10:42:37 +00:00
Samuel Pitoiset
4db0952639
radv: pass gfx10_ngg_info to gfx10_get_ngg_info()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27722 >
2024-02-26 10:42:37 +00:00
Samuel Pitoiset
beb2e7df68
radv: determine NGG query info before linking shader info
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27722 >
2024-02-26 10:42:37 +00:00
Samuel Pitoiset
64f46c83a3
radv: use so.num_outputs to determine if NGG shaders need XFB queries
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27722 >
2024-02-26 10:42:37 +00:00
Samuel Pitoiset
7f8a84a024
radv: do not set gs.has_pipeline_stat_query twice for NGG GS
...
It's already initialized in gather_shader_info_gs().
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27722 >
2024-02-26 10:42:37 +00:00
Samuel Pitoiset
6c1e82e309
radv: remove unused parameter in gfx10_get_ngg_query_info()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27722 >
2024-02-26 10:42:37 +00:00
Lionel Landwerlin
e9169881db
anv: add missing generated file dep
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10672
Cc: mesa-stable
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27786 >
2024-02-26 07:56:50 +00:00
Mike Blumenkrantz
5816b5961f
zink: use new flag to determine whether swapchain readback cache is usable
...
the resource-valid flag isn't ideal for this since it doesn't convey
whether the swapchain cache is up-to-date
this should fix cases where the cache may have been erroneously used when
it hadn't been updated
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27553 >
2024-02-25 21:44:19 -05:00
Mike Blumenkrantz
01c9199cb8
zink: only update swapchain readback cache when necessary
...
this avoids modifying the cache for cases where the acquired image was
never modified
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27553 >
2024-02-25 21:44:19 -05:00
Mike Blumenkrantz
8fb83c0935
zink: only update swapchain readback cache on create if necessary
...
minor optimization
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27553 >
2024-02-25 21:44:19 -05:00
Mike Blumenkrantz
417a1986fb
zink: set and manage a flag indicating that swapchain readback needs updating
...
not currently used, but this is more coherent than relying on other flags
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27553 >
2024-02-25 21:44:19 -05:00
Mike Blumenkrantz
114a5da790
zink: update swapchain readback cache on create
...
ensure this can be used immediately
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27553 >
2024-02-25 21:44:19 -05:00
Mike Blumenkrantz
7486aaa1c0
zink: make readback attempts count towards ZINK_READBACK_THRESHOLD
...
readback is readback even if the app is being "smart" (swapchain readback
is never smart)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27553 >
2024-02-25 21:44:19 -05:00
Mike Blumenkrantz
d5d5f54fe9
zink: add a swapchain readback case for reading differently-acquired image
...
if a swapchain is shared between multiple resources, a deadlock and/or invalid
data will result from readback attempts if one resource holds a swapchain
image that the other resource must read from
to avoid this, allow accessing the acquiring resource directly since this is
the only sane way to perform readback
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27553 >
2024-02-25 21:44:19 -05:00
Mike Blumenkrantz
ae80f9ce65
zink: make kopper_swapchain_image::acquired the resource that acquired it
...
no functional changes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27553 >
2024-02-25 21:44:19 -05:00
Mike Blumenkrantz
d2ed77072c
zink: flag acquired swapchain image as readback target on acquire, not present
...
readback should trigger on the current backbuffer, not the most recently
presented buffer. if e.g., a clear is only triggered through glFlush,
this clear should be read back rather than the contents of the last-presented
buffer
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27553 >
2024-02-25 21:44:19 -05:00
Mike Blumenkrantz
c3a2e2f9f2
zink: lock buffer age when chundering swapchain for readback
...
this sequence doesn't count as SwapBuffers calls, so age cannot be modified
Fixes: c123ab2137 ("kopper: Implement {EGL,GLX}_EXT_buffer_age")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27553 >
2024-02-25 21:44:19 -05:00
Mike Blumenkrantz
9fa2d9bd50
zink: fix swapchain readback conditional
...
this check is intended to determine whether the current backbuffer has
data, which correlates to (is_acquired && has_data). here, that corresponds
better to checking for a valid image index && nonzero buffer age
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27553 >
2024-02-25 21:44:19 -05:00
Mike Blumenkrantz
50b671c1c3
zink: fix (dynamic rendering) execution of scissored clears during flush
...
in the case where the renderpass did not change, this would
otherwise have skipped the mask composition for in-rp clears
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27553 >
2024-02-25 21:44:19 -05:00
Mike Blumenkrantz
e602035596
zink: clamp in_rp clears to fb size
...
this was almost sort of clamping except that it wasn't
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27553 >
2024-02-25 21:44:19 -05:00
Mike Blumenkrantz
e032e7f6cc
zink: don't pre-init null fbfetch info
...
fbfetch is never used, so this just pointlessly wastes a bunch of
vram
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27684 >
2024-02-26 02:07:02 +00:00
Mike Blumenkrantz
5fdbb0868a
zink: start out with 256x256 sized dummy surfaces
...
4096 is huge.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27684 >
2024-02-26 02:07:02 +00:00
Mike Blumenkrantz
aaf78eadf3
zink: create/resize dummy surfaces on-demand
...
4096 was used here as a placeholder because it "always works", but
this ends up wasting a ton of vram
instead, start out more conservatively and create new dummy surfaces
if needed
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27684 >
2024-02-26 02:07:02 +00:00
Mike Blumenkrantz
1ea64063c8
zink: break out null fbfetch init for descriptor buffer
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27684 >
2024-02-26 02:07:02 +00:00
Mike Blumenkrantz
263d262025
zink: also set null fbfetch surfaces when no fb surface is bound
...
if nullDescriptor is supported, of course
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27684 >
2024-02-26 02:07:02 +00:00
Mike Blumenkrantz
f3347a4603
zink: don't pre-init dummy fbfetch surface when missing nullDescriptor feature
...
this should be handled automatically when updating fbfetch state anyway
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27684 >
2024-02-26 02:07:02 +00:00
Mike Blumenkrantz
fe13841a99
zink: move flagging rp_changed in zink_update_fbfetch() to caller
...
this avoids recursive flagging when starting a renderpass
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27684 >
2024-02-26 02:07:01 +00:00
Mike Blumenkrantz
35185ad9df
zink: assert that batch_id is valid in zink_screen_check_last_finished()
...
0 is never a valid batch_id
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27729 >
2024-02-26 01:42:23 +00:00
Mike Blumenkrantz
3283415bbd
zink: fix longstanding issue with active batch state recycling
...
the previous code could recycle a currently-submitting state by hitting
a race condition where zink_screen_check_last_finished(batch_id) returned
true because batch_id was 0
this can no longer recycle the current batch, but the race should still be
eliminated for consistency: check 'submitted' since this guarantees batch_id
is valid
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27729 >
2024-02-26 01:42:22 +00:00
Mike Blumenkrantz
16103b61e7
zink: only scan active batch states for free states if > 1 exist
...
trying to recycle the current active batch state is never going to be
productive
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27729 >
2024-02-26 01:42:22 +00:00
Sean Anderson
2179a7f4d7
Add Xilinx ZynqMP KMSRO entrypoint
...
Add support for the Xilinx ZynqMP DPSub display driver, used with the
onboard Mali-400 GPU.
Signed-off-by: Sean Anderson <sean.anderson@seco.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27370 >
2024-02-25 22:16:27 +00:00
Faith Ekstrand
4499871e34
nvk: Advertise VK+KHR_incremental_present
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27785 >
2024-02-25 14:44:20 -06:00
Faith Ekstrand
b3fd66c889
nvk: Only expose VK_KHR_present_id/wait when we have WSI
...
Also update docs/features.txt
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27785 >
2024-02-25 14:44:20 -06:00
Juan A. Suarez Romero
726ae2570c
v3dv/ci: update expected list
...
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27781 >
2024-02-25 18:44:56 +01:00
Sean Anderson
423add61e2
gallium: lima: Don't round height when checking alignment
...
Height does not affect alignment, so don't modify it. This fixes
failures if the buffer height is not an exact multiple of 16.
Signed-off-by: Sean Anderson <sean.anderson@seco.com >
Reviewed-by: Erico Nunes <nunes.erico@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27371 >
2024-02-24 19:55:27 +00:00
Lionel Landwerlin
642b12baef
anv: limit depth flush on dynamic render pass suspend
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27745 >
2024-02-24 13:21:09 +00:00
Lionel Landwerlin
abeac8cf96
intel/nir: only consider ray query variables in lowering
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27752 >
2024-02-24 12:56:30 +00:00
Caio Oliveira
373130a66c
intel/compiler: Remove has_render_target_reads from wm_prog_data
...
This was used only by the classic i965 driver.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27772 >
2024-02-24 02:34:59 +00:00
Caio Oliveira
10230d2eec
intel/brw: Assert Gfx9+
...
Acked-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27768 >
2024-02-24 02:10:56 +00:00
Caio Oliveira
40437bea86
intel/brw: Remove pass test cases for Gfx8-
...
And update the mock devinfo versions to be at least Gfx9.
Acked-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27768 >
2024-02-24 02:10:56 +00:00
Caio Oliveira
8c3165f0ff
intel/brw: Remove EU validation tests for Gfx8-
...
Acked-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27768 >
2024-02-24 02:10:56 +00:00
Caio Oliveira
a5b67d4bea
intel/brw: Remove EU compaction tests for Gfx8-
...
Acked-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27768 >
2024-02-24 02:10:56 +00:00
Caio Oliveira
9bc670509c
intel/brw: Remove assembler tests for Gfx8-
...
Acked-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27768 >
2024-02-24 02:10:56 +00:00
Caio Oliveira
80de55801e
intel/elk: Remove tests for Gfx9+
...
These are covered in the regular "brw" compiler.
Acked-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27770 >
2024-02-24 01:41:31 +00:00
Konrad Dybcio
1f508a5dac
freedreno/registers: Add some HWCG regs
...
A702 sets even more of these.. Follow suit!
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27700 >
2024-02-24 01:15:04 +00:00
Rob Clark
e7ee2c8ca5
tu: Give suballoc bo's a name
...
So they show up in gem debugfs with a more useful label.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27700 >
2024-02-24 01:15:04 +00:00
Rob Clark
bcc5ddcc3b
freedreno/crashdec: Find potential fault buffers
...
Denote if a buffer we know about is covering the fault address (kernel
issue), or if the fault address is within the 2 * size range, indicating
that the buffer is potentially the one the GPU read past the end of.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27700 >
2024-02-24 01:15:04 +00:00
Caio Oliveira
32db7a9533
intel/elk: Use anonymous namespace in fs_combine_constants
...
Certain GitLab CI build use a combination of LTO and -Werror=odr that
will fail if both ELK and BRW share the same names for those helpers,
so wrap the ELK ones around anonymous namespace.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27563 >
2024-02-24 00:24:32 +00:00
Caio Oliveira
2bc18fe46f
intel-clc: Use correct set of nir_options when building for Gfx8
...
Use the correct set of nir_options when building for Gfx8. Note this is
only used in the NIR codepath.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27563 >
2024-02-24 00:24:32 +00:00
Caio Oliveira
c83f92087b
intel/elk: Move nir_options to its own c/h file pair
...
This will allow intel-clc tool to use the ELK nir_options in its NIR
codepath without having to link with the entire ELK compiler. That way
an Anv only build doesn't need to compile ELK.
Iris uses that codepath for Gfx8.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27563 >
2024-02-24 00:24:32 +00:00
Caio Oliveira
6f83b1dddc
intel/tools: Add extra compiler device sha only for Gfx9+
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27563 >
2024-02-24 00:24:32 +00:00
Caio Oliveira
8abfbc9cca
intel/meson: Rename libintel_compiler to libintel_compiler_brw
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27563 >
2024-02-24 00:24:32 +00:00
Caio Oliveira
255a411450
intel: Use _brw suffix for genX headers that rely on brw
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27563 >
2024-02-24 00:24:32 +00:00
Caio Oliveira
23e0cff907
intel/tools: Add ELK support for intel_hang_viewer
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27563 >
2024-02-24 00:24:32 +00:00
Caio Oliveira
d641ca5b86
intel/tools: Add ELK support for aubinator_viewer
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27563 >
2024-02-24 00:24:32 +00:00
Caio Oliveira
9d379f08af
intel/tools: Add ELK support for intel_hang_replay
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27563 >
2024-02-24 00:24:32 +00:00
Caio Oliveira
c9a6b49b4b
intel/tools: Add ELK support for aubinator_error_decode
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27563 >
2024-02-24 00:24:32 +00:00
Caio Oliveira
5338a24fe0
intel/tools: Add ELK support for aubinator
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27563 >
2024-02-24 00:24:31 +00:00
Caio Oliveira
9796b56e41
iris: Use ELK compiler for Gfx8
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27563 >
2024-02-24 00:24:31 +00:00
Caio Oliveira
4c3b65ccf9
iris: Rename screen->compiler to screen->brw
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27563 >
2024-02-24 00:24:31 +00:00
Caio Oliveira
9294afe7fd
hasvk: Use ELK compiler
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27563 >
2024-02-24 00:24:31 +00:00
Caio Oliveira
4968d1a925
crocus: Use ELK compiler
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27563 >
2024-02-24 00:24:31 +00:00
Caio Oliveira
0669210ef4
intel/decoder: Add ELK support
...
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27563 >
2024-02-24 00:24:31 +00:00
Caio Oliveira
80cfc3d712
intel/blorp: Remove Gfx9+ references in elk code
...
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27563 >
2024-02-24 00:24:31 +00:00
Caio Oliveira
0e582f0dfd
intel/blorp: Add ELK support
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27563 >
2024-02-24 00:24:31 +00:00
Caio Oliveira
f5149e025e
intel/blorp: Explicitly include brw_compiler.h header
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27563 >
2024-02-24 00:24:31 +00:00
Caio Oliveira
4eb63a0137
intel/blorp: Move brw specific code to a separate file
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27563 >
2024-02-24 00:24:31 +00:00
Caio Oliveira
4866649052
intel/elk: Create separate header for opcodes
...
This allow us to not include elk_eu_defines.h (mostly internal
information) in elk_isa_info.h (that's used by other modules).
This will help when using both brw and elk in Iris later.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27563 >
2024-02-24 00:24:31 +00:00
Caio Oliveira
77f52417c5
intel/elk: Don't include elk_eu_defines.h in elk_nir.h
...
Those definitions are not needed by the drivers (client code), so
reduce the exposure. This will help when using both brw and elk in
Iris later.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27563 >
2024-02-24 00:24:31 +00:00
Caio Oliveira
6648e0ebd3
intel/elk: Rename symbols
...
Either replace the BRW prefix with ELK or add an extra ELK prefix. Used
the following sed script to perform the renames in this patch:
```
# Simple prefix changes.
s/\<BRW_/ELK_/g
s/\<brw_/elk_/g
s/nir_to_brw/nir_to_elk/g
s/\<as_brw_reg\>/as_elk_reg/g
s/\<_brw_/_elk_/g
# Add prefix to various symbols.
#
# Initially I've considered using C++ namespaces here, but in various
# cases the structs or functions had to be also visible from C code.
# So added explicit prefix instead.
s/\<backend_instruction/elk_\0/g
s/\<backend_reg/elk_\0/g
s/\<backend_shader/elk_\0/g
s/\<bblock_t\>/elk_\0/g
s/\<bblock_link\>/elk_\0/g
s/\<cfg_t\>/elk_\0/g
s/\<fs_visitor\>/elk_\0/g
s/\<fs_reg\>/elk_\0/g
s/\<fs_instruction_scheduler\>/elk_\0/g
s/\<vec4_instruction_scheduler\>/elk_\0/g
s/\<instruction_scheduler\>/elk_\0/g
s/\<schedule_node\>/elk_\0/g
s/\<schedule_node_child\>/elk_\0/g
s/\<\([a-z]*_\)\?thread_payload\>/elk_\1thread_payload/g
s/\<fs_generator\>/elk_\0/g
s/\<fs_inst\>/elk_\0/g
s/\<fs_reg_alloc\>/elk_\0/g
s/\<disasm_info\>/elk_\0/g
s/\<gfx._math\>/elk_\0/g
s/\<gfx7_block_read_scratch\>/elk_\0/g
s/\<gfx6_IF\>/elk_\0/g
s/\<gfx9_fb_READ\>/elk_\0/g
s/\<gfx6_resolve_implied_move\>/elk_\0/g
# Opcodes.
s/\<opcode op\>/elk_\0/g
s/\<opcode mov_op\>/elk_\0/g
s/\<opcode opcode\>/elk_\0/g
s/enum opcode\>/enum elk_opcode/g
s/static opcode\>/static elk_opcode/g
s/\<opcode elk_op/elk_opcode elk_op/g
s/struct opcode_desc/struct elk_opcode_desc/g
s/NUM_BRW_OPCODES/NUM_ELK_OPCODES/g
s/\<.._OPCODE_/ELK_\0/g
s/\<T.._OPCODE_/ELK_\0/g
s/\<VEC4_OPCODE_/ELK_\0/g
s/\<VEC4_...\?_OPCODE_/ELK_\0/g
s/\<SHADER_OPCODE_/ELK_\0/g
# Remaining specific cases.
s/\<wm_prog_data_barycentric_modes\>/elk_\0/g
s/\<encode_slm_size\>/elk_\0/g
s/\<intel_calculate_slm_size\>/elk_\0/g
s/\<gfx6_gather_sampler_wa\>/elk_\0/g
s/\<is_3src\>/elk_\0/g
s/\<WA_/ELK_\0/g
s/\<conditional_modifier\>/elk_\0/g
s/\<pred_ctrl_align16\>/elk_\0/g
s/\<shuffle_from_32bit_read\>/elk_\0/g
s/\<shuffle_src_to_dst\>/elk_\0/g
s/\<setup_imm_..\?\>/elk_\0/g
s/\<opt_predicated_break\>/elk_\0/g
s/\<has_bank_conflict\>/elk_\0/g
s/\<dead_control_flow_eliminate\>/elk_\0/g
s/\<disasm_new_inst_group\>/elk_\0/g
s/\<disasm_initialize\>/elk_\0/g
s/\<dump_assembly\>/elk_\0/g
s/\<disasm_insert_error\>/elk_\0/g
s/\<disasm_annotate\>/elk_\0/g
s/\<enum lsc_opcode\>/enum elk_lsc_opcode/g
s/\<lsc_opcode_/elk_lsc_opcode_/g
s/\<lsc_aop_[a-z_]\+\>/elk_\0/g
s/\<type_size_vec4\>/elk_\0/g
s/\<type_size_dvec4\>/elk_\0/g
s/\<type_size_xvec4\>/elk_\0/g
s/\<type_size_[a-z4]\+_bytes\>/elk_\0/g
s/\<gfx12_systolic_depth\>/elk_\0/g
```
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27563 >
2024-02-24 00:24:31 +00:00
Caio Oliveira
f677485ad4
intel/elk: Rename C++ namespace
...
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27563 >
2024-02-24 00:24:31 +00:00
Caio Oliveira
ed89a42f7a
intel/elk: Update doxygen-like file comments
...
Not sure if we use them, but updated.
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27563 >
2024-02-24 00:24:31 +00:00
Caio Oliveira
783f3d0b4f
intel/elk: Rename header guards
...
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27563 >
2024-02-24 00:24:31 +00:00
Caio Oliveira
e6022281f2
intel/elk: Rename files to use elk prefix
...
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27563 >
2024-02-24 00:24:31 +00:00
Caio Oliveira
b02712efc2
intel/elk: Remove DPAS lowering
...
This is meant for Gfx9+.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27563 >
2024-02-24 00:24:31 +00:00
Caio Oliveira
b743ab7acc
intel/elk: Remove stages not used in Gfx8-
...
OpenCL, Mesh and RayTracing stages are not supported, so removing them
and related code.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27563 >
2024-02-24 00:24:31 +00:00
Caio Oliveira
8a57012ff4
intel/elk: Use common code in intel/compiler
...
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27563 >
2024-02-24 00:24:30 +00:00
Caio Oliveira
dcf29202d4
intel/elk: Remove a bunch of files that don't apply for Gfx8-
...
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27563 >
2024-02-24 00:24:30 +00:00
Caio Oliveira
06b553f02c
intel/elk: Remove compiler specific devinfo hash
...
This more coarse-grained hash information for compiler (vs. full
devinfo), used only by Iris and Anv, and relevant for more recent
platforms. Remove it from elk.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27563 >
2024-02-24 00:24:30 +00:00
Caio Oliveira
0083585fc5
intel/elk: Compile ELK library, tests and tools
...
For now is not linked to any driver. The tools were renamed to use elk
prefix to avoid conflicting with the brw ones. The run-test.py script
was also updated due to that change.
Before the new compiler can be linked together with the old (going to be
done for Iris and other tools), the symbol conflicts need to be fixed
first. This will happen in a later commit.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27563 >
2024-02-24 00:24:30 +00:00
Caio Oliveira
d44462c08d
intel/elk: Fork Gfx8- compiler by copying existing code
...
Based on code from commit c3ceec6cd8 .
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Acked-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27563 >
2024-02-24 00:24:30 +00:00
Faith Ekstrand
a9214460ee
nvk: Expose a host-visible VRAM type when we have REBAR
...
We use host maps of VRAM all over the driver on Maxwell+ so we know they
work. This exposes it to applications for use for data upload. To
avoid thrashing, we only expose this on systems with properly a
configured PCI controllwer with resizable BAR support.
We already choose whether or not to set the MMAP bit when creating the
BO based on memory type properties so we just need to add the type.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26622 >
2024-02-23 16:27:21 -06:00
Faith Ekstrand
f5cb1eed26
nvk: Upload shaders on the CPU when we have ReBAR
...
Without without resizable BAR, we're limited as to how much VRAM we can
map and we sometimes run out of maps for games with large numbers of
shaders. We keep using the DMA engine fallback in that case.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26622 >
2024-02-23 16:25:49 -06:00
Faith Ekstrand
9ed7f8c54e
nvk/heap: Upload shaders on the CPU when we have a map
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26622 >
2024-02-23 16:25:49 -06:00
Faith Ekstrand
d4623da9a3
nouveau/winsys: Getch the BAR size from the kernel
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26622 >
2024-02-23 16:25:49 -06:00
Faith Ekstrand
85849ed9cb
nvk: implement EXT_memory_budget
...
Reviewed-by: Thomas H.P. Andersen <phomes@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27662 >
2024-02-23 21:27:13 +00:00
Faith Ekstrand
db2162efa6
nvk: Add an available query to nvk_memory_heap
...
Reviewed-by: Thomas H.P. Andersen <phomes@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27662 >
2024-02-23 21:27:13 +00:00
Faith Ekstrand
bbb458be8d
nvk: Use 3/4 of total system memory for the VRAM heap
...
Reviewed-by: Thomas H.P. Andersen <phomes@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27662 >
2024-02-23 21:27:13 +00:00
Faith Ekstrand
e9bd005c44
nvk: Add a hand-rolled nvk_memory_heap struct
...
Reviewed-by: Thomas H.P. Andersen <phomes@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27662 >
2024-02-23 21:27:13 +00:00
Faith Ekstrand
6a8c60d674
nvk: Add a nouveau_ws_device to nvk_physical_device
...
We don't want to use it for anything because we want VM isolation
per-device but we need the device open for VK_EXT_memory_budget.
Reviewed-by: Thomas H.P. Andersen <phomes@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27662 >
2024-02-23 21:27:13 +00:00
Faith Ekstrand
b887c9ba2c
nouveau/winsys: Add a vram_used query
...
Reviewed-by: Thomas H.P. Andersen <phomes@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27662 >
2024-02-23 21:27:13 +00:00
Faith Ekstrand
6e08a84936
drm-uapi: Sync nouveau_drm.h
...
From https://cgit.freedesktop.org/drm/
commit 72fa02fdf83306c52bc1eede28359e3fa32a151a
Author: Dave Airlie <airlied@redhat.com >
Date: Wed Jan 24 14:24:25 2024 +1000
nouveau: add an ioctl to report vram usage
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27662 >
2024-02-23 21:27:12 +00:00
Christian Gmeiner
028080c716
isaspec: encode.py: Include util/log.h
...
Generated encode functions are making use of mesa_loge(..).
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27714 >
2024-02-23 20:29:57 +00:00
Marek Olšák
c9abb7ff6e
glthread: generate packed versions of gl*Pointer/Offset calls
...
The pointer/offset parameter is often NULL or a small number with VBOs.
The idea is:
- If the pointer/offset parameter is NULL/0, use a different cmd structure
and unmarshal function that doesn't contain the pointer/offset parameter
to save 8 bytes per call.
- If the cmd structure has a hole and the pointer/offset parameter is
a small number that fits into the hole, use a different cmd structure
and unmarshal function that stores the value within the hole using
a smaller type to save 8 bytes per call.
This implements those ideas. It will continue generating the most optimal
code even if we change the packing of other parameters.
This decreases the size of 1 frame in glthread batches by 21%
in Viewperf2020/Catia1.
Example of generated code for glVertexPointer with and without the pointer
parameter if it's NULL. See the arrows for comments.
/* VertexPointer: marshalled asynchronously */
struct marshal_cmd_VertexPointer
{
struct marshal_cmd_base cmd_base;
GLpacked16i size;
GLenum16 type;
GLclamped16i stride;
const GLvoid * pointer;
};
struct marshal_cmd_VertexPointer_packed
{
struct marshal_cmd_base cmd_base;
GLpacked16i size;
GLenum16 type;
GLclamped16i stride; // <------- no "pointer"
};
uint32_t _mesa_unmarshal_VertexPointer(struct gl_context *ctx, const struct marshal_cmd_VertexPointer *restrict cmd)
{
GLpacked16i size = cmd->size;
GLenum16 type = cmd->type;
GLclamped16i stride = cmd->stride;
const GLvoid * pointer = cmd->pointer;
CALL_VertexPointer(ctx->Dispatch.Current, (size, type, stride, pointer));
return align(sizeof(struct marshal_cmd_VertexPointer), 8) / 8;
}
uint32_t _mesa_unmarshal_VertexPointer_packed(struct gl_context *ctx, const struct marshal_cmd_VertexPointer_packed *restrict cmd)
{
GLpacked16i size = cmd->size;
GLenum16 type = cmd->type;
GLclamped16i stride = cmd->stride;
const GLvoid * pointer = (const GLvoid *)(uintptr_t)0; // <------- using NULL
CALL_VertexPointer(ctx->Dispatch.Current, (size, type, stride, pointer));
return align(sizeof(struct marshal_cmd_VertexPointer_packed), 8) / 8;
}
static void GLAPIENTRY
_mesa_marshal_VertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
{
GET_CURRENT_CONTEXT(ctx);
if (!pointer) { // <------- the condition
int cmd_size = sizeof(struct marshal_cmd_VertexPointer_packed);
struct marshal_cmd_VertexPointer_packed *cmd = _mesa_glthread_allocate_command(ctx, DISPATCH_CMD_VertexPointer_packed, cmd_size);
cmd->size = size < 0 ? UINT16_MAX : MIN2(size, UINT16_MAX);
cmd->type = MIN2(type, 0xffff); /* clamped to 0xffff (invalid enum) */
cmd->stride = CLAMP(stride, INT16_MIN, INT16_MAX);
} else {
int cmd_size = sizeof(struct marshal_cmd_VertexPointer);
struct marshal_cmd_VertexPointer *cmd = _mesa_glthread_allocate_command(ctx, DISPATCH_CMD_VertexPointer, cmd_size);
cmd->size = size < 0 ? UINT16_MAX : MIN2(size, UINT16_MAX);
cmd->type = MIN2(type, 0xffff); /* clamped to 0xffff (invalid enum) */
cmd->stride = CLAMP(stride, INT16_MIN, INT16_MAX);
cmd->pointer = pointer;
}
_mesa_glthread_AttribPointer(ctx, VERT_ATTRIB_POS, MESA_PACK_VFORMAT(type, size, 0, 0, 0), stride, pointer);
}
Example of generated code for glNormalPointer using a smaller type:
/* NormalPointer: marshalled asynchronously */
struct marshal_cmd_NormalPointer
{
struct marshal_cmd_base cmd_base;
GLenum16 type;
GLclamped16i stride;
const GLvoid * pointer;
};
struct marshal_cmd_NormalPointer_packed
{
struct marshal_cmd_base cmd_base;
GLenum16 type;
GLclamped16i stride;
GLushort pointer; // <-------- truncated "pointer"
};
uint32_t _mesa_unmarshal_NormalPointer(struct gl_context *ctx, const struct marshal_cmd_NormalPointer *restrict cmd)
{
GLenum16 type = cmd->type;
GLclamped16i stride = cmd->stride;
const GLvoid * pointer = cmd->pointer;
CALL_NormalPointer(ctx->Dispatch.Current, (type, stride, pointer));
return align(sizeof(struct marshal_cmd_NormalPointer), 8) / 8;
}
uint32_t _mesa_unmarshal_NormalPointer_packed(struct gl_context *ctx, const struct marshal_cmd_NormalPointer_packed *restrict cmd)
{
GLenum16 type = cmd->type;
GLclamped16i stride = cmd->stride;
const GLvoid * pointer = (const GLvoid *)(uintptr_t)cmd->pointer; // <-------- upcasting
CALL_NormalPointer(ctx->Dispatch.Current, (type, stride, pointer));
return align(sizeof(struct marshal_cmd_NormalPointer_packed), 8) / 8;
}
static void GLAPIENTRY
_mesa_marshal_NormalPointer(GLenum type, GLsizei stride, const GLvoid *pointer)
{
GET_CURRENT_CONTEXT(ctx);
if (((uintptr_t)pointer & 0xffff) == (uintptr_t)pointer) { // <-------- the condition
int cmd_size = sizeof(struct marshal_cmd_NormalPointer_packed);
struct marshal_cmd_NormalPointer_packed *cmd = _mesa_glthread_allocate_command(ctx, DISPATCH_CMD_NormalPointer_packed, cmd_size);
cmd->type = MIN2(type, 0xffff); /* clamped to 0xffff (invalid enum) */
cmd->stride = CLAMP(stride, INT16_MIN, INT16_MAX);
cmd->pointer = (uintptr_t)pointer; /* truncated */ // <-------- the truncation
} else {
int cmd_size = sizeof(struct marshal_cmd_NormalPointer);
struct marshal_cmd_NormalPointer *cmd = _mesa_glthread_allocate_command(ctx, DISPATCH_CMD_NormalPointer, cmd_size);
cmd->type = MIN2(type, 0xffff); /* clamped to 0xffff (invalid enum) */
cmd->stride = CLAMP(stride, INT16_MIN, INT16_MAX);
cmd->pointer = pointer;
}
_mesa_glthread_AttribPointer(ctx, VERT_ATTRIB_NORMAL, MESA_PACK_VFORMAT(type, 3, 1, 0, 0), stride, pointer);
}
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27350 >
2024-02-23 18:03:59 +00:00
Marek Olšák
24f14f8daa
glthread: add a packed version of DrawElementsUserBuf
...
The reduces the call size by 24 bytes.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27350 >
2024-02-23 18:03:59 +00:00
Marek Olšák
c566df8b39
glthread: add a packed variant of glDrawElements with 16-bit count and indices
...
This is just to decrease the size of glDrawElements by 8 more bytes.
This packed glDrawElements call occupies only 1 slot in glthread_batch.
This decreases the size of 1 frame in glthread batches by 13%
in Viewperf2020/Catia1.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27350 >
2024-02-23 18:03:59 +00:00
Marek Olšák
5925a864b5
glthread: rewrite glBindBuffer packing
...
We always reserved space for a doubled glBindBuffer call, occupying
2 slots. Thanks to the removal of cmd_size, we can finally represent
glBindBuffer in only 1 slot, so do that. This saves space if there is
only 1 glBindBuffer call.
The combining of back-to-back BindBuffer calls is preserved by keeping
track of 2 last BindBuffer calls.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27350 >
2024-02-23 18:03:59 +00:00
Marek Olšák
1f9b554839
glthread: use marshal_count instead of count for more functions
...
Same as the previous commit, just applied to more functions.
This removes safe_mul and checking whether cmd_size is too large
because the size is always small with these functions.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27350 >
2024-02-23 18:03:59 +00:00
Marek Olšák
e8721fefcd
glthread: don't check cmd_size for small variable-sized calls
...
This removes the size checking, syncing, and direct execution if
the variable-sized call is always small. Don't use safe_mul in that case
either. Only calls already using marshal_count are affected. Example:
Before:
static void GLAPIENTRY
_mesa_marshal_PointParameterfv(GLenum pname, const GLfloat *params)
{
GET_CURRENT_CONTEXT(ctx);
int params_size = safe_mul(_mesa_point_param_enum_to_count(pname), 1 * sizeof(GLfloat));
int cmd_size = sizeof(struct marshal_cmd_PointParameterfv) + params_size;
if (unlikely(params_size < 0 || (params_size > 0 && !params) || (unsigned)cmd_size > MARSHAL_MAX_CMD_SIZE)) {
_mesa_glthread_finish_before(ctx, "PointParameterfv");
CALL_PointParameterfv(ctx->Dispatch.Current, (pname, params));
return;
}
struct marshal_cmd_PointParameterfv *cmd = _mesa_glthread_allocate_command(ctx, DISPATCH_CMD_PointParameterfv, cmd_size);
cmd->num_slots = align(cmd_size, 8) / 8;
cmd->pname = MIN2(pname, 0xffff); /* clamped to 0xffff (invalid enum) */
char *variable_data = (char *) (cmd + 1);
memcpy(variable_data, params, params_size);
}
After:
static void GLAPIENTRY
_mesa_marshal_PointParameterfv(GLenum pname, const GLfloat *params)
{
GET_CURRENT_CONTEXT(ctx);
int params_size = _mesa_point_param_enum_to_count(pname) * 1 * sizeof(GLfloat);
int cmd_size = sizeof(struct marshal_cmd_PointParameterfv) + params_size;
assert(cmd_size >= 0 && cmd_size <= MARSHAL_MAX_CMD_SIZE);
struct marshal_cmd_PointParameterfv *cmd = _mesa_glthread_allocate_command(ctx, DISPATCH_CMD_PointParameterfv, cmd_size);
cmd->num_slots = align(cmd_size, 8) / 8;
cmd->pname = MIN2(pname, 0xffff); /* clamped to 0xffff (invalid enum) */
char *variable_data = (char *) (cmd + 1);
memcpy(variable_data, params, params_size);
}
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27350 >
2024-02-23 18:03:59 +00:00
Marek Olšák
798f430777
glthread: deduplicate batch finalization code
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27350 >
2024-02-23 18:03:59 +00:00
Marek Olšák
5d70c21d82
glthread: pack uploaded user vertex buffers and offsets better
...
glthread_attrib_binding has 2 fields and 4 bytes of padding, which is
arranged in array. This removes the padding by splitting the structure
into 2 arrays, one for each field.
This also fixes the pointer alignment.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27350 >
2024-02-23 18:03:59 +00:00
Marek Olšák
97532db988
glthread: fix multi draws with a negative draw count
...
This fixes the invalid pointers when draw_count is invalid.
I don't know if it had any adverse affect.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27350 >
2024-02-23 18:03:59 +00:00
Marek Olšák
eda0b9f8d4
glthread: pack glVertexAttribPointer calls better
...
These parameters can use 8 bits.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27350 >
2024-02-23 18:03:59 +00:00
Marek Olšák
ad34c932cd
glapi: pass pointer size to python for glthread from meson
...
glthread (the python generator) needs to know the pointer size at compile
time to sort structure fields of calls for optimal structure packing based
on the CPU.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27350 >
2024-02-23 18:03:59 +00:00
Marek Olšák
610bc4d115
glthread: remove "if True" from print_marshal_async_code
...
This only changes indentation. No functional change.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27350 >
2024-02-23 18:03:59 +00:00
Marek Olšák
e299473968
glthread: separate marshal code generation into print_marshal_async_code
...
I added "if True" to make the diff readable.
No functional change.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27350 >
2024-02-23 18:03:59 +00:00
Marek Olšák
2d796de157
glthread: separate unmarshal function generation into print_unmarshal_func
...
No functional change.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27350 >
2024-02-23 18:03:59 +00:00
Marek Olšák
dd6b0ea015
gltrhead: merge 3 blocks conditional on marshal_sync in print_async_body
...
There are 3 blocks next to each other that check marshal_sync. Merge them.
No functional change.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27350 >
2024-02-23 18:03:59 +00:00
Marek Olšák
e9819744b3
glthread: precompute fixed_params and variable_params lists
...
This removes functions get_fixed_params and get_variable_params.
No functional change.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27350 >
2024-02-23 18:03:59 +00:00
Marek Olšák
6eef0c60f8
glthread: move global marshal_XML.py functions into class marshal_function
...
No functional change.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27350 >
2024-02-23 18:03:58 +00:00
Marek Olšák
aea16b5ae9
glthread: sort fixed-sized parameters before returning them
...
No functional change.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27350 >
2024-02-23 18:03:58 +00:00
Marek Olšák
ee0d869d66
glapi: fix type names for glthread and handle all types
...
glthread will compare the whole type string, so the string must not have
trailing spaces.
No functional change.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27350 >
2024-02-23 18:03:58 +00:00
Marek Olšák
12754aec1a
glthread: rewrite glDrawArrays call packing
...
Since changing 1 field to 8 bits and the removal of cmd_size, call sizes
have decreased, so we have 4 unused bytes in 2 DrawArrays structures
So far we use:
- DrawArrays
- DrawArraysInstancedBaseInstance
- DrawArraysInstancedBaseInstanceDrawID
Change them to these by either removing 4 more bytes or adding 4 bytes,
so that we don't waste space, which drops the number of used calls by 1:
- DrawArraysInstanced
- DrawArraysInstancedBaseInstanceDrawID
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27350 >
2024-02-23 18:03:58 +00:00
Marek Olšák
5e5d91671e
glthread: rewrite glDrawElements call packing
...
Since changing 2 fields to 8 bits and the removal of cmd_size, call sizes
have decreased by 4 bytes, so we have 4 unused bytes in most DrawElements
structures. So far we have used these calls for all DrawElements variants:
- DrawElementsBaseVertex
- DrawElementsInstanced
- DrawElementsInstancedBaseVertexBaseInstance
- DrawElementsInstancedBaseVertexBaseInstanceDrawID
Change them to these by either removing 4 more bytes or adding 4 bytes,
so that we don't waste space.
- DrawElements
- DrawElementsInstancedBaseVertex
- DrawElementsInstancedBaseInstance
- DrawElementsInstancedBaseVertexBaseInstanceDrawID
This decreases the size of 1 frame in glthread batches by 12%
in Viewperf2020/Catia1.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27350 >
2024-02-23 18:03:58 +00:00
Marek Olšák
99f8f01dfb
glthread: pack the index type to 8 bits
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27350 >
2024-02-23 18:03:58 +00:00
Marek Olšák
15bc7e1d62
glthread: pack the primitive type to 8 bits
...
The maximum valid enum is only 14.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27350 >
2024-02-23 18:03:58 +00:00
Marek Olšák
39edcd695a
mesa: deduplicate is_index_type_valid code
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27350 >
2024-02-23 18:03:58 +00:00
Marek Olšák
259a0a9aeb
mesa: deduplicate get_index_size_shift code
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27350 >
2024-02-23 18:03:58 +00:00
Marek Olšák
1388be4d39
glthread: pack "size" in Pointer calls as 16 bits
...
The only legal values are {1, 2, 3, 4, GL_BGRA}.
We need GLpacked16i to be unsigned, not signed, because GL_BGRA is
greater than 0x8000.
This decreases the size of 1 frame by 10% in Viewperf2020/Catia1.
It decreases the size of many Pointer calls by 8 bytes.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27350 >
2024-02-23 18:03:58 +00:00
Marek Olšák
13a8efcb2c
glthread: clean up how vertex stride is packed
...
Use a better type name. Also check the function name more accurately
(no change in behavior).
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27350 >
2024-02-23 18:03:58 +00:00
Marek Olšák
617cdedd35
glthread: remove cmd_size from constant-sized calls
...
Only variable-sized calls keep cmd_size in their structures, and it's
renamed to num_slots because it's in units of 8-byte elements.
The motivation is to make room for reducing call sizes.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27350 >
2024-02-23 18:03:58 +00:00
Marek Olšák
acfefc1f14
glthread: add no_error variants of glDrawArrays*
...
The main motivation is that no_error allows us to drop count==0 draws
at the beginning of the marshal function, instead of forwarding them
to the frontend thread. Such draws are plentiful with Viewperf.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27350 >
2024-02-23 18:03:58 +00:00
Marek Olšák
138804fdfc
glthread: add no_error variants of glDrawElements*
...
The main motivation is that no_error allows us to drop count==0 draws
at the beginning of the marshal function, instead of forwarding them
to the frontend thread. Such draws are plentiful with Viewperf.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27350 >
2024-02-23 18:03:58 +00:00
Marek Olšák
c52e1f916a
glthread: use _mesa_glthread_fence_call() instead of duplicating that code
...
no change in behavior
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27350 >
2024-02-23 18:03:58 +00:00
Marek Olšák
47d589e7d4
glthread: re-enable thread scheduling in st/mesa when glthread is disabled
...
This happens when GL_DEBUG_OUTPUT_SYNCHRONOUS is enabled.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27350 >
2024-02-23 18:03:58 +00:00
Chris Rankin
c3ceec6cd8
vdpau: Refactor query for video surface formats.
...
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10614
Signed-off-by: Chris Rankin <rankincj@gmail.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27730 >
2024-02-23 16:26:27 +00:00
Biju Das
174b715391
gallium: Add Renesas rzg2l-du DRM entry point
...
RZ/{G2L,G2LC,V2L} SoCs implements an ARM Mali-G31[1]. Add an entry point
for Renesas rzg2l-du DRM vendor, so mesa can be used with it.
[1] https://lore.kernel.org/all/20211208104026.421-3-biju.das.jz@bp.renesas.com/
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27763 >
2024-02-23 15:47:56 +00:00
Karol Herbst
d096523af0
rusticl/kernel: make builds private
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27747 >
2024-02-23 14:47:19 +00:00
Karol Herbst
14ccfb41bc
rusticl/meson: remove -Aclippy::arc-with-non-send-sync flag
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27747 >
2024-02-23 14:47:19 +00:00
Karol Herbst
ce06bdf916
rusticl/icd: verify all cl classes are Send and Sync
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27747 >
2024-02-23 14:47:19 +00:00
Karol Herbst
e202903007
rusticl/kernel: make it Send and Sync
...
There are a few APIs which don't have to be thread-safe, but we can
optimize it later.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27747 >
2024-02-23 14:47:19 +00:00
Karol Herbst
59cba70751
rusticl/spirv: mark SPIRVBin as Send and Sync
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27747 >
2024-02-23 14:47:19 +00:00
Karol Herbst
17e97a8f06
rusticl/event: make EventSig Send + Sync
...
The code was effecitvely that already, but now we can have the compiler
actually verify this.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27747 >
2024-02-23 14:47:18 +00:00
Karol Herbst
a97108d3c7
rusticl/memory: make closures Send and Sync
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27747 >
2024-02-23 14:47:18 +00:00
Karol Herbst
aa3b44c02b
rusticl/memory: store host_ptr as usize
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27747 >
2024-02-23 14:47:18 +00:00
Karol Herbst
1753b59cfd
rusticl/context: complete conversion of SVM pointers to usize
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27747 >
2024-02-23 14:47:18 +00:00
Danylo Piliaiev
ebde7d5e87
tu/a7xx: Write even more magic regs to fix rendering issues on Android
...
We have to write all the same regs blob is writing or we risk using
stale reg value written by blob.
I went through blob trace again and added all missing magic regs,
I hope for the last time.
This fixes screen corruption for Mobox users and in some cases
for different emulators users. The reg which caused the issue
is HLSQ_UNKNOWN_A9AC.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27721 >
2024-02-23 14:19:11 +00:00
Antonio Gomes
38ffdb883d
rusticl/device: Verify for PIPE_CAP_CL_GL_SHARING when enabling gl_sharing
...
I think it's better to keep the other checks (check for dmabuf, uuid,
...) as we can use them to know the features required.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26071 >
2024-02-23 13:29:00 +00:00
Antonio Gomes
d43f9f9c60
radeonsi: Set PIPE_CAP_CL_GL_SHARING to true
...
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26071 >
2024-02-23 13:29:00 +00:00
Antonio Gomes
6e7d1725a3
iris: Set PIPE_CAP_CL_GL_SHARING to true
...
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26071 >
2024-02-23 13:29:00 +00:00
Antonio Gomes
12f1a4c311
gallium: Add new PIPE_CAP_CL_GL_SHARING
...
We have a situation where some drivers have all the required features,
but they are not working with gl_sharing, so we end up advertising it
wrongly. Add this cap to ensure this driver was tested to work with
cl_khr_gl_sharing.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26071 >
2024-02-23 13:29:00 +00:00
Antonio Gomes
50f6478e3d
rusticl/gl: Bump mesa_glinterop_device_info to version 4
...
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26071 >
2024-02-23 13:29:00 +00:00
Antonio Gomes
a7272a6f24
mesa/st: Skip querying PCI values in interop_query_device_info if version >= 4
...
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26071 >
2024-02-23 13:29:00 +00:00
Oskar Viljasaar
89622f5089
tu: Use common physical device properties infrastructure
...
Use the same intializing trick as in 27d5543 : first we initialize our
properties struct to { false }, then we fill the fields in one by one.
C++ does not allow assigning to an array from an initializer list, so
the properties exposed as an array in the struct are initialized either
one by one, or assigned in a chain.
As the properties are initialized at init time, move tu_get_properties
and tu_get_physical_device_properties_* before tu_physical_device_init,
so get_properties() would be callable by it.
This lets us delegate the physical device property entrypoints to
common runtime code.
Tested with drm-shim, doing a diff on vulkaninfo output. Differing
fields were pipelineCacheUUID, driverInfo and driverUUID, i.e. the
actual properties do not differ.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27723 >
2024-02-23 13:03:03 +00:00
Danylo Piliaiev
f4c40fc89c
tu: Add workaround for D3D11 games accessing UBO out of bounds
...
Some D3D11 games rely on out-of-bounds indirect UBO loads to return
real values from underlying bound descriptor. This workaround would
prevent us from lowering indirectly accessed UBOs to consts.
Later DXVK would declare dynamically indexed uniforms with upper
size bound, to make the accesses spec compliant. But for now
we need our own workaround.
Known affected games:
- Dark Souls 3
- Sekiro: Shadows Die Twice
- Final Fantasy Type-0 HD
- Ultrakill
- Dishonored 2
DXVK discussions:
- https://github.com/doitsujin/dxvk/issues/405
- https://github.com/doitsujin/dxvk/issues/3861
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27727 >
2024-02-23 12:08:53 +00:00
Michel Dänzer
7a6836611e
egl/wayland: Flush after blitting to linear copy
...
We need to flush after blitting to the linear copy, or the Wayland
compositor may not see the correct linear buffer contents.
v2:
* Keep blitImage call in the same place (Daniel Stone)
* Add second flush for the blit to linear copy
Fixes: 58f90fd03f ("egl/wayland: fix glthread crashes")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9816
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27718 >
2024-02-23 08:43:54 +00:00
Faith Ekstrand
f890b515ef
nvk: Don't use WAIT_AVAILABLE in nvk_upload_queue_sync
...
This was a copy+paste error, probably from vk_drm_syncobj.c. If we do
WAIT_AVAILABLE, it only waits for the dma_fence to exist, not for it to
signal. Instead, we want WAIT_FOR_SUBMIT. (Technically, that's not
necessary but it is typical for CPU waits to also wait for the time
point to materialize.)
Fixes: 2074e28a0d ("nvk: Add an upload queue")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27757 >
2024-02-23 03:31:57 +00:00
Joshua Ashton
6767ad9c86
meson: Enable d3d12 in gallium_drivers by default on Windows
...
This is pretty much the only usable one that isn't
swrast for some people, eg. WoA + QCom.
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27737 >
2024-02-23 02:28:29 +00:00
Joshua Ashton
5a6de45bd5
meson: Enable zink in gallium_drivers by default
...
Zink is the only way to use hw accelerated GL on
a7xx and the preferred way for hw supporting NVK.
Start building Zink by default everywhere that we
would build swrast by default, except for Mac +
Cygwin + Haiku.
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27737 >
2024-02-23 02:28:29 +00:00
Karol Herbst
2b9c0e3768
zink: lower unaligned memory accesses
...
Fixes `vload_half` in OpenCL
Fixes: 0288cb0a0c ("zink: lower vec8/16")
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27754 >
2024-02-23 00:26:56 +00:00
Benjamin Lee
944ef1771e
nvk: disable shaderResourceMinLod on pre-sm70
...
The hardware's TEX instruction doesn't support this when using indirect
texture access, which we're currently using for everything.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27733 >
2024-02-22 21:17:17 +00:00
Benjamin Lee
a7166386db
nak: fix tex offset encoding on SM50
...
It should be bit 36, not bit 54. Bit 54 probably came from the direct
variant.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27733 >
2024-02-22 21:17:16 +00:00
Benjamin Lee
59d6645c6b
nak: fix lod mode encoding for SM50 tld op
...
The bit flag was backwards, set=ll and cleared=lz. This fixes
dEQP-VK.glsl.texture_functions.texelfetch.* from the CTS.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27733 >
2024-02-22 21:17:16 +00:00
Charlie Turner
639a9a1c05
amd, radeonsi: Lower minimum supported video dimensions for AV1
...
For AV1, the hardware supports decoding at 16x16, but for AVC & HEVC,
64 is the minimum.
The following Fluster tests used to check this,
av1-1-b8-01-size-16x16.ivf
av1-1-b8-01-size-32x32.ivf
Signed-off-by: Charlie Turner <cturner@igalia.com >
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27085 >
2024-02-22 19:49:28 +00:00
Konstantin Seurer
d95c30b6ec
ac/parese_ib: Handle more packets
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27451 >
2024-02-22 19:25:39 +00:00
Konstantin Seurer
ebbbca005e
ac/parse_ib: Handle 32bit PKT3_DISPATCH_INDIRECT addrs
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27451 >
2024-02-22 19:25:39 +00:00
Konstantin Seurer
fea21e5649
ac/parse_ib: Annotate addresses with UAF/OOB info
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27451 >
2024-02-22 19:25:39 +00:00
Konstantin Seurer
badd2131b5
ac/parse_ib: Dump the ADDR field of PKT3_SET_BASE
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27451 >
2024-02-22 19:25:39 +00:00
Konstantin Seurer
160d18b273
ac/parse_ib: Add and use print_addr
...
Writes the whole address on one line.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27451 >
2024-02-22 19:25:39 +00:00
Mike Blumenkrantz
dfe331930c
zink: don't destroy the current batch state on context destroy
...
these are owned by the screen now
should fix some flakiness with shared contexts
Fixes: b06f6e00fb ("zink: fix heap-use-after-free on batch_state with sub-allocated pipe_resources")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27749 >
2024-02-22 19:04:09 +00:00
Mark Janes
dd0f6d70ba
pan/va: Add missing valhall_enums dep to bifrost_tests
...
bifrost_tests compilation fails if the valhall_enums.h has not been
generated.
Acked-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27738 >
2024-02-22 18:43:37 +00:00
Louis-Francis Ratté-Boulianne
439fce0c17
panfrost: Add AFBC packing support for RG formats
...
Only a matter of enabling it as packing itself works the same no
matter the number of components.
Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27471 >
2024-02-22 18:23:51 +00:00
Sagar Ghuge
c3244135fa
anv: Set timestampValidBits to 64bits
...
On Xe2+, timestamp register can hold value upto 64-bit.
This change also fixes the timestamp related tests on Xe2 platform.
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27713 >
2024-02-22 17:58:38 +00:00
Samuel Pitoiset
3004923ae3
radv: add support for conditional rendering on the compute queue with DGC
...
Conditional rendering is annoying to implement on ACE because there is
no predication packet like on GFX. With DGC it's even worse because
ACE is missing the IB2 packet which means it's not possible to predicate
the DGC IB entirely.
The provided solution is to always run the DGC prepare shader if
conditional rendering is enabled in order to generate a cmdbuf which
only contains NOPs.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27673 >
2024-02-22 17:32:58 +00:00
Samuel Pitoiset
f843027c22
radv: store/reset conditional rendering user info in the helpers
...
This also correctly initialize predication_op when the hw doesn't
support 32-bit predicate.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27673 >
2024-02-22 17:32:58 +00:00
Konstantin Seurer
3fed272da7
ci: Update llvmpipe trace checksums
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27603 >
2024-02-22 16:33:49 +00:00
Konstantin Seurer
41b5ff46aa
lavapipe: Advertise VK_KHR_shader_maximal_reconvergence
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27603 >
2024-02-22 16:33:49 +00:00
Konstantin Seurer
4d7beb22fa
gallivm: Consider the initial mask when terminating loops
...
Partial subgroups can lead to infinite loops otherwise.
cc: mesa-stable
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27603 >
2024-02-22 16:33:49 +00:00
Konstantin Seurer
eb3c96d5ed
llvmpipe: Use full subgroups when possible
...
Fixes computeFullSubgroups on lavapipe.
cc: mesa-stable
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27603 >
2024-02-22 16:33:48 +00:00
Jose Maria Casanova Crespo
277a5856e2
v3d: Implement GL_ARB_texture_barrier
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27550 >
2024-02-22 15:42:30 +00:00
Jose Maria Casanova Crespo
51ccba82ce
v3d: Early return if job is not writing the resource
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27550 >
2024-02-22 15:42:30 +00:00
Jose Maria Casanova Crespo
6f138819f4
v3d: Only flush jobs that write texture from different job submission.
...
Avoids flushing jobs that write a texture that is read by a job in the
same job submission.
Now we need to handle the case where a texture is written by the
graphics pipeline and it is read by a compute pipeline.
Before this patch, glTextureBarrier() could be implemented as a NOP in
v3d. So the driver was doing more flushing than needed when
glTextureBarrier was not used.
v2: Use V3D_FLUSH_ALWAYS for resources written by graphics pipeline
and read by compute insead of V3D_FLUSH_DEFAULT. (Iago Toral)
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27550 >
2024-02-22 15:42:30 +00:00
Jose Maria Casanova Crespo
7cbb47a86f
v3d: Fix indentation at v3d_flush_jobs_writing_resource
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27550 >
2024-02-22 15:42:30 +00:00
Pierre-Eric Pelloux-Prayer
c41f6ad764
mesa: deal with vbo_save_vertex_list::modes being NULL
...
This case was forgotten in the 9aa205668b .
Fixes: 9aa205668b ("mesa: inline {Create,Draw}GalliumVertexState callbacks")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10619
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27695 >
2024-02-22 15:01:41 +00:00
Pierre-Eric Pelloux-Prayer
9a00a360ad
wsi/wl: flush connection on swapchain failure
...
wayland-client stores up to MAX_FDS_OUT (28) outgoing fds and
then release them in batch later through close_fds.
While this is not a problem in normal situation, because the
app would also have a reference to the same buffers, this is
an issue when these buffers are released (eg: because the
swapchain creation failed).
In this situation wayland-client owns the last ref to these
buffers and prevent their deletion.
This is an issue with dEQP-VK.wsi.wayland.swapchain.simulate_oom.image_extent
because it creates swapchains in a fast loop with a failing allocator
to fail the swapchain creation.
Without this change, on a 16GB dGPU the test peaks at 95% VRAM / 60% GTT and
completes in 1.5 sec.
With this change, the max usage is 65% VRAM / 10% GTT and completes it
in 0.3 sec.
Reviewed-by: Sebastian Wick <sebastian.wick@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27592 >
2024-02-22 14:32:26 +00:00
Samuel Pitoiset
f9787864e0
radv: remove a TODO about adding mesh/task queries on GFX11
...
It's implemented and it's passing dEQP-VK.mesh_shader.ext.query.*.
Though, it's not enabled yet because task shader can still randomly
hang on RDNA3.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26304 >
2024-02-22 14:12:00 +00:00
Samuel Pitoiset
35e0c88f49
radv: add support for task shader invocations queries on GFX11
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26304 >
2024-02-22 14:12:00 +00:00
Samuel Pitoiset
b24e07e9ed
radv: add support for mesh primitives queries on GFX11
...
This is natively supported with new pipeline statistics.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26304 >
2024-02-22 14:12:00 +00:00
Samuel Pitoiset
4a6c18f503
radv: only enable emulated mesh/task shader invocations on GFX10.3
...
This shouldn't be enabled on GFX11.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26304 >
2024-02-22 14:12:00 +00:00
Jose Maria Casanova Crespo
babb82d81a
ci: Adds /usr/local/bin to PATH at piglit-traces.sh
...
yq and ci-fairy are installed in /usr/local/bin but on
script execution that route is not included by default
for all runners.
Identified on RPI4 runners.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27748 >
2024-02-22 13:26:07 +00:00
Samuel Pitoiset
c1418dcb3d
radv: re-emit more states when a shader compiled separately is bound
...
Shader configs are combined and they need to be re-emitted. Doesn't
fix anything known but this was obviously incorrect.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27699 >
2024-02-22 13:05:28 +00:00
Samuel Pitoiset
dc42ad4c6a
radv: simplify emitting VGT_ESGS_RING_ITEMSIZE for ESO
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27699 >
2024-02-22 13:05:28 +00:00
Samuel Pitoiset
78be19fc72
radv: rename radv_emit_shaders() to radv_emit_graphics_shaders()
...
Also RADV_CMD_DIRTY_SHADERS to ~ADV_CMD_DIRTY_GRAPHICS_SHADERS for
consistency.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27699 >
2024-02-22 13:05:28 +00:00
Samuel Pitoiset
76ccf71587
radv: simplify binding the GS copy shader with ESO
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27699 >
2024-02-22 13:05:28 +00:00
Erik Faye-Lund
3b23e9d89d
mesa/main: allow GL_BGRA for FBOs
...
The EXT_texture_format_BGRA8888 spec clearly defines GL_BGRA as a
color-renderable format, so we need to support it here as well.
This has been broken since the day support for the extension was added.
Oh well, let's fix it up!
Fixes: 1d595c7cd4 ("gles2: Add GL_EXT_texture_format_BGRA8888 support")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27720 >
2024-02-22 12:35:17 +00:00
Lionel Landwerlin
fa34241932
intel/ci: bump anv/tgl fraction to 6
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27693 >
2024-02-22 08:30:32 +00:00
Lionel Landwerlin
da5a6d185c
ci/anv: add more testing for optimization paths
...
Anv implements optimization paths for large numbers of queries
clears/copies and indirect draws.
We would like to make sure those don't break.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27693 >
2024-02-22 08:30:32 +00:00
Samuel Pitoiset
59b0f7b6b7
radv: free NIR shaders when creating linked shaders with ESO
...
This was leaking memory too.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27715 >
2024-02-22 07:48:02 +00:00
Samuel Pitoiset
77f036d574
radv: fix a big memleak with VK_EXT_shader_object
...
Shaders and binaries weren't freed at all!
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27715 >
2024-02-22 07:48:02 +00:00
Samuel Pitoiset
e88a5842b2
radv: remove the union in radv_shader_object
...
It's actually more annoying to deal with.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27715 >
2024-02-22 07:48:02 +00:00
Samuel Pitoiset
9ae8f0f9d7
radv: fix indirect dispatches on compute queue with conditional rendering on GFX7
...
COND_EXEC needs to happen right before PKT3_DISPATCH_INDIRECT.
Like this combination will probably never happen but better to have
it fixed anyways.
Fixes: 5c03cdbd02 ("radv: fix indirect dispatches on the compute queue on GFX7")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27655 >
2024-02-22 07:23:43 +00:00
Samuel Pitoiset
776f4523f9
radv: fix binary shaders compatibility with ESO
...
RADV needs to assume that all features that affect shaders might be
enabled. Note that disable_trunc_coord is specific to DXVK and
mesh_shader_queries is still disabled by default.
This fixes dEQP-VK.shader_object.binary.device_features.* on GFX10+.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27632 >
2024-02-22 07:03:04 +00:00
Samuel Pitoiset
f123a04256
radv: introduce a per physical device cache key
...
This introduces a new level cache key for physical device. The main
motivation is for shader object because the Vulkan spec says:
"Guaranteed compatibility of shader binaries is expressed through a
combination of the shaderBinaryUUID and shaderBinaryVersion members of
the VkPhysicalDeviceShaderObjectPropertiesEXT structure queried from a
physical device. Binary shaders retrieved from a physical device with
a certain shaderBinaryUUID are guaranteed to be compatible with all
other physical devices reporting the same shaderBinaryUUID and the
same or higher shaderBinaryVersion."
Meaning that with ESO, the driver needs to compile shaders for the
worst case with every possible logical device features enabled.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27632 >
2024-02-22 07:03:04 +00:00
Samuel Pitoiset
c303d399ff
radv: initialize disk cache slightly later when creating a physical device
...
This will allow us to use a per physical device cache key.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27632 >
2024-02-22 07:03:04 +00:00
Samuel Pitoiset
0543394bfa
radv: move mesh_fast_launch_2 to radv_physical_device
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27632 >
2024-02-22 07:03:04 +00:00
Timothy Arceri
0f0fa64eed
glsl: move some lowering to the compiler
...
Rather than doing this lowering potentially multiple times when a
shader is relinked we can instead do it once in the compiler.
This change also gets us closer to converting to NIR at compile
time.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27690 >
2024-02-22 05:26:16 +00:00
Timothy Arceri
82d617e8b1
glsl: fix potential crash in expression flattening
...
The base_ir variable used by this pass is set via visit_list_elements()
however this pass was skipping visit_list_elements() for the initial
list of instructions i.e. it was skipping it for globals so if we
ended up trying to flatten an expression on a global we would segfault.
To quote the code comment on the base_ir variable:
"This is implemented by visit_list_elements -- if the visitor is
not called by it, nothing good will happen"
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27743 >
2024-02-22 04:44:44 +00:00
Mike Blumenkrantz
ac45d893d6
zink: handle stencil_fallback in zink_clear_depth_stencil
...
ctx->blitting will already be set at this point, meaning the flag
should not be modified and no barriers are required
fixes stencil blitting on nvk
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27735 >
2024-02-22 02:13:35 +00:00
Iván Briano
e3d4897dfe
anv: flush query clears for all gens
...
Fixes: f733215c12 ("anv: enable query clear/copy using shaders on MTL/ARL")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27741 >
2024-02-22 01:45:45 +00:00
Dave Airlie
62f65f4bfd
egl/dri2: if zink is preferred from dri3 skip dri2 paths.
...
This just avoids some error prints.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27739 >
2024-02-21 23:39:06 +00:00
Paulo Zanoni
a590a8ef45
anv+zink/ci: remove recently fixed tests from the crash list
...
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26410 >
2024-02-21 22:58:42 +00:00
Paulo Zanoni
2526308dcd
anv/sparse: allow binding operations to match the resource size
...
The resource size doesn't need to match the binding granularity. For
example, if the user wants to create a 32kb buffer, Anv will require
its memory to have 64kb, but the buffer size will still be the
original 32kb. And the spec says:
VUID-VkSparseMemoryBind-size-01100:
"size must be less than or equal to the size of the resource minus
resourceOffset"
VUID-VkSparseMemoryBind-size-01102:
"size must be less than or equal to the size of memory minus
memoryOffset"
So when binding such buffer, size should actually be the lesser of the
two values: 32kb, and we have to accept that. Since our binding
granularity is 64kb, we're safe to simply extend the requested size to
match our binding granularity, since we already require the memory to
be appropriately sized.
None of this is exercised by dEQP. This was caught by
piglit/arb_sparse_buffer-basic using Zink.
Testcase: piglit/arb_sparse_buffer-basic
Issue: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10220
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26410 >
2024-02-21 22:58:42 +00:00
Paulo Zanoni
a501a840a3
anv/sparse: add an extra step before anv_sparse_bind_resource_memory()
...
I need to add some sparse-related checks that require having the
anv_buffer and anv_image, and putting them directly inside
anv_queue_submit_sparse_bind_locked() doesn't feel like the right
thing to do. Here we change the interface so now we have
anv_sparse_bind_buffer() and anv_sparse_bind_image_opaque() as the
main interface into anv_sparse.c, so they both can call the lower
level anv_sparse_bind_resource_memory() function.
In the next patch we'll be adding changing the code of the functions
we just created, justifying their addition.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26410 >
2024-02-21 22:58:42 +00:00
Paulo Zanoni
c3aa7e42ba
zink: fix bind size handling in buffer_bo_commit()
...
What we're checking in the assertion we're changing seems to be what
the OpenGL spec describes as:
"<offset> must be an integer multiple of the implementation
dependent constant SPARSE_BUFFER_PAGE_SIZE_ARB, and <size> must
either be a multiple of SPARSE_BUFFER_PAGE_SIZE_ARB, or extend to
the end of the buffer's data store"
There are two sizes in question here: the size of the VkBuffer and the
size of its corresponding VkDeviceMemory. It looks like
bo->base.base.size corresponds to VkDeviceMemory, while res->obj->size
corresponds to VkBuffer. Here we're really talking about the VkBuffer
size, so fix the assertion.
On Anv, we're hitting this issue because piglit's
arb_sparse_buffer-basic creates a buffer of size 32k and tries to
issue a bind operation with size 32k. The catch here is that Anv
requires the memory to be 64kb, so Zink gets confused and hits the
assertion.
Issue: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10220
Testcase: piglit/arb_sparse_buffer-basic
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26410 >
2024-02-21 22:58:42 +00:00
Karol Herbst
83895d4025
intel: Only build shaders with anv and iris
...
This allows crocus and hasvk to be built without needing any of the OpenCL
stuff.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10634
Fixes: b52e25d3a8 ("anv: rewrite internal shaders using OpenCL")
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27663 >
2024-02-21 20:53:36 +00:00
Karol Herbst
815a6647eb
meson: do not pull in clc for clover
...
Fixes: 01d0d94319 ("meson: Simplify clc expression")
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27663 >
2024-02-21 20:53:36 +00:00
Karol Herbst
6474f8c2ce
clc: include opencl-c.h for extensions needing it
...
This also allows tools build on clc to drop their workaround to include
it themselves. Rusticl might need it once it supports extensions which
need this file pulled in.
Later if the need to include it changes based on llvm version, we can
easily handle this in clc.
The main reason to include it only conditionally is the massively
reduction in compilation time. It also removes the mental burden from
users of clc to deal with any of this themselves.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10633
Fixes: 37a1346347 ("meson: remove opencl-external-clang-headers option and rely on shared-llvm")
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27663 >
2024-02-21 20:53:36 +00:00
Marek Olšák
11dbdedf46
st/mesa: optimize st_update_arrays using lots of C++ template variants
...
This adds the following template options:
- add an option to fill TC set_vertex_buffers from st_update_array directly
(always true without u_vbuf, so always used with radeonsi)
- add an option saying that there are no zero-stride attribs
- add an option saying that there are no user buffers
(always true with glthread, so always used with radeonsi)
- add an option saying that there is an identity mapping between vertex
buffers and vertex attribs
I have specifically chosen those options because they improve performance.
I also had other options that didn't, like unrolling the setup_arrays loop.
This adds a total of 42 variants of st_update_array_templ for various cases.
Usually only a few of them are used in practice.
Overhead of st_prepare_draw in VP2020/Catia:
Before: 8.5% of CPU used
After: 6.13% of CPU used
That's 2.37% improvement. Since there are 4 threads using the CPU and
the percentage includes all threads in the system, the improvement for
the GL thread is about 8% (roughly 2.17% * 4; each thread at 25% of global
utilization means 100% utilization in 4 cores).
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27731 >
2024-02-21 18:36:44 +00:00
Marek Olšák
045b1cda57
st/mesa: add VAO fast path C++ template variants for st_update_array callback
...
This way we execute 1 half of setup_arrays with the fast path enabled,
and the other half with the fast path disabled, so it's not that much
of code duplication, and it will facilitate further optimizations.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27731 >
2024-02-21 18:36:44 +00:00
Marek Olšák
7a5ddd29c2
mesa: don't use the slow VAO path except for drivers that want to use it
...
The fast path is the only focus of optimizations, so let's stop using
the slow one if the fast path is allowed. Only display lists with drivers
lacking draw_vertex_state use it, and drivers not exposing
PIPE_CAP_ALLOW_DYNAMIC_VAO_FASTPATH use it.
This changes gl_constants::AllowDynamicVAOFastPath to UseVAOFastPath
because it's no longer turned on/off dynamically, but only one of them
is always used per VAO. It also removes the IsDynamic and NumUpdates
fields of VAOs.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27731 >
2024-02-21 18:36:44 +00:00
Marek Olšák
f8cd9604f9
d3d12: make DrawTransformFeedback not depend on the vertex buffer offset
...
Suggested by Jesse Natalie to fix an issue where this worked with
buffer_offset == 0 and src_offset != 0, but not the other way around.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27731 >
2024-02-21 18:36:44 +00:00
José Roberto de Souza
341d0fcbf6
intel/tools/error_decode: Detect and split error dump file parsing by KMD
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27728 >
2024-02-21 18:10:54 +00:00
José Roberto de Souza
1b07bb12d3
intel/tools/error_decode: Add support to search for Xe KMD error dumps
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27728 >
2024-02-21 18:10:54 +00:00
José Roberto de Souza
77484ab6cf
intel/tools/error_decode: Simply error message handling
...
In the code path without arguments it tries 3 different paths and error
messages are overwritten one by other, in this case any of those
error messages are irrelevant.
For the code path with arguments is similar, as it already have a
fprintf(stderr) in the caller of open_error_state_file().
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27728 >
2024-02-21 18:10:54 +00:00
José Roberto de Souza
70e2384f8f
intel/tools/error_decode: Add function to try to open error dump file
...
Just to simply a bit open_error_state_file().
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27728 >
2024-02-21 18:10:54 +00:00
José Roberto de Souza
7cd677c491
intel/common: Remove more i915_drm.h includes from common code
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27728 >
2024-02-21 18:10:54 +00:00
José Roberto de Souza
1b61786ac7
intel: Move intel_define.h to i915/intel_define.h
...
This file defines i915 context priorities, all users in Iris and ANV
have moved to i915 specific files, so the only remaining for this file
is move it to i915 folder so it do not gets included in common code
by mistake.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27728 >
2024-02-21 18:10:54 +00:00
José Roberto de Souza
a862b34b28
iris: Remove more i915_drm.h includes from common code
...
Iris now has just one i915_drm.h include in the common code.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27728 >
2024-02-21 18:10:54 +00:00
José Roberto de Souza
b48311adce
iris: Move i915 set and get tiling uAPI calls to i915 specific code
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27728 >
2024-02-21 18:10:54 +00:00
José Roberto de Souza
c15ae2532d
iris: Remove iris_bo::kflags
...
This field was being set with i915 specific flags, replacing it
by a capture boolean we can have the same behavior with less
i915_drm.h usage in the common code.
This also allow us to implement VM capture in Xe KMD.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27728 >
2024-02-21 18:10:54 +00:00
José Roberto de Souza
af22779438
iris: Set (EXEC_OBJECT_SUPPORTS_48B_ADDRESS | EXEC_OBJECT_PINNED) in a single place
...
(EXEC_OBJECT_SUPPORTS_48B_ADDRESS | EXEC_OBJECT_PINNED) is set in every
place that setups a iris_bo, so here moving it to a single and i915
specific place.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27728 >
2024-02-21 18:10:54 +00:00
Matt Turner
9f32e1a489
anv/drirc: Add option to control implicit sync on external BOs
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10546
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27704 >
2024-02-21 17:19:26 +00:00
Caio Oliveira
cfc8cf198c
intel/meson: Fix warning about broken str.format
...
Meson complains:
../src/intel/decoder/meson.build:67: DEPRECATION: Project uses feature that was always broken, and is now deprecated since '1.3.0': str.format: Value other than strings, integers, bools, options, dictionaries and lists thereof..
So instead of trying to format a file, change gentest_xml to store just
the string. Need to adapt genxml_path to consider the current source
dir, but everything else works like before.
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27706 >
2024-02-21 17:02:04 +00:00
Caio Oliveira
8f38757067
intel/meson: Remove usage of meson.source_root and meson.build_root
...
Both are deprecated and the alternatives are already being used in
the project, so start using those here too:
```
../src/intel/shaders/meson.build:64: WARNING: Project targets '>= 1.1.0' but uses feature deprecated since '0.56.0': meson.source_root. use meson.project_source_root() or meson.global_source_root() instead.
../src/intel/shaders/meson.build:65: WARNING: Project targets '>= 1.1.0' but uses feature deprecated since '0.56.0': meson.build_root. use meson.project_build_root() or meson.global_build_root() instead.
```
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27706 >
2024-02-21 17:02:04 +00:00
Marek Olšák
a3d7c71ac2
mesa: replace _mesa_HashTable::ht with util_sparse_array for faster lookups
...
This reduces the overhead of _mesa_HashLookupLocked by 19% according to
sysprof, which could be inaccurate.
While this commit inlines _mesa_HashLookupLocked for a better gain,
the testing was done without inlining to make it fair.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27494 >
2024-02-21 16:04:51 +00:00
Marek Olšák
bccc983012
mesa: use util_idalloc_foreach for looping in _mesa_HashTable
...
We'll have to do this when we switch to util_sparse_array, so do it
now just to test this.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27494 >
2024-02-21 16:04:51 +00:00
Marek Olšák
19111ea8e6
mesa: remove isGenName parameter from _mesa_HashInsert
...
Make it behave like it's always true.
There is no disadvantage in keeping it always true, but when it's
incorrectly false, things break.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27494 >
2024-02-21 16:04:51 +00:00
Marek Olšák
1acfc0fc8e
mesa: declare _mesa_HashTable inside structures instead of as a pointer
...
This removes the pointer indirection every time we access the hash table.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27494 >
2024-02-21 16:04:51 +00:00
Marek Olšák
da0761f333
mesa: declare _mesa_HashTable::id_alloc as non-pointer
...
split from "mesa: enable GL names reuse for _mesa_HashTable, remove the alternative"
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27494 >
2024-02-21 16:04:51 +00:00
Marek Olšák
0589dfe4e2
util/idalloc: optimize foreach by tracking the greatest non-zero element
...
also add util_idalloc_foreach_no_zero_safe.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27494 >
2024-02-21 16:04:51 +00:00
Chris Rankin
e1e84b0721
vdpau: Declare texture object as immutable using helper function.
...
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10618
Signed-off-by: Chris Rankin <rankincj@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27681 >
2024-02-21 14:54:48 +00:00
Rhys Perry
d0595e4805
aco/ra: fix GFX9- writelane
...
061b8bfd29 moved handling of fixed operands earlier, but it should have
moved the fixing of writelane operands earlier too.
This fixes Crucible's func.uniform-subgroup.exclusive.imin64 on GFX8.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Fixes: 061b8bfd29 ("aco/ra: rework fixed operands")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27583 >
2024-02-21 12:40:14 +00:00
Rhys Perry
53800191a3
aco/ra: don't initialize assigned in initializer list
...
According to Valgrind, vcc/m0 are uninitialized and this fixes it.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27583 >
2024-02-21 12:40:14 +00:00
Mike Blumenkrantz
30b7771aa9
ci: make clang-format job warn on failure instead of killing the pipeline
...
it's insane to fail a pipeline over formatting errors.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27702 >
2024-02-21 12:04:08 +00:00
Lionel Landwerlin
137b7e874f
anv: disable Wa_16013994831
...
We've implemented another workaround completely disabling high
priority preemption.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: e6e320fc79 ("anv: make Wa_16013994831 to use intel_needs_workaround")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27716 >
2024-02-21 11:39:50 +00:00
Samuel Pitoiset
78ea304a06
spirv: only consider IO variables when adjusting patch locations for TES
...
With TES, the primitive ID is an input variable but it's considered a
sysval by SPIRV->NIR. Though, its value is greater than
VARYING_SLOT_VAR0 which means its location was adjusted by mistake.
This fixes compiling a tessellation evaluation shader in debug build
with Enshrouded.
Fixes: dfbc03fa88 ("spirv: Fix locations for per-patch varyings")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27413 >
2024-02-21 10:36:07 +00:00
Kenneth Graunke
c12300844d
intel/fs: Don't rely on CSE for VARYING_PULL_CONSTANT_LOAD
...
In the past, we didn't have a good solution for combining scalar loads
with a variable index plus a constant offset. To handle that, we took
our load offset and rounded it down to the nearest vec4, loaded an
entire vec4, and trusted in the backend CSE pass to detect loads from
the same address and remove redundant ones.
These days, nir_opt_load_store_vectorize() does a good job of taking
those scalar loads and combining them into vector loads for us, so we
no longer need to do this trick. In fact, it can be better not to:
our offset need only be 4 byte (scalar) aligned, but we were making it
16 byte (vec4) aligned. So if you wanted to load an unaligned vec2,
we might actually load two vec4's (___X | Y___) instead of doing a
single load at the starting offset.
This should also reduce the work the backend CSE pass has to do,
since we just emit a single VARYING_PULL_CONSTANT_LOAD instead of 4.
shader-db results on Alchemist:
- No changes in SEND count or spills/fills
- Instructions: helped 95, hurt 100, +/- 1-3 instructions
- Cycles: helped 3411 hurt 1868, -0.01% (-0.28% in affected)
- SIMD32: gained 5, lost 3
fossil-db results on Alchemist:
- Instrs: 161381427 -> 161384130 (+0.00%); split: -0.00%, +0.00%
- Cycles: 14258305873 -> 14145884365 (-0.79%); split: -0.95%, +0.16%
- SIMD32: Gained 42, lost 26
- Totals from 56285 (8.63% of 652236) affected shaders:
- Instrs: 13318308 -> 13321011 (+0.02%); split: -0.01%, +0.03%
- Cycles: 7464985282 -> 7352563774 (-1.51%); split: -1.82%, +0.31%
From this we can see that we aren't doing more loads than before
and the change is pretty inconsequential, but it requires less
optimizing to produce similar results.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27568 >
2024-02-20 23:16:27 -08:00
Iago Toral Quiroga
1880e7cfed
v3d,v3dv: fix BO allocation for shared vars
...
We need to allocate "shared size" bytes for each workgroup but
we were incorrectly multiplying by the number of workgroups in
each supergroup instead, which would typically cause us to allocate
less memory than actually required.
The reason this issue was not visible until now is that the kernel
driver is using a large page alignment on all BO allocations and
this causes us to "waste" a lot of memory after each allocation.
Incidentally, this wasted memory ensured that out of bounds
accesses would not cause issues since they would typically land
in unused memory regions in between aligned allocations, however,
experimenting with reduced memory aligments raised the issue,
which manifested with the UE4 Shooter demo as a GPU hang caused
by corrupted state from out of bounds memory writes to CS
shared memory.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27675 >
2024-02-21 06:17:55 +00:00
Dave Airlie
f47858b837
nvk: fix dri options leak.
...
Noticed in valgrind.
Fixes: edb5229538 ("nvk: Hook up driconf for nvk_instance")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27712 >
2024-02-21 05:23:09 +00:00
Dave Airlie
fd04c14306
nouveau/winsys: fix bda heap leak.
...
found with valgrind.
Fixes: b4cfac64c8 ("nvk: Add a separate VMA heap for BDA capture/replay")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27712 >
2024-02-21 05:23:09 +00:00
Mike Blumenkrantz
2ad0146179
zink: use KHR_dynamic_rendering_local_read
...
no more renderpasses!
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27299 >
2024-02-21 04:24:36 +00:00
Mike Blumenkrantz
19789aeeb1
zink: hook up KHR_dynamic_rendering_local_read
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27299 >
2024-02-21 04:24:36 +00:00
Faith Ekstrand
3b658028dd
nvk: Invalidate the texture cache before MSAA resolves
...
Fixes: 4bd2ba31fc ("nvk: Use meta for MSAA resolves")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27710 >
2024-02-21 04:07:18 +00:00
Jesse Natalie
705e646e38
microsoft/compiler: Fix SM6.6 non-bindless handle annotation for UAV counter
...
Counter bool is 8, not 6.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27708 >
2024-02-21 03:39:22 +00:00
Mike Blumenkrantz
ccbf9b0ea7
zink: force host-visible allocations for MAP_COHERENT resources
...
this fixes persistent maps for systems without any BAR
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27707 >
2024-02-21 02:57:06 +00:00
Mike Blumenkrantz
fb2ae7736f
zink: add a second fence disambiguation case
...
this is the case where:
* a batch A is submitted
* a no-op flush occurs
* the frontend gets the fence from already-flushed batch A
* zink recycles batch A
* the frontend waits on fence A
fixes #10598
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27623 >
2024-02-21 02:28:48 +00:00
Dave Airlie
6a688e65a0
loader: handle picking zink for nouveau for certain GPUs.
...
This adds NOUVEAU_USE_ZINK env var, but also has commented out
code to pick it for turing+ if mesa is built with nvk and zink.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27628 >
2024-02-21 11:16:25 +10:00
Dave Airlie
caf99133ec
glx/dri3: handle zink fallback if loader picks it.
...
if we get a zink driver selected for the fd then don't bind it to dri3
return a special error and this should stop dri2 binding it.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27628 >
2024-02-21 11:16:22 +10:00
Dave Airlie
b907eb4750
egl: don't bind zink under dri2/3
...
If we are in dri2/3 paths and the loader picks zink for this fd
don't bind it here, let the fallbacks work.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27628 >
2024-02-21 11:15:38 +10:00
Caio Oliveira
ccbccfff91
iris: Include brw_compiler.h only when needed
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27646 >
2024-02-21 00:38:35 +00:00
Caio Oliveira
376296a8c9
iris: Move iris_get_compiler_options to iris_program.c
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27646 >
2024-02-21 00:38:35 +00:00
Caio Oliveira
880e452abf
iris: Add helper for indirect_ubos_use_sampler
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27646 >
2024-02-21 00:38:35 +00:00
Caio Oliveira
947ef049df
iris: Add helper to access use_tcs_multi_patch
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27646 >
2024-02-21 00:38:35 +00:00
Caio Oliveira
634a8ece67
iris: Add IRIS_MAX_* constants to replace BRW_MAX_* usage
...
They are still the same, but we don't rely on the BRW compiler
specific symbols. STATIC_ASSERT catches at compile time if they
change independently. At some point we might revisit the need
for them to match.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27646 >
2024-02-21 00:38:35 +00:00
Caio Oliveira
875aa527b8
iris: Move compiler creation to iris_program.c
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27646 >
2024-02-21 00:38:35 +00:00
Caio Oliveira
19574a8156
iris: Use uint32_t instead of brw_param_builtin
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27646 >
2024-02-21 00:38:35 +00:00
Caio Oliveira
0b135c9f80
iris: Take ownership of prog_data when applying it
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27646 >
2024-02-21 00:38:35 +00:00
Caio Oliveira
04364768f2
iris: Reduce dependency on brw_*_prog_data structs
...
Once the brw_*_prog_data are available, copy down all the relevant
fields to iris_compiled_shader (and iris_*_data corresponding structs)
so that most of Iris code will be independent of brw types.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27646 >
2024-02-21 00:38:35 +00:00
Caio Oliveira
9fd4b7460f
iris: Don't use prog_data to guard 3DSTATE_CONSTANT_* code
...
At this point in the code, the prog_data is always non-NULL (and was
already used before by setup_constant_buffers() to fill push_bos.
Suggested by Ken.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27646 >
2024-02-21 00:38:35 +00:00
Caio Oliveira
be13c3ef9f
iris: Add stage to iris_compiled_shader
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27646 >
2024-02-21 00:38:35 +00:00
Caio Oliveira
8ae528331c
intel/compiler: Use "intel" prefix for walk_order enum
...
Will be used later in non-brw specific code in Iris.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27646 >
2024-02-21 00:38:35 +00:00
Timothy Arceri
74534397ac
glsl: split var copies before lowering named interfaces
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10593
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27669 >
2024-02-20 23:29:17 +00:00
Timothy Arceri
4c11119825
glsl: support array wildcards in lower named interface blocks
...
Will be required with the change in the following patch.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27669 >
2024-02-20 23:29:17 +00:00
Timothy Arceri
ec240e2cd8
nir: allow gather info to handle nir_deref_type_array_wildcard
...
Needed for some changes to the glsl nir linker in the following
patches.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27669 >
2024-02-20 23:29:17 +00:00
Kenneth Graunke
1497f4e0c2
intel/fs: Don't include sync.nop in instruction count statistics
...
With the advent of software scoreboarding, we emit sync instructions
in various places to synchronize the execution pipelines. This results
in assembly being littered with a bunch of sync.nop instructions. That
means that when you reorder anything in the program, the scoreboarding
changes, and the number of sync.nops can vary wildly - even if the code
isn't really materially better or worse. This makes it hard to use
tools like shader-db or fossil-db on post-Icelake platforms.
For now, exclude sync.nops from the instruction count statistic. One
day we may want to consider improving the software scoreboarding pass
to emit fewer redundant sync.nop instructions, at which point tracking
this as a separate stat might be useful. For now though, it's simply
cluttering and confusing our results.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27701 >
2024-02-20 22:26:09 +00:00
Mike Blumenkrantz
83d1241cf5
zink: add checks/compat for low-spec descriptor buffer implementations
...
for implementations that can only support 1 descriptor buffer:
* prefer templates
* allow db if explicitly requested, but disable bindless (for testing)
fix #10640
Fixes: b8b51d96b0 ("zink: delete maxDescriptorBufferBindings checks")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27696 >
2024-02-20 21:43:15 +00:00
Caio Oliveira
60cf1ede4f
iris: Remove no-ops from storage image lowering
...
The atomics lowering only applies to Gfx <= 7.5.
The get_size lowering only applies to Gfx <= 8.
Note: the lower_store still applies for Gfx9+, to perform color
conversion.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27638 >
2024-02-20 19:47:07 +00:00
Caio Oliveira
078dbc4d33
anv: Remove lower_atomics from storage image lowering opts
...
The code only applies to Gfx <= 7.5, so it is a no-op.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27638 >
2024-02-20 19:47:07 +00:00
Mike Blumenkrantz
1ab94ca17b
mesa: add more driver support checks for more format queries
...
fixes #10641
cc: mesa-stable
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27698 >
2024-02-20 18:27:10 +00:00
Mike Blumenkrantz
1e849b12f5
vk/wsi/x11/sw: use swapchain depth for putimage
...
this is otherwise broken for 32bit depth windows
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27605 >
2024-02-20 15:47:45 +00:00
Mike Blumenkrantz
198719e80e
drisw/egl: delete unused buffer age handling
...
age is never used here
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27554 >
2024-02-20 15:12:38 +00:00
Mike Blumenkrantz
81ecb21d50
drisw: hook up EXT_buffer_age
...
drisw only has a single drawable, which means the buffer age is always 1
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27554 >
2024-02-20 15:12:38 +00:00
Mike Blumenkrantz
9eb4b86e76
egl/x11/swrast: deduplicate ANGLE_sync_control_rate enablement
...
no functional changes
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27554 >
2024-02-20 15:12:37 +00:00
Lionel Landwerlin
0eb3c850c6
intel/clc: workaround LLVM17 opaque pointers
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Fixes: b52e25d3a8 ("anv: rewrite internal shaders using OpenCL")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27637 >
2024-02-20 14:41:43 +00:00
Lionel Landwerlin
62baa4df5f
intel/clc: lower temp function/shader variables together
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Fixes: 4fd7495c69 ("intel/clc: add ability to output NIR")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27637 >
2024-02-20 14:41:43 +00:00
Lionel Landwerlin
19aeb274e6
genxml: generate opencl temporary variables with private qualifier
...
To avoid generic pointers, makes the NIR prints a bit more readable.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Fixes: 41b2ed65 ("genxml: generate opencl packing headers")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27637 >
2024-02-20 14:41:43 +00:00
Gert Wollny
a95a2e4d3f
zink/nir_to_spirv: emit ViewportIndex cap also for inputs
...
This fixes validation error VUID-VkShaderModuleCreateInfo-pCode-08737 for
piglits:
spec@oes_viewport_array@viewport-gs-write-simple
spec@oes_viewport_array@viewport-gs-writes-in-range
spec@arb_fragment_layer_viewport@viewport-gs-no-write
spec@arb_fragment_layer_viewport@viewport-gs-write-simple
spec@arb_fragment_layer_viewport@viewport-gs-writes-in-range
spec@arb_fragment_layer_viewport@viewport-no-gs
spec@arb_fragment_layer_viewport@viewport-vs-write-gs-no-write-simple
spec@arb_fragment_layer_viewport@viewport-vs-write-simple
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27694 >
2024-02-20 13:39:34 +00:00
Lionel Landwerlin
96ab1d65cc
anv: fix emission of Wa_14015055625
...
When moving the static part, I missed that the
pipeline->primitive_id_override field isn't set yet when we check it
to emit 3DSTATE_TE.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 1e081bd680 ("anv: split 3DSTATE_TE packing between static & dynamic parts")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27692 >
2024-02-20 09:49:00 +00:00
Oskar Viljasaar
68f80f9b0f
vulkan/properties: Start looping from the next member in GPDP2
...
We don't need to start iterating from `pProperties`, as the first member
is already handled in vk_common_GetPhysicalDeviceProperties2. Eliminate
this iteration by starting from pProperties->pNext.
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27671 >
2024-02-20 09:16:23 +00:00
Samuel Pitoiset
a5bdc4b19a
radv: fix a compilation warning in radv_bind_graphics_shaders()
...
../src/amd/vulkan/radv_cmd_buffer.c: In function ‘radv_bind_graphics_shaders’:
../src/amd/vulkan/radv_cmd_buffer.c:9366:65: warning: array subscript -1 is below array bounds of ‘struct radv_shader *[14]’ [-Warray-bounds=]
9366 | cmd_buffer->state.last_vgt_shader = cmd_buffer->state.shaders[last_vgt_api_stage];
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27670 >
2024-02-20 08:47:18 +00:00
Guilherme Gallo
41cd32d10e
ci/lava: Broader R8152 error handling
...
The r8152 error detection is now considering any order of the known
patterns to detect variations of the r8152 issues during the test phase.
This includes a small refactoring for eventual new issues.
Additionally, adjusted the timing for setting the `start_time` in
`test_lava_job_submitter.py` to ensure consistency and reliability in
test execution, aligning the start time closer to the job submission
process.
With this fix, the bad state shown in the following job will be
detected:
https://gitlab.freedesktop.org/drm/msm/-/jobs/55033953
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27688 >
2024-02-20 00:48:24 +00:00
Mike Blumenkrantz
c6635c09d0
zink: avoid infinite recursion on (very) small BAR systems in bo alloc
...
this should only try a full reclaim if possible, not unconditionally
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27606 >
2024-02-19 19:27:16 +00:00
Mike Blumenkrantz
817ca5147e
zink: compute bo unique_id on use, not creation
...
this avoids wasting ids in suballocated slabs
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27606 >
2024-02-19 19:27:16 +00:00
Mike Blumenkrantz
8c3adf749d
zink: add an assert for dummy fb surface creation
...
add some info in the improbable case that this fails
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27606 >
2024-02-19 19:27:16 +00:00
Mike Blumenkrantz
8bad4205c6
zink: validate sample count on image create
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27606 >
2024-02-19 19:27:16 +00:00
Mike Blumenkrantz
386450b10e
zink: pre-check formats for samplecount support
...
this should allow frontends to accurately detect unsupported format+sample
combinations instead of just failing at resource creation
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27606 >
2024-02-19 19:27:15 +00:00
Mike Blumenkrantz
f827055cb4
zink: flag the use_img as unsync access with buf2img copies, not the swapchain
...
these are not the same
Fixes: a0510b23f6f ("zink: add automatic swapchain readback using heuristics")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27606 >
2024-02-19 19:27:15 +00:00
Mike Blumenkrantz
b8b51d96b0
zink: delete maxDescriptorBufferBindings checks
...
only one descriptor buffer is used now
Fixes: 13c6ad0038 ("zink: use a single descriptor buffer for all non-bindless types")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27685 >
2024-02-19 17:12:37 +00:00
Samuel Pitoiset
2deaf632e2
radv: use radv_shader_info for computing NGG LDS layout
...
This should be similar.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27575 >
2024-02-19 16:30:08 +00:00
Samuel Pitoiset
21577bfacb
radv: store the number of outputs for VS/TES as NGG
...
To compute NGG info without relying on NIR.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27575 >
2024-02-19 16:30:08 +00:00
Samuel Pitoiset
5e1da1d10f
radv: determine the number of invocations only for VS/TES as NGG
...
To make it clear that this doesn't depend on GS.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27575 >
2024-02-19 16:30:08 +00:00
Samuel Pitoiset
12b5c3f00e
radv: set radv_vgt_shader_key::ngg_streamout for ESO
...
Not used yet, but will be needed.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27575 >
2024-02-19 16:30:08 +00:00
Samuel Pitoiset
9f660d8c72
radv: prefix radv_vgt_shader_key::streamout with ngg
...
This is only for NGG streamout (GFX11).
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27575 >
2024-02-19 16:30:08 +00:00
Samuel Pitoiset
b98a7abcd6
radv: determine the ES stage for merged NGG shaders compiled separately
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27575 >
2024-02-19 16:30:08 +00:00
Samuel Pitoiset
eea75777be
radv: pass the ES stage when emitting geometry shader with ESO
...
Not used yet, but will be needed for NGG support.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27575 >
2024-02-19 16:30:08 +00:00
Karol Herbst
9dcc20bccc
meson/rusticl: import rust instead of unstable-rust
...
The rust module has been stabilized since meson 1.0 and we require 1.3.1
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10627
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27679 >
2024-02-19 15:44:59 +00:00
Mike Blumenkrantz
fba34ae5f5
zink: add a750 baseline
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27683 >
2024-02-19 15:27:48 +00:00
Corentin Noël
dd6decfaba
zink: do not use undefined stage mask if on missing KHR_synchronization2
...
VK_PIPELINE_STAGE_NONE can only be set as dstStageMask if KHR_synchronization2
is defined.
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27682 >
2024-02-19 15:04:04 +00:00
Corentin Noël
7cafe65ea1
zink: use symbolic values instead of 0
...
Just make it easier to remember which parameter is accepting which type.
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27682 >
2024-02-19 15:04:04 +00:00
Patrick Lerda
3b90c46bdf
r300: fix vertex_buffer related refcnt imbalance
...
Indeed, vertex_buffer was not properly freed.
For instance, this issue is triggered with:
"piglit/bin/fcc-read-after-clear blit rb -auto -fbo"
while setting GALLIUM_REFCNT_LOG=refcnt.log.
Fixes: 8a963d122d ("r300g/swtcl: don't do stuff which is only for HWTCL")
Signed-off-by: Patrick Lerda <patrick9876@free.fr >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27678 >
2024-02-19 14:48:18 +00:00
Mike Blumenkrantz
fb97141131
zink: always enable glsl_correct_derivatives_after_discard
...
this matches radeonsi behavior and eliminates the driconf handling
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27489 >
2024-02-19 14:26:49 +00:00
Lionel Landwerlin
63676ed502
anv: fix Wa_16013994831 macros
...
The commit that switched to the WA framework forgot to update one of
the ifdef section.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: e6e320fc79 ("anv: make Wa_16013994831 to use intel_needs_workaround")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27676 >
2024-02-19 12:48:33 +00:00
Lionel Landwerlin
682c23aa06
anv: remove unused definition
...
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27504 >
2024-02-19 11:10:29 +00:00
Lionel Landwerlin
27a7c5447d
anv: reenable ANV_ALWAYS_BINDLESS
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27504 >
2024-02-19 11:10:29 +00:00
Lionel Landwerlin
dbee85713f
anv: factor out descriptor buffer flushing
...
Take the opportunity to fix the flush of the descriptor buffer surface
when needed. Previously we would only flush it if the shader used one
of the push descriptor.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27504 >
2024-02-19 11:10:29 +00:00
Lionel Landwerlin
cf193af762
anv: fixup push descriptor shader analysis
...
There are a couple mistakes here :
- using a bitfield as an index to generate a bitfield...
- in anv_nir_push_desc_ubo_fully_promoted(), confusing binding
table access of the descriptor buffer with actual descriptors
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: ff91c5ca42 ("anv: add analysis for push descriptor uses and store it in shader cache")
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27504 >
2024-02-19 11:10:29 +00:00
Joshua Ashton
735fe243a7
android: Use system = 'android' in crossfile
...
Fixes the following libarchive error when building with the libarchive wrap subproject:
In file included from ../subprojects/libarchive-3.7.2/libarchive/archive_write_open_memory.c:33:
../subprojects/libarchive-3.7.2/libarchive/archive.h:101:10: fatal error: 'android_lf.h' file not found
This also removes the version suffixes from the .so's that are referenced
in the mesa3d_cross.mk file as those are not present on the Android target.
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27648 >
2024-02-19 08:42:26 +00:00
Samuel Pitoiset
10b8e52780
radv: disable conditional rendering if enabled when preprocessing DGC
...
vkCmdPreprocessGeneratedCommandsNV() shouldn't be affected by
conditional rendering. Confirmed with Ricardo after writing some
tests against NVIDIA.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27658 >
2024-02-19 08:07:41 +01:00
Samuel Pitoiset
5b0e4dd6e8
radv: stop using conditional rendering internally when preprocessing DGC
...
Preprocess and execute can be executed on different queue families. If
preprocess is executed on GFX and the indirect count optimization is
enabled, this will generate an empty cmdbuf. Expect GPU hangs if this
DGC IB is then executed on ACE.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27658 >
2024-02-19 08:05:13 +01:00
Mike Blumenkrantz
893780b362
mesa: check driver format support for certain GetInternalformativ queries
...
according to spec, these should return NONE if the format is
not supported for a given texture target, but mesa was incorrectly
returning a hardcoded value for all cases without checking the driver
instead, check whether the driver can create a texture for a given
format to correctly handle this non-support case
cc: mesa-stable
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27621 >
2024-02-17 16:27:20 +00:00
Bas Nieuwenhuizen
c7b2ac3377
radv: Remove ray_launch_size_addr_amd system value.
...
Not used anymore, so clean it up.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27664 >
2024-02-17 11:08:16 +00:00
Marek Olšák
f933536517
winsys/amdgpu: enable unlimited number of parallel queues for VCN
...
This fixes a VCN performance regression introduced by the new BO fence
tracking mechanism.
VCN can have many queues. The current BO fence tracking mechanism only
supports 1 queue per IP, and there is an interest to use all VCN queues via
VAAPI. This introduces an alternative BO fence tracking mechanism that is
only enabled for VCN, supports unlimited parallel queues, is similar to
the previous system, can co-exist with the current queue system, and has no
negative impact on CPU overhead as long as it's only used by VCN.
Since we want an unlimited number of queues, we can't generate our own
sequence numbers for those queues. Instead, each buffer will have a new
field "alt_fence", which means an alternative fence. This fence is the last
use of that buffer on any VCN queue. If any other queue wants to use that
buffer, it has to insert alt_fence as a dependency, and replace alt_fence
with the new submitted fence, so that it's always equal to the last use.
Only VCN uses and updates alt_fence when an IB is submitted. Other IPs only
use alt_fence as a fence dependency. alt_fence is NULL when VCN isn't used,
so there is no negative impact on CPU overhead in that case.
It uses a C++ template for amdgpu_cs_submit_ib due to different BO loop
bodies between normal queues and VCN. Those loop bodies execute for every
BO, so they shouldn't have extra code for alt_fence if the queue doesn't
update it.
Acked-and-Tested-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27627 >
2024-02-17 03:06:32 +00:00
Marek Olšák
3e118c6d2f
winsys/amdgpu: convert amdgpu_cs.c to .cpp
...
it will use a C++ template
Acked-and-Tested-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27627 >
2024-02-17 03:06:32 +00:00
José Roberto de Souza
7475b105d2
docs/anv: Add recommended GuC firmware version
...
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27657 >
2024-02-17 01:34:27 +00:00
Yiwei Zhang
0ec231cb51
venus: simplify feedback types tracking during submission
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27649 >
2024-02-16 23:51:22 +00:00
Yiwei Zhang
c320203f4c
venus: misc cleanups for queue submission
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27649 >
2024-02-16 23:51:22 +00:00
Yiwei Zhang
7a6979f937
venus: use vn_cached_storage for vn_queue_submission allocs
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27649 >
2024-02-16 23:51:22 +00:00
Yiwei Zhang
1e122861da
venus: refactor to add vn_cached_storage
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27649 >
2024-02-16 23:51:22 +00:00
Yiwei Zhang
0973590579
venus: rewrite fence feedback interception to minimize batches
...
Previously we always put fence feedback cmd in a new batch appended,
which ends up with a separate execbuf for most drivers. This change
updates to avoid that separate eb except for empty submission with just
a feedback fence.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27649 >
2024-02-16 23:51:22 +00:00
Yiwei Zhang
55224006b7
venus: fix the cmd stride used for qfb recording
...
Not a real issue since the dispatchable handle size is the same.
Fixes: d2a626787e ("venus: track/recycle appended query feedback cmds")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27649 >
2024-02-16 23:51:22 +00:00
Echo J
017818a8bf
nvk: Implement the VR-related display extensions
...
xrgears in Monado direct mode seems to work (I haven't tried running
CTS tests though)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27654 >
2024-02-16 22:58:58 +00:00
Caio Oliveira
5feb326d80
intel/isl: Include compiler generic header
...
Instead of including a brw-specific one.
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27644 >
2024-02-16 22:35:05 +00:00
Caio Oliveira
ae50ac46d1
intel: Remove brw_ prefix from process debug function
...
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27644 >
2024-02-16 22:35:05 +00:00
Caio Oliveira
c773898f39
intel/compiler: Rename brw_gfx_ver_enum.h to intel_gfx_ver_enum.h
...
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27644 >
2024-02-16 22:35:05 +00:00
Caio Oliveira
d8f9a05f32
intel/compiler: Rename the passes and files related to intel_nir.h
...
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27644 >
2024-02-16 22:35:05 +00:00
Caio Oliveira
dc76cfc781
intel/compiler: Collect NIR-only passes in intel_nir.h
...
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27644 >
2024-02-16 22:35:05 +00:00
Sagar Ghuge
24db040a49
anv: Drop warnings for engine initialization failure
...
We don't have to spit out warnings for the end users. For compute if we
fail to initialize, we are falling back to render for compute operation,
Anyway end-user applications can query what the engines/queues are
supported based on that they can choose to use a specific queue.
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27660 >
2024-02-16 20:48:17 +00:00
Dylan Baker
876db91350
meson: rework intel-rt option to be a feature
...
This allows intel-rt to be turned on in cases where we're on x86_64 and
we're building anv, but otherwise default to off, while still giving
users the power to ignore those defaults if they want to.
Because of the use of `feature.disable_if` this bumps the Meson
requirement to 1.1. I can get rid of that, but it just makes for a lot
more code than using the helper methods
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27645 >
2024-02-16 18:28:58 +00:00
Dylan Baker
6a126b75e0
meson: drop intel-cl deprecation of 'false'
...
It maps to `disabled`, which isn't actually an option.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27645 >
2024-02-16 18:28:58 +00:00
Faith Ekstrand
19cd3bb721
nvk: Implement VK_EXT_map_memory_placed
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27599 >
2024-02-16 17:31:04 +00:00
Faith Ekstrand
4092685057
nouveau/winsys: Add a fixed_addr to nouveau_ws_bo_map
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27599 >
2024-02-16 17:31:04 +00:00
Faith Ekstrand
be9685e4e7
nvk: Use nouveau_ws_bo_new_mapped() for descriptors
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27599 >
2024-02-16 17:31:04 +00:00
Faith Ekstrand
08d13a55e4
vulkan: Update XML and headers to 1.3.278
...
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27599 >
2024-02-16 17:31:04 +00:00
Chia-I Wu
ec5d0ffb04
radv: fix pipeline stats mask
...
Left-shifting by 11*8 or 14*8 is undefined. This fixes many
dEQP-VK.query_pool.statistics_query.* failures (but not pre-existing
flakes) for release builds using clang.
Fixes: 48aabaf225 ("radv: do not harcode the pipeline stats mask for query resolves")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27651 >
2024-02-16 17:04:30 +00:00
Caio Oliveira
805d45e916
intel/decoder: Move decoder to a separate module
...
Depends on both intel/common and intel/compiler. Breaks circular
dependency between these two modules.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27647 >
2024-02-16 16:37:31 +00:00
Samuel Pitoiset
7009f00ae0
radv: re-enable GS_FAST_LAUNCH=2 by default on GFX11
...
The performance issue is fixed. This adds RADV_DEBUG=nogsfastlaunch2
to disable it in case users still report issues with it.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27636 >
2024-02-16 15:58:31 +00:00
Samuel Pitoiset
3713f27260
radv: only configure {XYZ_DIM,DRAW_INDEX}_REG for mesh shaders if enabled
...
This seems to be the root cause of the huge performance issue with
GS_FAST_LAUNCH=2 on RDNA3 dGPUs. Probably a firmware bug, but on dGPUs
only, because on RDNA3 APUs this is just working...
With that GS_FAST_LAUNCH=2 can be re-enabled by default on GFX11.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27636 >
2024-02-16 15:58:31 +00:00
Boyuan Zhang
0db2d13af1
radeonsi/vcn: only use multi slices reflist when available
...
Some frontends interface doesn't provide ref pic lists for HEVC. Therefore
ONLY enabling multislices reflist for frontends that support direct ref pic
list by checking the flag.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10599
Cc: mesa-stable
Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27642 >
2024-02-16 14:34:09 +00:00
Martin Roukala (né Peres)
dce2069054
radv/ci: switch vkcts-polaris10 from mupuf to KWS' farm
...
The DUT that currently hosts the Polaris10 will be used for NVK
testing, so let's move the polaris10 job to another farm.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27652 >
2024-02-16 14:08:33 +00:00
José Roberto de Souza
19439624d9
anv: Use DRM_XE_VM_BIND_OP_UNMAP_ALL to unbind whole bos
...
For non-sparse usage there is no difference between
DRM_XE_VM_BIND_OP_UNMAP_ALL and DRM_XE_VM_BIND_OP_UNMAP but for sparse
the same bo can be bound to more than one virtual address.
Then in a case like:
img = vkCreateImage()
mem = vkAllocateMemory()
vkQueueBindSparse(img, mem)
vkFreeMemory(mem)
Note that the sparse VMA bind still points to the closed bo(done in
vkFreeMemory()), but with DRM_XE_VM_BIND_OP_UNMAP_ALL all VMAs
over the bos are removed.
Access to a unbound VMA has a defined behavior(page fault) while
access to a bound VMA without backing gem/bo don't have defined
behavior.
Suggested-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27601 >
2024-02-16 13:43:45 +00:00
Eric Engestrom
3acb00290d
ci_run_n_monitor: allow detached heads as well
...
When running on a detached head (eg. checkout of a tag or a specific
commit), there is no active branch, so we can't perform this check; just
skip it and assume the user knows what they're doing.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27578 >
2024-02-16 11:39:50 +00:00
Eric Engestrom
ef744fa589
ci_run_n_monitor: explain why/when there might be no tracked remote
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27578 >
2024-02-16 11:39:50 +00:00
Karol Herbst
a4f77ce2d4
rusticl/program: fix CL_PROGRAM_BINARIES for devs with no builds
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10611
Fixes: e028baa177 ("rusticl/program: implement clCreateProgramWithBinary")
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27633 >
2024-02-16 10:08:17 +00:00
Samuel Pitoiset
6894692d27
radv: enable GS_FAST_LAUNCH=2 by default for RDNA3 APUs (Phoenix)
...
GS_FAST_LAUNCH=1 shouldn't be used on GFX11 but it's still needed for
dGPUs (eg. NAVI31) because it destroys performance for unknown reasons.
On RDNA3 APUs, GS_FAST_LAUNCH=2 seems to be required for working
mesh shaders and performance is fine. There is possibly a firmware bug
on APUs that would explain why GS_FAST_LAUNCH=1 doesn't work on Phoenix.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10583
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10397
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27618 >
2024-02-16 07:32:18 +00:00
Samuel Pitoiset
0c2213cbbd
radv: fix setting the rasterized primitive for ESO
...
This was missing.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27479 >
2024-02-16 07:08:36 +00:00
Samuel Pitoiset
b199aa1bda
radv: fix selecting shader variants with ESO
...
The shader BO for variants (like as LS) wasn't added to the BO list.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27479 >
2024-02-16 07:08:36 +00:00
Samuel Pitoiset
a47de04ff3
radv: make sure to reset the GS copy shader with ESO
...
It should be NULL when not used. This is also slightly more optimal
than doing it in the loop.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27479 >
2024-02-16 07:08:36 +00:00
Samuel Pitoiset
b1d4a7a95e
radv: fix re-emitting DB_RENDER_CONTROL when resetting gfx pipeline state
...
This is only used by internal operations but the state wasn't
re-emitted.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27479 >
2024-02-16 07:08:36 +00:00
Samuel Pitoiset
64e18b04d9
radv: clear the custom blend mode when resetting gfx pipeline state
...
This custom blend mode is only used by internal operations and they
don't use shader objects.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27479 >
2024-02-16 07:08:35 +00:00
Samuel Pitoiset
b0a31a62e4
radv: clear RADV_CMD_DIRTY_SHADERS when resetting the shader object state
...
Binding a pipeline resets the shader object state and it's more optimal
to clear this flag here.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27479 >
2024-02-16 07:08:35 +00:00
Mike Blumenkrantz
5e813a15f8
zink: update vvl expectations
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27358 >
2024-02-15 22:35:01 -05:00
Mike Blumenkrantz
c163a38a8e
ci: bump VVL to snapshot-2024wk06
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27358 >
2024-02-15 22:35:01 -05:00
Mike Blumenkrantz
7c1916b98f
zink: add a ci skip
...
avoids having to add vvl exceptions for the rest of the run
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27358 >
2024-02-15 22:35:01 -05:00
Mike Blumenkrantz
4c08db5501
zink: don't add VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT for sparse textures
...
according to VUID-VkImageCreateInfo-flags-09403, this is illegal
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27358 >
2024-02-15 22:35:01 -05:00
Mike Blumenkrantz
e8ce53a33d
zink: promote gpl libs freeing during shader destroy out of prog loop
...
now that zink_gfx_lib_cache::stages_present exists (and is correct),
this value can be used directly to effect cache eviction instead of depending
on the prog->stages_present value, which may not even be the same prog that
owns a given zink_gfx_lib_cache instance
this fixes the case where a shader used in multiple progs with differing shader
masks would never have all its gpl pipelines freed
fixes leaks with caselist:
KHR-Single-GL46.arrays_of_arrays_gl.InteractionUniformBuffers1
KHR-Single-GL46.subgroups.quad.framebuffer.subgroupquadbroadcast_3_float_vertex
Fixes: d786f52f1f ("zink: prevent crash when freeing")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27358 >
2024-02-15 22:35:01 -05:00
Mike Blumenkrantz
36e7350e0b
zink: clamp zink_gfx_lib_cache::stages_present for generated tcs
...
this otherwise does not reflect reality
Fixes: d786f52f1f ("zink: prevent crash when freeing")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27358 >
2024-02-15 22:35:01 -05:00
Mike Blumenkrantz
d2dafa3289
zink: promote a conditional on gfx shader destroy
...
it only makes sense to run these loops in the cases where they might
be true
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27358 >
2024-02-15 22:35:01 -05:00
Mark Janes
08176d9d16
intel/tools: add shader compiler hash key to json devinfo format
...
Offline shader compilation will use json as the source configuration
to accurately instantiate mesa for target hardware. Similar platforms
generate identical shader binaries even though intel_device_info
differs inconsequenially.
Include the shader compilation hash key to device info json files, so
these platforms can be deduplicated.
Closes : #6746
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26844 >
2024-02-15 16:59:25 -08:00
Mark Janes
aa649dfa5f
intel/tools: move intel_dev_info to intel/tools
...
This is a more sensible home for intel_dev_info.
Offline shader compilation will take intel_dev_info json files as
input. For that use case, the shader compiler hash value is needed in
the json file.
intel_dev_info will depend on intel/compiler, and must be located in
intel/tools to break a circular meson dependency.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26844 >
2024-02-15 16:59:15 -08:00
Mark Janes
9b1ae760a8
anv: use intel_device_info to set device UUID
...
For anv, use the intel device info hash function instead of
device PCI ID when generating a UUID for the pipeline cache.
PCI ID can vary between on devices which are comparable from the
perspective of the shader compiler. A more precise key eliminates
redundant entries in a multiplatform shader cache.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26844 >
2024-02-15 16:58:20 -08:00
Mark Janes
48bf7ad3b8
iris: use device info sha in device renderer string
...
For iris, use the intel device info hash function instead of PCI ID in
the renderer name. The renderer is incorporated into the gallium disk
cache for programs, as part of the key for looking up cache entries.
PCI ID can vary between on devices which are comparable from the
perspective of the shader compiler. A more precise key eliminates
redundant entries in a multiplatform shader cache.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26844 >
2024-02-15 16:58:18 -08:00
Mark Janes
c4ce1ca847
intel/compiler: generate a hash function to use with the shader cache
...
Currently, Intel's shader cache incorporates PCI ID into shader cache
keys.
Many devices with different PCI IDs have identical shader compilation
functionality. Using PCI ID as a component of the shader cache hash
means that a multi-platform shader cache will have redundant,
identical entries for similar platforms.
All Intel compiler functionality is selected based on device
configuration in `struct intel_device_info`. intel_device_info.py
flags all fields accessed by intel/compiler.
This commit generates a hash function incorporating intel/compiler
device info fields. Using this hash function in place of PCI ID will
produce a multiplatform cache with no duplicated content.
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26844 >
2024-02-15 16:58:15 -08:00
Caio Oliveira
5a88267366
intel: Add missing dependencies on blorp
...
Various components implicitly depend on blorp, make this explicit.
Checked by setting a 'compiler_args' on idep_intel_blorp and verifying
it on blorp_priv.h header.
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27643 >
2024-02-16 00:08:42 +00:00
Caio Oliveira
3b48b7df1f
intel/blorp: Use a Meson dependency for blorp
...
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27643 >
2024-02-16 00:08:42 +00:00
Sagar Ghuge
f55f9272e4
intel/compiler: Fix disassembly of URB message descriptor on Xe2+
...
URB messages follow the LSC message descriptor so we are already
disassembling the descriptor/extended descriptor, we don't have to
duplicate it.
Without this change:
urb MsgDesc: ( store, a32, d32, V4, L1UC_L3WB dst_len = 0, src0_len = 2, src1_len = 8 flat ) mlen 2 ex_mlen 8 rlen 0 { align1 1H $1 };
with this change:
urb MsgDesc: ( store, a32, d32, V4, L1UC_L3WB dst_len = 0, src0_len = 2, src1_len = 8 flat ) base_offset 0 { align1 1H $1 };
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27498 >
2024-02-15 19:46:55 +00:00
Eric Engestrom
7a366c0de2
docs: update calendar for 24.0.1
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27641 >
2024-02-15 18:34:35 +00:00
Eric Engestrom
daa3512048
docs: add sha256sum for 23.3.6
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27639 >
2024-02-15 18:33:24 +00:00
Eric Engestrom
cfffd3f744
docs: update calendar for 23.3.6
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27639 >
2024-02-15 18:33:24 +00:00
Eric Engestrom
b294e9aed1
docs: add release notes for 23.3.6
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27639 >
2024-02-15 18:33:24 +00:00
Jesse Natalie
5c85cdd378
d3d12: Support R16G16B16A16_FLOAT display targets
...
Since GDI doesn't support this format, we need a fallback path to
get contents on-screen if we're not using DXGI. For that scenario,
we allocate a proxy display target and blit during frontbuffer flush.
Once we have that fallback in place, we can override the sw winsys
format support check for that format.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27512 >
2024-02-15 17:56:45 +00:00
Jesse Natalie
6a60270336
winsys/d3d12: Support single-buffered mode
...
When the frontend asks for the front buffer, we return an offscreen
surface, when the frontend asks us to flush that surface, we copy it
to the swapchain, and then present remains unchanged.
This means the only reason we need to avoid using a swapchain is if
the app asks for GDI compatibility.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27512 >
2024-02-15 17:56:45 +00:00
Jesse Natalie
5879684a46
wgl: Add HDR pixel formats
...
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Reviewed-by: Jose Fonseca <jose.fonseca@broadcom.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27512 >
2024-02-15 17:56:44 +00:00
Jesse Natalie
f97060bc14
wgl: Enable WGL_ARB_pixel_format_float
...
We already implement all of the relevant bits of this extension, which
is just handling WGL_TYPE_RGBA_FLOAT_ARB for WGL_PIXEL_TYPE_ARB in
wglGetPixelFormatAttrib[i/f]vARB and wglChoosePixelFormatARB. We just
didn't have any float formats enumerated so it was never seen in
practice.
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Reviewed-by: Jose Fonseca <jose.fonseca@broadcom.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27512 >
2024-02-15 17:56:44 +00:00
Jesse Natalie
c432fbe534
wgl: Add no-gdi-single-buffered and gdi-double-buffered PFDs
...
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Reviewed-by: Jose Fonseca <jose.fonseca@broadcom.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27512 >
2024-02-15 17:56:44 +00:00
Jesse Natalie
610dcc178a
wgl: Flush frontbuffer when calling swapbuffers on single-buffered fb
...
Some apps don't look at what kind of PFDthey get, and if they
get a single-buffered one, they only ever call swap and never flush,
so nothing shows up on-screen.
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Reviewed-by: Jose Fonseca <jose.fonseca@broadcom.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27512 >
2024-02-15 17:56:44 +00:00
Jesse Natalie
b6a2972455
wgl: Support a single-buffered winsys framebuffer
...
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Reviewed-by: Jose Fonseca <jose.fonseca@broadcom.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27512 >
2024-02-15 17:56:44 +00:00
Lionel Landwerlin
f733215c12
anv: enable query clear/copy using shaders on MTL/ARL
...
It seems like an L3 setting is different between DG2 & MTL, breaking
the L3 coherency with CS.
We can apply the same tile cache flush as we do on TGL for now until
we figure out how to configure L3 properly to avoid this.
Tested with :
$ query_clear_with_blorp_threshold=0 query_copy_with_shader_threshold=0 ./deqp-vk -n dEQP-VK.query_pool.*
to force the shader optimizations.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27597 >
2024-02-15 17:25:37 +00:00
Karol Herbst
53df391d27
rusticl/kernel: recalculate scratch and shared memory after opts
...
Turns out we have to do it regardless as opts after explicit_types could
get rid of even more scratch and shared memory.
Fixes: ea023ff5cd ("rusticl/kernel: no need to reset the scratch size anymore")
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27634 >
2024-02-15 15:09:23 +00:00
Georg Lehmann
ad5fbc4407
aco: use fmamk/ak instead of fma with inline constant for more VOPD
...
Foz-DB navi31, forced wave32:
Totals from 24438 (31.29% of 78112) affected shaders:
Instrs: 21632788 -> 21551766 (-0.37%); split: -0.38%, +0.01%
CodeSize: 126181860 -> 126083848 (-0.08%); split: -0.10%, +0.02%
Latency: 162491062 -> 162516234 (+0.02%); split: -0.05%, +0.07%
InvThroughput: 31121194 -> 31002125 (-0.38%); split: -0.40%, +0.02%
VClause: 420176 -> 420169 (-0.00%); split: -0.00%, +0.00%
SClause: 791844 -> 791762 (-0.01%); split: -0.01%, +0.00%
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27523 >
2024-02-15 12:38:55 +01:00
Caio Oliveira
62a8de99ac
intel/blorp: Move brw_compiler.h include to where is needed
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27581 >
2024-02-15 10:29:19 +00:00
Caio Oliveira
f4df4be7e7
intel/blorp: Avoid brw types in blorp_priv.h
...
Abuse void* here so there's one less file dependent on specific brw
types. We can revisit if there's a need later, if we ever end up with
a common type for prog_data.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27581 >
2024-02-15 10:29:19 +00:00
Caio Oliveira
b28cf9123b
intel/blorp: Move brw_blorp_get_urb_length helper
...
Moving to blorp_genX_exec.h to help make blorp_priv.h independent of brw
types.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27581 >
2024-02-15 10:29:19 +00:00
Caio Oliveira
b34df9f801
intel/blorp: Remove outdated reference in comment
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27581 >
2024-02-15 10:29:19 +00:00
Caio Oliveira
9377dc417d
intel/blorp: Use a struct to return blorp_compile_*() results
...
Allocate the prog_data instead of expecting one from the user, also
explicitly return both kernel and prog_data size, so that the
plumbing code isn't required to use the exact prog_data type.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27581 >
2024-02-15 10:29:19 +00:00
Caio Oliveira
82ecc219e0
intel/blorp: Simplify blorp_compile_cs() interface
...
No need to take brw_prog_cs_key.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27581 >
2024-02-15 10:29:19 +00:00
Caio Oliveira
cfad85eed0
intel/blorp: Simplify blorp_compile_fs() interface
...
Take multisample_fbo parameter instead of a brw_wm_key.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27581 >
2024-02-15 10:29:18 +00:00
Caio Oliveira
16ba2478fa
intel/blorp: Remove brw_ prefix when not applicable
...
Remove the brw_ prefix from some blorp functions and structs to avoid
confusion with what's related to brw and what's not. Some of those will
become independent of brw in upcoming patches.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27581 >
2024-02-15 10:29:18 +00:00
Caio Oliveira
c8fda63378
intel/blorp: Don't require specific prog_data type in callback
...
Make interface less dependent on brw types. If we care, later
might make sense to add a tagged union for the possible types here.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27581 >
2024-02-15 10:29:18 +00:00
Pavel Ondračka
d78a913bda
r300: add explicit flrp lowering
...
Even though we set .lower_flrp32 = true there is no actuall flrp
lowering in nir_opt_algebraic. Mesa does not produce any but nine does,
so lower it explicitly to fix nine.
Fixes: f8a5cba3b4
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: Filip Gawin <filip.gawin@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27467 >
2024-02-15 10:11:51 +00:00
Caio Oliveira
0b751a2134
intel: Rename i965_{asm,disasm} tools to brw_{asm,disasm}
...
And move them inside the compiler since they (especially asm) rely on
a bunch of internal types.
Acked-by: Dylan Baker <dylan@pnwbakers.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27579 >
2024-02-15 09:26:46 +00:00
Caio Oliveira
5992185c8d
intel/compiler: Merge intel_disasm.[ch] into corresponding brw files
...
Rename the functions to match the existing ones.
Acked-by: Dylan Baker <dylan@pnwbakers.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27579 >
2024-02-15 09:26:46 +00:00
Caio Oliveira
468a0ffe9c
intel/compiler: Include brw_disasm_info.h where its used
...
Acked-by: Dylan Baker <dylan@pnwbakers.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27579 >
2024-02-15 09:26:46 +00:00
Caio Oliveira
ff95f00883
intel/compiler: Move disassemble functions to own header file
...
Acked-by: Dylan Baker <dylan@pnwbakers.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27579 >
2024-02-15 09:26:46 +00:00
Hans-Kristian Arntzen
786c1b8322
radv: export multiview in VS/TES/GS for depth-only rendering
...
For depth-only rendering, a VS would not export layer properly.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10606
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27615 >
2024-02-15 09:07:42 +00:00
Jordan Justen
62b72b6be9
intel/dev: Add 2 additional ADL-N PCI ids
...
Ref: https://patchwork.freedesktop.org/patch/578271/?series=129901&rev=1
Ref: bspec 68397
Cc: mesa-stable
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27625 >
2024-02-15 08:07:15 +00:00
Caio Oliveira
5732c9d269
intel/compiler: Rename brw_cs_dispatch_info to intel_cs_dispatch_info
...
And move to the intel_shader_enums.h file.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27475 >
2024-02-14 22:31:23 -08:00
Caio Oliveira
c5b80de583
intel/compiler: Rename brw_vue_map to intel_vue_map
...
And move to the intel_shader_enums.h file.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27475 >
2024-02-14 22:31:23 -08:00
Caio Oliveira
7d85d2c7fd
intel/compiler: Rename DISPATCH_MODE_* enums to INTEL_DISPATCH_MODE_*
...
And move to the intel_shader_enums.h file.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27475 >
2024-02-14 22:31:23 -08:00
Caio Oliveira
aeda865b6d
intel/compiler: Rename BRW_TESS_* enums to INTEL_TESS_*
...
And move to the intel_shader_enums.h file.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27475 >
2024-02-14 22:31:23 -08:00
Caio Oliveira
26dd1f0bba
intel/compiler: Rename BRW_WM_MSAA_* enums to INTEL_MSAA_*
...
And move to the intel_shader_enums.h file.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27475 >
2024-02-14 22:31:23 -08:00
Caio Oliveira
a88084f8be
intel/compiler: Rename brw_image_param to isl_image_param
...
And move them to ISL.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27475 >
2024-02-14 22:31:23 -08:00
Jesse Natalie
1314c5b357
microsoft/compiler: Fix wave size control for SM6.8+
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27624 >
2024-02-15 00:29:50 +00:00
Jesse Natalie
e21774eb0a
microsoft/compiler: Fix wave size control for SM6.6+
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27624 >
2024-02-15 00:29:50 +00:00
Jesse Natalie
0daad70f9f
microsoft/compiler: For emulating scan, ensure all threads are active when reading cross-lane
...
HLSL docs say WaveReadLaneAt is undefined if the target lane is inactive. This makes
sense since the target lane may need to *send* the data, rather than it being pulled
by the calling lane. So don't early-out on the loop, iterate through the whole wave
on all threads and read the cross-lane data before branching.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27624 >
2024-02-15 00:29:50 +00:00
Timothy Arceri
219be55807
glsl: add missing error check for half float varying
...
We should never get here currently as the parser should not even
process float16_t without half float enabled. However it seems
like a good idea to add this for completeness.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27585 >
2024-02-14 23:50:21 +00:00
Eric Engestrom
66f36a79ef
docs: add sha256sum for 24.0.1
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27622 >
2024-02-14 22:00:59 +00:00
Eric Engestrom
c9bc04180d
docs: add release notes for 24.0.1
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27622 >
2024-02-14 22:00:59 +00:00
Alyssa Rosenzweig
1ca256b762
docs: update for GL4.6 and ES3.2 on asahi
...
https://rosenzweig.io/blog/conformant-gl46-on-the-m1.html
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
c7bec0d3c8
asahi: advertise GL4.6 and ES3.2
...
https://rosenzweig.io/blog/conformant-gl46-on-the-m1.html
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
c116d1efbb
agx: add "is helper program?" key bit
...
so we can enforce correctness a bit more at build-time. if the helper program
does not fit in the required RA, spilling will be broken in the driver; now this
is a build-time failure instead of a silent runtime one.
Closes https://gitlab.freedesktop.org/asahi/mesa/-/issues/36
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
a3f647fde1
asahi: precompile helper program
...
1. avoids cluttering shaders,internal print
2. reduces screen create overhead. this cuts average "glxinfo" runtime by about
25%, and seems to shave maybe 0.5% off the CTS job.
3. enforces helper program builds successfully as a build-time assertion
4. reduces the libagx generated blob for now, since g13 binaries are more
compact than serialized NIR
Closes https://gitlab.freedesktop.org/asahi/mesa/-/issues/37
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
e1644a2307
asahi: reorder compiler before clc
...
so clc can call the compiler.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
020e2959d2
agx: decouple from libagx
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
4a3b905bb8
agx: move texture lowering into lib
...
This is a bit annoying, but it gets rid of the libagx dep which is preventing
precompiling helper programs.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
0fa6901f32
agx: call texture lowering in the driver
...
libagx dependency.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
beb8aca7a2
agx: move SSBO lowering
...
agxv uses a different path
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
1f465d72dd
asahi: split out genxml/ directory
...
src/asahi/lib is creating dependency hell, let's start splitting it up so we can
ease some of the clc related pains.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
35c671ecef
asahi: clean up format table renderability
...
infer renderability from whether we specify a renderable format. nfc now that
rgb9e5 is fixed.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
0ee0969f79
asahi: use #pragma once
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
951219a4fc
ail: use #pragma once
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
3333c2cdeb
asahi/lib: use #pragma once
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
a296e7ec3a
agx: use #pragma once
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
af04176860
agx: decouple compiler from genxml
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
23b77d3329
agx: rm ridiculous dependency
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
4e8a42645b
asahi: quelch gcc warning
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
b39de8bb4a
asahi: Implement ARB_texture_barrier by decompression
...
Your perf goes not stonks, sorry. Passes
KHR-GL40.texture_barrier_ARB.*.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
589338e8fc
agx: sink wait_pix
...
No reason not to, noticed when poking at the earlier parts of the series.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
6c5d3fe1b5
agx: rm unused opt_ixor_bcsel
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
2dc1189a9c
agx: rm unused backend nr_samples
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
27ddcea2b3
agx: call agx_nir_lower_sample_mask earlier
...
A given sample needs depth testing to happen before writing its colour, which
requires shuffling pass order.
To do so, merge agx_nir_opt_ixor_bcsel into regular late alg pass
now that we can, which is actually a small shader-db win.
Closes https://gitlab.freedesktop.org/asahi/mesa/-/issues/30
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
9cb03ba5c7
agx: rm dead sample count argument
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
fd0068612f
agx: remove discard -> zs_emit lower
...
doesn't seem to be necessary, the Sonoma compiler uses
sample_mask-based discards even with zs_emit.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
0eb9b62199
asahi: rm ia key
...
fully dynamic in GS now.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
cb0b027c59
asahi: make clip_halfz dynamic
...
we could move this to the linker but meh, this is good enough for now
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
beb7ddba2b
asahi: always support ARB_clip_control
...
perf impact has been neglible.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
9aa8bac229
asahi: support GS in shaderdb
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
6673924b7e
asahi: make gs topology dynamic
...
even with shobjs, we know the class of topology statically, so we just need to
select between the (up to) 3 compatible topologies, and luckily there are common
subexpressions we can factor out when calculating all 3 at once.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
049434f89c
asahi: make provoking vertex dynamic
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
dbb2b25ef9
asahi: eliminate tri fan %
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
7ab1755b54
asahi: avoid silly psiz writes even with gs
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
43dd8b87cb
asahi: simplify expressions involving xfb
...
post-invert cleanup
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
b44630aa94
asahi: rm dead
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
159d85d32c
asahi: implement GS disk caching
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
86782156e7
asahi: invert geometry shaders
...
instead of dumping GS outputs to memory and using a GS copy vertex shader,
invert the GS to get a hardware vertex shader to use directly. theoretically,
reduces mem bandwidth at the cost of repeated work if we don't optimze well.
perhaps more importantly, it should reduce heap usage.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
1ac3e48fcc
asahi: fix vertex out size calc
...
expression underallocates if var31 is actually used!
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
141e084f55
asahi: use load_instance_id in gs lowering
...
it will lower differently in the prepass vs the rast shader
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
3641a37e8f
asahi: set gs_grid[0] even for direct draws
...
gs rast program needs to know the # of input primitives
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
200ca69086
asahi: support stage override in sysval lower
...
for gs rast program. should clean up later but for now this will do
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
3bd400a2b4
asahi: collapse indirection with GS
...
1. compile the gs rast program with the rest of the GS. this requires
duplicating some shader key stuff but this will be improved soon, and
actually this makes it easier to reason about caching imo.
2. don't recurse into draw_vbo, collapse the GS launches into the draw. again
this duplicates some code but makes it easier to reason about things and is
probably faster. and makes part #1 feasible without piling on hacks (my
original goal)
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
2da426afe0
asahi: allow lowering bindings after lowering textures
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
17896f1699
nir: rm load_vert_id_in_prim_agx
...
now unused since we separate vs/gs
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
b26409246c
asahi: be a bit more methodical with shader stages
...
the mapping between descriptor stages and hardware stages is about to get even
more complicated, so clean up the driver ahead-of-time to stay ahead of the mess
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
6154d65714
asahi: infer stage in descriptor update
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
37fa7bff58
asahi: shrink GS key
...
no functional change, just dropping the unused index size field
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
f4a187bc89
asahi: allow bindful GS textures
...
no longer merging GS so it's fine
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
e13d001160
asahi: rm arrayed output lowering
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
d96fbd4618
asahi: separate GS from VS
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
af7084efa7
asahi: rework shader stage handling a bit
...
prep for separable vs/gs
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
0b30777028
asahi: add geometry parameters for separable GS
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
b2d547b361
asahi: add shader_info::outputs for gs lower
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
cdd1b012e9
asahi: simplify IA mode handling
...
we'll solve the IA variants problem a different way, for now make more
straightforward.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
e1783fc083
libagx: generalize vertex_id_for_topology
...
so we can use it in separable GS
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
c9f55166dc
libagx: static assert some sizes
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
aaa609f030
libagx: use real PACKED macro
...
hopefully end these alignment bugs for good
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
fc929d9318
libagx: use native static_assert on host
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
bfaa3691e1
asahi: make GS flatshade_first more dynamic
...
baby step
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
4036c710bd
libagx: fix buggy align macro
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
784323cf0f
asahi: rip out existing MDI+GS implementation
...
I don't love deleting working code without a working replacement. But this impl
is deeply questionable as-is, and will only balloon in complexity for shader
objects. We need to go back to the drawing board with MDI and lower to real
draws, possibly with control stream looping.
Good news is that this is GL so we can prototype all this.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
21403278ac
asahi: fix dirty tracking issue
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
beabd93c13
asahi,agx: use hw clip distance
...
rather than lowering in the fragment shader. this is what we're "supposed" to
do, what apple does, and it saves a byte of the fs key
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
9aeaf99259
agx: fix buffer overflow with varying slots
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
de31b28053
asahi: allow vertex/geom/tess side effects
...
seems to work ok now.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
de786a1c5c
asahi: drop xfb hack
...
now that we can spill it's unnecessary. it also breaks things (-:
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
5361b1f331
asahi: bump max threads per wg
...
gl4.3 min.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
8a2c1d337e
agx: add =spill debug option
...
to force spilling so we can exercise the new code.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
42084d50e5
agx: add parallel copy printing
...
useful for debugging.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
871f3d3f7d
agx: unit test spill/fill lowering
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
a5ff85e782
agx: unit test memory parallel copies
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
14e1bb78ae
agx: add spill/fill lowering pass
...
This simple pass turns moves of memory registers (outputted by RA from the
spiller produced moves/phis of memory variables) into concrete stack load/store
instructions. it's a lot more convenient to do this as a dedicated post-RA pass
than trying to fold this into the hairball that is RA proper.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
40da539d01
agx: introduce "memory variables"
...
in order to spill, we need to be able to assign spill slots. this is equivalent
to register allocation, so we borrow NAK's neat solution: add "memory variables"
into the IR which get RA'd to "memory registers" that correspond directly to
stack slots. then we can just spill by inserting moves.
this requires extensions to RA, parallel copy lowering, and the IR itself. but
it makes competent spilling so much more straightforward.
to exercise this code path, the commit also includes a trivial spiller that
simply moves every source/destination between memory variables and general
variables, which has the effect of spilling everything. to be replaced by
Braun-Hack eventually, this is just foundations.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
06eb552baa
agx: print register vectors
...
easier dbg
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
282f2ac1aa
agx: allow 16-bit immediate on stack load/store
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
485e17e01e
asahi: allocate preamble scratch
...
needed for preamble spilling
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
f97b041e87
agx: set nr_preamble_gprs for preamble scratch
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
94b9200042
asahi: add has_scratch to shader key
...
some stages are unspillable
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
9445005c87
agx: improve scratch size accounting
...
- prep for preamble scratch
- only include scratch actually used
- prep for spilling scratch
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
a2328820f7
agx: clamp register file based on workgroup size
...
once we allow workgroup sizes larger than 384 threads, we need to restrict the
register file to ensure we fit.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
bb37b072a5
asahi,agx: use intrinsics pass
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
e34a707d78
asahi: optimize memory_barrier
...
don't flush everything, only flush batches that could actually need a flush.
this eliminates memory barrier flushes in an apitrace of ryujinx, although perf
impact there seems neglible.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
745c9d8bdc
asahi: track batches with incoherent writes
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
98ffbf4cf6
asahi: rm blank
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
53e820f20e
asahi: hoist layer id code
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:30 +00:00
Alyssa Rosenzweig
bbe6689108
asahi: hoist xfb code
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:30 +00:00
Alyssa Rosenzweig
ae6e1e3609
asahi: collapse if
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:30 +00:00
Alyssa Rosenzweig
757fd8be56
asahi: fix instance count with indirect draw
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:30 +00:00
Alyssa Rosenzweig
facc4b9a5e
asahi: drop any_draws
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:30 +00:00
Alyssa Rosenzweig
ae3544eccd
asahi: move some code into dirty tracking
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:30 +00:00
Alyssa Rosenzweig
c19325c229
asahi: optimize no changes descriptor case
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:30 +00:00
Alyssa Rosenzweig
1362ae38d4
asahi: optimize "no changes" case
...
drawoverhead case 1
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:30 +00:00
Alyssa Rosenzweig
8fc373370f
asahi: collapse stage uniform upload
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:30 +00:00
Alyssa Rosenzweig
8ba151aa16
asahi: dirty track stage uniforms
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:30 +00:00
Alyssa Rosenzweig
6be7c5f889
asahi: split up stage uniform upload
...
so we can update incrementally
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:30 +00:00
Alyssa Rosenzweig
23b4503225
asahi: rewrite queries
...
1. always keep the query in gpu memory, so we can implement qbos properly.
2. use a lightweight data structure for tracking writers to reduce overhead
3. allow many writers per query to eliminate stalls
4. use context-wide occlusion heap, to satisfy #1 without introducing
flushes or silly copies. this is what the pvr mesa driver does :-)
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:30 +00:00
Alyssa Rosenzweig
ca58bc239a
asahi: drop silly else
...
default
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:30 +00:00
Alyssa Rosenzweig
6ffbf77983
asahi: assert invariant
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:30 +00:00
Alyssa Rosenzweig
24b7fbca9d
asahi: allow disk cache with compblit
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:30 +00:00
Alyssa Rosenzweig
8ab443d549
asahi: enable compblit behind dbg flag
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:30 +00:00
Alyssa Rosenzweig
07a4ff5810
asahi: track bit count, not word count
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:30 +00:00
Alyssa Rosenzweig
0aa3eaa944
asahi: rm dead
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:30 +00:00
Alyssa Rosenzweig
46c70b72ca
asahi: skip set if tested
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:30 +00:00
Alyssa Rosenzweig
7eac18b1bc
asahi: force inline ppp update logic
...
benefits a lot from constant folding.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:30 +00:00
Alyssa Rosenzweig
5982ae9025
asahi: fix vbo dirty track
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:30 +00:00
Alyssa Rosenzweig
668bf461b1
asahi: don't use util_resource_size
...
drawoverhead.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:30 +00:00
Alyssa Rosenzweig
d9c4fcce5f
asahi: log geometry shaders separate from xfb
...
different perf issues.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:30 +00:00
Alyssa Rosenzweig
c6c8262ce1
asahi: implement pipeline stats as a checkbox
...
real impl is blocked on uapi to plumb thru hw perf counters.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:30 +00:00
Alyssa Rosenzweig
27d39bf544
agx: reassociate bcsel with ior/iand
...
fairly dramatic improvement to citra shaders, citra seems to be a % faster with
this.
total instructions in shared programs: 2910477 -> 2909192 (-0.04%)
instructions in affected programs: 983562 -> 982277 (-0.13%)
helped: 529
HURT: 1
Instructions are helped.
total bytes in shared programs: 19400010 -> 19392214 (-0.04%)
bytes in affected programs: 6785058 -> 6777262 (-0.11%)
helped: 529
HURT: 58
Bytes are helped.
total halfregs in shared programs: 519553 -> 519429 (-0.02%)
halfregs in affected programs: 1877 -> 1753 (-6.61%)
helped: 37
HURT: 12
Halfregs are helped.
total spills in shared programs: 135040 -> 135022 (-0.01%)
spills in affected programs: 135040 -> 135022 (-0.01%)
helped: 6
HURT: 0
total fills in shared programs: 342326 -> 342308 (<.01%)
fills in affected programs: 342326 -> 342308 (<.01%)
helped: 6
HURT: 0
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:30 +00:00
Alyssa Rosenzweig
b45d54a388
agx: optimize b2x(inot)
...
easier to do as algebraic rules.
total instructions in shared programs: 2915611 -> 2910477 (-0.18%)
instructions in affected programs: 285251 -> 280117 (-1.80%)
helped: 1245
HURT: 5
Instructions are helped.
total bytes in shared programs: 19439752 -> 19400010 (-0.20%)
bytes in affected programs: 1881556 -> 1841814 (-2.11%)
helped: 1244
HURT: 6
Bytes are helped.
total halfregs in shared programs: 519253 -> 519553 (0.06%)
halfregs in affected programs: 5509 -> 5809 (5.45%)
helped: 24
HURT: 107
Halfregs are HURT.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:30 +00:00
Alyssa Rosenzweig
34ca925064
agx: don't inline imms into stack_store
...
we need opt_large_consts..
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:30 +00:00
Alyssa Rosenzweig
f6c17cbe48
ail: use template for tiled memcpy
...
less macro hell
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:30 +00:00
Alyssa Rosenzweig
075e595058
ail: port tiling routines to c++
...
to fix macro hell
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:30 +00:00
Alyssa Rosenzweig
104ba72547
ail: add tests for linear<-->twiddled copies
...
based on the panfrost tests.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:30 +00:00
Alyssa Rosenzweig
2c9189434f
docs/asahi: fix strided linear note
...
turns out linear 2d arrays work
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:30 +00:00
Alyssa Rosenzweig
f836d573e4
agx: only run early tests if needed
...
if it'd be early anyway don't bother, speeds up dolphin with spec shaders
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:30 +00:00
Alyssa Rosenzweig
7825044c39
asahi: honour discard_whole | persistent
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:30 +00:00
Alyssa Rosenzweig
793ac04077
asahi: handle read-only SSBOs
...
reduces silliness in Yuzu.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:30 +00:00
Alyssa Rosenzweig
97a945246c
asahi: fix valid buffer tracking for SSBO/image/XFB
...
smaller ranges.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:30 +00:00
Alyssa Rosenzweig
6689b083d8
asahi: don't sync for uninitialized buffer
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:30 +00:00
Alyssa Rosenzweig
9e8ce4550c
asahi: enable tcs caching
...
works fine
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:30 +00:00
Alyssa Rosenzweig
19da2f6d30
asahi: sync with query mismatches
...
otherwise the following assertion can fail. fixes crash in yuzu trace.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:30 +00:00
Alyssa Rosenzweig
3b927567ac
Revert "asahi: don't canonicalize nans/flush denorms when copying"
...
This reverts commit ab7fb3d400 .
This breaks ./arb_copy_image-formats -auto --samples=4 since we need the blit
path for compression transitions. The correct thing to do is cast the formats.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:30 +00:00
Asahi Lina
74110ef21d
asahi: batch: Trace before waiting for syncobj
...
If the render hangs, at least this way we get the trace.
Signed-off-by: Asahi Lina <lina@asahilina.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:30 +00:00
Asahi Lina
ff900ceffe
asahi: Enable scratch debugging
...
Via ASAHI_MESA_DEBUG=scratch. This will assert if enabled and the
scratch workgroup allocation count turns out not to be sufficient (that
is, there were failed allocations), to help debug the max occupancy
calculation.
Signed-off-by: Asahi Lina <lina@asahilina.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:30 +00:00
Asahi Lina
8845702f8c
asahi: Allocate scratch for shaders
...
Finally, now that scratch is available, tell the hardware how much we
need and allocate the scratch buffers as necessary.
We only do the max subgroup calculation for compute right now, and it's
probably conservative (we could probably calculate a reduced occupancy
depending on register pressure). Getting this too low won't break, the
GPU will just be less efficient if there is not enough scratch
allocated. Vertex and fragment just get the max 96 for now.
Signed-off-by: Asahi Lina <lina@asahilina.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:30 +00:00
Asahi Lina
bb5277aa3d
asahi: Hook up scratch
...
Instantiate our 3 scratch managers for each shader type, and pass them
to the hardware if a batch uses scratch.
Signed-off-by: Asahi Lina <lina@asahilina.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:30 +00:00
Asahi Lina
fa475c1b56
asahi: scratch: Add feature to debug core IDs
...
Define SCRATCH_DEBUG_CORES to a raw core count to bypass the mapping
machinery and allocate memory for many cores, so we can work out how the
core IDs are mapped.
Signed-off-by: Asahi Lina <lina@asahilina.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:30 +00:00
Asahi Lina
494399c65c
asahi: Implement scratch allocation
...
Implement our helper program to map scratch blocks into stack memory,
and the driver side that allocates these blocks as necessary.
Alloction is grow-only right now. Drivers are expected to instantiate
scratch memory managers for each shader type (VS, FS, CS) and the same
buffers are reused across commands for each one, growing as necessary.
Signed-off-by: Asahi Lina <lina@asahilina.net >
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:29 +00:00
Asahi Lina
da9677f14b
asahi: cmdbuf: Fix scratch bucket offset/size
...
This is 4 bits. It is an opaque value that gets passed to the
helper, except 0 means no scratch.
Signed-off-by: Asahi Lina <lina@asahilina.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:29 +00:00
Asahi Lina
d6cc820d1a
asahi: libagx: Move PACKED and GLOBAL macros to libagx.h
...
Signed-off-by: Asahi Lina <lina@asahilina.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:29 +00:00
Asahi Lina
eec7c4beb8
agx: compiler: Enable stack_adjust
...
We'll need this once we start using scratch.
Signed-off-by: Asahi Lina <lina@asahilina.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:29 +00:00
Asahi Lina
1f1751d258
agx: compiler: Export scratch size to the driver
...
So it can configure the pipeline correctly, and allocate the required
scratch space.
Signed-off-by: Asahi Lina <lina@asahilina.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:29 +00:00
Asahi Lina
b89da92a5e
agx: compiler: Add fence_helper_exit_agx barrier
...
This is used by the helper program on exit.
Signed-off-by: Asahi Lina <lina@asahilina.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:29 +00:00
Asahi Lina
c406ce793b
agx: Add scaffolding to build the helper shader at device init
...
Add the scaffolding to compile our helper program, and load it at device
init time.
Signed-off-by: Asahi Lina <lina@asahilina.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:29 +00:00
Asahi Lina
05c8b59f5b
agx: Hook up helper intrinsics into CL
...
So we can use these intrinsicts from libagx.
Signed-off-by: Asahi Lina <lina@asahilina.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:29 +00:00
Asahi Lina
30862d7189
agx: Hook up AGX helper NIR intrinsics
...
Signed-off-by: Asahi Lina <lina@asahilina.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:29 +00:00
Asahi Lina
b07dbf7b0f
nir: Add AGX-specific helper opcodes
...
These opcodes are used by the helper program to fetch the current
operation info and core ID.
Signed-off-by: Asahi Lina <lina@asahilina.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:29 +00:00
Asahi Lina
5d0f1ca77f
agx: Rename some SRs
...
I think these better represent what these SRs actually do.
Signed-off-by: Asahi Lina <lina@asahilina.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:29 +00:00
Asahi Lina
28d34f6352
asahi: libagx: introduce AGX_STATIC_ASSERT
...
Using the array size trick, this works in both OpenCL and C.
Signed-off-by: Asahi Lina <lina@asahilina.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:29 +00:00
Alyssa Rosenzweig
8661006ef0
agx: add some more bitop tests
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:29 +00:00
Mary Guillemard
923767a968
agx: Add a bitop optimizer pass
...
Signed-off-by: Mary Guillemard <mary@mary.zone >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:29 +00:00
Mary Guillemard
2b89eb979e
agx: Fuse not into and/or/xor
...
Signed-off-by: Mary Guillemard <mary@mary.zone >
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:29 +00:00
Mary Guillemard
ba508fe854
agx: Remove and/or/xor pseudo ops
...
Switch back to bitop while keeping the aliases on agx_print_instr.
Also add all variants of 2 args of agx_bitop_table.
Signed-off-by: Mary Guillemard <mary@mary.zone >
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:29 +00:00
Mary Guillemard
a5b6ff3ccc
agx: Add more bitops in agx_bitop_table
...
Signed-off-by: Mary Guillemard <mary@mary.zone >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:29 +00:00
Alyssa Rosenzweig
62001e175f
asahi: fix UB in qbo's
...
upper bits may be uninitialized. fixes
KHR-GL46.transform_feedback_overflow_query_ARB when built with gcc (passed by
chance with clang).
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:29 +00:00
Alyssa Rosenzweig
a06b51559b
asahi: plug geometry heap leak
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:29 +00:00
Alyssa Rosenzweig
877c180677
asahi: plug glsl type leak
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:29 +00:00
Alyssa Rosenzweig
06cf222830
asahi: plug so target leak
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:29 +00:00
Alyssa Rosenzweig
e2c5a93358
asahi: plug early_serialized_nir leak
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:29 +00:00
Alyssa Rosenzweig
ffac4e7179
asahi: plug pre-gs leak
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:29 +00:00
Alyssa Rosenzweig
7b44d15e5f
asahi: plug geometry shader leaks
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:29 +00:00
Alyssa Rosenzweig
1e973dd5a9
asahi: rework meta shader infra
...
this fixes the leaks, and is also a lot more pleasant to work with.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:29 +00:00
Alyssa Rosenzweig
7eda3da983
asahi: plug passthrough tcs leak
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:29 +00:00
Alyssa Rosenzweig
e91c0b6423
asahi: delete bogus assertion
...
dEQP-GLES3.functional.fragment_ops.scissor.outside_render_line at certain render
sizes.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:29 +00:00
Alyssa Rosenzweig
5261962186
asahi: fix prim restart unrolling with indirects
...
need to account for draw->start.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:29 +00:00
Alyssa Rosenzweig
c0d3bf3608
agx: optimize vote_eq
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:29 +00:00
Alyssa Rosenzweig
0de7018879
agx: optimize first_invocation
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:29 +00:00
Alyssa Rosenzweig
fb81201a34
agx: implement active_subgroup_invocation_agx
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:29 +00:00
Alyssa Rosenzweig
311070f7af
nir: add active_subgroup_invocation_agx sysval
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:29 +00:00
Alyssa Rosenzweig
da924e2f03
agx: fuse ballot+cmp
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:29 +00:00
Alyssa Rosenzweig
def00f7bf0
agx: introduce ballot pseudo
...
for more opts
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:29 +00:00
Alyssa Rosenzweig
92dcf75fcd
agx: lower more subgroups
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:29 +00:00
Alyssa Rosenzweig
f52e0bd70b
agx: implement load_subgroup_invocation
...
There's an sr.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:29 +00:00
Alyssa Rosenzweig
6f7511b522
asahi: decode uniform_high records
...
print them like low uniforms.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:29 +00:00
Alyssa Rosenzweig
1ee9b8b668
asahi: optimize more when linking libagx
...
Otherwise we get spurious scratch from lower_vars_to_explicit_types on dead
vars.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:29 +00:00
Alyssa Rosenzweig
9287bec892
asahi: fix unbound ssbos
...
fixes null ptr dereference in arb_shader_storage_buffer_object-array-ssbo-binding
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:29 +00:00
Alyssa Rosenzweig
3a6083dea3
asahi: enable robustness
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:29 +00:00
Alyssa Rosenzweig
591ce607e0
asahi: implement reset queries
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:29 +00:00
Alyssa Rosenzweig
5dc0f5ccba
asahi: implement VBO robustness
...
GL semantics. GLES (weaker) and VK (stronger) semantics are left as a todo, with
explanations given. Enabled always to deal with null VBOs, this should be
optimized once we have soft fault.
This necessitates a rework of VBO keys, but hopefully for the best.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:29 +00:00
Alyssa Rosenzweig
4aadf67523
asahi: fix metadata for images with VS lowered to GS
...
KHR-GL46.shader_image_load_store.basic-allTargets-atomicVS
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:28 +00:00
Alyssa Rosenzweig
9753cd44f7
asahi: Implement skeleton for tessellation
...
This implements a rough skeleton of what's needed for tessellation. It contains
the relevant lowerings to merge the VS and TCS, running them as a compute
kernel, and to lower the TES to a new VS (possibly merged in with a subsequent
GS). This is sufficient for both standalone tessellation and tess + geom/xfb
together. It does not yet contain a GPU accellerated tessellator, simply falling
back to the CPU for that for now. Nevertheless the data structures are
engineered with that end goal in mind, in particular to be able to tessellate
all patches in parallel without needing any prefix sums etc (using simple
watermark allocation for the heap).
Work on fleshing out the skeleton continues in parallel. For now, this does pass
the tests and lets the harder stuff get regression tested more easily. And
merging early will ease rebase.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:28 +00:00
Alyssa Rosenzweig
2d37d1b704
asahi: lower poly stipple
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:28 +00:00
Alyssa Rosenzweig
2d913892b2
asahi: gut macOS related code
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:28 +00:00
Alyssa Rosenzweig
5e8168f1b7
asahi: add more uapi stubs
...
for scratch
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:28 +00:00
Alyssa Rosenzweig
db144685a9
compiler: add a vs.tes_agx bit
...
So we can distinguish lowered tess eval shaders masquerading as hardware vertex
shaders from actual software vertex shaders, for determining what stage to pull
descriptors.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:28 +00:00
Jordan Justen
c6e855b64b
intel/compiler: Verify SIMD16 is used for xe2 BTD/RT dispatch
...
Ref: HSD 14011192593
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27529 >
2024-02-14 20:07:13 +00:00
Jordan Justen
820e04ead4
intel/compiler: Implement nir_intrinsic_load_topology_id_intel for xe2
...
Rework:
* Sagar: Rework BRW_TOPOLOGY_ID_DSS, BRW_TOPOLOGY_ID_EU_THREAD_SIMD
calculations
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27529 >
2024-02-14 20:07:13 +00:00
Sagar Ghuge
8f880d0ad7
intel/dev: Update max_subslices_per_slice comment
...
Mention that max_subslices_per_slice relates to GT_SS_PER_SLICE in SKU.
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27529 >
2024-02-14 20:07:13 +00:00
Jordan Justen
b533bf7361
intel/compiler: Set branch shader required-width as 16 for xe2
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27529 >
2024-02-14 20:07:13 +00:00
José Roberto de Souza
5022e5f4bf
iris: Fix iris_batch_is_banned() check
...
iris_batch_is_banned() expects that errno is negative.
Fixes: 665d30b544 ("iris: Wait for drm_xe_exec_queue to be idle before destroying it")
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27619 >
2024-02-14 19:43:55 +00:00
thfrwn
460d2c46a9
mesa: fix off-by-one for newblock allocation in dlist_alloc
...
Cc: mesa-stable
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27556 >
2024-02-14 18:11:49 +00:00
José Roberto de Souza
4423454daa
intel/common: Implement xe_engines_is_guc_semaphore_functional()
...
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25233 >
2024-02-14 17:29:54 +00:00
José Roberto de Souza
ac941b13f1
intel: Sync xe_drm.h
...
Sync xe_drm.h with 9bc36e58d162 ("drm/xe: Add uAPI to query GuC firmware submission version").
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25233 >
2024-02-14 17:29:54 +00:00
José Roberto de Souza
dff96257da
intel/common: Implement i915_engines_is_guc_semaphore_functional()
...
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25233 >
2024-02-14 17:29:54 +00:00
José Roberto de Souza
731121c982
intel: Sync i915_drm.h
...
Sync i915_drm.h with commit b11236486749 ("drm/i915: Add GuC submission interface version query").
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25233 >
2024-02-14 17:29:54 +00:00
José Roberto de Souza
0a129d8e1f
iris: Use intel_engines_supported_count()
...
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25233 >
2024-02-14 17:29:54 +00:00
José Roberto de Souza
29ee85c203
anv: Use intel_engines_supported_count()
...
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25233 >
2024-02-14 17:29:54 +00:00
José Roberto de Souza
fe2982278f
intel/common: Add intel_engines_supported_count()
...
This function is intented to check for KMD, platform or debug options
and return the number of engines that can actually be used.
Next patches will implement i915/xe_engines_is_guc_semaphore_functional()
functions.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25233 >
2024-02-14 17:29:54 +00:00
José Roberto de Souza
ffca423472
intel: Remove circular dependency between intel/dev and intel/common
...
intel/common has a build dependency on intel/dev so the later should
not have any dependendies on the first.
So here moving the definition of intel_engine_class to
intel_device_info.h because it is used in intel_device_info struct
and then including intel_device_info.h in intel_engine.h.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25233 >
2024-02-14 17:29:54 +00:00
José Roberto de Souza
6b5c446556
intel/common: Fix location of C++ support macro in intel_gem.h
...
'extern "C" {' must be added before any includes otherwise the braces
would not match when 'extern "C" {' is defined in other headers.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25233 >
2024-02-14 17:29:54 +00:00
José Roberto de Souza
398bdb46ba
anv: Drop include to common/i915/intel_gem.h
...
Common code should not directly include KMD specific files.
At least there was no usage from symbols defined in this file.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25233 >
2024-02-14 17:29:54 +00:00
Georg Lehmann
e136a0629d
radv/gfx11+: add rtwave32 perftest option
...
Useful for testing compiler changes and performance considerations.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27584 >
2024-02-14 17:11:01 +00:00
Karol Herbst
90eae30bcb
rusticl/mem: move pipe_image_host_access into Image
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27376 >
2024-02-14 14:15:39 +00:00
Karol Herbst
9ce9ddc5e8
rusticl/mem: reorganize MemBase::from_gl a little
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27376 >
2024-02-14 14:15:39 +00:00
Karol Herbst
b834d41d4b
rusticl/mem: move Buffer and Image specific fields into the subtypes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27376 >
2024-02-14 14:15:39 +00:00
Karol Herbst
cf73ac8096
rusticl/mem: move tx_raw_async methods into Buffer and Image
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27376 >
2024-02-14 14:15:39 +00:00
Karol Herbst
f9b05dfd77
rusticl/mem: move MemBase::map into the users
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27376 >
2024-02-14 14:15:39 +00:00
Karol Herbst
d3c3892088
rusticl/mem: reorganize Image::map
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27376 >
2024-02-14 14:15:39 +00:00
Karol Herbst
97680ca861
rusticl/mem: move comment describing how mapping works
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27376 >
2024-02-14 14:15:39 +00:00
Karol Herbst
a9a928cbf9
rusticl/mem: remove get_res
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27376 >
2024-02-14 14:15:39 +00:00
Karol Herbst
687dea4fde
rusticl/mem: move tx into Buffer
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27376 >
2024-02-14 14:15:39 +00:00
Karol Herbst
d18333889e
rusticl/mem: move is_parent_buffer into Image
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27376 >
2024-02-14 14:15:39 +00:00
Karol Herbst
bfa342e16e
rusticl/image: call tx on the parent buffer directly
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27376 >
2024-02-14 14:15:39 +00:00
Karol Herbst
6a15d5baee
rusticl/mem: fold tx_raw into tx
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27376 >
2024-02-14 14:15:39 +00:00
Karol Herbst
790d00d3e1
rusticl/mem: move tx_image into Image
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27376 >
2024-02-14 14:15:39 +00:00
Karol Herbst
e39b6288f6
rusticl/mem: get rid of pixel_size
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27376 >
2024-02-14 14:15:39 +00:00
Karol Herbst
2db23aa207
rusticl/mem: split Image::copy_to into Buffer and Image versions
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27376 >
2024-02-14 14:15:39 +00:00
Karol Herbst
c0c6eca095
rusticl/mem: split Buffer::copy_to into Buffer and Image versions
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27376 >
2024-02-14 14:15:39 +00:00
Karol Herbst
28bff68d98
rusticl/mem: split copy_to into Buffer and Image
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27376 >
2024-02-14 14:15:39 +00:00
Karol Herbst
dd4096e7fd
rusticl/mem: move copy_to_rect into Buffer
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27376 >
2024-02-14 14:15:39 +00:00
Karol Herbst
e048d8c796
rusticl/mem: split write_from_user_rect into buffer and image
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27376 >
2024-02-14 14:15:39 +00:00
Karol Herbst
efc803175a
rusticl/mem: split read_to_user_rect into Buffer and Image versions
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27376 >
2024-02-14 14:15:39 +00:00
Karol Herbst
fdfde8a189
rusticl/mem: move copy and write buffer impls into Buffer
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27376 >
2024-02-14 14:15:39 +00:00
Karol Herbst
aaa05ffc1d
rusticl/mem: split unmap into Buffer and Image versions
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27376 >
2024-02-14 14:15:39 +00:00
Karol Herbst
a840a75d17
rusticl/mem: move shadow sync methods into concrete types
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27376 >
2024-02-14 14:15:39 +00:00
Karol Herbst
553a9e38bd
rusticl/mem: move map methods into concrete types
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27376 >
2024-02-14 14:15:39 +00:00
Karol Herbst
219d8e0dae
core/memory: drop Arc for &Arc<Queue> function parameters
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27376 >
2024-02-14 14:15:39 +00:00
Karol Herbst
5a1089b811
rusticl/mem: move fill methods into concrete types
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27376 >
2024-02-14 14:15:39 +00:00
Karol Herbst
58c042f439
rusticl/mem: use pattern matching in is_parent_buffer
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27376 >
2024-02-14 14:15:39 +00:00
Karol Herbst
d705307a72
rusticl/mem: split into Buffer and Image
...
No implementation is moved yet, but doing this first makes it easier to
move things.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27376 >
2024-02-14 14:15:38 +00:00
Karol Herbst
0125e865a1
rusticl/icd: actually allow dispatching CL types
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27376 >
2024-02-14 14:15:38 +00:00
Karol Herbst
aa5b0e7883
rusticl/device: get rid of pointless Arc overhead
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27376 >
2024-02-14 14:15:38 +00:00
Karol Herbst
7f77f91929
rusticl/icd: split Arc part out of CLObject into new trait
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27376 >
2024-02-14 14:15:38 +00:00
Karol Herbst
4807573ba7
rusticl/icd: move get_arc() and rename it
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27376 >
2024-02-14 14:15:38 +00:00
Karol Herbst
3be4f60f97
rusticl/event: drop from_cl_arr and use arcs_from_arr
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27376 >
2024-02-14 14:15:38 +00:00
Karol Herbst
57e5d377da
rusticl/icd: move from_arc() and rename it
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27376 >
2024-02-14 14:15:38 +00:00
Karol Herbst
51afd7a00c
rusticl/device: deduplicate devices with sorting
...
a HashSet was kinda overkill here to begin with.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27376 >
2024-02-14 14:15:38 +00:00
Karol Herbst
e63e21ac74
rusticl/icd: move get_ref()
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27376 >
2024-02-14 14:15:38 +00:00
Karol Herbst
13241264f1
rusticl/icd: fold leak_ref into its only consumer
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27376 >
2024-02-14 14:15:38 +00:00
Karol Herbst
4ca11d5f06
rusticl/icd: move get_arc_vec_from_arr and rename it
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27376 >
2024-02-14 14:15:38 +00:00
Karol Herbst
9b5bcbb60f
rusticl/icd: move retain() and release()
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27376 >
2024-02-14 14:15:38 +00:00
Karol Herbst
45b9fdb4e5
rusticl/icd: move refcnt() and get rid of needless atomic ops
...
The old impl used `get_arc` which internally calls into
`Arc::increment_strong_count` in order to protect against Arc::drop
deallocating our objects. We could also just not do that :)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27376 >
2024-02-14 14:15:38 +00:00
Karol Herbst
7564b81749
rusticl/icd: move get_ref_vec_from_arr into the Rusticl type
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27376 >
2024-02-14 14:15:38 +00:00
Karol Herbst
46227bf44c
rusticl/api: allow CLObjectBase to be placed anywhere
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27376 >
2024-02-14 14:15:38 +00:00
Karol Herbst
6d8b0a53c6
rusticl/util: support nested structs in offset_of!
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27376 >
2024-02-14 14:15:38 +00:00
Karol Herbst
0287aa4b34
rust/api: add RustTypes enum
...
We want to move away from a 1:1 mapping between CL and Rusticl types, so
that we can differentiate better between different memory types.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27376 >
2024-02-14 14:15:38 +00:00
Lionel Landwerlin
e54638ddf5
anv: fix buffer marker cache flush issues on MTL
...
For some yet unknown reason the CS L3 coherency setting is different
on MTL than DG2.
Fixes issues in tests from the subgroup :
dEQP-VK.api.buffer_marker.*
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: c8e122a738 ("anv: Implement rudimentary VK_AMD_buffer_marker support")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27613 >
2024-02-14 13:45:46 +00:00
Matt Turner
88d0c6c26a
meson: Limit intel_vk_rt to x86_64
...
Fixes: a512c2a8b5 ("meson: enforce build of intel-clc with anv/iris")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10610
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27608 >
2024-02-14 13:08:55 +00:00
Lionel Landwerlin
34078b67ed
anv: don't allocate aux padded BOs with host pointers
...
We can't allocate additional space with host pointers anyway. These
are already allocated pieces of memory by the application.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 646a7c864d ("anv: re-introduce BO CCS allocations")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10608
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27612 >
2024-02-14 11:51:33 +00:00
Lionel Landwerlin
feb7cf82dc
anv: remove redundant asserts
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27611 >
2024-02-14 11:07:10 +00:00
Iago Toral Quiroga
cc7934a89b
broadcom/compiler: fix lane selection for subgroups in fragment shaders
...
It seems the hardware behavior for this is as per-spec and we are
supposed to identify as active entire quads. Particularly, there
are some derivative tests with dynamic control flow that use
subgroup ballot and require this.
However, we still need to exclude terminted lanes (OpTerminate). For
that, we keep track of the sample mask at the start of a fagment
shader start and compare it with the current sample mask.
Fixes: ('broadcom/compiler: support subgroup reduction operations from fragment shaders')
Fixes: dEQP-VK.glsl.derivate.dynamic_loop.*
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27409 >
2024-02-14 08:02:41 +01:00
Mark Janes
2143da6d5a
intel/dev: improve meson invocation for intel_device_info gen
...
Review for related code-generation commits advised that the use of an
--outdir parameter was undesirable.
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27557 >
2024-02-13 19:38:36 +00:00
Mark Janes
f95b87a3dc
intel/tools: load json device info in drm_shim
...
Enable drm_shim to parse a serialized intel_device_info structure from
json. When overriding the gpu hardware, drm_shim provides the stubbed
intel_device_info structure to mesa through an unused ioctl.
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27557 >
2024-02-13 19:38:36 +00:00
Mark Janes
56da473b6f
intel/dev/tools: add json as an output format for intel_dev_info
...
intel_dev_info prints out struct intel_device_info in a user-friendly
format. Json format enables this information to be used as input for
tools.
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27557 >
2024-02-13 19:38:36 +00:00
Mark Janes
1f725a222a
intel/dev: implement json serialization for intel_device_info
...
Generate intel_device_serialize.c from a mako template, providing
functions to dump and parse intel_device_info.
intel_device_info.py declares python objects representing all type
declarations associated with intel_device_info. It is used as a data
source for intel_device_serialize_c.py
intel_device_serialize_c.py emits a c++ file with routines to dump
or load all struct members to/from json. The json format is a direct
translation of the c structure, with 2 exceptions:
- When parsing json, the no_hw member is always set to true to
indicate that the driver's intel_device_info does not correspond to
the current platform.
- When dumping to json, devinfo_type_sha1 is calculated to be a
checksum which changes whenever intel_device_info is updated. This
checksum is encoded in json. When parsing json, the driver verifies
that the checksum matches before loading data into
intel_device_info. This verifies compatibility.
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27557 >
2024-02-13 19:38:36 +00:00
Casey Bowman
d124542b55
anv: Override VendorID for Hitman 3
...
XeSS workaround is required for Hitman 3 to launch for Intel cards.
The following was observed during launch, coming from libxess.dll:
"Intel Plugin Extension ERROR: INTC_LoadExtensionsLibrary failed"
Signed-off-by: Casey Bowman <casey.g.bowman@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27477 >
2024-02-13 19:02:24 +00:00
Mark Janes
e56f810316
intel/tools: add intel device meson dependencies
...
idep_intel_dev ensures that headers are generated before dependent
source files are compiled. Some tools have been building without that
dependency, and encounter intermittent compilation errors on
sufficiently parallel builds.
Any target which depends on idep_intel_dev will link with
libintel_dev. Redundant link instructions can be removed.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10604
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27600 >
2024-02-13 18:37:19 +00:00
Jesse Natalie
161a90abbd
dzn: Add a driconf option to disable dzn for specific apps and use it for RDR2
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27531 >
2024-02-13 17:53:42 +00:00
Jesse Natalie
660c7fe6a7
dzn: Fix tessellation shader insertion into PSO desc
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27531 >
2024-02-13 17:53:42 +00:00
Jesse Natalie
d5131e5f86
dzn: Simultaneous-access is mutually exclusive with MSAA
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27531 >
2024-02-13 17:53:42 +00:00
Jesse Natalie
32c6caffd7
spirv2dxil: Trivial fixes for tessellation shaders
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27531 >
2024-02-13 17:53:42 +00:00
Jesse Natalie
a3c45306e2
spirv2dxil: Remove dead branches early during shader compilation
...
Apparently spiregg can produce not-taken branches that somehow try
to access textures that aren't actually declared. These branches
need to be trimmed before any texture lowering is done.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27531 >
2024-02-13 17:53:42 +00:00
Jesse Natalie
a8758afabd
microsoft/compiler: Relax assert for SPIR-V barriers
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27531 >
2024-02-13 17:53:42 +00:00
Erik Faye-Lund
b6b980a904
mesa/main: work around chrome/firefox bug
...
Due to flawed logic, Chromium and Firefox thinks EXT_texture_storage
allows using GL_BGRA8_EXT for *all* texturing, including things like
glTexSubImage2D, which it does not.
However, this bug was introduced in Chromium back in 2016, and there's
also a lot of Electron apps that bundle outdated versions of Chromium.
This means it's going to be a *mess* to fix this properly while staying
within the spec.
I've opened a ticket with Khronos to consider changing the spec to make
this legal, because it seems most other OpenGL implementations allow it.
But in the mean time, let's complain a bit, but accept the behavior.
This way people can at least run browsers with hardware acceleration
again. If we decide to change the spec, we can remove this wording.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10550
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27521 >
2024-02-13 17:08:27 +00:00
Erik Faye-Lund
d0cc0e74dd
mesa/main: mark GL_BGRA8_EXT as color-renderable
...
While this is not quite as clear as in the previous commit, I still
believe this is the case, but in a bit of an indirect way:
1. EXT_texture_storage defines that GL_BGRA8_EXT is allowed to be used
in certain sitations if *either* EXT_texture_format_BGRA8888 *or*
APPLE_texture_format_BGRA8888 is supported.
2. Surprisingly, EXT_texture_format_BGRA8888 (which we do support) does
not even mention GL_BGRA8_EXT, only GL_BGRA_EXT.
3. APPLE_texture_format_BGRA8888 on the other hand (which we *don't*
support) *does* introduce GL_BGRA8_EXT, and is pretty clear about it
being intended for rendering-purposes. But it's written against GLES
1.1 instead of GLES 2 or later, so it doesn't explicitly add it to
the required tables.
I think the above tells us that GL_BGRA8_EXT is *supposed* to be a
color-renderable format, even if the way we currently support it is
rather underspecified.
It should also be texture-filterable, for the same reason as in the
previous commit.
In the longer run, we should probably add support for
APPLE_texture_format_BGRA8888, which would make things a bit clearer.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27521 >
2024-02-13 17:08:27 +00:00
Erik Faye-Lund
2b2a6a238e
mesa/main: mark GL_BGRA as color-renderable
...
The EXT_texture_format_BGRA8888-spec is quite clear that this format is
color-renderable, so let's mark it properly as such.
It should also be texture-filterable, because in the version of OpenGL
ES it was written against all texture-formats were filterable to begin
with.
While we're at it, use the non-EXT version of the enum; it's been in the
headers since OpenGL 1.2...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27521 >
2024-02-13 17:08:27 +00:00
Erik Faye-Lund
a7e8dc6835
mesa/main: fix _mesa_base_tex_format for BGRA
...
This function needs the GLES fix for all APIs now. And it should also
handle the sized internal format.
Fixes: 4de62731f4 ("mesa/main: add support for EXT_texture_storage")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27521 >
2024-02-13 17:08:27 +00:00
Mike Blumenkrantz
b7e39657f6
zink: only add arrays to indirect non-tcs variables
...
these are already sized accurately
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27534 >
2024-02-13 16:13:13 +00:00
Mike Blumenkrantz
9e2c7314f2
nir/lower_io: fix handling for compact arrays with indirect derefs
...
this logic relies on constant indexing for compact arrays, but this is
frequently not the case for compact array builtins (e.g., gl_TessLevelOuter).
the usual strategy of lowering to temps isn't viable in TCS, which means
io lowering has to be able to handle indirect access to these builtins
without crashing
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27534 >
2024-02-13 16:13:13 +00:00
Lionel Landwerlin
a512c2a8b5
meson: enforce build of intel-clc with anv/iris
...
If we do a native build, regardless of the host architecture and we
build Anv or Iris, we need intel-clc. So force building that tool.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10601
Fixes: b52e25d3a8 ("anv: rewrite internal shaders using OpenCL")
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27593 >
2024-02-13 15:31:10 +00:00
José Roberto de Souza
d0fba810b3
intel: Fix intel_get_mesh_urb_config()
...
The round up in 'next_address_8kb = DIV_ROUND_UP(push_constant_kb, 8)'
was not decreasing the amount of URB available for Mesh and Task, what
could cause an over allocation of URB.
There was also no minimum entries enforcement for Mesh and Task, what
could cause 0 r.mesh_entries to be set in a case where tue_size_dw is
90% > than mue_size_dw. Same for r.task_entries when Task is enabled.
Also adding a few more asserts to help debug.
This fixes at least dEQP-VK.mesh_shader.ext.properties.mesh_payload_size
in LNL but it has potential to fixes other Mesh tests as well.
Cc: mesa-stable
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27555 >
2024-02-13 15:06:32 +00:00
Samuel Pitoiset
32c1e45718
radv: fix emitting VS prologs for merged shaders compiled separately on GFX10+
...
RSRC1 isn't equal to the VS RSRC1 and both config registers need to
be re-emitted.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27574 >
2024-02-13 14:01:42 +00:00
Samuel Pitoiset
6762307698
radv: cleanup radv_shader_combine_cfg_vs_tcs()
...
To match radv_shader_combine_cfg_vs_gs().
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27574 >
2024-02-13 14:01:42 +00:00
Georg Lehmann
6121497228
aco/gfx11+: limit hard clauses to 32 instructions
...
https://github.com/llvm/llvm-project/pull/81287
Foz-DB Navi31:
Totals from 406 (0.52% of 78112) affected shaders:
Instrs: 585342 -> 585750 (+0.07%)
CodeSize: 3077856 -> 3079456 (+0.05%); split: -0.00%, +0.05%
Latency: 3263165 -> 3263326 (+0.00%); split: -0.00%, +0.01%
InvThroughput: 664092 -> 664114 (+0.00%); split: -0.00%, +0.00%
VClause: 11143 -> 11537 (+3.54%)
SClause: 11878 -> 11884 (+0.05%)
Copies: 39807 -> 39815 (+0.02%)
Cc: mesa-stable
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27569 >
2024-02-13 13:40:52 +00:00
Karol Herbst
3f7b344930
rusticl/mem: support GL_TEXTURE_BUFFER
...
Fixes: 2645003bdc ("rusticl: Create CL mem objects from GL")
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27385 >
2024-02-13 10:12:13 +00:00
Karol Herbst
117291332c
rusticl/mem: properly handle buffers
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10505
Fixes: 2645003bdc ("rusticl: Create CL mem objects from GL")
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27385 >
2024-02-13 10:12:13 +00:00
Karol Herbst
727cddd338
nir/lower_cl_images: record image_buffers and msaa_images
...
Cc: mesa-stable
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27385 >
2024-02-13 10:12:13 +00:00
Tapani Pälli
29a6beb36e
anv: revert cache flushing changes for indirect commands
...
This reverts commit d699600da1 .
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10600
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27591 >
2024-02-13 09:47:32 +00:00
Samuel Pitoiset
0c05bdf1c1
radv/ci: enable RADV_PERFTEST=shader_object on VEGA10
...
Renoir currently hangs in Mesa CI. Needs to be investigated.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27433 >
2024-02-13 09:14:21 +00:00
Samuel Pitoiset
bead3f2ec3
radv: allow RADV_PERFTEST=shader_object on GFX9/VEGA10
...
It's passing VKCTS on VEGA10 but for some reasons RENOIR currently
hangs.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27433 >
2024-02-13 09:14:21 +00:00
Friedrich Vock
afab80bdb6
radv,driconf: Enable active AS leaf workaround for Jedi Survivor
...
Another game that can't get AS updates right.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27590 >
2024-02-13 08:37:20 +00:00
Marek Olšák
14c85196fc
mesa: use util_idalloc_alloc_range for _mesa_HashFindFreeKeyBlock
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27588 >
2024-02-13 01:51:59 -05:00
Marek Olšák
ec65dfaabd
mesa: fix incorrect _mesa_HashInsertLocked parameter in _mesa_EndList
...
This fixes random behavior when we turn on GL names reuse for display lists.
(ctx->Const.ForceGLNamesReuse)
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27588 >
2024-02-13 01:51:59 -05:00
Marek Olšák
72a38b3792
st/mesa: remove !obj checking in _mesa_get_bufferobj_reference when it's useless
...
There is at least one case in a future commit where the compiler can't do
this automatically.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27587 >
2024-02-13 04:39:13 +00:00
Marek Olšák
9747cf2c8f
st/mesa: merge 3 unlikely blocks in _mesa_get_bufferobj_reference
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27587 >
2024-02-13 04:39:13 +00:00
Marek Olšák
bfe6d389a0
mesa: remove _mesa_HashTable::InDeleteAll
...
It's not necessary if we don't remove entries from the hash table,
which we don't have to do because we are going to destroy it anyway.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27586 >
2024-02-13 03:53:27 +00:00
Marek Olšák
8ca750a8b6
mesa: fold _mesa_HashDeleteAll into _mesa_DeleteHashTable
...
They are always called back-to-back. This is simpler.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27586 >
2024-02-13 03:53:27 +00:00
Marek Olšák
d33bffd708
mesa: re-format main/hash.h, move inlines to the end, some code to main/hash.c
...
the assertions also didn't do anything
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27586 >
2024-02-13 03:53:26 +00:00
Marek Olšák
cf2692fa24
mesa: clean up unnecessary _mesa_HashTable locked/unlocked wrappers
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27586 >
2024-02-13 03:53:26 +00:00
Marek Olšák
70b65fe09b
mesa: remove unused _mesa_HashTable code
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27586 >
2024-02-13 03:53:26 +00:00
Marek Olšák
716e483cfb
util/idalloc: make deleting invalid IDs a no-op
...
This happens with piglit tests if we enable ForceGLNamesReuse
for everything.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27586 >
2024-02-13 03:53:26 +00:00
Lionel Landwerlin
5438b19104
iris: enable generated indirect draws
...
This mirror the ring buffer mode we have in Anv.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26797 >
2024-02-13 00:06:45 +00:00
Lionel Landwerlin
d754ed5330
iris: add an option for not emit draw parameters
...
When we start generating indirect draws, we'll generate values ourself
and point the HW vertex buffer entries to right location from the
device.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26797 >
2024-02-13 00:06:45 +00:00
Lionel Landwerlin
96439b7dfb
iris: factor out index buffer emission
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26797 >
2024-02-13 00:06:45 +00:00
Kenneth Graunke
1caf42d92e
iris: Implement INTEL_DEBUG=heaps
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26797 >
2024-02-13 00:06:45 +00:00
Lionel Landwerlin
725817f429
iris: make URB programming available outside iris_state.c
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26797 >
2024-02-13 00:06:45 +00:00
Lionel Landwerlin
84e1f8ae70
iris: make KSP helper available outside iris_state.c
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26797 >
2024-02-13 00:06:45 +00:00
Lionel Landwerlin
bde1c76655
iris: make binding table shifting values available outside iris_state.c
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26797 >
2024-02-13 00:06:45 +00:00
Lionel Landwerlin
f192ea630a
intel/shaders: enable gfx8 support
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26797 >
2024-02-13 00:06:45 +00:00
Lionel Landwerlin
76c3d97c84
intel/shaders: add iris variant of indirect draws generation shader
...
Iris does not use Gfx11+ SGVS extended parameters, so we have to rely
on the old Gfx9 method of providing the parameters through vertex
buffers.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26797 >
2024-02-13 00:06:45 +00:00
Lionel Landwerlin
b52e25d3a8
anv: rewrite internal shaders using OpenCL
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26797 >
2024-02-13 00:06:45 +00:00
Lionel Landwerlin
da391650f5
ci: build a host version of mesa for cross builds
...
We're about to introduce a hard dependency on OpenCL functions in Iris
& Anv to generate commands. Intel-clc has been modified to generate
serialized NIR.
A number of builders are doing cross builds, so we can't use the
intel-clc built in that cross build. Other builds like ASAN/MSAN also
complain when running the built version of intel-clc because of
uninitialized values in the packaged LLVM libraries from the
x86_64-base image.
To solve those problems we build a host version of intel-clc and use
that binary in the cross build to generate the serialized NIR.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26797 >
2024-02-13 00:06:45 +00:00
Lionel Landwerlin
1e31fd5f42
meson: add option to install intel-clc
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26797 >
2024-02-13 00:06:45 +00:00
Lionel Landwerlin
a26c7b0b03
intel/ds: new tracepoints for generated commands
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26797 >
2024-02-13 00:06:45 +00:00
Lionel Landwerlin
472f49ef43
genxml: remove NDEBUG_UNUSED
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26797 >
2024-02-13 00:06:45 +00:00
Lionel Landwerlin
41b2ed65e2
genxml: generate opencl packing headers
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26797 >
2024-02-13 00:06:45 +00:00
Lionel Landwerlin
2a0328ba8b
genxml: enable opencl code generation
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26797 >
2024-02-13 00:06:45 +00:00
Lionel Landwerlin
e6b5196079
intel-clc: print text input
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26797 >
2024-02-13 00:06:45 +00:00
Lionel Landwerlin
4fd7495c69
intel/clc: add ability to output NIR
...
This will be used to generate a serialized NIR of functions for
internal shaders.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26797 >
2024-02-13 00:06:45 +00:00
Lionel Landwerlin
2bae1b6b66
intel-clc: move ISA generation to its own function
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26797 >
2024-02-13 00:06:45 +00:00
Lionel Landwerlin
2a1ff08376
intel/compiler: make default NIR compiler options visible
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26797 >
2024-02-13 00:06:45 +00:00
Lionel Landwerlin
012489e55c
meson: add a new option to enable intel-clc without building RT shaders
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26797 >
2024-02-13 00:06:44 +00:00
Lionel Landwerlin
c53a4711cb
anv: fix incorrect flushing on shader query copy
...
When doing query result copies in 3D mode, we're flushing the render
target cache, but the shader writes go through the dataport.
Fixes flakes/fails in piglit with shader query copies forced with Zink :
$ query_copy_with_shader_threshold=0 ./bin/arb_query_buffer_object-coherency -auto -fbo
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: b3b12c2c27 ("anv: enable CmdCopyQueryPoolResults to use shader for copies")
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26797 >
2024-02-13 00:06:44 +00:00
Lionel Landwerlin
2437556d83
intel/fs: rerun divergence prior to lowering non-uniform interpolate at sample
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 74a40cc4b6 ("intel/fs: move lower of non-uniform at_sample barycentric to NIR")
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26797 >
2024-02-13 00:06:44 +00:00
Lionel Landwerlin
8f5a7f57df
intel/fs: indent lowering code to make it more readable
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26797 >
2024-02-13 00:06:44 +00:00
Lionel Landwerlin
c517088cf1
anv: factor out post submit queue debug code
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26797 >
2024-02-13 00:06:44 +00:00
Lionel Landwerlin
67f3fa896e
intel/dev: fix missing dependency on generated packing heaers
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26797 >
2024-02-13 00:06:44 +00:00
Lepton Wu
04d26ceb0a
llvmpipe: Set "+64bit" for X86_64
...
Without this, on some "buggy" qemu cpu setup, LLVM could crash
if LLVM detects the wrong CPU type.
Fixes: f92cadccc6 ("llvmpipe: Always using util_get_cpu_caps to get cpu caps for llvm on x86")
Signed-off-by: Lepton Wu <lepton@chromium.org >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27539 >
2024-02-12 22:43:46 +00:00
Danylo Piliaiev
5dd5d4c4b5
tu: Exclude more a7xx regs from stomping
...
Stomping these regs even for a short time leads to crashes.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26934 >
2024-02-12 22:05:13 +00:00
Danylo Piliaiev
e4631bee61
freedreno/devices: Update magic regs for a7xx
...
These regs are written by blob, for some of them blob could
write non-zero values. So executing Turnip after blob without
writing these regs could lead to nasty GPU crashes.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26934 >
2024-02-12 22:05:13 +00:00
Danylo Piliaiev
eb1e71e707
freedreno,tu: Move varying interp and varying repl modes to xml
...
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26934 >
2024-02-12 22:05:13 +00:00
Danylo Piliaiev
78c843230c
tu/a750: Consider vertex attr buff in gmem allocation
...
A750 added a new optimization - placement of vertex attributes
into GMEM, so part of GMEM is carved out for it and needs to
be considered during GMEM allocations.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26934 >
2024-02-12 22:05:13 +00:00
Mark Collins
5266815ca9
tu/a7xx: Update CCU layout logic for A7XX
...
A7XX introduces some changes into the CCU such as having different
amounts of memory per CCU for depth and color and dividing up CCU
control into two registers A7XX_RB_CCU_CNTL and A7XX_RB_CCU_CNTL2
where CNTL2 no longer requires a complete flush to be updated, we
currently don't take advantage of this as any CCU updates set both
registers but it's a potential optimization we can add in the future.
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26934 >
2024-02-12 22:05:13 +00:00
Danylo Piliaiev
98d6d93a82
turnip,ir3/a750: Implement inline uniforms via ldg.k
...
Inline consts suffer the same issue as driver params, so they also
should be preloaded via preamble. There is special instruction to
load from global memory into consts.
Co-Authored-By: Connor Abbott <cwabbott0@gmail.com >
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26934 >
2024-02-12 22:05:13 +00:00
Connor Abbott
6a744ddebc
ir3: Initial support for pushing globals with ldg.k
...
Add a separate pass which uses the analyze_ubo_ranges machinery to
construct ranges of readonly globals accessed in the shader and push
them to constants in the preamble, using ldg.k if possible. This is
enough to handle inline uniforms in turnip but also provides a base for
OpenCL, although the pass would need further work for that.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26934 >
2024-02-12 22:05:13 +00:00
Connor Abbott
513fa1873c
ir3/a7xx: Fix load_global_ir3 with immediate offset
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26934 >
2024-02-12 22:05:13 +00:00
Connor Abbott
45c71803f9
tu: Add more info to ldg inline uniform path
...
This will let us push the ldg into the preamble.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26934 >
2024-02-12 22:05:13 +00:00
Danylo Piliaiev
b87b8fdf73
tu: Use SS6_INDIRECT for VS params
...
a750 has SS6_DIRECT path broken, we should either use UBO lowering
or SS6_INDIRECT path.
It is implemented as INDIRECT load even on a750+ because with UBO
lowering it would be tricky to get const offset for to use in multidraw,
also we would need to ensure the offset is not 0.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26934 >
2024-02-12 22:05:13 +00:00
Danylo Piliaiev
76e417ca59
turnip,ir3/a750: Implement consts loading via preamble
...
A750 expects driver params loaded through the preamble, old path
does work but has issues when the same LOAD_STATE is used between
several draw calls (it seems that LOAD_STATE is executed only for
the first draw call).
To solve this we now lower driver params to UBOs and let NIR deal with
them.
Notes:
- VS params are loaded via old path since blob do the same and there
are no issues observed.
- FDM is not supported at the moment.
- For now driver params data is emitted via CP_NOP because it's tricky
to allocate space for the data. (It is emitted when we are already in
sub_cs)
Co-Authored-By: Connor Abbott <cwabbott0@gmail.com >
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26934 >
2024-02-12 22:05:13 +00:00
Danylo Piliaiev
7429ca3115
tu: Use SS6_INDIRECT consts upload path for 3d blits
...
3d blits used DIRECT consts upload path, which doesn't work
properly on a750+, however uploading them via SS6_INDIRECT
seem to be working.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26934 >
2024-02-12 22:05:13 +00:00
Danylo Piliaiev
30597970a5
tu/a7xx: Do not preload shaders, HW does it by default
...
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26934 >
2024-02-12 22:05:13 +00:00
Danylo Piliaiev
ac75edb8c4
tu/a7xx: Correctly set A7XX_HLSQ_UNKNOWN_A9AE.SYSVAL_REGS_COUNT
...
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26934 >
2024-02-12 22:05:13 +00:00
Danylo Piliaiev
bc6b847017
ir3: Add ldg.k instruction
...
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26934 >
2024-02-12 22:05:13 +00:00
Danylo Piliaiev
ad52f92cb8
tu: Define and set to zero all SP_*_VGPR_CONFIG regs
...
SP_FS_VGPR_CONFIG was found to be correlated with blob using avgs/uvgs.
Other SP_*_VGPR_CONFIG where undefined per-stage regs and it was tested
via rddecompiler that they "fix" hangs in respective shader stage,
when such stage uses the following instructions pattern:
avgs.s.1.tex.0
(ss) avgs.e;
uvgs.s.tex.0;
uvgs.e
The exact meaning of SP_*_VGPR_CONFIG is to be investigated.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26934 >
2024-02-12 22:05:12 +00:00
Jonathan Marek
c166c5100b
tu/a750: Basic a750 support
...
Could run vkcube.
Based on changes from Jonathan Marek <jonathan@marek.ca >
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26934 >
2024-02-12 22:05:12 +00:00
Danylo Piliaiev
cdadead230
tu/a7xx: Make A7XX_RB_UNKNOWN_8E06 value configurable per-gen
...
It is some kind of DBG register which has different value
on different gens.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26934 >
2024-02-12 22:05:12 +00:00
Sagar Ghuge
98b62434bd
intel/compiler: Lower texture operation to combine LOD and AI
...
We have to push the lowering of texture operations a bit further in
pipeline since nir_lower_tex gets invoked twice and if there is no LOD
source present, nir_lower_tex adds that as a source. Once that's all
done we can easily combine the LOD and array index into a single 32-bit
value.
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27458 >
2024-02-12 21:25:48 +00:00
Sagar Ghuge
c984d6e2fc
nir: Drop intel specific lowering code
...
In previous patches, we have moved the Intel specific lowering code in
brw_nir_lower_texture file. We can go ahead and drop the Intel specific
texture source too.
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27458 >
2024-02-12 21:25:48 +00:00
Sagar Ghuge
15129c7634
intel/compiler: Use nir_tex_src_backend1 to pack LOD and array index
...
Since this lowering is totally Intel specific, we don't have to
introduce the new texture source. We can use the nir_tex_src_backend1
source to pack LOD/LOD Bias and array index into 32 bit single value.
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27458 >
2024-02-12 21:25:48 +00:00
Sagar Ghuge
73a3257968
intel/compiler: Add texture operation lowering pass
...
This pass combines the LOD or LOD bias and array index into a single
32-bit value since Xe2+ sampler messages requires us to do that.
v2: (Alyssa)
- Use nir_iand_imm instead of nir_iand and nir_imm_int
- Use nir_trim_vector instead of nir_swizzle
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27458 >
2024-02-12 21:25:48 +00:00
Lionel Landwerlin
646a7c864d
anv: re-introduce BO CCS allocations
...
On Gfx12.0, CCS allocations have to be allocated per image because the
format of the image goes into the AUX-TT PTEs. The effect on memory
allocations is limited since the main surface granularity in the
AUX-TT PTE is 64KB.
On Gfx12.5, the granularity of the AUX-TT PTE is 1MB. This creates a
lot of waste in the application memory allocations. Fortunately the HW
doesn't care about the format put into the PTEs anymore. So it becomes
possible to have 2 images share the same PTE.
To implement this we bring back an earlier version of AUX-TT mappings
where we used to allocate additional CCS space at the end of the
VkDeviceMemory objects. On Gfx12.5, if the BO has additional CCS
space, we will now map the main surface to that space.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jianxun Zhang <jianxun.zhang@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26822 >
2024-02-12 21:00:27 +00:00
Lionel Landwerlin
bd197c6bcf
intel/aux_map: add helper to compute offset in aux data
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jianxun Zhang <jianxun.zhang@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26822 >
2024-02-12 21:00:27 +00:00
Lionel Landwerlin
c0889a127b
intel/aux_map: add BSpec reference
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jianxun Zhang <jianxun.zhang@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26822 >
2024-02-12 21:00:27 +00:00
Lionel Landwerlin
da6484a8a4
anv: use address helper to compute address u64 value
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jianxun Zhang <jianxun.zhang@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26822 >
2024-02-12 21:00:27 +00:00
Lionel Landwerlin
7763e75eea
anv: move ALLOC_HOST_CACHED_COHERENT as define
...
That way gdb can decode the other flags when looking at the variables.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jianxun Zhang <jianxun.zhang@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26822 >
2024-02-12 21:00:27 +00:00
Lionel Landwerlin
3f64ec141e
isl: add a no-aux-align usage flag
...
This flag signals that the driver will be dealing with aux-tt
alignment requirements on its own.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jianxun Zhang <jianxun.zhang@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26822 >
2024-02-12 21:00:27 +00:00
Lionel Landwerlin
44515bb92c
isl: printout sparse usage
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jianxun Zhang <jianxun.zhang@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26822 >
2024-02-12 21:00:27 +00:00
Rhys Perry
926d9f1cef
radv: support minmax filter for more formats
...
Support should be the same as AMDVLK, except for these formats:
- VK_FORMAT_R4G4_UNORM_PACK8
- VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT
- VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT
- VK_FORMAT_A1B5G5R5_UNORM_PACK16_KHR
- VK_FORMAT_A8_UNORM_KHR
- VK_FORMAT_X8_D24_UNORM_PACK32
- VK_FORMAT_D24_UNORM_S8_UINT
And the various emulated compressed formats.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27551 >
2024-02-12 20:05:27 +00:00
Faith Ekstrand
05cf04ac97
nvk: Convert shader addresses to offsets in nvk_shader.c
...
Fixes: e162c2e78e ("nvk: Use VM_BIND for contiguous heaps instead of copying")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27565 >
2024-02-12 18:47:07 +00:00
Faith Ekstrand
afd42f5951
nvk/heap: Rework over-allocation
...
Instead of making it part of every BO, just reserve a bit of space at
the end of the top buffer as part of setting up our vma_heap. This
reduces our memory allocation by nvk_heap::overalloc per BO and means
that the over-allocation is taken into account when sparse binding heap
BOs in the contiguous case.
Fixes: e162c2e78e ("nvk: Use VM_BIND for contiguous heaps instead of copying")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27565 >
2024-02-12 18:47:07 +00:00
Faith Ekstrand
728256e994
nvk/heap: Use nvk_heap_bo::addr instead of bo->offset
...
Fixes: e162c2e78e ("nvk: Use VM_BIND for contiguous heaps instead of copying")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27565 >
2024-02-12 18:47:07 +00:00
Faith Ekstrand
83521dd486
nvk: Don't set CONSTANT_BUFFER_SELECTOR with a zero size
...
Kepler complains about this and it's unnecessary since we set
ENABLE_FALSE whenever we have a zero size anyway.
Fixes: 55413e33dc ("nvk: Disable all cbufs in nvk_queue_init_context_draw_state()")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27565 >
2024-02-12 18:47:07 +00:00
Sviatoslav Peleshko
28ad2f488a
anv: Store host-located copy of NULL surface state for faster memcpy
...
Real null_surface_state is located in the GPU memory, so copying from
there will be slow for dGPUs.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10594
Signed-off-by: Sviatoslav Peleshko <sviatoslav.peleshko@globallogic.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27577 >
2024-02-12 17:48:15 +00:00
Neil Armstrong
48a0a3112f
freedreno: Add a750 clock gating control related registers
...
The A750 doesn't have an HWCFG clock gating control but instead a set
of additionnal RBBM registers, add them to allow setting up hardware clock
gating on the A750 GPU.
Registers definitions are used from [0] and [1].
[0] https://git.codelinaro.org/clo/la/platform/vendor/qcom/opensource/graphics-kernel/-/blob/gfx-kernel.lnx.14.0.r3-rel/gen7_reg.h#L636
[1] https://git.codelinaro.org/clo/la/platform/vendor/qcom/opensource/graphics-kernel/-/blob/gfx-kernel.lnx.14.0.r3-rel/adreno_gen7.c#L490
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27576 >
2024-02-12 17:10:09 +00:00
Konstantin Seurer
097e543c0a
Revert "zink: always force flushes when originating from api frontend"
...
This reverts commit 03f049f497 .
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27560 >
2024-02-12 16:47:30 +00:00
Konstantin Seurer
aed5e4e1f2
zink: Always set mfence->submit_count to the fence submit_count
...
Fixes glFinish not finishing all GPU work.
cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8257
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27560 >
2024-02-12 16:47:30 +00:00
David Rosca
8d44a11508
radeonsi/vcn: Don't reinitialize encode session on bitrate/fps change
...
When bitrate or fps change is detected, only update rate control
parameters instead of completely reinitializing encode session.
This fixes an issue where if application changed bitrate or fps often,
the output bitrate would significantly overshoot the target bitrate in some
cases. In other cases, the output bitrate would be extremely low instead.
Cc: mesa-stable
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27548 >
2024-02-12 16:00:39 +00:00
Lionel Landwerlin
e0b4dfbbda
anv: don't unmap AUX ranges at BO delete
...
It is possible to free memory backing images before images are
destroyed :
VkFreeMemory:
"Memory can be freed whilst still bound to resources, but those
resources must not be used afterwards."
The spec leaves us the option to keep a reference on the associated
memory and free it only when all the bound resources have been
destroyed. Here we choose to free memory immediately.
One particular test in the CTS
(dEQP-VK.synchronization.internally_synchronized_objects.pipeline_cache_graphics)
does the following :
imgA = vkCreateImage()
imgB = vkCreateImage()
memA = vkAllocateMemory()
vkBindImageMemory(imgA, memA) # Aux mapping with ref count = 1
vkFreeMemory(memA) # Aux mapping removed, ref count = 0
memB = vkAllocateMemory() # Same address as memA
vkBindImageMemory(imgB, memB)
vkDestroyImage(imgA) # Removes the mapping of imgB-memB
vkQueueSubmit() # hang with pagefault in AUX-TT
The solution implemented in this change is to not do anything AUX-TT
related in vkFreeMemory(). This soluation has some consequences,
because a virtual memory address range freed and reallocated cannot be
rebound in the AUX-TT until all the associated resources have released
their AUX-TT mapping (to bring back the AUX-TT refcount of the range
to 0). This should still be better than keeping the memory allocated
through refcounting of the anv_bo.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 7b87e1afbc ("anv: track & unbind image aux-tt binding")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10528
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27566 >
2024-02-12 15:37:18 +00:00
Konstantin Seurer
fb62bffcda
radv: Wire up ac_gather_context_rolls
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27322 >
2024-02-12 14:04:24 +00:00
Konstantin Seurer
ba6d6e5ee1
amd/common: Use the correct register table for GFX10_3
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27322 >
2024-02-12 14:04:24 +00:00
Timothy Arceri
1098afd7fb
gallium: add PIPE_CAP_FP16 for AMD_gpu_shader_half_float
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18540 >
2024-02-12 13:23:14 +00:00
Timothy Arceri
6fbf336788
compiler/types: Add a contains_32bit helper
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18540 >
2024-02-12 13:23:14 +00:00
Timothy Arceri
5f1f6d7496
glsl: add half float AMD_shader_trinary_minmax functions
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18540 >
2024-02-12 13:23:14 +00:00
Timothy Arceri
d619c16c3f
glsl: add half float derivative functions
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18540 >
2024-02-12 13:23:14 +00:00
Timothy Arceri
14de2eff89
glsl: add half float interpolation functions
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18540 >
2024-02-12 13:23:14 +00:00
Timothy Arceri
9dc5eec02c
glsl: allow half float varyings
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18540 >
2024-02-12 13:23:14 +00:00
Timothy Arceri
3dc67c2c7e
glsl: add half float vector relational functions
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18540 >
2024-02-12 13:23:14 +00:00
Timothy Arceri
e7f1be1ceb
glsl: add half float matrix functions
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18540 >
2024-02-12 13:23:14 +00:00
Timothy Arceri
99a80ac930
glsl: add half float geometric functions
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18540 >
2024-02-12 13:23:14 +00:00
Timothy Arceri
6a170051a9
glsl: add support for half float packing functions
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18540 >
2024-02-12 13:23:14 +00:00
Timothy Arceri
c386d56915
glsl: add half float support for common functions
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18540 >
2024-02-12 13:23:14 +00:00
Timothy Arceri
eea1c1fa7b
glsl: add f2f16() helper to ir_builder
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18540 >
2024-02-12 13:23:14 +00:00
Timothy Arceri
94865a45f8
glsl: add half float exponential functions
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18540 >
2024-02-12 13:23:14 +00:00
Timothy Arceri
829c99def1
glsl: add half float angle and trigonometry functions
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18540 >
2024-02-12 13:23:13 +00:00
Timothy Arceri
3ff22ee4ae
glsl: add some new helpers for half float builtin functions
...
These helpers will be used in the following patches.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18540 >
2024-02-12 13:23:13 +00:00
Timothy Arceri
9dc651a13f
glsl: skip conversion of half float back to float for GL queries
...
This is only needed for GLES where floats have been lowered to
half floats internally. We don't do that in desktop GL and we
need to skip it to return the correct enums for the
AMD_gpu_shader_half_float extension.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18540 >
2024-02-12 13:23:13 +00:00
Timothy Arceri
66633dbbd0
glsl: add ubo packing support for half floats
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18540 >
2024-02-12 13:23:13 +00:00
Timothy Arceri
5803417c67
glsl: add implicit half float conversions
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18540 >
2024-02-12 13:23:13 +00:00
Timothy Arceri
b83477973f
glsl: add glsl_type_is_float_16() helper
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18540 >
2024-02-12 13:23:13 +00:00
Timothy Arceri
5eea4c42f5
glsl: update assert to allow for half float support
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18540 >
2024-02-12 13:23:13 +00:00
Timothy Arceri
b2a7717717
glsl: add explicit half float conversion support
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18540 >
2024-02-12 13:23:13 +00:00
Timothy Arceri
edbe1b5bb4
glsl: add half float support to the parser
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18540 >
2024-02-12 13:23:13 +00:00
Timothy Arceri
72fb49516e
glsl: add basic params for AMD_gpu_shader_half_float extension
...
This sets us the basic infrastructure to required to add an
extension.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18540 >
2024-02-12 13:23:13 +00:00
Jani Nikula
d8e4a4e44b
docs: fix doc build 'intel/dev/intel_device_info_gen.h' file not found
...
Commit a52c1994aa ("intel/dev: generate declarations for struct
intel_device_info") started generating and including
intel/dev/intel_device_info_gen.h, but it's not present in the
documentation build, leading to errors:
docs/isl/formats.rst:222: ERROR: src/intel/dev/intel_device_info.h:39: 'intel/dev/intel_device_info_gen.h' file not found
docs/isl/tiling.rst:87: ERROR: src/intel/dev/intel_device_info.h:39: 'intel/dev/intel_device_info_gen.h' file not found
Add an empty header stub under docs/header-stubs to fix the build.
Fixes: a52c1994aa ("intel/dev: generate declarations for struct intel_device_info")
Signed-off-by: Jani Nikula <jani@nikula.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27573 >
2024-02-12 14:09:39 +02:00
Corentin Noël
b0af2b30ab
ci_run_n_monitor: Allow the upstream format to not exist
...
When pushing directly to a fork, the upstream branch does not exist and thus
returns an empty string.
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27567 >
2024-02-12 10:52:53 +01:00
Corentin Noël
72886cbefa
zink: Only call reapply_color_write if EXT_color_write_enable is available
...
Allows to use zink with drivers that do not expose this extension.
Backport-to: 23.3 24.0
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27516 >
2024-02-12 09:19:47 +00:00
Timothy Arceri
62fa5c8d0f
Revert "ci: Enable GALLIUM_DUMP_CPU=true only in the clang job"
...
Rob worded it well in 9e8450b65c .
"We don't want util_cpu to vomit cpu caps all over the test output."
This reverts commit c6979d97e4 .
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27564 >
2024-02-12 08:43:31 +00:00
Samuel Pitoiset
6cab5559f9
radv: add support for emitting TES+GS compiled separately on GFX9+
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27432 >
2024-02-12 08:09:28 +00:00
Samuel Pitoiset
dd92f5f664
radv: bind the vertex input SGPR only for relevant stages
...
Otherwise, user_data_0 is wrong if merged shaders are compiled
separately and if we have GS.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27432 >
2024-02-12 08:09:28 +00:00
Samuel Pitoiset
d64d7373f3
radv: declare AC_UD_TES_STATE for separate compilation of GS on GFX9+
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27432 >
2024-02-12 08:09:28 +00:00
Samuel Pitoiset
e15d1ed7cb
radv: declare streamout buffers for TES+GS compiled separately on GFX9+
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27432 >
2024-02-12 08:09:28 +00:00
Samuel Pitoiset
83bc7e27a5
radv: force GS stage for TES as ES compiled separately on GFX9+
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27432 >
2024-02-12 08:09:28 +00:00
Samuel Pitoiset
b58de424f4
radv: fix RGP barrier reason for RP barriers inserted by the runtime
...
Without that, RGP is confused and it's reporting CmdPipelineBarrier()
instead of CmdRenderPassSync().
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27546 >
2024-02-12 07:50:16 +00:00
M Henning
d98ff2cc4a
nvk: Don't clobber vb0 after repeated blits
...
If a program does two blits in a row, we internally do a sequence of
operations that involves binding vb0.
Previously, the vb0 state after each operation would look something like:
| operation | cmd->state.gfx.vb0 | hardware | save->vb0 |
| ---------------------------- | ------------------ | --------- | --------- |
| | user | user | |
| nvk_meta_begin() | user | user | user |
| BindVertexBuffers(internal0) | internal0 | internal0 | user |
| nvk_meta_end() | internal0 | user | |
| nvk_meta_begin() | internal0 | user | internal0 |
| BindVertexBuffers(internal1) | internal1 | internal1 | internal0 |
| nvk_meta_end() | internal1 | internal0 | |
That is, CmdBindVertexBuffers() would update cmd->state.gfx.vb0, but
nvk_meta_end() would not. This meant that the last operation would bind a
driver-internal buffer instead of the original value that the user set.
This change fixes the issue by tracking cmd->state.gfx.vb0 in
nvk_cmd_bind_vertex_buffer(), which both CmdBindVertexBuffers() and
nvk_meta_end() call into.
After this commit, the state looks like:
| operation | cmd->state.gfx.vb0 | hardware | save->vb0 |
| ---------------------------- | ------------------ | --------- | --------- |
| | user | user | |
| nvk_meta_begin() | user | user | user |
| BindVertexBuffers(internal0) | internal0 | internal0 | user |
| nvk_meta_end() | user | user | |
| nvk_meta_begin() | user | user | user |
| BindVertexBuffers(internal1) | internal1 | internal1 | user |
| nvk_meta_end() | user | user | |
To test this commit, build gtk4 commit 87b66de1, run:
GSK_RENDERER=vulkan gtk4-demo --run=image_scaling
then select trilinear filtering in the dropdown and check for rendering
artifacts.
Fixes: e1c66501 ("nvk: Use vk_meta for CmdClearAttachments")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27559 >
2024-02-12 05:14:38 +00:00
David Heidelberg
53ff663874
ci/etnaviv: update expectations
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27562 >
2024-02-12 01:25:24 +01:00
David Heidelberg
3f7a388d48
ci/freedreno: add fail found by new Piglit
...
Fixes: 1c29869c20 ("Uprev Piglit to e9316bcd12544aaf7e753ce37fe50d64165d9598")
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27562 >
2024-02-12 01:16:58 +01:00
David Heidelberg
a16033b6a7
ci: bump kernel to 6.6.16 + enable X2APIC
...
Should lead to slightly better reliability + eventual performance boost
on Intel HW.
Also reverted:
- `ae795abe7b3e ("drm/msm/dsi: Use pm_runtime_resume_and_get to prevent refcnt leaks")`
- `78a1eb102c7f ("drm/msm/dsi: Enable runtime PM")`
so a306 testing won't break.
Acked-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27532 >
2024-02-11 16:07:20 +01:00
Hans-Kristian Arntzen
bd23753991
wsi/x11: Rewrite logic for how we consider minImageCount.
...
MAILBOX reduced from 5 to 4 to be more inline with WL.
With xwayland_wait_ready = false now being the default,
add some extra consideration for non-FIFO present modes.
Add a lengthy rationale for why minImageCount = 3 is exposed on Xwl.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27074 >
2024-02-10 11:47:22 +00:00
Hans-Kristian Arntzen
8b4259e69b
wsi/x11: Disable vk_xwayland_wait_ready by default on most drivers.
...
Venus is special and still requires extra waits.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27074 >
2024-02-10 11:47:22 +00:00
Błażej Szczygieł
fc8a83c96d
gallivm/ssbo: mask offset with exec_mask instead of building the 'if'
...
It prevents reading the invalid out-of-bounds offset if exec_mask
is 0 without building the 'if' condition. We can do it only when
reading the memory. It's faster than run time 'if' condition
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27302 >
2024-02-10 08:20:54 +00:00
Błażej Szczygieł
9ff3bec484
gallivm/ssbo: replace run time loop by compile time loop
...
Unrolled loop is notably faster.
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27302 >
2024-02-10 08:20:53 +00:00
Marek Olšák
bab4399970
mesa: add gl_vertex_array_object::NonIdentityBufferAttribMapping
...
It will be used to skip the indirection from vertex attribs to vertex
buffers.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27525 >
2024-02-10 04:55:35 +00:00
Marek Olšák
10f08c2733
mesa: inline _mesa_set_vao_immutable
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27525 >
2024-02-10 04:55:35 +00:00
Marek Olšák
9aa205668b
mesa: inline {Create,Draw}GalliumVertexState callbacks
...
They are always constant.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27525 >
2024-02-10 04:55:35 +00:00
Marek Olšák
8618062b3c
st/mesa: constify the pipe_draw_info parameter and remove obsolete comments
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27525 >
2024-02-10 04:55:35 +00:00
Caio Oliveira
bf30127941
crocus: Call blorp_finish() when destroying context
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27502 >
2024-02-09 23:09:50 +00:00
Caio Oliveira
083ef7e338
iris: Call blorp_finish() when destroying context
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27502 >
2024-02-09 23:09:50 +00:00
Lionel Landwerlin
d699600da1
anv: reduce cache flushing for indirect commands on Gfx12.5+
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27257 >
2024-02-09 22:46:07 +00:00
Georg Lehmann
36f23bf96d
aco: print exec/vcc_lo/hi for single dword access
...
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27455 >
2024-02-09 22:14:44 +00:00
Georg Lehmann
684014ff12
aco: print permlane16 bc/fi
...
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27455 >
2024-02-09 22:14:44 +00:00
Georg Lehmann
f469fda44c
aco: don't print hi() for permlane opsel
...
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27455 >
2024-02-09 22:14:44 +00:00
Georg Lehmann
b59f5f9c85
aco: print neg prettier for packed math
...
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27455 >
2024-02-09 22:14:44 +00:00
Georg Lehmann
767eb15ddc
aco/print_ir: don't use alloca for input modifiers
...
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27455 >
2024-02-09 22:14:44 +00:00
Georg Lehmann
cd6d9c5918
aco: don't remove branches that skip v_writelane_b32
...
Cc: mesa-stable
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27537 >
2024-02-09 21:55:02 +00:00
Georg Lehmann
2c4980716f
aco: add packed fma dpp note to README-ISA
...
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27533 >
2024-02-09 21:36:53 +00:00
Georg Lehmann
e927c5004f
aco/gfx11+: disable v_pk_fmac_f16_dpp
...
Public docs are apparently wrong: https://github.com/llvm/llvm-project/pull/79598#issuecomment-1933988048
Cc: mesa-stable
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27533 >
2024-02-09 21:36:52 +00:00
Mark Janes
a52c1994aa
intel/dev: generate declarations for struct intel_device_info
...
Serialization of intel_device_info requires the specification of all
aspects of the type declaration in Python.
To avoid duplication, use the Python type information to generate the
struct as well as the serialization implementation.
This step is implemented first, because it provides explicit types for
some anonymous structures within intel_device_info. For example, the
'urb' member struct within intel_device_info cannot be serialized in a
C function unless we give it a type (eg, intel_device_info_urb_desc).
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27540 >
2024-02-09 21:01:05 +00:00
Mark Janes
13c7194525
intel/dev: specify struct intel_device_info type details in python
...
In preparation for generating struct intel_device_info, provide all
necessary details via python objects that describe it, including:
- integer macro definitions
- comments
- array sizes
- correct int types
- enumeration groups
- meaningful type names for inline struct members
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27540 >
2024-02-09 21:01:05 +00:00
Mark Janes
c40dacd4a8
util: add parson for handling json files
...
Release 1.5.3 (ba29f4eda9ea7703a9f6a9cf2b0532a2605723c3)
from https://github.com/kgabis/parson
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Acked-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27540 >
2024-02-09 21:01:05 +00:00
Mark Janes
fb7240bef9
hasvk: add missing linker arguments
...
vulkan_icd_link_args was added for other vulkan drivers but not hasvk.
Without it, statically linked json-c symbols are wrongly exported.
Ref: 2b1e9b0fd6 ("anv: add linker script to fix android symbols")
Fixes: 78578a6ddb ("vk: move radv's linker symbols scripts for use in all drivers")
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27540 >
2024-02-09 21:01:05 +00:00
José Roberto de Souza
bde9a16ce8
iris: Switch to truly asynchronous VM binding in Xe KMD
...
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26805 >
2024-02-09 20:24:48 +00:00
José Roberto de Souza
3579413aed
anv: Switch to truly asynchronous VM binding in Xe KMD
...
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26805 >
2024-02-09 20:24:48 +00:00
José Roberto de Souza
63abbb24ad
iris: Start to use intel_bind_timeline
...
With this patch, VM binds remain synchronous in relation to vm_bind()
KMD backend calls. However, the syscalls required for VM bind is
reduce in 2(in the optimal cases), the syncobj create and destroy
syscall are replaced by he usage a timeline syncobj.
Next step will be make this completely asynchronous.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26805 >
2024-02-09 20:24:48 +00:00
José Roberto de Souza
f23395e2b9
anv: Start to use intel_bind_timeline
...
With this patch, VM binds remain synchronous in relation to vm_bind()
KMD backend calls. However, the syscalls required for VM bind is
reduce in 2(in the optimal cases), the syncobj create and destroy
syscall are replaced by he usage a timeline syncobj.
Next step will be make this completely asynchronous.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26805 >
2024-02-09 20:24:48 +00:00
José Roberto de Souza
e905bfe81b
intel/common: Add functions to handle async vm bind
...
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26805 >
2024-02-09 20:24:48 +00:00
Felix DeGrood
11465e4b3a
mesa-overlay: defer listening to socket until first frame
...
mesa-overlay with control arg fails to setup socket properly when multiple
adapters launched. First adapter listens to socket, blocking all remaining
adapters. This is a common occurrence with games using lauchers where the
launcher is also a vulkan app. Fixed by deferring socket listening to first
frame rendered, which should be the game.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27538 >
2024-02-09 16:16:24 +00:00
Eric Engestrom
9beb9081fc
ci_run_n_monitor: print the target regex before adding the X/N bit
...
To avoid showing something too complex to the user, especially since this isn't something they added themselves or can remove.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27530 >
2024-02-09 15:58:10 +00:00
Eric Engestrom
7154c1eb77
ci_run_n_monitor: implicitly include parallel: jobs
...
This avoids the surprising behaviour where `--target jobname` works for
some jobs but not others, because gitlab adds `X/N` at the end of these
job names.
If the user does specify something like `jobname 1/.*` to only run the
first, the extra `\d+/\d+` is ignored, just like if the job isn't
`parallel:` and therefore doesn't end with `X/N`.
If the user really wants to fail to match parallel jobs (previous
behaviour), they can simply add a `$` at the end of the job name/regex
(but also, I don't see why someone would want that behaviour).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27530 >
2024-02-09 15:58:10 +00:00
Erik Faye-Lund
f40d32770a
targets/va: override LIBVA_DRIVERS_PATH in devenv
...
This is really the right thing to do; it makes libva pick up the driver
we just built in a meson devenv. Not doing so can be kinda fatal;
otherwise we can end up loading different gallium-drivers for OpenGL and
VA-API, which can end up being pretty fatal.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27514 >
2024-02-09 14:57:11 +00:00
Alyssa Rosenzweig
9c006d5dce
nir/passthrough_gs: flesh out gs_in_prim
...
geometry shaders don't specify the input topology, only the class of topology.
normalize when generating a passthrough gs.
asahi will be more picky about this in the future.
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/27457 >
2024-02-09 11:53:31 +00:00
Alyssa Rosenzweig
3c3f7cb747
compiler,gallium: move u_decomposed_prim to common
...
nir will use
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/27457 >
2024-02-09 11:53:31 +00:00
Pierre-Eric Pelloux-Prayer
ac426e1164
winsys/amdgpu: remove unused amdgpu_fence_is_syncobj
...
Unused since !24724 .
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27412 >
2024-02-09 09:21:07 +01:00
Pierre-Eric Pelloux-Prayer
f7facda322
winsys/amdgpu: unmap user fence BO before destroy
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27412 >
2024-02-09 09:21:00 +01:00
Pierre-Eric Pelloux-Prayer
6c3a294eef
radv: don't remove the blit queue from the device queues
...
I don't remember why I implemented it like this in !13959 , but
AFAICT there's no need to manually remove this queue from vk_device's
queues list.
On the other hand, this hack causes issues if syncobj timeline isn't
supported; amdgpu always support timeline, but amdgpu over virtio-gpu
doesn't.
The issue is as follow: the sequence in vk_queue.c:
case VK_QUEUE_SUBMIT_MODE_DEFERRED:
vk_queue_push_submit(queue, submit);
return vk_device_flush(queue->base.device);
Would fail to produce the expected result, because vk_device_flush would
fail to realize that the blit queue has some pending work because
"vk_foreach_queue(queue, device)" would never process the queue.
Then, the call to vk_drm_syncobj_export_sync_file() would fail, because
the syncobj handle was never used in a submit.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27412 >
2024-02-09 09:20:52 +01:00
Eric Engestrom
716ed7d62a
gitlab_gql: print error returned by server in --print-merged-yaml
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27535 >
2024-02-09 08:01:20 +00:00
Samuel Pitoiset
61a125647b
radv: add radv_disable_ngg_gs and enable it for Persona 3 Reload
...
Persona 3 Reload is largely affected by the way amplification works with
NGG GS and disabling it drastically improve performance.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27518 >
2024-02-09 07:24:16 +00:00
Samuel Pitoiset
69d734a8d5
radv: add RADV_DEBUG=nongg_gs for GFX10/GFX10.3
...
NGG GS doesn't perform well in some cases and having an option to
disable it for performance experiments is very useful.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27518 >
2024-02-09 07:24:16 +00:00
Samuel Pitoiset
877d9678f5
docs: fix RADV_DEBUG=nonggc description
...
NGG culling is only enabled by default on GFX10.3.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27518 >
2024-02-09 07:24:16 +00:00
Daniel Schürmann
932b9e6a23
radv: enable VK_KHR_shader_quad_control
...
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27277 >
2024-02-09 05:32:35 +00:00
Daniel Schürmann
312d0784c5
spirv: implement SPV_KHR_quad_control
...
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27277 >
2024-02-09 05:32:35 +00:00
Daniel Schürmann
e546f2a55d
radv: enable VK_KHR_shader_maximal_reconvergence
...
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27277 >
2024-02-09 05:32:35 +00:00
Daniel Schürmann
2649717a36
aco: enable WQM if demote is used with maximal reconvergence
...
If otherwise no helper lanes are required by the shader, then demote
behaves like discard and immediately terminates the invocations.
With maximal reconvergence, however, we need to ensure that helper lanes
are not terminated unless the entire quad was demoted.
In order to fix this, generally enable helper lanes in this unlikely
corner case and avoid a major refactor.
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27277 >
2024-02-09 05:32:35 +00:00
Daniel Schürmann
6588f5a123
spirv: implement SPV_KHR_maximal_reconvergence
...
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27277 >
2024-02-09 05:32:35 +00:00
Mike Blumenkrantz
0a243a7241
zink: adjust swizzled deref loads by the variable component offset
...
this code is intended to transform a block like:
```
32 %306 = @load_interpolated_input (%34, %0 (0x0)) (base=3, component=2, dest_type=float32, io location=VARYING_SLOT_VAR3 slots=1)
32x2 %307 = fsub %305, %306.xx
```
into derefs. the existing code generates this:
```
decl_var shader_in INTERP_MODE_NONE none vec2 #7 (VARYING_SLOT_VAR3.zw, 0, 0)
32 %516 = deref_var  (shader_in vec2)
32x2 %517 = @load_deref (%516) (access=none)
32 %518 = mov %517.z
error: src->swizzle[i] < num_components (../src/compiler/nir/nir_validate.c:216)
```
the problem is attempting to reapply the component offset to a variable which is
already at an offset
fixes #10567
Fixes: 17a35412dc ("zink: re-rework i/o variable handling to make having variables entirely optional")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27522 >
2024-02-09 02:29:22 +00:00
Mike Blumenkrantz
fab5c706fe
mesa: plumb errors through to texture allocation
...
the spec allows this and tests like spec@arb_texture_multisample@arb_texture_multisample-dsa-texelfetch
expect it
cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25931 >
2024-02-08 23:30:23 +00:00
Eric Engestrom
45df652d0b
ci_run_n_monitor: refresh job state when starting it
...
Avoids job staying in 'manual' state and making the script think there's
nothing left running.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27499 >
2024-02-08 22:22:54 +00:00
Eric Engestrom
8a05cb8da7
ci_run_n_monitor: track new job when retrying a job
...
When retrying a job, we are creating a new job, so we need to keep track
of this new job now.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27499 >
2024-02-08 22:22:54 +00:00
Eric Engestrom
5bc1a62fbb
ci_run_n_monitor: add method to get a pipeline job by its id
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27499 >
2024-02-08 22:22:54 +00:00
Eric Engestrom
bce1230587
ci_run_n_monitor: update job when it goes through enable_job()
...
`enable_job()` modifies the job, so we need to make sure we get the
updated job back out of it.
The next two commits take care of the two specific code paths.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27499 >
2024-02-08 22:22:54 +00:00
Eric Engestrom
5758a5d660
ci_run_n_monitor: add some types for gitlab objects
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27499 >
2024-02-08 22:22:54 +00:00
Eric Engestrom
044c51b6bf
ci_run_n_monitor: warn user if they forgot to push the branch
...
Only perform this check if they set `--rev HEAD` (or don't specify it);
let's assume if they select another commit, they know what they're
doing.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26969 >
2024-02-08 21:38:21 +00:00
Jesse Natalie
6d8461f545
d3d12: Subgroup ballot
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27528 >
2024-02-08 20:41:58 +00:00
Jesse Natalie
94e0091190
microsoft/compiler: Only use simplified subgroup ID algorithm for compute
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27528 >
2024-02-08 20:41:58 +00:00
Danylo Piliaiev
c8cc7c5c18
tu: Do not print anything on systems without Adreno GPU
...
Output debug info only when explicitly requested with
TU_DEBUG=startup otherwise we should be silent.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10213
Fixes: a669147689
("tu: Always print startup failure messages")
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27527 >
2024-02-08 18:57:40 +00:00
Philip Rebohle
7b0fd4cc05
radv: Remove dead shared variables after optimization loop.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27104 >
2024-02-08 18:27:57 +00:00
Samuel Pitoiset
63b238e84e
radv: only load 3x32-bit elements when emitting draws with mesh shader
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27488 >
2024-02-08 18:04:15 +00:00
Samuel Pitoiset
0296196d32
radv: remove unused radv_indirect_command_layout::state_offset
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27488 >
2024-02-08 18:04:15 +00:00
Samuel Pitoiset
7bdf9f5002
radv/ci: remove VKD3D_CONFIG=dxr11 for navi21/navi31
...
The vkd3d-proton version in CI has this enabled by default.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27520 >
2024-02-08 17:39:59 +00:00
Boris Brezillon
49069a1243
pan/va: Add missing valhall_enums dep to valhall_disasm
...
valhall_disasm compilation fails if the valhall_enums.h has
not be generated.
Fixes: 619566dea1 ("pan/va: Generate header containing enums")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10553
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27524 >
2024-02-08 15:04:34 +01:00
Samuel Pitoiset
bde272349d
radv: add support for emitting VS+GS compiled separately on GFX9+
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27388 >
2024-02-08 13:33:34 +00:00
Samuel Pitoiset
416b20d381
radv: force GS stage for VS as ES compiled separately on GFX9+
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27388 >
2024-02-08 13:33:34 +00:00
Samuel Pitoiset
8ef4c049ec
radv: declare streamout buffers for VS+GS compiled separately on GFX9+
...
The shader input arguments must match.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27388 >
2024-02-08 13:33:34 +00:00
Samuel Pitoiset
a68e19204e
radv: rework shader arguments for separate compilation of VS+GS on GFX9+
...
The shader input args must match for VS+GS compiled separately.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27388 >
2024-02-08 13:33:34 +00:00
Samuel Pitoiset
482dbacdeb
radv/nir: lower esgs_vertex_stride for GS compiled separately on GFX9+
...
The ESGS vertex stride would be emitted at draw time using the number
of VS/TES outputs.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27388 >
2024-02-08 13:33:34 +00:00
Samuel Pitoiset
d777cbf66c
radv: add a new user SGPR for the ESGS ring item size
...
With shader object, when VS+GS or TES+GS are compiled separately and
the VS has written (but unused) outputs, the ESGS vertex stride
must be passed through an user SGPR. This is because when the GS is
compiled we can't know the number of ES outputs.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27388 >
2024-02-08 13:33:34 +00:00
Boris Brezillon
5b1b76e9cd
panfrost: Pad compute jobs with zeros on v4
...
Apparently, Midgard GPUs don't like when the last 2 words of
compute/vertex jobs contain garbage. Extend the compute job definition
to include a padding section thus aligning the job on a 64-byte boundary,
and add the according pan_section_pack() calls where we have a
compute job filled.
Fixes: b76420be1f ("panfrost: Split command stream descriptor definitions per-gen")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10558
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Tested-by: Anton Bambura <jenneron@postmarketos.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27515 >
2024-02-08 12:49:33 +00:00
Boris Brezillon
0bc26efdc4
panfrost: v4 doesn't have Blend descriptors
...
Drop the Blend descriptor definition in v4.xml, and adjust
pan_blitter accordingly.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27515 >
2024-02-08 12:49:33 +00:00
Rhys Perry
5f0226d82f
aco/tests: use raw strings in form_hard_clauses.nsa
...
Like cad2c0915d .
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27485 >
2024-02-08 12:15:23 +00:00
Rhys Perry
d59d00ebf8
aco/tests: add tests for VOPD operand swapping
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27485 >
2024-02-08 12:15:23 +00:00
Rhys Perry
24c02dbfa6
aco: improve printing of VOPD instructions
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27485 >
2024-02-08 12:15:23 +00:00
Rhys Perry
ea92aea9f2
aco: turn v_mov_b32 into addition to create VOPD instructions
...
fossil-db (navi31, wave32):
Totals from 15655 (19.76% of 79242) affected shaders:
Instrs: 10699119 -> 10688239 (-0.10%); split: -0.11%, +0.00%
CodeSize: 61290308 -> 61288596 (-0.00%); split: -0.01%, +0.00%
Latency: 89159743 -> 89150355 (-0.01%); split: -0.01%, +0.00%
InvThroughput: 16966295 -> 16955427 (-0.06%); split: -0.07%, +0.00%
VALU: 5484626 -> 5473993 (-0.19%); split: -0.20%, +0.00%
VOPD: 1446725 -> 1457358 (+0.73%); split: +0.74%, -0.01%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27485 >
2024-02-08 12:15:23 +00:00
Rhys Perry
65dfb27f8f
aco: swap operands to create VOPD instructions
...
fossil-db (navi31, wave32):
Totals from 61565 (77.69% of 79242) affected shaders:
Instrs: 34874995 -> 34439344 (-1.25%); split: -1.27%, +0.02%
CodeSize: 200611536 -> 200564028 (-0.02%); split: -0.12%, +0.10%
Latency: 242520024 -> 242120510 (-0.16%); split: -0.28%, +0.11%
InvThroughput: 50236383 -> 49588742 (-1.29%); split: -1.31%, +0.02%
VClause: 713308 -> 712902 (-0.06%); split: -0.07%, +0.01%
SClause: 1184865 -> 1184620 (-0.02%); split: -0.03%, +0.01%
VALU: 18235068 -> 17803847 (-2.36%); split: -2.37%, +0.00%
VOPD: 3930904 -> 4362125 (+10.97%); split: +10.99%, -0.02%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27485 >
2024-02-08 12:15:23 +00:00
Rhys Perry
96d8b7c59c
aco: refactor create_vopd_instruction
...
Prepare for operand swapping.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27485 >
2024-02-08 12:15:23 +00:00
Marek Olšák
50c3e9f87b
st/mesa: move st_update_functions into st_context
...
st_update_array will be set differently based on driver CAPs.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27198 >
2024-02-08 11:28:30 +00:00
Marek Olšák
5fd80f4fae
st/mesa: change the update enum of vertex elements
...
more enums will be added following the ON/OFF pattern.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27198 >
2024-02-08 11:28:30 +00:00
Marek Olšák
1d9585331e
st/mesa: cosmetic touchups in st_atom_array.cpp
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27198 >
2024-02-08 11:28:30 +00:00
Marek Olšák
7dd66244af
st/mesa: move a piece of _mesa_draw_array_attrib out of the loop in setup_arrays
...
This inlines _mesa_draw_array_attrib and moves attribute_map out of
the loop. The compiler doesn't do this automatically.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27198 >
2024-02-08 11:28:30 +00:00
Marek Olšák
3363d41a20
st/mesa: do (inputs_read & ~enabled_arrays) outside st_setup_current
...
also move dual_slot_inputs before inputs_read to match st_setup_array.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27198 >
2024-02-08 11:28:30 +00:00
Marek Olšák
c4ba65a33b
st/mesa: do (inputs_read & enabled_arrays) outside setup_arrays
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27198 >
2024-02-08 11:28:30 +00:00
Marek Olšák
000f4c710c
st/mesa: rename attribs -> arrays in st_atom_array to indicate non-zero strides
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27198 >
2024-02-08 11:28:30 +00:00
Marek Olšák
0ac5dc5ab5
gallium/u_threaded: expose helpers for filling set_vertex_buffers externally
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27198 >
2024-02-08 11:28:30 +00:00
Juan A. Suarez Romero
0d2dfe49fe
v3d/ci: add new failures
...
Add new failures related with subgroups for Rpi5.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27517 >
2024-02-08 10:26:35 +00:00
Sviatoslav Peleshko
0a1c8779e8
driconf: Apply dual color blending workaround to Dying Light
...
The game uses shader with `location=0` and `location=1` outputs where
it wants dual source blending and should've used `location=0, index=0`
and `location=0, index=1`.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10413
Signed-off-by: Sviatoslav Peleshko <sviatoslav.peleshko@globallogic.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27509 >
2024-02-08 09:30:09 +00:00
Kenneth Graunke
24d3c83212
driconf: Advertise GL_EXT_shader_image_load_store on iris for SVP13
...
SPECviewperf creo-03 needs GL_EXT_shader_image_load_store in order for
its shaders to compile but we don't support a few corner cases that
didn't make it into the ARB variant. It seems to run fine with an
override, so just do that for now.
Cc: mesa-stable
Acked-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27429 >
2024-02-07 23:17:14 +00:00
Rob Clark
c3062e3402
freedreno: Fix MSAA z/s layout in GMEM
...
A bit surprised that this didn't show up in any piglit or deqp.
Fixes: cf0c7258ee ("freedreno/a5xx: MSAA")
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27508 >
2024-02-07 20:26:25 +00:00
Rob Clark
3fbbd79d9c
freedreno/decode: Fix prefetch handling for IB1 crash
...
Found this while investigating iova faults, with impossibly low iova
(ie. fault addresses like 0x0000000000181800). Looks like fetching
past the end of memory mapped GMEM when doing a CP_BLIT resolve blit.
But because the fault GPU is waiting in a CP_WAIT_FOR_ME in IB1 after
the resolve blit, crashdec wasn't correctly finding the location.
We should just skip all the complicated bits working backwards in IB1
to find the jump into IB2 if we see that the crash is actually in IB1.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27508 >
2024-02-07 20:26:24 +00:00
Pavel Ondračka
0ac6801970
r300: fix vs output register indexing
...
Vertex shaders were writing TEXCOORDs before GENERICS, however
fragment shaders were reading it the opposite way, so this caused
problems for shaders that used both TEXCOORD and GENERIC varyings.
Fixes: d4b8e8a481
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10489
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: Filip Gawin <filip.gawin@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27469 >
2024-02-07 16:24:52 +00:00
Pavel Ondračka
e4ccfde123
r300/ci: add two more observed piglit flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27469 >
2024-02-07 16:24:52 +00:00
José Roberto de Souza
665d30b544
iris: Wait for drm_xe_exec_queue to be idle before destroying it
...
Xe KMD don't refcount anything, so resources could be freed while they
are still in use if we don't wait for exec_queue to be idle.
This issue was found with Xe KMD error capture, VM was already
destroyed when it attemped to capture error state but it can also
happen in applications that did not hang.
This fixed the '*ERROR* GT0: TLB invalidation' errors when running
piglit all test list.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27500 >
2024-02-07 13:56:17 +00:00
José Roberto de Souza
138303fb9d
iris: Fix return of iris_wait_syncobj()
...
iris_wait_syncobj() succeed if IOCTL return is 0 otherwise it failled.
Cc: mesa-stable
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27500 >
2024-02-07 13:56:17 +00:00
Pavel Ondračka
b243b1eddc
r300: remove compiler tests
...
There are only three very simple tests but several hundreds of lines of
corresponding infrastructure. The tests never helped me to catch a real
issue and in fact I've only seen them fail when I changed the
corresponding pass semantics and forgot to update the tests (or like
when we enabled r300 in debian-testing and AddressSanitizer complained
that there was not a single free in the tests).
We now have a real CI and both piglit and dEQP contain tests that cover
the regalloc and presub testing here and a shader-db run should catch
if we fail the one omod optimization the optimize test is testing. So I
think its time we just get rid of the tests.
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: Filip Gawin <filip.gawin@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27501 >
2024-02-07 13:57:19 +01:00
Connor Abbott
aeed5fd98d
ir3/ra: Fix bug with collect source handling
...
It can be the case that a collect and one of its sources are assigned
to non-overlapping parts of the same merge set, for example:
ssa_1 = ...
ssa_2 = ...
ssa_3 = ...
ssa_4 = collect ssa_1, ssa_2 (kill), ssa_3
... = ssa_4 (kill)
ssa_5 = collect ssa_1, ssa_3
... = ssa_1 (kill)
... = ssa_3 (kill)
... = ssa_5 (kill)
If we merge the first collect first, we get a merge set:
ssa_1 (offset 0)
ssa_2 (offset 2)
ssa_3 (offset 4)
ssa_4 (offset 0)
Now, we decide to merge ssa_1 and ssa_5:
ssa_1 (offset 0)
ssa_2 (offset 2)
ssa_3 (offset 4)
ssa_4 (offset 0)
ssa_5 (offset 0)
ssa_3 cannot become a child of ssa_5 in the interval tree, just like a
source not in the same merge set, so we should not remove it and then
reinsert it assuming that RA will make it a child of ssa_5.
This fixes an RA validation error in Farming Simulater.
Fixes: 0ffcb19 ("ir3: Rewrite register allocation")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27497 >
2024-02-07 10:38:46 +00:00
Juan A. Suarez Romero
cdb8020f16
vc4/ci: update expected list
...
Add new piglit failure
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27503 >
2024-02-07 10:18:21 +00:00
Juan A. Suarez Romero
0fb490630b
Revert "v3d/ci: update expected list"
...
This reverts commit 31c9e17bf2 .
The added failure happens actually in the vc4 driver, not v3d.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27503 >
2024-02-07 10:18:21 +00:00
Marek Olšák
72948d9ff9
radeonsi,aco: remove the VS prolog
...
The upside is that this removes 600 lines of code. The downside is
that if instance divisors are used, we will compile the VS on demand.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27120 >
2024-02-07 09:50:53 +00:00
Marek Olšák
0496cd5e5a
gallium/noop: don't leak resources due to take_ownership
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27492 >
2024-02-07 09:19:42 +00:00
Marek Olšák
47c1f389ed
gallium: remove take_ownership from set_vertex_buffers, assume it's true
...
This removes the take_ownership parameter and defines the behavior as if
take_ownership was always true, which is the fast path. This way, we don't
have to have 2 codepaths in set_vertex_buffers of every driver.
The old behavior is optionally available through util_set_vertex_buffers.
It also documents a new constraint that count in set_vertex_buffers must be
equal to the number of vertex buffers referenced by vertex elements or 0.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27492 >
2024-02-07 09:19:42 +00:00
Marek Olšák
b23f52b7e4
gallium/u_threaded: allow drivers to change tc_call_set_vertex_buffers function
...
Move the execute function pointers to struct threaded_context, so that
drivers can change it. Also move struct tc_vertex_buffers into the header
file, so that drivers can implement their own function.
This allows drivers to inline pipe_context::set_vertex_buffers for TC.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27492 >
2024-02-07 09:19:42 +00:00
Marek Olšák
b66ee99bc2
gallium/u_threaded: remove the count=0 path from tc_call_set_vertex_buffers
...
The default path has the same behavior.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27492 >
2024-02-07 09:19:42 +00:00
Marek Olšák
6ab25f5cde
cso: remove CSO_UNBIND_VERTEX_BUFFER0
...
It has no effect other than unreferencing buffers, which are then
immediatelly re-bound by st/mesa, so it doesn't do anything.
The name is also incorrect because it unbound all vertex buffers.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27492 >
2024-02-07 09:19:42 +00:00
Marek Olšák
47b15d83a2
gallium/hud: set take_ownership=true for set_vertex_buffers
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27492 >
2024-02-07 09:19:42 +00:00
Marek Olšák
7fbb758e56
st/mesa: set take_ownership=true for set_vertex_buffers in st_pbo_draw
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27492 >
2024-02-07 09:19:42 +00:00
Marek Olšák
3186131ea5
st/mesa: set take_ownership=true for util_draw_vertex_buffer in st_DrawTex
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27492 >
2024-02-07 09:19:42 +00:00
Marek Olšák
e271d342a4
gallium/util: add take_ownership parameter into util_draw_vertex_buffer
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27492 >
2024-02-07 09:19:42 +00:00
Marek Olšák
0ee35cc443
st/mesa: set take_ownership=true for set_vertex_buffers in st_draw_quad
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27492 >
2024-02-07 09:19:42 +00:00
Marek Olšák
ab3e029e40
gallium/u_blitter: set take_ownership=true for set_vertex_buffers
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27492 >
2024-02-07 09:19:41 +00:00
Marek Olšák
f0b31858e1
gallium: always set vertex elements before setting vertex buffers
...
Drivers can use this constraint to merge vertex elements and vertex
buffers in set_vertex_buffers instead of in draw_vbo.
Suggested by: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8142
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27492 >
2024-02-07 09:19:41 +00:00
Erik Faye-Lund
2683038b1c
glapi: move EXT_texture_storage to the right position
...
I somehow thought this list was sorted roughly alphabetical, but it's
actually sorted by the extension number. Whoops, let's fix that.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27452 >
2024-02-07 08:48:20 +00:00
Marek Olšák
fff6d332d9
radeonsi/ci: add gfx11 flakes
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27408 >
2024-02-07 02:30:45 -05:00
Marek Olšák
33aac684b4
radeonsi: use num_vertex_buffers instead of ARRAY_SIZE
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27408 >
2024-02-07 02:30:42 -05:00
Marek Olšák
0e02149ac9
winsys/amdgpu: don't ref/unref slab BOs in amdgpu_cs_submit_ib
...
It's pointless to increase the refcount of the backing BO and then decrease
it in the same function when we already reference the slab entry BO that
holds the reference of the backing BO.
amdgpu_do_add_buffer is inlined in amdgpu_cs_submit_ib, so the new parameter
doesn't cost anything.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27408 >
2024-02-07 02:30:39 -05:00
Marek Olšák
04de7cc985
winsys/amdgpu: simplify amdgpu_do_add_buffer to remove memset
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27408 >
2024-02-07 02:30:36 -05:00
Marek Olšák
c79697fec5
winsys/amdgpu: skip code checking RADEON_USAGE_SYNCHRONIZED for slabs
...
We unset RADEON_USAGE_SYNCHRONIZED, but we still checked it.
Iterate over such buffers separately without checking
RADEON_USAGE_SYNCHRONIZED.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27408 >
2024-02-07 02:30:25 -05:00
Marek Olšák
0911aea126
winsys/amdgpu: merge 2 loops iterating over real BOs in amdgpu_cs_submit_ib
...
The first loop updates sequence numbers. The second loop creates the BO list.
Do both in the same loop.
Each loop has to reload the whole BO list from the L2 cache or higher, so we
do it twice. By merging the loops, we only load the BO list from the L2
cache once.
The final result is actually 2 loops, but they iterate over different ranges
of the BO list, so each element is read only once.
If global_bo_list is enabled, it overwrites the BO list after all is done.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27408 >
2024-02-07 02:30:22 -05:00
Marek Olšák
d704f92b13
winsys/amdgpu: merge 2 loops iterating over sparse BOs in amdgpu_cs_submit_ib
...
The first loop is inside amdgpu_add_sparse_backing_buffers. The second loop
iterates over sparse BOs to update sequence numbers.
Each loop has to reload the whole BO list from the L2 cache or higher, so we
do it twice. By merging the loops, we only load the BO list from the L2
cache once.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27408 >
2024-02-07 02:30:20 -05:00
Marek Olšák
32625c7903
winsys/amdgpu: merge 2 loops iterating over slab entries in amdgpu_cs_submit_ib
...
The first loop is inside amdgpu_add_slab_backing_buffers. The second loop
iterates over BOs to update sequence numbers.
Each loop has to reload the whole BO list from the L2 cache or higher, so we
do it twice. By merging the loops, we only load the BO list from the L2
cache once.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27408 >
2024-02-07 02:30:18 -05:00
Marek Olšák
77e96cec6e
winsys/amdgpu: move code out of amdgpu_add_bo_fences_to_dependencies for reuse
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27408 >
2024-02-07 02:30:16 -05:00
Marek Olšák
436ebe4ef6
winsys/amdgpu: change the signature of amdgpu_add_bo_fences_to_dependencies
...
for future work
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27408 >
2024-02-07 02:30:14 -05:00
Marek Olšák
75ffd738ac
winsys/amdgpu: add real buffers of slab entries in the CS thread
...
This removes the overhead from the driver thread and simplifies
amdgpu_cs_add_buffer.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27408 >
2024-02-07 02:30:12 -05:00
Marek Olšák
41f6d24fc8
winsys/amdgpu: fix a race condition when reading ws->num_buffers
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27408 >
2024-02-07 02:30:10 -05:00
Jordan Justen
4957d352dd
intel/dev: Add device info for ARL
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27352 >
2024-02-06 21:23:19 +00:00
Jordan Justen
964042d50c
anv/query: Follow MTL code paths on ARL
...
Ref: 0a52002a1c ("anv: disable reset query pools using blorp opt on MTL")
Ref: b3b12c2c27 ("anv: enable CmdCopyQueryPoolResults to use shader for copies")
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27352 >
2024-02-06 21:23:19 +00:00
Jordan Justen
c1ffd0a037
anv/drirc: Extend option to disable FCV optimization to ARL
...
Ref: 01046cd6ad ("anv/drirc: add option to disable FCV optimization")
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27352 >
2024-02-06 21:23:19 +00:00
Jordan Justen
c3a0483f5b
intel/compiler: Lower DPAS instructions on ARL except ARL-H
...
Ref: bspec 55414
Ref: 951e08fc18 ("intel/compiler: Disable DPAS instructions on MTL")
Suggested-by: José Roberto de Souza <jose.souza@intel.com >
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27352 >
2024-02-06 21:23:19 +00:00
Jordan Justen
e2b09b8559
isl: Handle ARL in isl_drm_modifier_get_score()
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27352 >
2024-02-06 21:23:19 +00:00
Jordan Justen
9ce0fe460a
isl: Define MOCS for ARL
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27352 >
2024-02-06 21:23:19 +00:00
Jordan Justen
362ccd3874
intel/dev: Define engine prefetch for ARL
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27352 >
2024-02-06 21:23:19 +00:00
Jordan Justen
c616ce8153
intel/i915: ARL also supports the set-PAT uapi
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27352 >
2024-02-06 21:23:19 +00:00
Jordan Justen
edf93db5ee
iris: Extend MTL modifiers to ARL devices
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27352 >
2024-02-06 21:23:19 +00:00
Jordan Justen
a443a824ad
intel/l3: Define l3 config for ARL
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27352 >
2024-02-06 21:23:19 +00:00
Jordan Justen
546652b31a
intel/dev: Add intel_device_info_is_mtl_or_arl()
...
MTL and ARL share many code paths, and this macro will make it easier
to check for either of them.
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27352 >
2024-02-06 21:23:19 +00:00
Jordan Justen
1d08282060
intel/dev: Add ARL platform enums
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27352 >
2024-02-06 21:23:19 +00:00
David Rosca
fa8e0ba3f7
frontends/va: Fix updating AV1 rate control parameters
...
Follow the same logic as H264.
Fixes: 5edbecb856 ("frontends/va: adding va av1 encoding functions")
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27481 >
2024-02-06 21:07:28 +00:00
Eric Engestrom
cff5bc5af7
pvr: enable VK_EXT_headless_surface on all platforms except Windows
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27448 >
2024-02-06 20:32:39 +00:00
Eric Engestrom
58e7085cb0
lvp: enable VK_EXT_headless_surface on all platforms except Windows
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27448 >
2024-02-06 20:32:39 +00:00
Eric Engestrom
bb0791535a
vn: enable VK_EXT_headless_surface on all platforms except Windows
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27448 >
2024-02-06 20:32:38 +00:00
Eric Engestrom
7667802b7d
panvk: enable VK_EXT_headless_surface on all platforms except Windows
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27448 >
2024-02-06 20:32:38 +00:00
Eric Engestrom
64081b9f46
nvk: enable VK_EXT_headless_surface on all platforms except Windows
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27448 >
2024-02-06 20:32:38 +00:00
Eric Engestrom
5f373dec88
dzn: enable VK_EXT_headless_surface on all platforms except Windows
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27448 >
2024-02-06 20:32:38 +00:00
Eric Engestrom
b10f61f98e
hasvk: enable VK_EXT_headless_surface on all platforms except Windows
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27448 >
2024-02-06 20:32:38 +00:00
Eric Engestrom
32800aa1d7
anv: enable VK_EXT_headless_surface on all platforms except Windows
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27448 >
2024-02-06 20:32:38 +00:00
Eric Engestrom
6407d0f0a2
tu: enable VK_EXT_headless_surface on all platforms except Windows
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27448 >
2024-02-06 20:32:38 +00:00
Eric Engestrom
11cf6965ea
v3dv: enable VK_EXT_headless_surface on all platforms except Windows
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27448 >
2024-02-06 20:32:38 +00:00
Eric Engestrom
faad4ffe97
radv: enable VK_EXT_headless_surface on all platforms except Windows
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27448 >
2024-02-06 20:32:38 +00:00
Samuel Pitoiset
ffbd3e5b2d
radv: change the user SGPR idx of AC_UD_TES_STATE
...
When GS will be compiled separately, we will have to always declare
both VS and TES user SGPRs because we can't know the previous stage,
and the shader input arguments must match and mustn't overlap.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27431 >
2024-02-06 20:12:38 +00:00
Samuel Pitoiset
3e9815173a
radv: set the default workgroup size for VS/TES as ES
...
If shaders are linked, the optimal value would be computed.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27431 >
2024-02-06 20:12:38 +00:00
Samuel Pitoiset
90e354afb0
radv: determine the workgroup size for GS non-NGG earlier
...
The wavesize for VS/TES/GS is always the same, so this can be computed
earlier.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27431 >
2024-02-06 20:12:38 +00:00
Samuel Pitoiset
35c9631162
radv: determine the ES stage earlier when processing binary config
...
This will help implementing VS+GS and TES+GS compiled separately on
GFX9+ because the shader config will need to be combined.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27431 >
2024-02-06 20:12:38 +00:00
Samuel Pitoiset
03314b2a86
radv: check for MESA_SHADER_TESS_EVAL in radv_fill_shader_info_ngg()
...
This seems clearer to me.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27470 >
2024-02-06 19:53:24 +00:00
Samuel Pitoiset
34572d535e
radv: use next_stage to determine the NGG stage
...
This shouldn't change anything, except that it will help for ESO.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27470 >
2024-02-06 19:53:24 +00:00
Samuel Pitoiset
31f006d352
radv: always set GS as NGG if present on GFX11
...
GFX11 is full NGG.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27470 >
2024-02-06 19:53:24 +00:00
Samuel Pitoiset
55093270ed
radv: squash GFX10/GFX10.3 NGG restrictions in the same condition
...
They don't apply on GFX11.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27470 >
2024-02-06 19:53:24 +00:00
Samuel Pitoiset
237ab5db86
radv: remove one indentation level in radv_fill_shader_info_ngg()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27470 >
2024-02-06 19:53:24 +00:00
David Heidelberg
010272b62e
util: use crc32_z instead of crc32 and bump zlib dep to 1.2.9
...
1.2.9 has been released in January 2017, so let's assume
we'll find it everywhere.
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27311 >
2024-02-06 19:22:53 +00:00
David Heidelberg
56f31d1847
meson: upgrade zlib wrap to 1.3.1
...
`$ meson wrap update zlib`
Cc: mesa-stable
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27311 >
2024-02-06 19:22:53 +00:00
Pavel Ondračka
238c3d593b
r300/ci: update piglit fails
...
Most likely changed by recent piglit uprev.
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27493 >
2024-02-06 17:32:13 +00:00
Eric Engestrom
f9acd9e659
v3dv/ci: test the WSI on rpi4 and rpi5
...
Add a few tests to the skip list because they take over a minute to finish.
All the other new tests run in less than 50 seconds.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27315 >
2024-02-06 17:15:07 +00:00
Christian Gmeiner
7c198d4404
isaspec: encode.py: Include assert.h
...
pack_field(..) makes use of assert(..).
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27491 >
2024-02-06 16:38:01 +00:00
Zan Dobersek
c3b667d488
tu/msm: fix RD_CHIP_ID size used when dumping RD
...
The chip ID field size is 8 bytes across fd_dev_id and different RD tools.
The call to fd_rd_output_write_section for RD_CHIP_ID should be fixed to
use the proper size as well.
Signed-off-by: Zan Dobersek <zdobersek@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27430 >
2024-02-06 16:01:20 +00:00
Rhys Perry
4f6aac1589
aco/tests: fix to_hw_instr.swap_linear_vgpr
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27436 >
2024-02-06 15:40:58 +00:00
Rhys Perry
174e37afb9
aco: fix >8 byte linear vgpr copies
...
No fossil-db changes.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27436 >
2024-02-06 15:40:58 +00:00
Hsieh, Mike
33d88f797b
amd/vpelib: Add UID for 3d Lut and control logic
...
[WHY]
3D lut generation takes time, we need to cache it and identify it as it
updated.
[HOW]
Add unique id when new 3d lut is generated.
Add control logic with UID.
Reviewed-by: Jesse Agate <jesse.agate@amd.com >
Acked-by: Alan Liu <haoping.liu@amd.com >
Signed-off-by: Mike Hsieh <Mike.Hsieh@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27239 >
2024-02-06 14:55:02 +00:00
Agate, Jesse
039b1e0a1e
amd/vpelib: Refactor norm factor logic
...
Moved norm factor logic out of moveable CM.
Reviewed-by: Roy Chan <Roy.Chan@amd.com >
Acked-by: Alan Liu <haoping.liu@amd.com >
Signed-off-by: Jesse Agate <Jesse.Agate@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27239 >
2024-02-06 14:55:02 +00:00
Shih, Jude
e0863dbb74
amd/vpelib: Solve link error due to missing static for one function
...
is_target_rect_equal_to_dest_rect is used in color_bg.c only. Therefore,
it needs keyword as static in front of it. This issue is reported from
diag team.
Reviewed-by: Bichao Wang <bichao.wang@amd.com >
Reviewed-by: Tomson Chang <tomson.chang@amd.com >
Acked-by: Alan Liu <haoping.liu@amd.com >
Signed-off-by: Jude Shih <shenshih@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27239 >
2024-02-06 14:55:02 +00:00
Agate, Jesse
2d02c75324
amd/vpelib: Add PQ Norm to VPE interface
...
Rename the variable and add PQ Norm to VPE interaface.
Reviewed-by: Roy Chan <Roy.Chan@amd.com >
Acked-by: Alan Liu <haoping.liu@amd.com >
Signed-off-by: Jesse Agate <Jesse.Agate@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27239 >
2024-02-06 14:55:02 +00:00
Agate, Jesse
1dd28d6766
amd/vpelib: VPE integration for HLG
...
Added external and internal enums for HLG and some related house keeping.
Reviewed-by: Roy Chan <Roy.Chan@amd.com >
Acked-by: Alan Liu <haoping.liu@amd.com >
Signed-off-by: Jesse Agate <Jesse.Agate@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27239 >
2024-02-06 14:55:02 +00:00
Hsieh, Mike
5fd59c83ef
amd/vpelib: geometric scaling fix
...
[WHY & HOW]
Color adjustment needs to be controled by user.
Remove blending check if target rect equeal to dest rect for 1st stream.
Reviewed-by: Tomson Chang <tomson.chang@amd.com >
Acked-by: Alan Liu <haoping.liu@amd.com >
Signed-off-by: Mike Hsieh <Mike.Hsieh@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27239 >
2024-02-06 14:55:02 +00:00
Hsieh, Mike
c8b2e28b66
amd/vpelib: skip gamma remap and cs conversion when geometric scaling
...
[WHY]
When geomtric scaling is enabled, many color features will be skipped.
[HOW]
Skip gamma remap, gamut conversion, blending, tone mapping and color adjustment.
Reviewed-by: Roy Chan <Roy.Chan@amd.com >
Acked-by: Alan Liu <haoping.liu@amd.com >
Signed-off-by: Mike Hsieh <Mike.Hsieh@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27239 >
2024-02-06 14:55:02 +00:00
Mike Hsieh
cb6d928327
amd/vpelib: Add param check for geometric scaling and refactor
...
[WHY]
Param check for geometric scaling is required.
3dlut for geometric scaling case is too complicate.
[HOW]
Add Param check for geometric scaling.
Refactor 3dlut for geometric scaling case.
Reviewed-by: Roy Chan <Roy.Chan@amd.com >
Acked-by: Alan Liu <haoping.liu@amd.com >
Signed-off-by: Mike Hsieh <Mike.Hsieh@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27239 >
2024-02-06 14:55:02 +00:00
Hsieh, Mike
4893afd427
amd/vpelib: add new tf enum and add flag for geometric scaling
...
[WHY] 1. Need tf enum for SRGB and BT709
2. Add required flag and logic for geometric scaling
[HOW] Add new enum, skip tone mapping when geometric scaling is enabled
Reviewed-by: Jesse Agate <jesse.agate@amd.com >
Acked-by: Alan Liu <haoping.liu@amd.com >
Signed-off-by: Mike Hsieh <Mike.Hsieh@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27239 >
2024-02-06 14:55:02 +00:00
Juan A. Suarez Romero
31c9e17bf2
v3d/ci: update expected list
...
Add new piglit failure
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27484 >
2024-02-06 13:33:39 +00:00
Samuel Pitoiset
d15a43c9a9
radv: limit maxIndirectCommandsTokenCount to 512
...
512 is already large enough but UIN32_MAX is definitely too large.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27466 >
2024-02-06 11:23:29 +00:00
Sviatoslav Peleshko
0a44f6319e
anv,driconf: Add sampler coordinate precision workaround for AoE 4
...
AoE4 samples texture on the edge between texels, which can cause
unexpected texel to be returned, and cause misrenderings. This workaround
enables coordinate rounding even in NEAREST mode, which fixes the problem.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9864
Signed-off-by: Sviatoslav Peleshko <sviatoslav.peleshko@globallogic.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27337 >
2024-02-06 10:29:15 +00:00
Juston Li
e48645250c
venus: image format properties cache
...
Cache for vkGetPhysicalDeviceImageFormatProperties2 as it is observed
to be called repeatedly with zink/proton layers.
Cache design is the same as the image requirements cache, generating
a hash key from pImageFormatInfo and storing pImageFormatProperties
into a hash table.
There are a couple differences though:
- VkResult gets cached when the query returns NOT_SUPPORTED.
- Unlike pMemoryRequirements that returns VkMemoryRequirements2 and
possibly VkMemoryDedicatedRequirements, VkImageFormatProperties2
has various pNext chains that can be optionally passed in. Hash
the existence of these pNext so that they are considered different
queries and the underlying pNext struct can be optionally cached.
The alternative would be to modify the query to always chain these
pNext so all of them would be cached, but it is unlikely for queries
to only differ in pNext chains.
Signed-off-by: Juston Li <justonli@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27401 >
2024-02-06 00:26:45 +00:00
Juston Li
680c912977
venus: extract cache hash/equals functions into common
...
drop the unnecessary casting in the equals function as well
Signed-off-by: Juston Li <justonli@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27401 >
2024-02-06 00:26:45 +00:00
Juston Li
f3de6f17c1
venus: fix image reqs cache store locking
...
lock the entire scope when storing image reqs cache entry to prevent
entry being added between the split locks.
Fixes: b51ff22fbe ("venus: support caching image memory requirements")
Signed-off-by: Juston Li <justonli@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27401 >
2024-02-06 00:26:44 +00:00
Tapani Pälli
5178ad761c
anv: flush tile cache independent of format with HIZ-CCS flush
...
Cc: mesa-stable
Fixes: ba87656079 ("anv: implement undocumented tile cache flush requirements")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10420
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10530
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Tested-by: Mark Janes <markjanes@swizzler.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27440 >
2024-02-05 21:50:26 +00:00
Mike Blumenkrantz
af51e5f7a9
zink: split out sparse_residency_code_and lowering
...
the lowering for is_sparse_texels_resident must run after all the instances of
sparse_residency_code_and have been eliminated in order to effectively guarantee
that there are no remaining cases of tex.e (sparse) component access
fixes #10548
Fixes: f0ca477b500 ("zink: run sparse lowering after all optimization passes")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27474 >
2024-02-05 21:28:47 +00:00
Mike Blumenkrantz
f5174593c1
zink: add back (safe) optimizations after sparse lowering
...
this cleans up the sparse_residency_code_and disaster
Fixes: f0ca477b500 ("zink: run sparse lowering after all optimization passes")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27474 >
2024-02-05 21:28:47 +00:00
Caio Oliveira
40d119979a
iris: Remove unused paramater
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27476 >
2024-02-05 21:07:20 +00:00
Caio Oliveira
a4dc5bd9fd
iris: Remove prototypes for unsupported Gfx versions
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27476 >
2024-02-05 21:07:20 +00:00
Caio Oliveira
8ff26271a7
iris: Remove unused brw_* includes
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27476 >
2024-02-05 21:07:20 +00:00
Friedrich Vock
d4c094dfb4
radv/rt: Optimize update shader VGPR usage
...
Brings VGPR allocation down from 72 (absolutely insane) to 32.
We can now reach the theoretical maximum occupancy of 16 waves per SIMD.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27472 >
2024-02-05 21:14:45 +01:00
Max R
585836f2b5
d3d10umd: Rename d3d10sw target to d3d10umd
...
Other drivers such as virgl are planned to be added to d3d10... target.
As it is not a purely software driver d3d10sw target is renamed to
d3d10umd target to reflect that.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27416 >
2024-02-05 16:59:22 +00:00
Max R
67da5a8f08
d3d10umd, meson: Allow naming d3d10umd DLLs
...
For graphics drivers on windows it is beneficial to have usermode DLLs
names matching driver overall name, example being vm3dum_10.dll and
nvwgf2um.dll for d3d10 usermode drivers from VMWare and Nvidia.
To implement that new meson option `gallium-d3d10-dll-name` that
names the resulting d3d10umd target DLL is introduced. Additionaly,
to avoid confusion `gallium-dll-name` is renamed to `gallium-wgl-dll-name`
as it corresponds to the name used in wgl target.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27416 >
2024-02-05 16:59:22 +00:00
Tapani Pälli
5ae2b4882a
blorp: implement Wa_16014912113 callback for drivers
...
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26920 >
2024-02-05 13:50:58 +00:00
Tapani Pälli
1693d0b857
anv: implement Wa_16014912113
...
When URB state for DS changes, we need to emit URB setup for VS with
256 handles and 0 for rest, commit this using a HDC flush before
setting real values.
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26920 >
2024-02-05 13:50:58 +00:00
Tapani Pälli
263f693760
iris: implement Wa_16014912113
...
When URB state for DS changes, we need to emit URB setup for VS with
256 handles and 0 for rest, commit this using a HDC flush before
setting real values.
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26920 >
2024-02-05 13:50:58 +00:00
Tapani Pälli
bdc7d32e93
blorp/crocus: refactor blorp_emit_urb_config
...
Patch changes blorp_emit_urb_config to use intel_urb_config so that we
can use it later to communicate blorp urb configuration for drivers.
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26920 >
2024-02-05 13:50:58 +00:00
Tapani Pälli
829e4fe877
intel/common: provide a helper for urb setup comparison
...
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26920 >
2024-02-05 13:50:58 +00:00
Tapani Pälli
a1b885b482
intel: refactor urb configuration, add intel_urb_config
...
Patch adds a structure holding urb configuration. This makes it nicer
to pass it around as example for blorp. We need to be able to sometimes
compare with last urb configuration to be able to implement some
workaround.
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26920 >
2024-02-05 13:50:58 +00:00
Christian Duerr
49c1b404e5
panfrost: Fix dual-source blending
...
If dual blending is enabled, only 1 output is supported. Multiple
outputs confuse the write combining pass in this case, leading to
incorrect output and/or an assert failure in emit_fragment_store.
The fix is straightforward, just skip the speculative emitting of
multiple outputs in the case where dual source blending is enabled.
This also adds an extra sanity check in `pan_nir_lower_zs_store` to
check for only one blend store being present.
Fixes: c65a9be421 ("panfrost: Preprocess shaders at CSO create time")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9487
Co-Authored-By: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26474 >
2024-02-05 13:25:56 +00:00
Sergi Blanch Torne
084f81fd52
Revert "ci: disable Collabora's farm due to maintance"
...
This reverts commit 3a2e5c1b77 .
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27360 >
2024-02-05 12:48:30 +00:00
Job Noorman
29fa1d7f25
ir3: set reconvergence for scan_clusters.macro
...
The introduction of block::reconvergence_point happened at the same time
as scan_clusters.macro so we forgot to set it correctly.
Fixes: 60413e11c2 ("ir3: optimize subgroup operations using brcst.active")
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27463 >
2024-02-05 12:28:10 +00:00
Georg Lehmann
cc7400e49c
anv: report rotate subgroup feature bits
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27444 >
2024-02-05 11:20:28 +00:00
Georg Lehmann
2ad3b83d23
radv: report rotate subgroup feature bits
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27444 >
2024-02-05 11:20:28 +00:00
Rhys Perry
48461c0d9e
aco: enable VOPD scheduler
...
fossil-db (navi31, wave32):
Totals from 75237 (94.95% of 79242) affected shaders:
Instrs: 40383337 -> 36522907 (-9.56%); split: -9.56%, +0.00%
CodeSize: 209282312 -> 209883000 (+0.29%); split: -0.18%, +0.46%
Latency: 256898944 -> 257834204 (+0.36%); split: -0.23%, +0.60%
InvThroughput: 59105835 -> 52725948 (-10.79%); split: -10.90%, +0.11%
VClause: 759487 -> 758151 (-0.18%); split: -0.18%, +0.01%
SClause: 1264895 -> 1263230 (-0.13%); split: -0.14%, +0.01%
VALU: 22886416 -> 18837085 (-17.69%)
VOPD: 0 -> 4049331 (+inf%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23367 >
2024-02-05 10:51:15 +00:00
Rhys Perry
75a76ec3fd
aco: implement VOPD scheduler
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23367 >
2024-02-05 10:51:15 +00:00
Rhys Perry
1fb79b4aa2
aco: refactor schedule_ilp main loop
...
Besides switching to "ctx.active_mask" as the condition, this is basically
the same.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23367 >
2024-02-05 10:51:14 +00:00
Rhys Perry
c66d42b9ed
aco: add VOPD statistic
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23367 >
2024-02-05 10:51:14 +00:00
Rhys Perry
6547e17e60
aco: add VOPD format
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23367 >
2024-02-05 10:51:14 +00:00
Max R
54c52932d4
virgl: Pass cmd_buf to flush_frontbuffer
...
Required by gdi virgl winsys.
Reviewed-by: Feng Jiang <jiangfeng@kylinos.cn >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27308 >
2024-02-05 08:41:23 +00:00
Max R
15c21eafc2
virgl: Allow importing resources without known templ
...
On windows when external resources are imported
there is no information about them. And in such cases
resource_from_hanlde templ argument is equal NULL.
To support such case on virgl, virgl winsys can now
fill in template for resource, that will be used if
templ=NULL. Additionally helper functions were
added to convert virgl encoded enums to pipe.
Reviewed-by: Feng Jiang <jiangfeng@kylinos.cn >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27308 >
2024-02-05 08:41:23 +00:00
Max R
8b7fa26b39
virgl: Implement PIPE_QUERY_GPU_FINISHED
...
Implemented using fences, similarly to zink.
Requierd by d3d10umd frontend.
Reviewed-by: Feng Jiang <jiangfeng@kylinos.cn >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27308 >
2024-02-05 08:41:23 +00:00
Max R
6427dd9056
virgl: Fix crash when no VE bound
...
While OpenGL requires that VE must be bound,
other mesa frontends, f.e. d3d10umd, can emit draw
without any VE bound. Which led to vctx->vertex_elements
to be null, which lead to null derefence. Add check
for ve not being null to avoid that.
Supported by virglrenderer@b8ac10db
Reviewed-by: Feng Jiang <jiangfeng@kylinos.cn >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27308 >
2024-02-05 08:41:23 +00:00
Max R
468c750c53
virgl: Fix compilation on MSVC
...
* Cast to uint8_t* before doing pointer arithmetics
* Add zero to initializer list to initialize zeroed structs
* Don't include linux sepcific headers on WIN32
* Don't use build_id when it isn't available
Reviewed-by: Feng Jiang <jiangfeng@kylinos.cn >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27308 >
2024-02-05 08:41:22 +00:00
Dave Airlie
47c725b53e
radv: don't submit 0 length on UVD either.
...
The kernel checks for UVD msgs and if there aren't any gets upset,
so don't submit 0 length on UVD rings either to avoid that.
Cc: mesa-stable
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27186 >
2024-02-05 08:14:26 +00:00
Dave Airlie
df9bc11589
radv/uvd: uvd kernel checks for full dpb allocation.
...
The CTS image allocation sometimes doesn't try to allocate a complete
DPB, but the amdgpu kernel module checks for this, so always make
the DPB max sized on uvd instances.
Fixes part of video decode on Fiji/Polaris
Cc: mesa-stable
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27186 >
2024-02-05 08:14:26 +00:00
Dave Airlie
bba36df84d
radv: init decoder ip block earlier.
...
This makes the queue decisions later correct.
Cc: mesa-stable
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27186 >
2024-02-05 08:14:26 +00:00
Dave Airlie
6065671a7f
radv: fix correct padding on uvd
...
Fixes: 8a29291dbe ("radv/video: add h264 support for uvd")
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27186 >
2024-02-05 08:14:26 +00:00
Sergi Blanch Torne
3a2e5c1b77
ci: disable Collabora's farm due to maintance
...
Planned downtime in the farm:
* Start: 2024-02-05 08:00 UTC
* End: 2024-02-05 14:00 UTC
Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27359 >
2024-02-05 08:11:50 +00:00
Samuel Pitoiset
c6286e39ec
radv/sqtt: fix describing queue submits for RGP
...
The submit_sub_index field is used by RGP to determine the number of
submits. Previously, it was incorrectly reporting the same number of
submits than command buffers.
Fixes: 88cbe32048 ("radv: add support for RGP queue events")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27439 >
2024-02-05 07:32:48 +00:00
Gert Wollny
8368a97294
r600: handle indirect access to kcache 14 and 15
...
r600 can't handle indirect access to kcache 14 and 15, so
if the shader has more than 14 UBOs and there is indirect UBO
access load the values from kcache 14 (and 15) directly and do
a bcsel based on the buffer id to return the right value.
v2: - replace superfluous check with an assert (Triang3l)
- change the lowering pass to work on load_ubo
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10112
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27372 >
2024-02-03 19:27:54 +00:00
Emmanuel Vadot
464e8aaff4
util: Allow kcmp on FreeBSD
...
FreeBSD now have kcmp(2) syscall, use it.
Signed-off-by: Emmanuel Vadot <manu@FreeBSD.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27184 >
2024-02-03 17:19:31 +00:00
Sergi Blanch Torne
3a00d80c67
Revert "ci: disable Collabora's farm due to maintance"
...
This reverts commit fcce9cc835 .
Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27427 >
2024-02-03 17:16:30 +01:00
Sergi Blanch Torne
fcce9cc835
ci: disable Collabora's farm due to maintance
...
Planned downtime in the farm as follows:
* Start: 2024-02-03 13:00 UCT
* End: 2024-02-03 17:00 UTC
Signed-o-f-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27426 >
2024-02-03 12:50:48 +00:00
Konstantin Seurer
b10ee44308
radv/rra: Implement ahit/isec counters
...
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25548 >
2024-02-03 12:59:47 +01:00
Konstantin Seurer
82a5cc788b
docs: Document RADV_RRA_TRACE_HISTORY_SIZE
...
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25548 >
2024-02-03 12:59:47 +01:00
Konstantin Seurer
767f628079
radv/rra: Dump basic ray history tokens
...
This only dumps the begin tokens. Tokens are written to a buffer
containing a 12 byte header at the beginning.
We use an intermediate format for the ray history tokens because the RRA
format is very inefficient.
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25548 >
2024-02-03 12:59:47 +01:00
Konstantin Seurer
26939f016d
radv/rra: Refactor error handling
...
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25548 >
2024-02-03 11:29:58 +01:00
Konstantin Seurer
46dddb57f9
radv/rra: Remove useless variable
...
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25548 >
2024-02-03 11:29:58 +01:00
Konstantin Seurer
dc813288c3
radv/rra: Use memcpy for chunk descriptions
...
The identifier is not null terminated. "HistoryTokensRaw" does not fit
otherwise.
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25548 >
2024-02-03 11:29:58 +01:00
Konstantin Seurer
71c363acc3
radv/rra: Rename rra_chunk_type to rra_chunk_version
...
Found by inspecting RRA source.
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25548 >
2024-02-03 11:29:58 +01:00
Yiwei Zhang
d32d010c24
venus: update tracepoints to align with later optimizations
...
We can remove redundant TPs no longer needed while updating and adding
some trivial ones helpful for next things.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27450 >
2024-02-03 00:35:39 +00:00
Eric Engestrom
a81189c796
ci: build nvk in debian-vulkan job
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27442 >
2024-02-02 23:36:59 +00:00
Eric Engestrom
2d21a1bf79
nouveau/tests: fix null dereference
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27442 >
2024-02-02 23:36:59 +00:00
Gurchetan Singh
0525dac7f8
vk_image.c: #ifndef _WIN32 --> DETECT_OS_LINUX + DETECT_OS_BSD
...
DRM modifiers are a BSD/Linux phenomenon.
We can also remove a bunch of these checks too. No Linux specific
symbol or header is **actually** used, and the DRM modifier is
just represented as uint64_t. But kept the style of the file
as is.
Reviewed-by: Serdar Kocdemir <kocdemir@google.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27425 >
2024-02-02 23:11:21 +00:00
Gert Wollny
1fa171650a
zink: remove invalid scope in bo allocation loop
...
The braces resulted in the never demoting the heap type
which resulted in an infinite loop if this become a necessity.
Fixes: eb394f5316
zink: redesign the allocation try loop to test all heaps
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27446 >
2024-02-02 22:43:02 +00:00
Marek Olšák
e98bbcad17
nir: add vertex divergence into nir_divergence_analysis
...
This is a prerequisite for the new nir_opt_varyings pass.
It reuses the same divergent field in nir_def and nir_loop.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26918 >
2024-02-02 16:45:52 -05:00
Marek Olšák
5ffa4d879c
nir: add a lower_mediump_io callback into options
...
This will be called by the GLSL linker before nir_opt_varyings.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26918 >
2024-02-02 16:45:51 -05:00
Marek Olšák
ecf0fe09f0
nir: replace lower_io_variables with a GLSL NIR flag
...
This stops using it in nir_lower_io_passes because all callers call it
only when it's true.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26918 >
2024-02-02 16:45:49 -05:00
Marek Olšák
c4acab77a8
nir: remove and replace underused option pack_varying_options
...
This will also be used by nir_opt_varyings.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26918 >
2024-02-02 16:45:47 -05:00
Marek Olšák
c844b5dc85
nir: relax validation failure for generic TCS outputs with no_varying
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26918 >
2024-02-02 16:45:45 -05:00
Marek Olšák
d84a616d4d
nir: remove INTERP_MODE_COLOR
...
It's only used by radeonsi and doesn't have to be public.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26918 >
2024-02-02 16:45:35 -05:00
Rob Clark
1d5dbde522
freedreno/drm: Fix teardown crash harder
...
We need to unref the device *after* submit cleanup, so that
fd_submit_sp_destory() can still reference the device.
Fixes: d558cb664a ("freedreno/drm: Submit should hold ref to device")
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27445 >
2024-02-02 20:28:58 +00:00
Job Noorman
60413e11c2
ir3: optimize subgroup operations using brcst.active
...
Follow the blob and optimize subgroup operation using brcst.active and
getlast when supported.
The transformation consists of two parts. First, a NIR transform
replaces subgroup operations with a sequence of new brcst_active_ir3
intrinsics followed by a new [type]_clusters_ir3 intrinsic (where type
can be reduce, inclusive_scan, or exclusive_scan).
The brcst_active_ir3 intrinsic is lowered directly to a brcst.active
instruction. The other intrinsics get lowered to a new macro
(OPC_SCAN_CLUSTERS_MACRO) which later gets emitted as a loop (using
getlast/getone) that iterates all clusters and produces the requested
scan result.
OPC_SCAN_CLUSTERS_MACRO has a number of optional arguments. First, since
the exclusive scan result is not a natural by-product of the loop but
has to be calculated explicitly, its destination is optional. This is
necessary since adding it unconditionally will produce unused
instructions that won't be DCE'd anymore at this point. Second, when
performing 32b MUL_U reductions (that expand to multiple instructions),
an extra scratch register is necessary.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6387
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26950 >
2024-02-02 19:49:22 +00:00
Job Noorman
6148e38a09
ir3: fix printing of brcst.active and quad_shuffle
...
Make sure they aren't treated as a texture instructions. For
brcst.active, also print its cluster size.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26950 >
2024-02-02 19:49:22 +00:00
Job Noorman
6fa99abac0
ir3: optimize read_first.macro to a mov
...
Moves to shared registers keep the value written by the lowest active
fiber. This means that read_first.macro can simply be turned into a mov
and doesn't need a getone block.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26950 >
2024-02-02 19:49:22 +00:00
Job Noorman
5c41a95e48
ir3: fix setting shared flag on parallel copy arguments
...
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26950 >
2024-02-02 19:49:22 +00:00
Eric Engestrom
5ef744c660
ci: build panvk in debian-vulkan job
...
With !26116 , !24610 , and !27437 merged, we can now enable build-testing
of panvk with these extra checks, and prevent bugs like these from
happening again.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27441 >
2024-02-02 19:14:29 +00:00
Daniel Schürmann
4fa27845e5
aco/insert_exec_mask: Reduce latency when switching to WQM.
...
Change pattern:
s_mov_b64 s[0:1], exec s_mov_b64 s[0:1], exec
s_wqm_b64 exec, s[0:1] -> s_wqm_b64 exec, exec
Totals from 16667 (21.03% of 79242) affected shaders: (GFX11)
Instrs: 11317502 -> 11307484 (-0.09%); split: -0.09%, +0.00%
CodeSize: 60194272 -> 60155088 (-0.07%); split: -0.07%, +0.00%
Latency: 94345873 -> 94338374 (-0.01%); split: -0.01%, +0.00%
InvThroughput: 13568872 -> 13568683 (-0.00%); split: -0.00%, +0.00%
Copies: 808334 -> 808332 (-0.00%)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27112 >
2024-02-02 18:55:15 +00:00
Daniel Schürmann
e89977ff71
aco: always terminate quads if they have been demoted entirely
...
Previously, quads got only terminated in top-level control flow.
This patch makes the behavior consistent.
Totals from 7811 (9.86% of 79242) affected shaders: (GFX11)
Instrs: 7859667 -> 7850757 (-0.11%); split: -0.18%, +0.07%
CodeSize: 41642280 -> 41611836 (-0.07%); split: -0.13%, +0.06%
Latency: 73692815 -> 73707588 (+0.02%); split: -0.02%, +0.04%
InvThroughput: 10672160 -> 10672323 (+0.00%); split: -0.01%, +0.01%
VClause: 137478 -> 137469 (-0.01%); split: -0.02%, +0.02%
SClause: 314905 -> 314924 (+0.01%); split: -0.19%, +0.20%
Copies: 587014 -> 576039 (-1.87%); split: -2.10%, +0.23%
Branches: 213101 -> 213123 (+0.01%); split: -0.01%, +0.02%
PreSGPRs: 313588 -> 313355 (-0.07%); split: -0.09%, +0.01%
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27112 >
2024-02-02 18:55:15 +00:00
Daniel Schürmann
a42b83e3fb
aco/insert_exec_mask: tiny refactor
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27112 >
2024-02-02 18:55:15 +00:00
Tapani Pälli
5bea69cdd6
intel/blorp: add a TODO note about stencil buffer resolve
...
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27355 >
2024-02-02 18:28:39 +00:00
Samuel Pitoiset
9698d5f0fd
radv: add a workaround for mipmaps and minLOD on GFX6-8
...
This is spurious and it looks like we should be able to uses non-zero
base level everytime on GFX6-8 but it doesn't always work.
This fixes the remaining CTS failures on GFX6-8.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26290 >
2024-02-02 18:06:25 +00:00
Connor Abbott
dc1a3f9555
ir3: Fix comment thinko
...
Noticed when working on another commit.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22072 >
2024-02-02 17:39:35 +00:00
Connor Abbott
c40bc48252
ir3: Calculate physical edges correctly
...
A block can have more than one extra physical successor, a fact that I
missed initially. Now that we've fixed up RA to handle it, we can
finally handle this correctly.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22072 >
2024-02-02 17:39:35 +00:00
Connor Abbott
9dbe511f18
ir3: Rewrite (jp) and branchstack handling
...
This pass will later also serve as a way to accurately insert physical
edges, which is the original motivation. However it also lets us put
branchstack handling on a more solid footing.
There was an off-by-one in the old branchstack handling because it
didn't consider that a single if-else actually has two reconvergence
points active at the same time, so it undercounted the branchstack by 1
for pretty much every shader. We change the HW formula to produce the
same result, which now makes it much more sensible.
We can also delete the physical predecessor handling in ir3_legalize,
because it was only needed to handle (jp) which is now handled earlier.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22072 >
2024-02-02 17:39:35 +00:00
Connor Abbott
6ad0cbafe8
ir3: Set branchstack earlier
...
We were relying on it in RA to tell us whether we could give more
registers to the shader mostly "for free" (because occupancy is bounded
by the branchstack), but it turns out it was actually 0 so we weren't
taking advantage of it.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22072 >
2024-02-02 17:39:35 +00:00
Connor Abbott
fa22b0901a
ir3/ra: Add specialized shared register RA/spilling
...
There are two problems with shared register allocation at the moment:
1. We weren't modelling physical edges correctly, and once we do, the
current hack in RA for handling them won't work correctly. This means
live-range splitting doesn't work. I've tried various strategies but
none of them seems to fix this.
2. Spilling of shared registers to non-shared registers isn't
implemented.
Spilling of shared regs is significantly simpler than spilling
non-shared regs, because (1) spilling and unspilling is significantly
cheaper, just a single mov, and (2) we can swap "stack slots" (actually
non-shared regs) so all the complexity of parallel copy handling isn't
necessary. This means that it's much easier to integrate RA and
spilling, while still using the tree-scan framework, so that we can
spill instead of splitting live ranges. The other issue, of phi nodes
with physical edges, we can handle by spilling those phis earlier. For
this to work, we need to accurately insert physical edges based on
divergence analysis or else every phi node would involve physical edges,
which later commits will accomplish.
This commit adds a shared register allocation pass which is a
severely-cut-down version of RA and spilling. Everything to do with live
range splitting is cut from RA, and everything to do with parallel copy
handling and for spilling we simply always spill as long as soon as we
encounter a case where it's necessary. This could be improved,
especially the spilling strategy, but for now it keeps the pass simple
and cuts down on code duplication. Unfortunately there's still some
shared boilerplate with regular RA which seems unavoidable however.
The new RA requires us to redo liveness information, which is
significantly expensive, so we keep the ability of the old RA to handle
shared registers and only use the new RA when it may be required: either
something potentially requiring live-range splitting, or a too-high
shared register limit.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22072 >
2024-02-02 17:39:34 +00:00
Samuel Pitoiset
f977501a7c
radv: do not allow to enable VK_EXT_shader_object with LLVM
...
This isn't expected to work.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27415 >
2024-02-02 17:14:56 +00:00
Konstantin Seurer
c925b6019d
radv/rt: Lower ray payloads like hit attribs
...
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27051 >
2024-02-02 16:36:15 +00:00
Erik Faye-Lund
4f0c33196c
mesa: fix error-handling for ETC2/RGTC textures
...
It seems we missed an error-case that got introduced in OpenGL 4.4.
While this error doesn't *technically* exist as-is in OpenGL ES before
version 3, neither does 3D textures. And while OES_texture_3D introduces
it to OpenGL ES 2.0 without adding the same error for ETC2 textures,
that is likely an omission in the spec; 3D ETC2 texture was never a
thing.
This fixes a regression in the confidential Khronos CTS, specifically
GL46.gtf42.GL3Tests.texture_storage.texture_storage_compressed_texture_data
Fixes: 652a898d316 ("mesa/main: add support for EXT_texture_storage")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10545
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Tested-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27428 >
2024-02-02 16:06:19 +00:00
Eric Engestrom
5d293f01cc
ci_run_n_monitor: avoid spamming a ton of "new status: created" for all the jobs at the beginning
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27419 >
2024-02-02 15:25:22 +00:00
Eric Engestrom
6250885640
panfrost: fix UB caused by shifting signed int too far
...
Fixes: 13d7ca1300 ("pan/va: Optimize add with imm to ADD_IMM")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27437 >
2024-02-02 14:56:20 +00:00
Mike Blumenkrantz
2085d60438
zink: run sparse lowering after all optimization passes
...
some passes (e.g., opt_shrink_vector) operate on the assumption that
sparse tex ops have a certain number of components and then remove components
and unset the sparse flag if they can optimize out the sparse usage
zink's sparse ops do not have the standard number of components, which
causes such passes to make incorrect assumptions and tag them as
not being sparse, which breaks everything
fix #10540
Fixes: 0d652c0c8d ("zink: shrink vectors during optimization")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27414 >
2024-02-02 14:36:25 +00:00
Mike Blumenkrantz
6a8cd7a64f
zink: move sparse lowering up in file
...
no functional changes
Fixes: 0d652c0c8d ("zink: shrink vectors during optimization")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27414 >
2024-02-02 14:36:25 +00:00
Mike Blumenkrantz
aacc4e1c68
zink: zero allocate resident_defs array in ntv
...
this makes assert(def!=0) more reliable
Fixes: 73ef54e342 ("zink: handle residency return value from sparse texture instructions")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27414 >
2024-02-02 14:36:25 +00:00
Mike Blumenkrantz
3b025d6b42
zink: fix sparse bo placement
...
the util function here takes a bitmask of memory type indices, not properties.
rename the function and correct the usage
fixes sparse on nvidia blob
Fixes: c71287e70c ("zink: correct sparse bo mem_type_idx placement")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27414 >
2024-02-02 14:36:25 +00:00
Konstantin Seurer
bb14ee53a5
radv/sqtt: Handle ray tracing pipelines with no traversal shader
...
Fixes: 0f87d40 ("radv/rt: Skip compiling a traversal shader")
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27383 >
2024-02-02 14:14:16 +01:00
Samuel Pitoiset
0aa9afa8e1
radv: add support for emitting VS+TCS compiled separately on GFX9+
...
With a VS prolog, we end up with 3 long jumps (VS prolog->VS->TCS->TCS
epilog), super annoying.
The shaders config must also be combined between VS and TCS.
This is for VK_EXT_shader_object.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27336 >
2024-02-02 10:16:59 +01:00
Samuel Pitoiset
397a08b407
radv: always emit PGM_RSRC1_HS when emitting the TCS epilog state
...
This will simplify upcoming changes and it doesn't matter much because
this is for ESO only.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27336 >
2024-02-02 10:16:59 +01:00
Samuel Pitoiset
542b9aaf18
radv: force TCS stage for VS as LS compiled separately on GFX9+
...
When VS as LS is compiled separately on GFX9+, the stage/previous_stage
must be VERTEX/TESS_CTRL.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27336 >
2024-02-02 10:16:59 +01:00
Samuel Pitoiset
3d5d163693
radv: always mark drawid/base_instance used with ESO
...
The user SGPR is always declared for merged shaders compiled separately
because the args must match.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27336 >
2024-02-02 10:16:59 +01:00
Samuel Pitoiset
3c23ae8547
radv: rework shader arguments for separate compilation of VS+TCS on GFX9+
...
When VS or TCS are compiled separately on GFX9+, the shader input args
must match. This is implemented using a complete separate path, it's
duplicated but it seems cleaner than adding a ton of checks here and
there.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27336 >
2024-02-02 10:16:59 +01:00
Samuel Pitoiset
1e55d91c82
radv: only merge shader info stages if both stages exist on GFX9+
...
With shader objects, both stages might not exist and if the src stage
doesn't, this will copy garbage data because it's unitialized.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27336 >
2024-02-02 10:16:59 +01:00
Samuel Pitoiset
0018faf384
radv: check active NIR stages before trying to merge shaders on GFX9+
...
For shader object.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27336 >
2024-02-02 10:16:59 +01:00
Samuel Pitoiset
1fe8770bbe
radv: constify radv_device in radv_emit_shader_pointer()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27336 >
2024-02-02 10:16:59 +01:00
Samuel Pitoiset
3b2452da3c
radv: set the default workgroup size for VS as LS
...
This will be optimized during shader info linking if TCS is present.
The main motivation for this change is ESO because the next stage
might not exist.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27396 >
2024-02-02 08:53:20 +00:00
Samuel Pitoiset
2a58bbbed8
radv: determine the workgroup size for TCS earlier
...
This can be done before linking shader info pass.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27396 >
2024-02-02 08:53:20 +00:00
Samuel Pitoiset
c6ca7fcc25
radv: remove radv_graphics_state_key::dynamic_patch_control_points
...
When the state isn't dynamic, the patch control points value must
greater than 0. Having a separate field isn't necessary.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27396 >
2024-02-02 08:53:20 +00:00
Blisto
3bc6f95e3d
driconf: set vk_x11_strict_image_count for Atlas Fallen Vulkan
...
Prevents crash with vsync turned off on xwayland.
Cc: mesa-stable
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27122 >
2024-02-02 07:48:22 +00:00
Mike Blumenkrantz
7b7a581a52
zink: prune dmabuf export tracking when adding resource binds
...
this avoids invalid access for the stack resource in add_resource_bind()
when adding a new bind to an exportable resource
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27395 >
2024-02-02 03:51:52 +00:00
Dave Airlie
60d2ea83e8
vulkan/video: add AV1 decode support to common code
...
This adds the av1 decode parameters handling.
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27423 >
2024-02-02 03:18:52 +00:00
Ian Romanick
68da9e4dff
intel/compiler/xe2: Set SIMD mode for sampler messages
...
Since SIMD8 no longer exists, the SIMD modes enums have different names
and different values.
v2 (Francisco Jerez): Rebase on 07b9bfacc7 ("intel/compiler: Move
logical-send lowering to a separate file").
v3: Update brw_disasm.c with SIMD descriptions.
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27305 >
2024-02-02 02:39:10 +00:00
Ian Romanick
84de7a88d3
intel/compiler/xe2: Emit texture instructions w/ combined LOD and array index
...
The extra assertions are just there to help validate
pack_lod_and_array_index (in nir_lower_tex.c).
v2: Split got_lod_or_bias into two variables. This simplifies some
changes that Sagar is working on. Suggested by Sagar.
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27305 >
2024-02-02 02:39:10 +00:00
Ian Romanick
c8ba2bc2f0
nir: Pack texture LOD and array index to a single 32-bit value
...
v2: Fix clamped_ai calculation in nir_lower_tex.c. Add
nir_tex_src_combined_lod_and_array_index_intel to
print_tex_instr. Suggested by Sagar.
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27305 >
2024-02-02 02:39:10 +00:00
Ian Romanick
78e7f7b377
intel/compiler/xe2: Use new sample_*_mlod messages
...
Note: a future commit will expand the sampler message type to the 6 bits
used on Xe2.
v2 (Francisco Jerez): Rebase on 07b9bfacc7 ("intel/compiler: Move
logical-send lowering to a separate file").
v3: Drop XE2_SAMPLER_MESSAGE_SAMPLE_BIAS_MLOD as it does not actually
exist. This resulted in some bigger changes in brw_disasm.c. Noticed
by Sagar.
v4: Now that XE2_SAMPLER_MESSAGE_SAMPLE_MLODc conflicts with
GFX7_SAMPLER_MESSAGE_SAMPLE_GATHER4_PO_C, the determination of
min_lod_is_first must include devinfo->ver or previous platforms will
break.
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27305 >
2024-02-02 02:39:09 +00:00
Sagar Ghuge
8690a6b546
intel/compiler/xe2: Handle 6-bit message type for Gfx20+
...
Message types are expanded to 6-bit encoding now. 5 bits are still the
same field from the Sampler Message Descriptor. The most significant bit
is now bit 31 of the Sampler Message Descriptor. The messages that have
'1 in bit 6 are only to support programmable offsets and those would
require message header. If a sampler type shows only 5 bits encoding, it
is implied bit 6 equal to 0 and there is no requirement for header.
v2 (idr): Trivial formatting changes.
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27305 >
2024-02-02 02:39:09 +00:00
Ian Romanick
a9ed9cf88b
intel/fs: Move opcode modification before the switch that emits srcs
...
This small refactor simplifies a later commit that will optionally emit
some opcodes before the switch (as is already done with the shadow
comparitor).
v2 (Francisco Jerez): Rebase on 07b9bfacc7 ("intel/compiler: Move
logical-send lowering to a separate file").
v3 (Jordan): SHADER_OPCODE_TXL => SHADER_OPCODE_TXL_LZ (was
SHADER_OPCODE_TXF_LZ).
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27305 >
2024-02-02 02:39:09 +00:00
Ian Romanick
7441af803f
intel/compiler/xe2: Update get_sampler_lowered_simd_width
...
The Bspec also says, "The table below describes the SIMD modes which
are supported. SIMD32 and SIMD64 are used for media-type operations
only." Perhaps this commit should just add
if (devinfo->ver >= 20)
return 16;
instead.
v2: Use reg_unit in get_sampler_lowered_simd_width. Suggested by Sagar.
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27305 >
2024-02-02 02:39:09 +00:00
Mike Blumenkrantz
24a7f6cd16
zink: add a tu flake
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27422 >
2024-02-02 02:23:02 +00:00
Dave Airlie
59fb425e1c
vulkan: update registry/includes to 1.3.277
...
Acked-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27421 >
2024-02-02 01:46:24 +00:00
Jesse Natalie
559f31e202
dzn: Use blits for all non-averaging resolves
...
Trying to do min/max resolves on depth/stencil is failing for me on
hardware, just simplify things and always use a manual resolve for
modes that aren't average.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27348 >
2024-02-02 01:19:52 +00:00
Jesse Natalie
70fa127c97
dzn: Use correct format for depth/stencil resolves
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27348 >
2024-02-02 01:19:52 +00:00
Jesse Natalie
973c5bd047
dzn: Don't resolve for RESOLVE_MODE_NONE
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27348 >
2024-02-02 01:19:52 +00:00
Jesse Natalie
dd7cfd5255
dzn: Add a debug flag for forcing off native view instancing
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27348 >
2024-02-02 01:19:52 +00:00
Jesse Natalie
a85e8058cb
dzn: Support non-static samplers for meta
...
Some hardware that doesn't support true static samplers, emulates it
by copying all static samplers into a reserved portion of every descriptor
heap. To support Vulkan's required 4000 live sampler limit in bindless
mode, D3D is now able to create descriptor heaps which do not have a reserved
portion. Any descriptor heaps above the MaxSamplerDescriptorHeapSizeWithStaticSamplers
limit will not have that reserved portion and cannot be used with static samplers.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27348 >
2024-02-02 01:19:51 +00:00
Jesse Natalie
c286c01136
dzn: Add barrier to copy source for DispatchIndirect copies
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27348 >
2024-02-02 01:19:51 +00:00
Jesse Natalie
581a23c0cc
dzn: Add missing handling of VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27348 >
2024-02-02 01:19:51 +00:00
Jesse Natalie
60aad6ef07
spirv2dxil: Lower the Vulkan memory model and coherent loads/stores
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27348 >
2024-02-02 01:19:51 +00:00
Jesse Natalie
003d2da2dc
microsoft/compiler: Add a pass for promoting ACCESS_COHERENT on loads/stores
...
DXIL doesn't have instruction-level coherency. We have 3 options:
1. Promote the instruction to an atomic instruction. We can only do this
for 32-bit or 64-bit ops.
2. If using bindless, declare the local resource declaration as globally-coherent.
3. If not using bindless, add globally-coherent to the global resource declaration.
This pass does all 3 of these, stopping at the intrinsic level for supported types
of atomics, otherwise assigning to the global resource declaration, which will be
unused if we're doing bindless, where instead we'll get it from the instruction.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27348 >
2024-02-02 01:19:51 +00:00
Jesse Natalie
b74cd405d3
microsoft/compiler: Respect ACCESS_COHERENT in UAV variable data
...
DXIL has a globally-coherent field for UAVs. When emitting UAV metadata
based on a resource variable, respect the relevant bit in the var data.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5628
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27348 >
2024-02-02 01:19:51 +00:00
Ian Romanick
118e0bdc1f
intel/rt: Don't directly generate umul_32x16
...
The optimization pass will (eventually) turn the imul into a
umul_32x16. In many cases, the multiply will be converted to something
else.
I also tried cloning a bunch of existing imul algebraic patterns for
[iu]mul_32x16. This produced the same result, but it was a lot more
churn.
All of the shaders affected were ray tracing shaders in Q2RTX. This is
the only ray tracing workload in my fossil-db.
DG2
Totals:
Instrs: 191995626 -> 191995079 (-0.00%); split: -0.00%, +0.00%
Cycles: 14003803561 -> 14003798040 (-0.00%); split: -0.00%, +0.00%
Spill count: 108320 -> 108288 (-0.03%)
Fill count: 200695 -> 200663 (-0.02%)
Scratch Memory Size: 8755200 -> 8754176 (-0.01%)
Totals from 7 (0.00% of 652118) affected shaders:
Instrs: 14998 -> 14451 (-3.65%); split: -3.94%, +0.29%
Cycles: 137222 -> 131701 (-4.02%); split: -4.10%, +0.07%
Spill count: 32 -> 0 (-inf%)
Fill count: 32 -> 0 (-inf%)
Scratch Memory Size: 19456 -> 18432 (-5.26%)
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27161 >
2024-02-02 00:02:05 +00:00
Timothy Arceri
bc0178af57
glsl: don't tree graft globals
...
As per this optimisations description:
"Takes assignments to variables that are dereferenced only
once and pastes the RHS expression into where the variables
dereferenced."
However the optimisation is run at compile time before multiple
shaders from the same stage could have been pasted together.
So this optimisation can incorrectly assume a global is only
referenced once since it cannot see the other pieces of the
shader stage until link time.
Here we skip the optimisation if the variable is a global. We
could change it to only run at link time however this
optimisation is only run at link time if we are being forced
to use GLSL IR to inline a function that glsl to nir cannot
handle and this will also be removed in a future patchset.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10482
Fixes: d75a36a9ee ("glsl: remove do_copy_propagation_elements() optimisation pass")
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27351 >
2024-02-01 23:15:24 +00:00
Eric Engestrom
98197e15cc
ci: explain purpose of the word after the date in image tags
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27379 >
2024-02-01 22:10:09 +00:00
Eric Engestrom
b6d70eb099
ci: reduce maximum image tags length from 30 to 20
...
To keep a margin in case we need to add something more in the future.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27379 >
2024-02-01 22:10:09 +00:00
Eric Engestrom
b6fceeaa9f
ci: enforce maximum image tag length
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27379 >
2024-02-01 22:10:09 +00:00
Eric Engestrom
73dcdc50d2
ci: drop dash in image tags dates
...
I put dashes in the dates when I first introduced the image tags; it
made sense to improve date readability as we had only a handful of these
and they barely combined.
Nowadays we combine a lot of these tags to form the docker image tags,
and we often run out of space.
Let's remove these dashes, making dates slightly harder to read, and
instead allow these two extra characters to be used in the
unique/descriptive part of the tag.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27379 >
2024-02-01 22:10:09 +00:00
Gert Wollny
dd267ab434
zink: move zink_resource_copies_reset out of exportable_lock
...
The function takes care of synchronization by itself, so no need to also
protect the call by ctx->batch.state->exportable_lock.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27327 >
2024-02-01 21:22:25 +01:00
Gert Wollny
01e64bbf36
zink/sync: remove duplicate assignments in UNSYNCHRONIZED case
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27327 >
2024-02-01 21:22:25 +01:00
Gert Wollny
ef548bf040
zink: extract update_unordered_access_and_get_cmdbuf
...
Use template specialization to handle the static control flow based
on template parameters during code generation instead of relying
on the optimizer to remove the unused code path.
v2: - Fix function opening brace location (zmike)
- remove accidently added dead code
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27327 >
2024-02-01 21:22:25 +01:00
Gert Wollny
ceca832662
zink: extract emit_memory_barrier::for_buffer from zink_resource_buffer_barrier
...
Use template specialization to handle the static control flow based
on template parameters during code generation instead of relying
on the optimizer to remove the unused code path.
v2: - move function opening braces to new line and fix indetion (zmike)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27327 >
2024-02-01 21:22:25 +01:00
Gert Wollny
8c1ddcace9
zink: extract emit_memory_barrier from zink_resource_image_barrier
...
Replace the generic true/false by an enum to make the intent clearer.
Factor out the emission of the barrier, and use template specialization
to pick the type of barrier that is to be emitted, because with template
specialization the control flow is avoided altogether, whereas with
the static code flow it is up to the optimizer to remove the unused bits -
which may not happen in debug builds.
v2: Fix function start braces (zmike)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27327 >
2024-02-01 21:22:25 +01:00
Gert Wollny
2cac3adf31
zink: remove duplicate check and assignment in zink_resource_image_needs_barrier
...
zink_resource_image_barrier already checks and sets the
pipeline and the flags.
v2: make zink_resource_image_needs_barrier private (zmike)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27327 >
2024-02-01 21:22:25 +01:00
Gert Wollny
de354a48b9
zink: extract check_unordered_exec from zink_get_cmdbuf
...
Avoid some code duplication and interleaving of resource checks
v2: Use ALWAYS_INLINE (zmike)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27327 >
2024-02-01 21:22:25 +01:00
Yiwei Zhang
558aca10b4
meson: drop -DANDROID
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27374 >
2024-02-01 19:29:49 +00:00
Yiwei Zhang
53d9debcf4
util: refactor to use DETECT_OS_ANDROID
...
except leaving u_endian.h behind to use __ANDROID__ directly to be
consistent with the rest in that file, which deserves a different
refactor
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27374 >
2024-02-01 19:29:49 +00:00
Yiwei Zhang
569437221d
gallium: refactor to use DETECT_OS_ANDROID
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27374 >
2024-02-01 19:29:49 +00:00
Yiwei Zhang
8762b2fca1
egl: refactor to use DETECT_OS_ANDROID instead of ANDROID
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27374 >
2024-02-01 19:29:49 +00:00
Yiwei Zhang
5a37340689
turnip: refactor to use DETECT_OS_ANDROID instead of ANDROID
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Acked-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27374 >
2024-02-01 19:29:49 +00:00
Yiwei Zhang
5df083eff7
radv: refactor to use DETECT_OS_ANDROID instead of ANDROID
...
Include a tiny refactor in radv_physical_device_get_supported_extensions
to avoid a false formatting issue.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Acked-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27374 >
2024-02-01 19:29:49 +00:00
Yiwei Zhang
4fd4a6109d
anv: refactor to use DETECT_OS_ANDROID instead of ANDROID
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Acked-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27374 >
2024-02-01 19:29:49 +00:00
Yiwei Zhang
a678b7434a
hasvk: refactor to use DETECT_OS_ANDROID instead of ANDROID
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Acked-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27374 >
2024-02-01 19:29:49 +00:00
Yiwei Zhang
f245339120
venus: refactor to use DETECT_OS_ANDROID instead of ANDROID
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Acked-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27374 >
2024-02-01 19:29:49 +00:00
Yiwei Zhang
f06d7f6942
v3dv: refactor to use DETECT_OS_ANDROID instead of ANDROID
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Acked-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27374 >
2024-02-01 19:29:49 +00:00
Yiwei Zhang
2dd95bc4b7
vulkan/runtime: refactor to use DETECT_OS_ANDROID instead of ANDROID
...
Also update vk_android_native_buffer.h to use __ANDROID__ directly.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27374 >
2024-02-01 19:29:49 +00:00
Yiwei Zhang
f7d35be362
vulkan/util: drop redundant code gen from vk_extensions_gen.py
...
driver is now always 'vk'.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27374 >
2024-02-01 19:29:48 +00:00
Yiwei Zhang
1e80a426c2
anv: extend implicit fencing support for case requiring implicit write
...
This change extends the coverage to ANV being the producer while
consumer is hardware encoder backed by iHD. So we'd apply implicit write
to bos backing render target images, which is mostly aligned with
i915_batch_submit tracking of the bos being writtern to.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27398 >
2024-02-01 18:53:28 +00:00
Yiwei Zhang
be3af5acf6
anv: optimize the implicit fencing support of external memory
...
Previously we apply implicit sync to all external memory, which is a bit
redundant since we only need it for the dedicated image scenario (media
image imported into Vulkan). This change optimizes just like that while
also excluding wsi which has its own way of synchronizing with the
compositor.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27398 >
2024-02-01 18:53:28 +00:00
Yiwei Zhang
55ac9a08b5
anv: refactor wsi_memory_allocate_info handling
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27398 >
2024-02-01 18:53:28 +00:00
Eric Engestrom
f8078e278c
docs/calendar: add 24.1 branchpoint and release schedule
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27403 >
2024-02-01 18:02:46 +00:00
Roland Scheidegger
e04eed2827
auxiliary/draw: fix streamout overflow calculation
...
If the stride is larger than the component with the largest offset plus
the size of that component, it is still considered an overflow if there's
not enough space in the buffer to fit the whole stride-sized thing,
even when there would be enough space to actually write all components.
This is actually much simpler too, since we don't need to verify the
individual components at all (stride is guaranteed to be larger or equal
to the component with the largest offset plus the size of that component).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27368 >
2024-02-01 17:10:40 +00:00
Eric Engestrom
eb4effeead
v3d-rpi4-gl: reduce the parallelism from 10 to 8
...
We are slightly over-subscribed right now, with 21 merge jobs (10 vk
+ 10 gl + 1 traces) for 20 RPi4, so let's split the tests between
slightly fewer RPi4 and make each split job run for slightly longer,
because it also means that all the jobs start immediately, reducing the
overall delay in merging any MR that triggers this job.
The typical run time for this job was around 8 min with a 10-split; with
an 8-split it is now 9 min, which is still within the 10 min target and
well below the 15min limit.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27391 >
2024-02-01 13:45:59 +00:00
Lionel Landwerlin
03490ec019
vulkan/runtime: rework VK_KHR_dynamic_rendering_local_read state tracking
...
I missed a bunch of things like input tracking. Also take the
opportunity to rename things.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: fe19405c46 ("vulkan/runtime: handle new dynamic states for attachment remapping")
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27380 >
2024-02-01 13:20:21 +00:00
Lionel Landwerlin
d7f5a815e3
vulkan/multialloc: bump max number to 16
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27380 >
2024-02-01 13:20:21 +00:00
Erik Faye-Lund
4de62731f4
mesa/main: add support for EXT_texture_storage
...
It's sometimes really, really useful if GL_BGRA8 can be used as a
sized internal format, and the combination of EXT_texture_storage
and EXT_texture_format_BGRA8888 allows this (only when using
texture-storage, which is good enough in some cases). Until now,
we've only implemented ARB_texture_storage, and not the EXT
version.
So let's implement the EXT version as well, so we get the benefit
of the interaction here. This pulls in a lot of other similar
interactions as well, which also seems useful.
...because the ARB version is created from the EXT version, let's move
the EXT function definitions to the EXT extension. These should probably
have been suffixed with ARB in the ARB-version, but things seems to have
just ended up kinda confused. Oh well.
Reviewed-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27222 >
2024-02-01 12:30:58 +00:00
Alejandro Piñeiro
16f6f50ce4
v3dv: expose VK_EXT_depth_clip_enable
...
We already had the logic implemented, but it was never really tested
(there was a comment about that)
So the advantage of this is that we now test that code (in fact, there
were a small typo on that code).
There aren't too much CTS tests for this feature, but we gets tests
like this working:
dEQP-VK.clipping.clip_volume.depth_clip.*
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10527
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27386 >
2024-02-01 11:33:38 +00:00
Luc Ma
03371887d5
gallium/u_blitter: Fix a few uninitialized fb_state
...
An uninitialized pipe_framebuffer_state maybe causes some issues
if someone is about to use its members such as `fb_state.layers`.
Signed-off-by: Luc Ma <luc@sietium.com >
Reported-by: Mark Zhou <mark@sietium.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27332 >
2024-02-01 10:59:53 +00:00
Pierre-Eric Pelloux-Prayer
6f47e87a60
egl/drm: flush before calling get_back_bo
...
Similar to what was done for Wayland in 58f90fd03f :
the glthread unmarhsal thread needs to be idle to avoid
concurrent calls to get_back_bo.
Also the existing code flushed after setting dri2_surf->back
to NULL so a new back buffer was always allocated by the
glthread flush:
|---------------> dri2_drm_swap_buffers
| get_back_bo (back=0x55eb93c6c488) > # First get_back_bo call
| get_back_bo (back=0x55eb93c6c488 age: 0)<
| # dri2_surf->back = NULL
|-----> FLUSH
| get_back_bo (back=nil) > # Another get_back_bo call
| get_back_bo (back=0x55eb93c6c4c8 age: 3)<
|-----< FLUSH
|---------------< dri2_drm_swap_buffers
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10437
Cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27143 >
2024-02-01 09:26:33 +00:00
Pierre-Eric Pelloux-Prayer
d9f15f8d9b
meson: require libelf when radeonsi is built
...
radeonsi has a hard dependency on libelf so tell meson about this
requirement.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10240
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27295 >
2024-02-01 09:28:41 +01:00
Pierre-Eric Pelloux-Prayer
e4f7754977
radeonsi: try to disable dcc if compute_blit is the only option
...
COMPUTE contexts have no blitter so there are no fallback to
si_can_use_compute_blit failing.
One solution would be to disable DCC globally when a COMPUTE context is
created but I'm not 100% sure it's a good idea.
Until then this commit can fix a number of cases and will also prevent
crashing if si_compute_blit fails.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10296
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27295 >
2024-02-01 09:28:31 +01:00
Friedrich Vock
f66055a6a6
radv/rt: Write inactive node data in ALWAYS_ACTIVE workaround
...
Fixes: a9831caa ("radv/rt: Add workaround to make leaves always active")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27340 >
2024-02-01 05:42:59 +00:00
Faith Ekstrand
60071f94e5
nvk: Use the upload queue for shader uploads
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27205 >
2024-02-01 03:51:08 +00:00
Faith Ekstrand
aea4c9a913
nvk: Add an upload queue to nvk_device
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27205 >
2024-02-01 03:51:08 +00:00
Faith Ekstrand
2074e28a0d
nvk: Add an upload queue
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27205 >
2024-02-01 03:51:08 +00:00
Faith Ekstrand
e6f137e9ed
nvk: Only map heaps that explicitly request maps
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27205 >
2024-02-01 03:51:08 +00:00
Faith Ekstrand
e162c2e78e
nvk: Use VM_BIND for contiguous heaps instead of copying
...
This gets rid of our (fairly sketchy) heap resizing via stall-and-copy
and replaces it with VM_BIND. We couldn't do this on the old nouveau
API but now that we can assume VM_BIND, it makes everything simpler.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27205 >
2024-02-01 03:51:08 +00:00
Faith Ekstrand
f0fad6ed17
nvk/queue: Only initialize the necessary engines
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27205 >
2024-02-01 03:51:08 +00:00
Faith Ekstrand
ced7c5193e
nvk/queue: Rework context state init
...
The queue now owns the nv_push and just invokes the per-engine functions
to fill it with context state init data. This also splits out 3D and
compute into separate helpers and pulls M2MF off into its own thing.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27205 >
2024-02-01 03:51:08 +00:00
Faith Ekstrand
b02f83e5c6
nvk: Add an array of queue families to nvk_physical_device
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27205 >
2024-02-01 03:51:08 +00:00
Faith Ekstrand
86e79cd744
nvk: Move the nouveau_ws_context to nvk_queue
...
Otherwise, different queues aren't actually going to run independently.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27205 >
2024-02-01 03:51:08 +00:00
Faith Ekstrand
3273eaf52a
nvk/queue: Refactor the push builder a bit
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27205 >
2024-02-01 03:51:08 +00:00
Faith Ekstrand
88b19ccc3f
nvk/queue: Pull DRM specfc stuff into nvk_queue_drm.c
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27205 >
2024-02-01 03:51:08 +00:00
Faith Ekstrand
88445fc12a
nouveau/winsys: Allow only allocating a subset of engines
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27205 >
2024-02-01 03:51:08 +00:00
Faith Ekstrand
c4ea8ab527
nouveau/winsys: Re-order channel creation
...
Also, rework the fail gotos so they make a little more sense. Since we
were already calling dealloc the first time a subchan fails, we may as
well just always use dealloc. Worst case the ioctl fails.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27205 >
2024-02-01 03:51:08 +00:00
Timothy Arceri
ec4990ef41
glsl: remove now unused GLSL IR validate_geometry_shader_emissions()
...
We now use the nir version of this validation pass instead.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27377 >
2024-02-01 01:53:15 +00:00
Timothy Arceri
ce3420394c
glsl: use nir version of geom stream validation
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27377 >
2024-02-01 01:53:15 +00:00
Timothy Arceri
f21e2e6229
glsl: add nir version of validate_geometry_shader_emissions()
...
We will use this to replace the GLSL IR version.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27377 >
2024-02-01 01:53:15 +00:00
Eric Engestrom
cdfbd3323d
docs: add sha256sum for 23.3.5
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27405 >
2024-02-01 01:46:55 +00:00
Eric Engestrom
f140c5ed64
docs: update calendar for 23.3.5
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27405 >
2024-02-01 01:46:55 +00:00
Eric Engestrom
7217e62b3e
docs: add release notes for 23.3.5
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27405 >
2024-02-01 01:46:55 +00:00
Dave Airlie
ff50e80574
zink: use sparse residency for buffers.
...
GL ARB_sparse_buffer allows unbound regions in buffers.
VK sparseBinding insists all regions must be bound before first use.
This means we need to use sparseResidencyBuffer to back GL
sparse buffers to get the same semantics.
Fixes GL and piglit sparse buffer tests on zink/nvk.
Fixes: c90246b682 ("zink: implement sparse buffer creation/mapping")
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27404 >
2024-02-01 01:08:22 +00:00
Eric Engestrom
4f6e4ae3d6
docs/release-calendar: add planned 24.0.x bugfix releases
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27402 >
2024-02-01 00:29:43 +00:00
Eric Engestrom
dd141af19e
docs: add sha256sum for 24.0.0
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27402 >
2024-02-01 00:18:15 +00:00
Eric Engestrom
8aa0ef0d01
docs: add release notes for 24.0.0
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27402 >
2024-02-01 00:18:15 +00:00
Eric Engestrom
331e6f5b5e
docs: update calendar for 24.0.0
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27402 >
2024-02-01 00:11:28 +00:00
Dave Airlie
1d1a7f9d56
nvk: mem cannot be null in binding buffers/images.
...
Tom on discord pointed out a coverity warning in this area about
mem dereferences. Vulkan API states that mem must be non-NULL,
so remove those paths that are unused.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27255 >
2024-01-31 22:57:57 +00:00
José Roberto de Souza
44b4fee786
iris: Avoid read of uninitialized value in blorp_clear_stencil_as_rgba()
...
In clear_depth_stencil() stencil_surf is defined but not initiaized.
Then in the same function if stencil_mask is calculated and if != 0
stencil_surf is initialized.
But blorp_clear_stencil_as_rgba() access stencil_surf before checking
stencil_mask, what could cause a read of a uninitialized valued.
clear_depth_stencil()
struct blorp_surf stencil_surf;
...
uint8_t stencil_mask = clear_stencil && stencil_res ? 0xff : 0;
if (stencil_mask) {
...
iris_blorp_surf_for_resource(&stencil_surf);
}
...
blorp_clear_depth_stencil(stencil_mask, stencil_surf)
blorp_clear_stencil_as_rgba(stencil_mask, stencil)
if (surf->surf->format ...)
....
Just inverting the order and checking stencil_mask first in
blorp_clear_stencil_as_rgba() fixes the issue.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Dylan Baker <dylan.c.baker@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27390 >
2024-01-31 22:29:31 +00:00
Eric Engestrom
90b6f84c5e
ci: when specifying a driver remove all other ones
...
If we need to specify a driver, it means several drivers could pick up this gpu;
ensure that the other driver can't accidentally be used.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25434 >
2024-01-31 21:50:03 +00:00
Tapani Pälli
a53af34664
anv: use workaround framework for Wa_22018402687
...
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27384 >
2024-01-31 21:24:14 +00:00
Eric Engestrom
c35247ab20
vk/util: fix 'beta' check for physical device properties
...
`--beta` is a string, not a bool (although really it should be, but that's a bigger change).
Fixes: 083793a39d ("vulkan: Allow beta extensions for physical device properties")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27394 >
2024-01-31 20:47:30 +00:00
Eric Engestrom
794ec7f0a1
vk/util: fix 'beta' check for physical device features
...
`--beta` is a string, not a bool (although really it should be, but that's a bigger change).
Fixes: a7141a6f8a ("vulkan: Allow beta extensions for physical device features")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27394 >
2024-01-31 20:47:30 +00:00
Max R
253968fc60
d3d10umd: Use flush_frontbuffer for Present
...
This is required to allow gallium drivers to display instead of
forcing software display. On llvmpipe/softpipe for sw display
gdi_sw_winsys will be used. While "hardware" drivers will be
able to call pfnPresentCb to present without CPU copy.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Jose Fonseca <jose.fonseca@broadcom.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27333 >
2024-01-31 20:04:38 +00:00
Max R
2b5e257690
winsys/gdi: Custom acquisition of hDC
...
In d3d10umd it is required to pass D3DKMT_PRESENT in
context_private of flush_frontbuffer, but wgl passes HDC in it.
To accomidate this when gdi_sw_winsys is created functions that
acquire and release hdc from context_private are passed.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Feng Jiang <jiangfeng@kylinos.cn >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27333 >
2024-01-31 20:04:38 +00:00
Max R
be4b1c2639
winsys/gdi: Handle R8G8B8 formats
...
R8G8B8 is often used by d3d11 applications.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Feng Jiang <jiangfeng@kylinos.cn >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27333 >
2024-01-31 20:04:37 +00:00
Sagar Ghuge
01636ee700
anv: Disable compression if we have concurrent sharing mode
...
If a resource is created with sharing mode CONCURRENT when multiple
queues are supported, we can't support the compression since we can't do
FULL_RESOLVE/PARTIAL_RESOLVE to construct the main surface data without
barriers.
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27349 >
2024-01-31 19:28:12 +00:00
Sagar Ghuge
9a4d951ef9
vulkan/runtime: Track VkSharingMode in vk_image
...
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27349 >
2024-01-31 19:28:12 +00:00
Dylan Baker
4cd5b2b542
intel/hasvk: assume() we don't get ISL_NUM_FORMATS
...
Because coverity
CID: 1559412
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27369 >
2024-01-31 18:59:16 +00:00
Dylan Baker
3d4ef6f983
intel/vulkan: assume() that we don't use "ISL_NUM_FORMATS"
...
Which coverity thinks will happen, even though we never return
ISL_NUM_FORMATS.
CID: 1559463
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27369 >
2024-01-31 18:59:16 +00:00
Mike Blumenkrantz
529e7ab975
lavapipe: RM2024 extension promotions
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27296 >
2024-01-31 18:17:55 +00:00
Friedrich Vock
1c01fd0286
util/disk_cache: Use secure_getenv to determine cache directories
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27381 >
2024-01-31 17:28:12 +00:00
Friedrich Vock
e8b0e5cac9
radv: Use secure_getenv for RADV_THREAD_TRACE_TRIGGER
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27381 >
2024-01-31 17:28:12 +00:00
Friedrich Vock
c01a07f2e4
radv: Use secure_getenv in radv_builtin_cache_path
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27381 >
2024-01-31 17:28:12 +00:00
Friedrich Vock
72f95a8364
mesa/main: Use secure_getenv for shader dumping
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27381 >
2024-01-31 17:28:12 +00:00
Friedrich Vock
321e2cee53
vtn: Use secure_getenv for shader dumping
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27381 >
2024-01-31 17:28:12 +00:00
Friedrich Vock
f3b892b74a
aux/trace: Guard triggers behind __normal_user
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27381 >
2024-01-31 17:28:11 +00:00
Friedrich Vock
7ea96ff75b
vulkan: Use secure_getenv for trigger files
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27381 >
2024-01-31 17:28:11 +00:00
Friedrich Vock
8b209a6200
util: Provide a secure_getenv fallback for platforms without it
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27381 >
2024-01-31 17:28:11 +00:00
Eric Engestrom
0fa4ea98ca
ci: always skip dEQP-VK.info.device_extensions
...
Exclude this test which might fail when a new extension is implemented.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27389 >
2024-01-31 16:48:16 +00:00
Gert Wollny
4824238dd9
zink: Fix return type and values of create_buffer and create_images
...
Fixes: f6383e03f9
zink: use enums as return values in resource_object_create
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10532
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27387 >
2024-01-31 14:56:55 +00:00
Daniel Schürmann
c309d20172
aco/insert_exec_mask: Fix unconditional demote at top-level control flow.
...
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27362 >
2024-01-31 13:50:46 +00:00
Dave Airlie
4097df29f6
nvk: allow 3d compressed textures
...
Fixes KHR-GL45.packed_pixels.varied_rectangle.compressed_*
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26990 >
2024-01-31 13:32:32 +00:00
Faith Ekstrand
9ddf647eab
nvk: Fix whitespace in nvk_image.c
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26990 >
2024-01-31 13:32:32 +00:00
Faith Ekstrand
e8bec58de0
nil: Set the level offset to 0 in nil_image_for_level
...
The offset_B member of levels[0] should always be 0. In this case,
we're copying the level from the previous image but we've already taken
the offset into account via the offset_B_out parameter. Leaving the
offset non-zero risks it getting added in twice if nil_image_for_level
gets called again. In particular, NVK can hit this with 3D compressed
textures with VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT set.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26990 >
2024-01-31 13:32:32 +00:00
Antoine Coutant
445aacb421
clc: retrieve libclang path at runtime.
...
LLVM_LIB_DIR is a variable used for runtime compilations.
When cross compiling, LLVM_LIB_DIR must be set to the
libclang path on the target. So, this path should not
be retrieved during compilation but at runtime.
dladdr uses an address to search for a loaded library.
If a library is found, it returns information about it.
The path to the libclang library can therefore be
retrieved using one of its functions. This is useful
because we don't know the name of the libclang library
(libclang.so.X or libclang-cpp.so.X)
v2 (Karol): use clang::CompilerInvocation::CreateFromArgs for dladdr
v3 (Karol): follow symlinks to fix errors on debian
Fixes: e22491c832 ("clc: fetch clang resource dir at runtime")
Signed-off-by: Antoine Coutant <antoine.coutant@smile.fr >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by (v1): Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25568 >
2024-01-31 12:23:49 +00:00
Karol Herbst
8efd11fce9
clc: force fPIC for every user when using shared LLVM
...
As we want to start using `dladdr`, this is needed to prevent `dladdr`
returning information of the wrong file.
Fixes tag as it's required by the actual fix.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Fixes: e22491c832 ("clc: fetch clang resource dir at runtime")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25568 >
2024-01-31 12:23:49 +00:00
Karol Herbst
37a1346347
meson: remove opencl-external-clang-headers option and rely on shared-llvm
...
Setting opencl-external-clang-headers to enabled while using shared LLVM
was broken and this option was mostly used for windows to force static
inclusion of opencl base headers.
Simply relying on the shared-llvm option here is enough to get what we
want.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25568 >
2024-01-31 12:23:49 +00:00
Eric Engestrom
501f78fdba
util: check for setgid() as well in __normal_user()
...
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27378 >
2024-01-31 11:42:56 +00:00
Eric Engestrom
afd4e633ee
util: simplify logic in __normal_user()
...
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27378 >
2024-01-31 11:42:55 +00:00
Iago Toral Quiroga
6c570f7a98
v3dv: allow subgroup operations in fragment shaders
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27211 >
2024-01-31 10:06:06 +00:00
Iago Toral Quiroga
e5bfce6f46
broadcom/compiler: support subgroup reduction operations from fragment shaders
...
In fragment shaders these instructions consider a lane active when
any lane in the same quad is active, which is not what we want, so
we need to include the current sample mask in the condition mask
used with these instructions to limit lane selection to those that
are really active.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27211 >
2024-01-31 10:06:06 +00:00
Iago Toral Quiroga
3544113ee2
brodcom/compiler: implement non-compute TSY barrier
...
The BARRIER_ID instruction is only available in compute
and tessellation, implement an equivalent barrier that we
can use from other stages.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27211 >
2024-01-31 10:06:06 +00:00
Iago Toral Quiroga
5b269814fc
broadcom/compiler: be more careful with unifa in non-uniform control flow
...
If the lane from which the hardware writes the unifa address
is disabled, then we may end up with a bogus address and invalid
memory accesses from follow-up ldunifa.
Instead of always disabling unifa loads in non-uniform control
flow we can try to see if the address is prouced from a nir
register (which is the only case where we do conditional writes
under non-uniform control flow in ntq_store_def), and only
disable it in that case.
When enabling subgroups for graphics pipelines, this fixes a
GMP violation in the simulator with the following test
(which has non-uniform control flow writing unifa with lane 0
disabled, which is the lane from which the unifa takes the
address):
dEQP-VK.subgroups.ballot_broadcast.graphics.subgroupbroadcastfirst_int
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27211 >
2024-01-31 10:06:06 +00:00
Iago Toral Quiroga
31e8740808
v3dv: expose more subgroup features on V3D 7.x
...
The hardware included additional instructions to support more
subgroup features, so let's put them to use.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27211 >
2024-01-31 10:06:06 +00:00
Iago Toral Quiroga
93df9800e8
broadcom/compiler: support subgroup quad
...
These can all be implemented as specialized shuffles, so we
use the NIR lowering to do that.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27211 >
2024-01-31 10:06:06 +00:00
Iago Toral Quiroga
69d3b90839
broadcom/compiler: support subgroup vote
...
We don't rely in any lowerings for these (other than
scalarization). The only noteworthy aspect is that these
instructions, like ballot, use the condition mask to
filter out valid invocations that are inactive because of
control flow.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27211 >
2024-01-31 10:06:06 +00:00
Iago Toral Quiroga
3222fd71a1
broadcom/compiler: support subgroup shuffle
...
This maps to our native shuffle instruction. For shuffle relative
and shuffle xor, we rely on the nir lowering to lower this to
ALU and regular shuffle.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27211 >
2024-01-31 10:06:06 +00:00
Iago Toral Quiroga
29a5e3e615
broadcom/compiler: support subgroup ballot
...
This adds support in our compiler for the subgroup ballot
feature. To this end we start using the NIR lowering for
subgroups which can lowers some of these intrinsics into
things more amenable to our hardware and takes care of
scalarization.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27211 >
2024-01-31 10:06:06 +00:00
Iago Toral Quiroga
295f906517
broadcom/compiler: don't move subgroup reduction instructions above setmsf
...
These use the sample mask to decide about active lanes, so we need
to make sure we don't move them above a previous setmsf instruction.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27211 >
2024-01-31 10:06:06 +00:00
Iago Toral Quiroga
9bbfbc2089
broadcom/compiler: add new SFU instructions in V3D 7.x
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27211 >
2024-01-31 10:06:06 +00:00
Iago Toral Quiroga
7bdc8898b1
broadcom/compiler: fix incorrect flags update for subgroup elect
...
c->execute is 0 (not the block index) for lanes currently active
under non-uniform control flow.
Also this simplifies a bit the instructions we emit for flag
generation, both for uniform and non-uniform control flow.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27211 >
2024-01-31 10:06:06 +00:00
Iago Toral Quiroga
29d4924e5e
broadcom/compiler: fix incorrect flags setup in non-uniform if path
...
If the ELSE block is cheap then we don't emit the branch instruction
but we still want to generate the flags, since these are setting
the flags for the THEN block too.
Fixes: e401add741 ("broadcom/compiler: skip jumps in non-uniform if/then when block cost is small")
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27211 >
2024-01-31 10:06:06 +00:00
Konstantin Seurer
13ca3d0eeb
radv/sqtt: Set SeparateCompiled for monolithic RT pipelines
...
RGP can not handle how we implement "Unified" ray tracing pipelines and
only shows the prolog.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26697 >
2024-01-31 10:24:24 +01:00
Konstantin Seurer
6d2926c54e
radv: Skip unused acceleration structure build paths
...
If the whole batch doesn't use a path, we can skip binding the pipeline
and writing an user event.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26697 >
2024-01-31 10:24:20 +01:00
Konstantin Seurer
93b1eec09b
radv: Emit user events during acceleration structure builds
...
This way, we can see exactly which dispatches belong to acceleration
structure builds and which dispatches were caused by the app. We loose
the red coloring in RGP for this, but we get way more information.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26697 >
2024-01-31 10:24:15 +01:00
Konstantin Seurer
22b719b445
radv: Make radv_write_user_event_marker non-static
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26697 >
2024-01-31 10:24:11 +01:00
Konstantin Seurer
f43099ecf5
radv: Reduce the amount of radv_device_to_handle calls
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26697 >
2024-01-31 10:24:06 +01:00
Konstantin Seurer
41e78330e7
radv/radix_sort: clang-format
...
The formatting was changed and those files were missed.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26697 >
2024-01-31 10:23:51 +01:00
Hyunjun Ko
d0d2cf549b
anv/video: fix out-of-bounds read
...
Since STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE is 19.
Fixes: 8d519eb5 ("anv: add initial video decode support for h265")
Closes : mesa/mesa#10529
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27373 >
2024-01-31 08:24:22 +00:00
Samuel Pitoiset
31e29f7304
radv: enable deviceFaultVendorBinary if RADV_DEBUG=hang is set
...
Ideally, if deviceFaultVendorBinary is enabled by the app,
RADV_DEBUG=hang should be enabled behind the scene, but this isn't
possible right now because CTS always enables the feature.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27293 >
2024-01-31 08:45:08 +01:00
Samuel Pitoiset
a778d5fd0d
radv: export GPU hang reports through VK_EXT_device_fault
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27293 >
2024-01-31 08:45:08 +01:00
Samuel Pitoiset
8c3d1c9140
radv: add support for keeping GPU hang reports in memory
...
To be exported through VK_EXT_device_fault when the feature is enabled
by app, otherwise it's saved on disk.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27293 >
2024-01-31 08:45:08 +01:00
Samuel Pitoiset
c710cba0c7
radv: refactor dumping GPU hang reports by using chunks
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27293 >
2024-01-31 08:41:54 +01:00
Samuel Pitoiset
7a20946579
radv: add a helper to know if device fault detection is enabled
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27293 >
2024-01-31 08:41:54 +01:00
Zan Dobersek
f9c4e25483
freedreno: add fd_rd_output facilities for gzip-compressed RD dumps
...
Provide fd_rd_output facilities which enable constructing RD dumps that are
stored into gzip-compressed output. This matches the default behavior of
libwrap. Enabling and adjusting the behavior of functionality is done
through the FD_RD_DUMP environment variable.
Integration into Turnip's MSM backend is covered, replacing the previous
RD dump that was enabled through TU_DEBUG=rd. That debug option still
works and is the same as using FD_RD_DUMP=enable.
By default the dumps are created for each submission, using the provided
submit index. FD_RD_DUMP=combine enables gathering dumps for submissions
for the given logical device into a single file.
In the Turnip integration, FD_RD_DUMP=full will force dumping contents of
any buffer object. Additionally, with that option enabled any previous
submit will be waited on.
Specifying FD_RD_DUMP=trigger sets up a trigger file that can be used to
activate dumping manually. Writing zero or some non-integer value to the
file will disable dumping. Writing a positive integer value to it will
enable dumps for that many future submissions. Writing -1 to it will enable
dumps until disabled.
Signed-off-by: Zan Dobersek <zdobersek@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27230 >
2024-01-31 07:59:30 +01:00
Mike Blumenkrantz
0a97d1ebfa
zink: fix descriptor buffer unmaps on screen destroy
...
descriptor buffer uses mapped buffers. mapping/unmapping buffers
uses a ctx in the function params, but at this time there is no ctx.
since the ctx is not actually used for unmapping descriptor buffers,
this can instead use a special buffer unmap function to avoid invalid access
Fixes: b06f6e00fb ("zink: fix heap-use-after-free on batch_state with sub-allocated pipe_resources")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27344 >
2024-01-31 04:08:20 +00:00
Mike Blumenkrantz
c900cca96c
zink: always map descriptor buffers as COHERENT
...
this is already implied since the buffers must be BAR-allocated,
but it ensures the context isn't accessed during unmap
Fixes: b06f6e00fb ("zink: fix heap-use-after-free on batch_state with sub-allocated pipe_resources")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27344 >
2024-01-31 04:08:20 +00:00
Bas Nieuwenhuizen
3f119a1fd8
util/disk_cache: Add marker on cache usage.
...
To be able to delete it later if it isn't used. Checking the mtime
on e.g. the index doesn't work if we always hit the cache so add
something that writes unconditionally.
Only once per day to avoid excessive writes.
(See https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22339 )
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27173 >
2024-01-31 03:14:02 +00:00
Yiwei Zhang
5fbb00dbc7
venus: use obj handle instead of id in device memory report
...
Now the id is separately assigned in venus, while the test expects
handle.
Fixes: 7f9381782f ("venus: ensure object id is unique")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27285 >
2024-01-31 02:58:57 +00:00
Felix DeGrood
8c87657fbd
driconf: Fake vendorid for RDR2
...
Change force_vk_vendor=-1 for Red Dead Redemption 2 to avoid
pop up driver warning on launch. Warning only applies to Windows
driver.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27364 >
2024-01-31 02:11:18 +00:00
Sil Vilerino
01a99f5d4d
d3d12: d3d12_video_encoder_negotiate_current_h264_slices_configuration to use correct mode when intra-refresh is on
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27367 >
2024-01-31 01:49:52 +00:00
Faith Ekstrand
45a6e1dc89
nak/nir: Stop lowering load_local_invocation_index
...
NAK_SV_COMBINED_TID is not gl_InvocationIndex. It's just gl_InvocationID
with the three components all crammed into one 32-bit value.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27365 >
2024-01-31 01:23:23 +00:00
Faith Ekstrand
ac11cb0f72
nvk: Call lower_compute_system_values after zer_initialize_workgroup_memory
...
Fixes: 184bcfdc1c ("nvk: Implement VK_KHR_zero_initialize_workgroup_memory")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27365 >
2024-01-31 01:23:23 +00:00
Yiwei Zhang
1718980e85
venus: force async pipeline create on threads creating descriptor pools
...
This works around some Unity engine behaivor with ANGLE-on-Venus, when
cmd pools are created on main thread once while the render thread only
does descriptor pool creation for set allocations during recording time.
This change also explicitly forces async pipeline create for threads
creating the device instead of implicitly via feedback cmd pool create.
This ensures intended behavior when feedback is disabled.
Fixes: d17ddcc847 ("venus: dispatch background shader tasks to secondary ring")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27347 >
2024-01-30 23:50:47 +00:00
Martin Roukala (né Peres)
62797f036f
zink/ci: update polaris10's expectations after piglit uprev
...
Fixes: 1c29869c20 ("Uprev Piglit to e9316bcd12544aaf7e753ce37fe50d64165d9598")
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27357 >
2024-01-30 23:32:00 +00:00
Martin Roukala (né Peres)
a0bf21e72f
zink/ci: update navi31's expectations after piglit uprev
...
Fixes: 1c29869c20 ("Uprev Piglit to e9316bcd12544aaf7e753ce37fe50d64165d9598")
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27357 >
2024-01-30 23:32:00 +00:00
Martin Roukala (né Peres)
a6ea0f1762
radeonsi/ci: update vangogh's expectations after piglit uprev
...
Fixes: 1c29869c20 ("Uprev Piglit to e9316bcd12544aaf7e753ce37fe50d64165d9598")
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27357 >
2024-01-30 23:32:00 +00:00
Daniel Schürmann
faf3bb644d
spirv: Update headers and grammar JSON
...
1.3.276.0
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27273 >
2024-01-30 22:51:52 +00:00
Konstantin Seurer
e3c2dc2324
nir/print: Rename workgroup-size to workgroup_size
...
Every other field uses _ instead of -.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27318 >
2024-01-30 21:19:40 +00:00
Konstantin Seurer
449e44d6d3
nir/print: Don't print shared_size twice
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27318 >
2024-01-30 21:19:40 +00:00
Gert Wollny
0ab3b3c641
nir/builder: Fix compilation with gcc-13 when tsan is enabled
...
../src/compiler/nir/nir_builder.h: In function ‘nir_build_deref_follower’:
../src/compiler/nir/nir_builder.h:1607:1: error: control reaches end of non-void function [-Werror=return-type]
1607 | }
Fixes: 4a4e175738
nir: Support deref instructions in lower_var_copies
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27345 >
2024-01-30 20:42:07 +00:00
Gert Wollny
80a1b91601
nir/lower_int64: Fix compilation with gcc-13 and tsan enabled
...
../src/compiler/nir/nir_lower_int64.c: In function ‘lower_int64_intrinsic’:
../src/compiler/nir/nir_lower_int64.c:1347:1: error: control reaches end of non-void function [-Werror=return-type]
1347 | }
Fixes: bf7a114246
nir/lower_int64: Add lowering for some 64-bit subgroup ops
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27345 >
2024-01-30 20:42:07 +00:00
Gert Wollny
ca47138fb1
radv: Fix compilation with gcc-13 and tsan enabled
...
../src/amd/vulkan/radv_sampler.c: In function ‘radv_tex_wrap’:
../src/amd/vulkan/radv_sampler.c:50:1: error: control reaches end of non-void function [-Werror=return-type]
50 | }
| ^
../src/amd/vulkan/radv_sampler.c: In function ‘radv_tex_compare’:
../src/amd/vulkan/radv_sampler.c:76:1: error: control reaches end of non-void function [-Werror=return-type]
76 | }
| ^
Fixes: 4de305cb8a
radv: move sampler related code to radv_sampler.c
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27345 >
2024-01-30 20:42:07 +00:00
Gert Wollny
f6383e03f9
zink: use enums as return values in resource_object_create
...
(As suggested by Mike).
With that replace the goto statements for error cleanup by
a switch/case.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27155 >
2024-01-30 20:17:32 +00:00
Gert Wollny
3d203b5477
zink: remove duplicate arguments and use VkMemoryRequirements locally
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27155 >
2024-01-30 20:17:32 +00:00
Gert Wollny
9c3e733779
zink: simplify call to get_export_flags
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27155 >
2024-01-30 20:17:32 +00:00
Gert Wollny
472bca9469
zink: Move more code to create_image and create_buffer
...
With that resource_object_create only contains the common
initzialization, the error handling and then calls seperate
functions to create buffers or images.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27155 >
2024-01-30 20:17:32 +00:00
Gert Wollny
0b88f68067
zink: extract allocate_bo_and_update_obj from resource_object_create
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27155 >
2024-01-30 20:17:32 +00:00
Gert Wollny
df9cbe431e
zink: drop duplicate assignment to obj->alignment
...
The value resource_object_create obj->alignment is set again in
allocate_bo and the assignment uses a few more tests there.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27155 >
2024-01-30 20:17:32 +00:00
Gert Wollny
063949063c
zink: extract debug_resource_mem from resource_object_create
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27155 >
2024-01-30 20:17:32 +00:00
Gert Wollny
7180670e28
zink: extract update_obj_info from resource_object_create
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27155 >
2024-01-30 20:17:32 +00:00
Gert Wollny
081e5d1109
zink: extract function update_alloc_info from resource_object_create
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27155 >
2024-01-30 20:17:32 +00:00
Gert Wollny
1d0e9001cd
zink: extract function create_image from resource_object_create
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27155 >
2024-01-30 20:17:32 +00:00
Gert Wollny
eb394f5316
zink: redesign the allocation try loop to test all heaps
...
Before the first time an allocation failed the heap was changed,
now we only change the heap type when checking all heaps results
in allocation failure.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27155 >
2024-01-30 20:17:32 +00:00
Gert Wollny
252e877a87
zink: extract function allocate_bo from resource_create_object
...
v2: move reworking the loop to a new commit (Mike)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27155 >
2024-01-30 20:17:32 +00:00
Gert Wollny
3806586c6e
zink: extract get_export_flags from resource_object_create
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27155 >
2024-01-30 20:17:32 +00:00
Gert Wollny
e22c525aa0
zink: reduce number of #ifdefs in resource_create_object
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27155 >
2024-01-30 20:17:32 +00:00
Gert Wollny
a5fd408a74
zink: factor out get_image_memory_requirement in resource_object_create
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27155 >
2024-01-30 20:17:32 +00:00
Gert Wollny
55f3941076
zink: factor out get_format_feature_flags in resource_object_create
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27155 >
2024-01-30 20:17:32 +00:00
Gert Wollny
6664fdaf48
zink: Factor out create sampler conversion in resource_object_create
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27155 >
2024-01-30 20:17:32 +00:00
Gert Wollny
b2ce61b91d
zink: shorten lifetime of success variable in resource_object_create
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27155 >
2024-01-30 20:17:32 +00:00
Gert Wollny
7cf77c553c
zink: Factor out create buffer from resource_object_create
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27155 >
2024-01-30 20:17:31 +00:00
Leo Liu
46f5a226d6
radeonsi: fix video processing path without VPE enabled
...
Fixes: 6b441ef6ab (amd, radeonsi: supports post processing entrypoint)
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10495
Cc: mesa-stable
Signed-off-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27339 >
2024-01-30 19:53:53 +00:00
Daniel Schürmann
26c8f13ff5
vulkan: enable VK_KHR_shader_expect_assume
...
This implementation ignores the hints.
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27265 >
2024-01-30 19:09:42 +00:00
Daniel Schürmann
5df7be8017
spirv: Fix SpvOpExpectKHR
...
This instruction behaves the same as *OpCopyObject* by making a copy of _Value_.
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27265 >
2024-01-30 19:09:42 +00:00
Samuel Pitoiset
9b5ea35158
radv: add support for VK_SHADER_CREATE_NO_TASK_SHADER_BIT_EXT
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27237 >
2024-01-30 18:29:51 +00:00
Samuel Pitoiset
9211eef738
radv: init the shader key in radv_shader_stage_init() for ESO
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27237 >
2024-01-30 18:29:51 +00:00
Samuel Pitoiset
13add95beb
radv: prevent crashes when a task shader is compiled unlinked with ESO
...
That means the mesh shader stage would be NULL.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27237 >
2024-01-30 18:29:51 +00:00
Samuel Pitoiset
f23efd7093
radv: bind and emit mesh/task shaders with ESO
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27237 >
2024-01-30 18:29:51 +00:00
Samuel Pitoiset
29491d36aa
radv: determine the last VGT api stage with mesh shaders and ESO
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27237 >
2024-01-30 18:29:51 +00:00
Samuel Pitoiset
6adea03a3e
radv: ignore unneeded dynamic states with mesh shaders and ESO
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27237 >
2024-01-30 18:29:51 +00:00
Samuel Pitoiset
9157087d43
radv: determine next stage for mesh/task with ESO
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27237 >
2024-01-30 18:29:51 +00:00
Samuel Pitoiset
64aa84eaf7
radv: rebind mesh/task shaders when restoring meta context
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27237 >
2024-01-30 18:29:51 +00:00
Christian Gmeiner
1602129465
etnaviv/isa: Add missing dep of encode.py/decode.py calls on isa.py
...
Changing src/compiler/isaspec/*.py did not cause rebuilds of
etnaviv-isa.c and etnaviv-isa.h.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27134 >
2024-01-30 18:05:43 +00:00
Eric Engestrom
944aefa933
zink+anv/ci: add a couple more flakes
...
`UnexpectedImprovement(Pass)` in https://gitlab.freedesktop.org/mesa/mesa/-/jobs/54381879
Expected `Fail` in https://gitlab.freedesktop.org/mesa/mesa/-/jobs/54386127
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27361 >
2024-01-30 15:37:13 +00:00
Mike Blumenkrantz
f0aca7e7c9
lavapipe: KHR_dynamic_rendering_local_read
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27282 >
2024-01-30 13:59:11 +00:00
Eric Engestrom
92c24191d4
tree-wide: use __normal_user() everywhere instead of writing the check manually
...
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27346 >
2024-01-30 12:45:54 +00:00
Eric Engestrom
3e00558ef0
util: rename __check_suid() to __normal_user()
...
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27346 >
2024-01-30 12:45:54 +00:00
Samuel Pitoiset
2d91b870fb
radv: emit required programming for tess on GFX10+ in radv_emit_hw_vs()
...
This is required on GFX10+ with legacy pipeline (no NGG) and without
a geometry shader. So this can be moved to radv_emit_hw_vs() because
if we have a TES+GS, TES would be NULL and if we have TES as NGG it
would be emitted from radv_emit_hw_ngg().
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27301 >
2024-01-30 11:47:29 +00:00
Samuel Pitoiset
f870e5ff11
radv: fix emitting tess domain origin for merged TES+GS on GFX9
...
For merged TES+GS, TES is NULL and this state wasn't emitted.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27301 >
2024-01-30 11:47:29 +00:00
Samuel Pitoiset
d9b61de2f7
radv: fix detecting invalid binaries with ESO
...
On GFX9+, if linked shaders are created and shaders are merged (for
example VS to GS).
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27301 >
2024-01-30 11:47:29 +00:00
Juan A. Suarez Romero
3304c6ca01
v3d/ci: update expected results
...
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27356 >
2024-01-30 11:17:06 +00:00
Konstantin Seurer
9acc869b57
llvmpipe: Fix building with llvm11
...
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27223 >
2024-01-30 10:14:45 +00:00
Konstantin Seurer
f27a973283
radv/rt: Use doubles inside intersect_ray_amd_software_tri
...
Increasing precision lets us avoid duplicate hits on shared edges. The
previous biasing WA made a bunch of tests fail.
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27243 >
2024-01-30 10:26:43 +01:00
Haihao Xiang
29d18f3ca9
anv: Fix typo in transition_color_buffer
...
Signed-off-by: Haihao Xiang <haihao.xiang@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27330 >
2024-01-30 07:39:01 +00:00
Daniel Almeida
8ff3a13e4d
nak: sm50: fix some legalization issues
...
Match the sm50 legalization pass with the requirements expressed in
encode_sm50.rs. Make sure the SrcTypes passed in the legalization
pass are correct while we're at it.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26987 >
2024-01-30 02:36:57 +00:00
Daniel Almeida
b18472c718
nak/sm50: add support for brev
...
Fixes dEQP-VK.spirv_assembly.type.vec3.u32.bit_reverse_comp
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26723 >
2024-01-30 01:49:59 +00:00
Daniel Almeida
84a7e94f31
nak/sm50: legalize: display instruction on panic
...
This makes it faster to know what is broken from logs
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26723 >
2024-01-30 01:49:59 +00:00
Daniel Almeida
c1614913d9
nak: sm50: fadd: ensure src[0] is in a register
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26723 >
2024-01-30 01:49:59 +00:00
Daniel Almeida
2ac28dd9a9
nak: sm50: add support for OpOut
...
Geometry shaders are broken otherwise.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26723 >
2024-01-30 01:49:59 +00:00
Daniel Almeida
8b40a8715d
nak/sm50: add support for isberd
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26723 >
2024-01-30 01:49:59 +00:00
Rob Clark
d558cb664a
freedreno/drm: Submit should hold ref to device
...
Prevent the device from being deleted prior to submit cleanup.
Otherwise submit cleanup can try to reference an already free'd
device (and use already closed rendernode fd, etc).
Fixes: ("e6b2785811c2 freedreno/drm/virtio: Use userspace IOVA allocation")
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27343 >
2024-01-29 22:16:09 +00:00
Corentin Noël
fe8c2dd43a
zink: Avoid variable shadowing everywhere
...
Allows to build the zink driver with -Wshadow and makes sure that we are actually
dealing with the right variable when requested.
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27259 >
2024-01-29 21:49:50 +00:00
Corentin Noël
86aef4a3c4
zink: Do not shadow the variable ret
...
Allows to actually return `true` when requested.
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27259 >
2024-01-29 21:49:50 +00:00
Corentin Noël
edc56f944a
zink: Initialize pipe_query_result
...
Avoid reading garbage from memory.
Found by the clang static analyzer
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27259 >
2024-01-29 21:49:50 +00:00
Corentin Noël
66cc73a304
zink: Initialize zink_bindless_descriptor to zero on creation
...
Make sure to have all fields to 0 as we are then using pipe_resource_reference
on some of its fields.
Fix defect reported by Coverity Scan.
Uninitialized pointer read
Incorrect values could be read from, or even written to, an arbitrary memory location, causing incorrect computations.
CID: 1520759
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27259 >
2024-01-29 21:49:50 +00:00
Corentin Noël
3f0af613d0
zink: Initialize zink_shader_object
...
Fix defect reported by Coverity Scan.
Uninitialized scalar variable
The variable will contain an arbitrary value left from earlier computations.
CID: 1528166
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27259 >
2024-01-29 21:49:50 +00:00
Sil Vilerino
9710fca612
frontends/va, d3d12: Fix PIPE_VIDEO_SLICE_MODE_MAX_SLICE_SICE -> PIPE_VIDEO_SLICE_MODE_MAX_SLICE_SIZE typo
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27342 >
2024-01-29 20:19:42 +00:00
Marek Olšák
e28d52e761
gallium/hud: add "csv" option to print values to stdout as CSV
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27247 >
2024-01-29 19:40:46 +00:00
Marek Olšák
0f79f9ac4d
glthread: apply the thread scheduling policy when a batch executes synchronously
...
before this, when no batch was executed asynchronously, the policy wasn't
applied
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27247 >
2024-01-29 19:40:46 +00:00
Marek Olšák
c8c926d776
glthread: apply the thread scheduling policy when the context is created
...
instead of after 128 batches
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27247 >
2024-01-29 19:40:46 +00:00
Marek Olšák
787ddadf73
util: add mesa_pin_threads environment variable that sets a static affinity mask
...
This is required for deterministic benchmark results.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27247 >
2024-01-29 19:40:46 +00:00
Marek Olšák
ea08690d1c
st/mesa: rename ST_L3_PINNING_DISABLED -> ST_THREAD_SCHEDULER_DISABLED
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27247 >
2024-01-29 19:40:46 +00:00
Marek Olšák
386822c1b0
gallium: rename PIPE_.._PIN_THREADS_TO_L3_CACHE -> .._UPDATE_THREAD_SCHEDULING
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27247 >
2024-01-29 19:40:46 +00:00
Marek Olšák
d230434ae3
mesa,gallium: move the thread scheduler to src/util
...
The only change in behavior is that setting the affinity mask is skipped
when it has no effect, which happens when the app thread hasn't been moved
under a different L3 cache by the kernel (the sched_state variable tracks
that). This improves performance because setting the affinity mask incurs
measurable CPU overhead even if it has no effect.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27247 >
2024-01-29 19:40:46 +00:00
Collabora's Gfx CI Team
1c29869c20
Uprev Piglit to e9316bcd12544aaf7e753ce37fe50d64165d9598
...
f7db20b03d...e9316bcd12
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25449 >
2024-01-29 18:27:07 +00:00
Eric Engestrom
2d290eda36
Reapply "bin/ci: Add GitLab basic token validation"
...
This reverts commit e39fed5737 .
One change from the original commit (cd8b546205 ):
- in `validate_gitlab_token()`, `raise ValueError` was replaced with
`return False`.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27331 >
2024-01-29 18:21:29 +00:00
Jesse Natalie
24f14bfacc
dzn: Add missing blit source barriers for enhanced barriers
...
I was under the impression these would never be needed, since the source
should already be in the right GENERIC_READ layout, but when resolving
rendering attachments with a blit, the source is still in the layout that
it was in at the end of rendering.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27313 >
2024-01-29 17:46:11 +00:00
Jesse Natalie
f91ac2ff41
dzn: Add missing condition to immutable sampler init loop
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27313 >
2024-01-29 17:46:11 +00:00
Jesse Natalie
fd89ca82a6
dzn: Add a stencil blit fallback
...
Not all D3D hardware supports specifying the stencil ref value from the
pixel shader. For such hardware, stencil blits need to do the awful
8-pass one-bit-per-pass discard-to-not-write blit approach.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27313 >
2024-01-29 17:46:11 +00:00
Jesse Natalie
5cdcb7134a
microsoft/compiler: Use double pack/unpack instead of int for reduce ops on doubles
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27313 >
2024-01-29 17:46:11 +00:00
David (Ming Qiang) Wu
b75ee1a067
frontends/va: make vlVaSyncSurface blocking
...
According to VA documentation, vaSyncSurface should block,
so this mapping function vlVaSyncSurface is changed to be blocking.
add vlVaSyncSurface2 which can be used as non-blocking version.
Signed-off-by: David (Ming Qiang) Wu <David.Wu3@amd.com >
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27309 >
2024-01-29 14:02:47 +00:00
Lionel Landwerlin
c4b32f9e90
docs/features: synchronize new features for Anv
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27325 >
2024-01-29 10:35:32 +00:00
Lionel Landwerlin
c258e02e66
docs/features: drop gen8+/gen9+ on Anv
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27325 >
2024-01-29 10:35:31 +00:00
Samuel Pitoiset
dc1b16c010
radv: export alpha-to-coverage via MRTZ for ESO on GFX11
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27236 >
2024-01-29 09:47:01 +00:00
Samuel Pitoiset
6a2b264526
radv: emit more default states for ESO on GFX10.3+
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27236 >
2024-01-29 09:47:01 +00:00
Samuel Pitoiset
b7fdfdc901
radv: do not ignore RADV_DYNAMIC_FRAGMENT_SHADING_RATE for ESO on GFX10.3+
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27236 >
2024-01-29 09:47:01 +00:00
Samuel Pitoiset
9a7c551f95
radv: set NGG fields in vgt_shader_key for ESO on GFX10+
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27236 >
2024-01-29 09:47:01 +00:00
Samuel Pitoiset
70c288558a
radv: fix the late scissor emission workaround with ESO on GFX9
...
graphics_pipeline is NULL when ESO is used.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27236 >
2024-01-29 09:47:01 +00:00
Samuel Pitoiset
411e23e193
radv: use the non-emitted graphics pipeline for the needed dynamic states
...
This is similar but it will allow us to re-use the helper for the
late scissor bug on GFX9.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27236 >
2024-01-29 09:47:01 +00:00
Samuel Pitoiset
bbcdd1dc09
radv: refactor gfx103_pipeline_emit_vrs_state()
...
For using it with ESO.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27236 >
2024-01-29 09:47:01 +00:00
Samuel Pitoiset
e7b4dcd522
radv: refactor gfx103_pipeline_emit_vgt_draw_payload_cntl()
...
For using it with ESO.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27236 >
2024-01-29 09:47:01 +00:00
Gert Wollny
5ccc40cbd5
ci: Upref virglrenderer
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27106 >
2024-01-29 09:01:26 +00:00
Gert Wollny
b9fea5ea6b
virgl: Use better reporting for mirror_clamp features
...
Fixes: 9efe50c83b
virgl: report MIRROR_CLAMP features better
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27106 >
2024-01-29 09:01:26 +00:00
Lionel Landwerlin
fe19405c46
vulkan/runtime: handle new dynamic states for attachment remapping
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27307 >
2024-01-29 08:24:14 +00:00
Samuel Pitoiset
0105cfd93c
radv/ci: enable RADV_PERFTEST=shader_object for vkcts-polaris10-valve
...
This now runs +571k tests for ESO in ~34 minutes compared to ~30 minutes
without shader_object support. Definitely acceptable for a manual job.
Note that the next VKCTS uprev will reduce the number of ESO tests by
a lot because most of them weren't useful for coverage.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27139 >
2024-01-29 07:50:39 +00:00
Samuel Pitoiset
c68f96878c
radv: fix segfault when getting device vm fault info
...
pFaultInfo can be NULL.
Fixes: 8097becc7f ("radv: add initial VK_EXT_device_fault support")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27292 >
2024-01-29 07:26:28 +00:00
Eric Engestrom
e39fed5737
Revert "bin/ci: Add GitLab basic token validation"
...
This validation code has 2 bugs, the main one being that it is wrong and
is refusing perfectly valid codes. Let's remove this until we come up
with a valid check.
This reverts commit cd8b546205 .
Fixes: cd8b546205 ("bin/ci: Add GitLab basic token validation")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27312 >
2024-01-29 01:44:43 +00:00
Hans-Kristian Arntzen
2f4d6df372
wsi/common: Allow KHR_present_wait on WL.
...
The fallback in place ensures a good enough solution.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Reviewed-by: Joshua Ashton <joshua@froggi.es >
Reviewed-by: Sebastian Wick <sebastian.wick@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27275 >
2024-01-28 23:14:36 +00:00
Hans-Kristian Arntzen
0d51cd4808
wsi/wl: Improve fallback for present_wait.
...
When presentation feedback protocol is not supported,
fallback to using frame callbacks.
In some sense, frame callbacks functions like
present complete + latch delay, so it's a reasonable approach, given the
alternative.
Xwl uses frame callback for COMPLETE events, so it's not a new approach.
To guard against lack of forward progress guarantee,
add a timeout for present complete to avoid deadlocking applications.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Reviewed-by: Joshua Ashton <joshua@froggi.es >
Reviewed-by: Sebastian Wick <sebastian.wick@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27275 >
2024-01-28 23:14:36 +00:00
Hans-Kristian Arntzen
1af7f41174
wsi/wl: Refactor out code to update current present ID.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Reviewed-by: Joshua Ashton <joshua@froggi.es >
Reviewed-by: Sebastian Wick <sebastian.wick@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27275 >
2024-01-28 23:14:36 +00:00
Gert Wollny
820859a6ab
r600: lower dround_even also on hardware that supports fp64
...
Fixes: aed6a39c10
glsl: Retire dround lowering.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27329 >
2024-01-28 22:33:30 +00:00
David Heidelberg
324ddd0919
ci: Valve farm (Keywords location) works again
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27328 >
2024-01-28 21:45:18 +01:00
David Heidelberg
4a23b28623
ci/VK-GL-CTS: add patches to fix dEQP-VK.glsl.derivate crashes
...
Acked-by: Rob Clark <robdclark@chromium.org >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27324 >
2024-01-28 20:41:37 +01:00
David Heidelberg
299aebaa55
ci: bump libdrm to 2.4.120
...
Acked-by: Rob Clark <robdclark@chromium.org >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27324 >
2024-01-28 20:41:37 +01:00
David Heidelberg
7965483b4c
ci: disable Valve farm in Keywords
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27326 >
2024-01-28 20:36:20 +01:00
Max R
68b3b1573b
d3d10umd: Fix compilation
...
Commit eb20ef92 changed signature of cso_set_vertex_buffers.
But this change wasn't reflected in d3d10umd.
Update call to cso_set_vertex_buffers to fix it.
Fixes: eb20ef927 ("gallium: remove unbind_trailing_count from set_vertex_buffers")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27238 >
2024-01-27 18:18:35 +00:00
Faith Ekstrand
55413e33dc
nvk: Disable all cbufs in nvk_queue_init_context_draw_state()
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27320 >
2024-01-27 17:54:19 +00:00
Faith Ekstrand
35bd36c1b0
nvk: Whitespace fixes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27320 >
2024-01-27 17:54:19 +00:00
Faith Ekstrand
c4254f374f
nvk: Do a second submit to check for errors in the sync case
...
With NVK_DEBUG=push_sync, we signal and immediately wait on a syncobj
to better detect whitch push failed and then print it. However, the
syncobj wait itself isn't enough to check for errors. We have to try
pushing again. Adding an empty push lets us get errors immediately and
print the actually failing pushbuf to stderr.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27320 >
2024-01-27 17:54:19 +00:00
Thomas H.P. Andersen
38aba351f1
docs: update features.txt for nvk
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27297 >
2024-01-27 17:38:58 +00:00
Thomas H.P. Andersen
614e4269cf
nvk: promote load_store_op_none to KHR
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27297 >
2024-01-27 17:38:58 +00:00
Thomas H.P. Andersen
132b3a79f4
nvk: promote VK_EXT_line_rasterization to KHR
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27297 >
2024-01-27 17:38:58 +00:00
Thomas H.P. Andersen
da910fc2fd
nvk: promote VK_EXT_index_type_uint8 to KHR
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27297 >
2024-01-27 17:38:58 +00:00
Echo J
32babbc416
nvk: Set ICD version to 1.3
...
This should complete the Vulkan 1.3 puzzle
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27319 >
2024-01-27 16:19:10 +00:00
Sebastian Wick
c467a87e06
radeonsi: Destroy queues before the aux contexts
...
Otherwise the queue might access the already destroyed aux contexts
Signed-off-by: Sebastian Wick <sebastian.wick@redhat.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27300 >
2024-01-27 14:59:11 +00:00
Faith Ekstrand
a0a453e43f
nvk: Advertise Vulkan 1.3
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27317 >
2024-01-27 06:30:08 +00:00
Faith Ekstrand
25d40e8e2c
nvk: Stop requiring dedicated allocations
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27317 >
2024-01-27 06:30:08 +00:00
Juston Li
305256e344
venus: handle empty resolved query feedback list
...
On the off chance the combined list resolves to empty due to resets,
skip adding query feedback by not increasing the total cmd buffer
count for query feedback.
Signed-off-by: Juston Li <justonli@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27163 >
2024-01-26 23:40:52 +00:00
Juston Li
df1cd20096
venus: recycle linked query feedback immediately during submission
...
Instead of just recyling 1 linked query feedback cmd for use and
defering the actualy recycle, recycle all linked cmds found when
setting up submission immediately.
Signed-off-by: Juston Li <justonli@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27163 >
2024-01-26 23:40:52 +00:00
Juston Li
decc5d4539
venus: add comments for query feedback batch free list
...
Signed-off-by: Juston Li <justonli@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27163 >
2024-01-26 23:40:52 +00:00
Juston Li
e2c4bafccc
venus: free query batches for VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT
...
When a pool is reset with VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT,
free up all query batches in the pool.
Signed-off-by: Juston Li <justonli@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27163 >
2024-01-26 23:40:52 +00:00
Juston Li
aceda1f5f6
venus: acquire mutex when recycling query feedback cmds
...
Fixes: 5b24ab91e4 ("venus: switch to unconditionally deferred query feedback")
Signed-off-by: Juston Li <justonli@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27163 >
2024-01-26 23:40:52 +00:00
Juston Li
c3417c5bb8
venus: refactor query feedback cmds
...
The list free_query_feedback_cmds for recycling query feedback cmds was
only used in vn_command_pool when it was a vn_feedback_cmd_pool.
For clarity, refactor and store this list in vn_feedback_cmd_pool
instead and introduce a new struct vn_query_feedback_cmd that references
the feedback cmd and the feedback cmd pool for tracking.
Refactor out the allocation portion of query feedback cmds into its own
function for allocating the new vn_query_feedback_cmd struct.
Fixes: 5b24ab91e4 ("venus: switch to unconditionally deferred query feedback")
Signed-off-by: Juston Li <justonli@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27163 >
2024-01-26 23:40:52 +00:00
Eric Engestrom
7bc5646609
ci: bump the image tags to rebuild all the deqp variants
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27250 >
2024-01-26 21:49:05 +00:00
Eric Engestrom
52b784dbc5
ci/deqp: only keep the mustpass lists that are relevant to the build
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27250 >
2024-01-26 21:49:05 +00:00
Eric Engestrom
e0c564dd0b
ci/deqp: only compile the test binaries that are relevant to the build
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27250 >
2024-01-26 21:49:05 +00:00
Eric Engestrom
969b430a23
ci/deqp: only compile EGL tests in GL builds, not VK builds
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27250 >
2024-01-26 21:49:05 +00:00
Eric Engestrom
d9833b89a2
ci/deqp: drop the implicit DEQP_TARGET; explicitly set default in VK builds
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27250 >
2024-01-26 21:49:05 +00:00
Eric Engestrom
fb326ef27f
ci/deqp: split vk and gl builds
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27250 >
2024-01-26 21:49:05 +00:00
Eric Engestrom
24161160e5
ci/deqp: move editable part to the top of the file
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27250 >
2024-01-26 21:49:05 +00:00
Eric Engestrom
86bf197bf7
ci/deqp: avoid storing the huge list of vk tests on android builds
...
Same as we do with GL mustpass lists.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27250 >
2024-01-26 21:49:05 +00:00
Eric Engestrom
3cc1c71148
ci/deqp: simplify version log dump
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27250 >
2024-01-26 21:49:05 +00:00
Eric Engestrom
115ab467c6
ci/deqp: fix default target check when target is not specified
...
Fixes: 27a1b4e4f3 ("ci/deqp: ensure that in `default` builds, wayland + x11 + xcb are all built")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27250 >
2024-01-26 21:49:05 +00:00
Lionel Landwerlin
3b9466dd51
anv: fix transfer barriers flushes with compute queue
...
Transfer operation are implemented differently on the compute engine
and require a different kind of cache flush.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27233 >
2024-01-26 20:47:18 +00:00
Ryan Neph
9f99685c1b
virgl: use PIPE_MAX_SAMPLERS in bind_samplers_states
...
Fix incorrect use of PIPE_MAX_SHADER_SAMPLER_VIEWS in
virgl_bind_samplers_states.
Signed-off-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27251 >
2024-01-26 18:20:13 +00:00
Javier Martinez Canillas
5275df0cfe
gallium: Add ssd130x to the list of kmsro drivers
...
Add an entry point for the ssd130x modesetting driver, to expose a _dri.so
and allow Solomon panels to display the contents rendered by a GPU driver.
Suggested-by: Erico Nunes <nunes.erico@gmail.com >
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com >
Reviewed-by: Erico Nunes <nunes.erico@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27135 >
2024-01-26 17:52:45 +00:00
Lionel Landwerlin
9d31680e79
anv: retain ccs image binding address
...
Memory can be free before images it is bound to. When unmapping the
CCS range in the AUX-TT, we cannot rely on the anv_bo::offset field
because the anv_bo might have been freed.
Just save the mapping address/size and use those values at unmapping
time.
Fixes an assert on CI with :
dEQP-VK.synchronization.internally_synchronized_objects.pipeline_cache_graphics
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: e519e06f4b ("anv: add missing alignment for AUX-TT mapping")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27304 >
2024-01-26 17:29:31 +00:00
Lionel Landwerlin
eead86ad8e
anv: rename aux_tt image field
...
We'll add more to the sub-struct
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jianxun Zhang <jianxun.zhang@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27304 >
2024-01-26 17:29:31 +00:00
Lionel Landwerlin
fdc2f0a52e
anv: factor out aux-tt binding logic for future reuse
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jianxun Zhang <jianxun.zhang@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27304 >
2024-01-26 17:29:30 +00:00
Faith Ekstrand
6260fa47ff
nak: Loop to ensure we get accurate shader clocks
...
Even though CS2R can fetch a whole 64 bits at a time, that doesn't mean
it does so atomically. Instead, we need to loop, alternating high and
low until we fetch the same high value twice.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27303 >
2024-01-26 16:55:50 +00:00
Faith Ekstrand
48ebfeba34
nak: Add a source barrier intrinsic
...
This just inserts a GPU stall until the given source is available. We
need this in order to properly implement shader clock.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27303 >
2024-01-26 16:55:50 +00:00
Faith Ekstrand
d57c79846d
nak: Choose S2R vs CS2R based on sysval index
...
CS2R is only allowed for SV_CLOCK
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27303 >
2024-01-26 16:55:50 +00:00
Lionel Landwerlin
e121d873bd
anv/hasvk: don't report error when intel_get_device_info_from_fd fails
...
A side effect of the previous change is that we started getting
failures from that function but that only says the device is not
supported, so silently fail and return.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 3fd44345c4 ("intel: Skip ioctls for querying device info when hardware is unsupported")
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27294 >
2024-01-26 16:30:25 +00:00
Pierre-Eric Pelloux-Prayer
02fe3c32cd
ac, radeonsi: remove has_syncobj, has_fence_to_handle
...
syncobj support is now required so these features are always
available.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24724 >
2024-01-26 16:02:26 +00:00
Pierre-Eric Pelloux-Prayer
d25201903d
winsys/amdgpu: use syncobj rather than amdgpu fence
...
syncobjs provide the same features and allow to unify code
paths because we don't need to handle imported syncobj
separately.
This simplifies the code and doesn't seem to have any perf
impact.
Syncobjs are supported in amdgpu since kernel commit 660e855813f78
during 4.12 cycle but the minor version wasn't bumped so use
the next bump value asthe minimum supported version.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24724 >
2024-01-26 16:02:26 +00:00
Samuel Pitoiset
d14ecd6d89
radv: use device->vk.enabled_features instead of iterating twice
...
vk_device already has the list of enabled features, no need to iterate
twice on the pNext structs.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27276 >
2024-01-26 15:16:26 +00:00
Pierre-Eric Pelloux-Prayer
cce5920025
radeonsi: adjust flags for si_compute_shorten_ubyte_buffer
...
- no need to flush anything before as we're working on a clean
buffer (SI_OP_SKIP_CACHE_INV_BEFORE)
- L2 must be flushed after the job to avoid rendering artifacts.
Instead of setting it manually, use SI_OP_SYNC_AFTER +
SI_COHERENCY_NONE.
Fixes: 1a99f50c7f ("radeonsi: use a compute shader to convert unsupported indices format")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27095 >
2024-01-26 14:13:55 +00:00
Pierre-Eric Pelloux-Prayer
0e16da89fe
radeonsi: emit cache flushes before draw registers
...
This fixes #9807 but I don't understand why.
Emitting cache flushes before VGT_PRIMITIVE_TYPE is what makes
the problem go away but changing the order in si_draw() is clearer.
The only cases where sctx->flags is modified in si_emit_draw_registers
is handled using si_emit_cache_flush_direct so we can move cache
flushing up without any addtional conditionals.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9807
Fixes: 1e4b539042 ("radeonsi: handle deferred cache flushes as a state (si_atom)")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27095 >
2024-01-26 14:13:55 +00:00
Lionel Landwerlin
72dc596aa0
anv: implement VK_EXT_attachment_feedback_loop_dynamic_state
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23523 >
2024-01-26 13:39:02 +00:00
Faith Ekstrand
a9d72609d9
anv: Advertise VK_EXT_attachment_feedback_loop_layout
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23523 >
2024-01-26 13:39:02 +00:00
Lionel Landwerlin
dda8c2b8be
anv: handle image feedback loop usage
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23523 >
2024-01-26 13:39:02 +00:00
Faith Ekstrand
bd285a6ad5
anv: Add helpers for getting the surface state from an image view
...
Gets rid of some duplicated logic.
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23523 >
2024-01-26 13:39:02 +00:00
Lionel Landwerlin
16391645ef
anv: add check that in renderpass barriers apply to attachments
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23523 >
2024-01-26 13:39:02 +00:00
Lionel Landwerlin
eed788213b
anv: ensure consistent layout transitions in render passes
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23523 >
2024-01-26 13:39:02 +00:00
Lionel Landwerlin
76cf391255
vulkan/runtime: add helper to query attachment layout
...
The runtime is turning GENERAL layouts into FEEDBACK_LOOP ones when it
detects feedback loops in a render pass. This is breaking drivers that
would like to use a different HW layout for those 2 layouts because if
the application inserts barrier in the render pass, the barriers the
driver sees are inconsistent.
This could lead to barrier of this type :
- GENERAL -> FEEDBACK_LOOP (runtime)
- GENERAL -> GENERAL (app)
- FEEDBACK_LOOP -> GENERAL (runtime)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23523 >
2024-01-26 13:39:01 +00:00
Lionel Landwerlin
f92bff9198
intel/ds: track predication of blorp operations
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23523 >
2024-01-26 13:39:01 +00:00
Vlad Schiller
97efa57531
pvr: Implement VK_EXT_memory_budget
...
Signed-off-by: Vlad Schiller <vlad-radu.schiller@imgtec.com >
Reviewed-by: Luigi Santivetti <luigi.santivetti@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27189 >
2024-01-26 12:06:55 +00:00
Tatsuyuki Ishi
991ae339f5
radv: Implement NIR caching behind RADV_PERFTEST=nircache.
...
NIR caching is useful for two use cases:
- Shader permutations involving reused VS or FS.
- GPL-like engine that compiles a separate (library) variant and an
optimized (monolithic) variant, e.g. DXVK.
By caching the result of radv_shader_spirv_to_nir, permutations hitting
the cache can have their compilation time reduced by 50% or more.
There are still open questions about the memory and storage footprint of
NIR caches, which is why this is gated behind a perftest flag. In
particular, Steam doesn't want to ship NIR cache since they are
unnecessary in presence of a full precompiled shader cache. In this
commit, the cache entries do not reside in memory and are immediately
written to the disk. Further design around how the caches are stored and
how to coordinate cache type with Steam etc. is left as future work.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26696 >
2024-01-26 11:46:18 +00:00
Tatsuyuki Ishi
2ed5f2cace
radv: Re-sort RADV_PERFTEST env vars in docs
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26696 >
2024-01-26 11:46:18 +00:00
Tatsuyuki Ishi
8bf5c33c9c
radv: Rename cache_search_nir to cache_lookup_nir_handle.
...
A future commit will introduce cache_lookup_nir (which does not create
an intermediate vk_pipeline_cache_object), so rename it for consistency.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26696 >
2024-01-26 11:46:18 +00:00
Tatsuyuki Ishi
70b0c5909b
radv: Add radv_spirv_to_nir_options that summarize early gfx states.
...
radv_shader_spirv_to_nir now takes a more minimal struct instead of gfx
states. This struct will be used for NIR cache hashing in the future.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26696 >
2024-01-26 11:46:18 +00:00
Lionel Landwerlin
e519e06f4b
anv: add missing alignment for AUX-TT mapping
...
Buffers that are not dedicated can also be used for CCS mapped images,
so they need to be aligned to the AUX-TT requirements.
GTK+ is running into such case where it creates an image with a CCS
modifier. When requesting the alignment through
vkGetImageMemoryRequirements() the 64KB/1MB alignment is returned, but
the binding fails with an assert because the VkDeviceMemory has not
been aligned to the AUX-TT requirement and we cannot disable CCS since
the modifier requires it.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 4cdd3178fb ("anv: Meet CCS alignment reqs with dedicated allocs")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10433
Reviewed-by: Jianxun Zhang <jianxun.zhang@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27258 >
2024-01-26 11:20:17 +00:00
Pavel Ondračka
337fbab9ce
r300: remove backend support for SUB
...
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: Filip Gawin <filip.gawin@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27089 >
2024-01-26 11:06:06 +00:00
Pavel Ondračka
18a0ff121e
r300: remove the remaining of backend constant folding
...
This was needed to clean up after the comparison opcode lowering which
has now beed moved earlier to NIR. We just need to clean up the special
case of add a,0 manually as this happens way too late for any other
standard algebraic pass.
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: Filip Gawin <filip.gawin@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27089 >
2024-01-26 11:06:06 +00:00
Pavel Ondračka
553e841d7c
r300: remove SGE, SNE, SLT, SGE lowering in the backend
...
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: Filip Gawin <filip.gawin@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27089 >
2024-01-26 11:06:06 +00:00
Pavel Ondračka
5115cebd5d
r300: lower comparison ops early in NIR
...
The HW can't do comparison opcodes in the FS, so the old way was to
lower all to ADD and CMP in the backend. However, the comparison bool
result is used either in if (where we can encode the comparions in the
aluresults calculation) or is uses in another bcsel. Therefore, we now
end with two CMPs, one from the original bcsel and one from the lowered
comparison.
This patch fixes it by doing the comparison lowering early for some nice
shader-db gains. Similarly to vertex shaders, we need some special
passes for this, because we can't nir_lower_bool_to_float too early, so
we just manually lower the most common patterns in the main opt loop and
than clean up the rest later.
Shader-db RV530:
total instructions in shared programs: 130797 -> 130400 (-0.30%)
instructions in affected programs: 34591 -> 34194 (-1.15%)
helped: 203
HURT: 133
total presub in shared programs: 8175 -> 8220 (0.55%)
presub in affected programs: 1738 -> 1783 (2.59%)
helped: 62
HURT: 53
total omod in shared programs: 414 -> 412 (-0.48%)
omod in affected programs: 4 -> 2 (-50.00%)
helped: 2
HURT: 0
total temps in shared programs: 17570 -> 17566 (-0.02%)
temps in affected programs: 1122 -> 1118 (-0.36%)
helped: 41
HURT: 43
total consts in shared programs: 94362 -> 94359 (<.01%)
consts in affected programs: 381 -> 378 (-0.79%)
helped: 13
HURT: 10
total lits in shared programs: 2951 -> 2961 (0.34%)
lits in affected programs: 104 -> 114 (9.62%)
helped: 3
HURT: 9
total cycles in shared programs: 198965 -> 198744 (-0.11%)
cycles in affected programs: 55784 -> 55563 (-0.40%)
helped: 177
HURT: 144
LOST: 0
GAINED: 1
Shader-db RV380:
total instructions in shared programs: 84224 -> 84109 (-0.14%)
instructions in affected programs: 6039 -> 5924 (-1.90%)
helped: 106
HURT: 38
total presub in shared programs: 1401 -> 1372 (-2.07%)
presub in affected programs: 113 -> 84 (-25.66%)
helped: 27
HURT: 10
total temps in shared programs: 13231 -> 13224 (-0.05%)
temps in affected programs: 303 -> 296 (-2.31%)
helped: 22
HURT: 12
total consts in shared programs: 82484 -> 82505 (0.03%)
consts in affected programs: 271 -> 292 (7.75%)
helped: 4
HURT: 25
total cycles in shared programs: 132957 -> 132840 (-0.09%)
cycles in affected programs: 12696 -> 12579 (-0.92%)
helped: 101
HURT: 43
LOST: 0
GAINED: 1
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: Filip Gawin <filip.gawin@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27089 >
2024-01-26 11:06:06 +00:00
Pavel Ondračka
99abd9ad30
r300: optimize out more modifiers produced later
...
The code handling NIR to TGSI translation can't handle multiple
chained modifiers.
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: Filip Gawin <filip.gawin@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27089 >
2024-01-26 11:06:06 +00:00
Pavel Ondračka
bdf42690f6
r300: add r300_is_only_used_as_float helper
...
This is slightly different from the stock is_only_used_as_float since
that one will return false when called for uses of bcsel if any of the
uses actually uses uint, like vec or another bcsel. This version will
recursivelly go further in such cases and return false only if it sees
any instructions specifically neededing bools or ints.
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: Filip Gawin <filip.gawin@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27089 >
2024-01-26 11:06:06 +00:00
Pavel Ondračka
b1a669be75
r300: remove backend SLE and SGT support
...
NIR doesn't know them, so there is no way we can ever end with one.
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: Filip Gawin <filip.gawin@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27089 >
2024-01-26 11:06:06 +00:00
Lionel Landwerlin
d46bbf727d
anv: promote EXT_load_store_op_none to KHR
...
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27274 >
2024-01-26 10:38:53 +00:00
Lionel Landwerlin
87acc6b59b
anv: promote EXT_line_rasterization to KHR
...
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27274 >
2024-01-26 10:38:53 +00:00
Lionel Landwerlin
976d5b9551
anv: promote EXT_index_type_uint8 to KHR
...
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27274 >
2024-01-26 10:38:53 +00:00
Louis-Francis Ratté-Boulianne
1aa832e5f5
panfrost: Legalize before updating part of a AFBC-packed texture
...
When updating an AFBC-packed resource, we need to make sure it is
legalized before blitting the staging resource to it. We can't rely
on the blit to properly convert the resource as it will result in
blit recursion and a crash.
If the whole texture is updated however, there is no need to unpack
as the content can be discarded. Just create a new BO with the right
format.
Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Fixes: 33b48a5585 ("panfrost: Add debug flag to force packing of AFBC textures on upload")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27208 >
2024-01-26 10:19:22 +00:00
Louis-Francis Ratté-Boulianne
ee77168d57
panfrost: add can_discard flag to pan_legalize_afbc_format
...
There might be a more efficient path when legalizing a resource if
we don't need to worry about its content. For example, it doesn't
make sense to copy the resource content when converting the modifier
if the resource content is discarded anyway.
Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Fixes: 33b48a5585 ("panfrost: Add debug flag to force packing of AFBC textures on upload")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27208 >
2024-01-26 10:19:22 +00:00
Louis-Francis Ratté-Boulianne
62ed14b386
panfrost: add copy_resource flag to pan_resource_modifier_convert
...
When converting the modifier for a resource, it's not always
needed to blit the content as well. Creating a new resource with
the right format/modifier might be enough.
Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Fixes: 33b48a5585 ("panfrost: Add debug flag to force packing of AFBC textures on upload")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27208 >
2024-01-26 10:19:21 +00:00
Louis-Francis Ratté-Boulianne
22a7637b08
panfrost: factor out method to check whether we can discard resource
...
The logic is gonna be re-used to determine whether we need to
unpack a AFBC-packed texture before updating it (when unmapping).
Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Fixes: 33b48a5585 ("panfrost: Add debug flag to force packing of AFBC textures on upload")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27208 >
2024-01-26 10:19:21 +00:00
Samuel Pitoiset
c53d0a6a6d
radv: advertise VK_KHR_index_type_uint8
...
Promoted from the EXT.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27262 >
2024-01-26 10:00:48 +00:00
Samuel Pitoiset
30f2802e31
radv: promote VK_EXT_index_type_uint8 to KHR
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27262 >
2024-01-26 10:00:48 +00:00
Samuel Pitoiset
0ceeb67b3b
radv: advertise VK_KHR_line_rasterization
...
Promoted from the EXT.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27262 >
2024-01-26 10:00:48 +00:00
Samuel Pitoiset
df3fbe3b33
radv: promote VK_EXT_line_rasterization to KHR
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27262 >
2024-01-26 10:00:48 +00:00
Samuel Pitoiset
701a37e863
radv: advertise VK_KHR_load_store_op_none
...
Promoted from the EXT.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27262 >
2024-01-26 10:00:48 +00:00
Krzysztof Kurek
e6156df53a
panfrost: fix shift overflow in bi_fold_constant
...
closes https://gitlab.freedesktop.org/mesa/mesa/-/issues/9517
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26116 >
2024-01-26 09:40:48 +00:00
Rohan Garg
b703e0be53
anv: factor out common code for determining surface usage from a VkDescriptorType
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27268 >
2024-01-26 09:17:03 +00:00
Samuel Pitoiset
2972590a53
radv: advertise VK_EXT_shader_object on GFX6-8
...
This extension can be enabled with RADV_PERFTEST=shader_object.
GFX9+ support and improvements will happen shortly.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26930 >
2024-01-26 08:56:54 +00:00
Samuel Pitoiset
f0e7714d0d
radv: add support for binding/emitting shader objects
...
Only GFX6-8 support for now because merged shaders make it harder to
implement but I have a bunch of local work for that.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26930 >
2024-01-26 08:56:54 +00:00
Samuel Pitoiset
2b93647d7f
radv: make some pipeline graphics helpers non-static for ESO
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26930 >
2024-01-26 08:56:54 +00:00
Samuel Pitoiset
37d7c2172b
radv: add support for creating/destroying shader objects
...
Only GFX6-8 support for now and no shaders cache.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26930 >
2024-01-26 08:56:54 +00:00
Samuel Pitoiset
2f1902d4df
radv: add radv_shader_layout::dynamic_offset_count
...
This will be used to initialize the shader layout for ESO.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26930 >
2024-01-26 08:56:54 +00:00
Samuel Pitoiset
1dbb859b3b
radv: add radv_shader_stage::next_stage field
...
This allows to init radv_shader_info correctly when the next stage is
known, this is mostly for ESO. Though, next_stage could be used in
other places too.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26930 >
2024-01-26 08:56:54 +00:00
Samuel Pitoiset
a12019cc91
radv: initialize default dynamic state when beginning a new cmdbuf
...
With ESO everything is dynamic and the default dynamic state must be
initialized when beginning a new command buffer.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26930 >
2024-01-26 08:56:54 +00:00
Samuel Pitoiset
482ca4b074
radv: add required NV entrypoints for VK_EXT_shader_object
...
Even if the implementation doesn't support the extensions, the
entrypoints must exist.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26930 >
2024-01-26 08:56:54 +00:00
Samuel Pitoiset
de1805faed
radv: enable prologs/epilogs in-memory cache for shader objects
...
Shader objects always use VS prologs/PS epilogs/TCS epilogs.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26930 >
2024-01-26 08:56:54 +00:00
Samuel Pitoiset
9351a4c51a
radv: re-emit the TCS epilog when a new TCS is bound
...
Similarly to VS prologs and PS epilogs, this needs to be re-emitted
otherwise the config shader state can be overwritten.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26930 >
2024-01-26 08:56:54 +00:00
Samuel Pitoiset
1bc5f15b68
radv: prevent accessing NULL pipelines when emitting VBO with ESO
...
ESO always uses dynamic strides, so this should be zero.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26930 >
2024-01-26 08:56:54 +00:00
Samuel Pitoiset
6728e9dd15
radv: add a helper to get the VGT_GS_OUT value
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26930 >
2024-01-26 08:56:54 +00:00
Samuel Pitoiset
fe1a9b3ab3
radv: add a helper for binding the custom blend mode
...
This re-emits the according state when a new graphics pipeline is bound
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26930 >
2024-01-26 08:56:54 +00:00
Pavel Ondračka
bf1a2b7427
r300/ci: add dEQP on RV380
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27183 >
2024-01-26 08:05:52 +00:00
Guilherme Gallo
cd8b546205
bin/ci: Add GitLab basic token validation
...
Validate the token to be able to warn the user about wrong
authentication settings.
Treat the default token argument case, when the token file is not found.
Add some loggings to guide the user.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27206 >
2024-01-26 00:37:05 -03:00
Guilherme Gallo
8eabdb3909
bin/ci: Refactor read_token function
...
Make `read_token` utilize the `get_gitlab_pipeline_from_url` to reuse
code from `gitlab_gql.py`.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27206 >
2024-01-26 00:37:05 -03:00
Guilherme Gallo
708a26c607
bin/ci: Move get_token_from_default_dir to common
...
Moved the `get_token_from_default_dir` method to a common module for
shared use between `gitlab_gql.py` and `ci_run_n_monitor.py`. This
migration facilitates better code organization and potential future
reuse.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27206 >
2024-01-26 00:37:05 -03:00
Guilherme Gallo
50fcea9c34
bin/ci: Propagate the token to GitlabGQL
...
Fix an issue in `ci_run_n_monitor.py` where the token was not
being correctly propagated to the GitlabGQL abstraction. This addresses
misbehavior in scenarios like running pipelines in a private fork,
ensuring proper functionality.
Also document `find_dependencies` function.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27206 >
2024-01-26 00:37:03 -03:00
David Heidelberg
7cc6140cc8
ci: shorter kernel tag, included Vivante NPU patches
...
1. shorter tag so containers tag gets shorter too (we need it)
2. Preparation for NPU etnaviv testing (without NPU enablement, see
https://gitlab.freedesktop.org/mesa/mesa/-/issues/10465 )
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27229 >
2024-01-26 01:57:23 +00:00
Jesse Natalie
472ef1ecae
d3d12: Fix path passed to CreateDeviceFactory
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27287 >
2024-01-26 01:30:00 +00:00
Jesse Natalie
4fede8d419
dzn: Fix path passed to CreateDeviceFactory
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27287 >
2024-01-26 01:30:00 +00:00
Jesse Natalie
fa1c9618f9
dzn: Don't set view instancing mask until after the PSO
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27286 >
2024-01-26 01:05:02 +00:00
Jesse Natalie
86b5c9278c
glsl: Work around MSVC arm64 optimizer bug
...
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27199 >
2024-01-26 00:22:53 +00:00
Jesse Natalie
6139cd0656
util: Detect arm64ec as aarch64 (and x86_64)
...
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27199 >
2024-01-26 00:22:53 +00:00
Faith Ekstrand
99ef70d8aa
nak: Fix TCS output reads
...
The hardware uses the lane index for per-vertex TCS output reads rather
than the vertex index. Fortunately, it's a pretty easy calculation to
go from one to the other.
Fixes: abe9c1fea2 ("nak: Add NIR lowering for attribute I/O")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27284 >
2024-01-26 00:07:40 +00:00
Andres Calderon Jaramillo
e44e57b4e7
radeonsi: get enc/dec caps from kernel only on amdgpu
...
Tested-by: Andres Calderon Jaramillo <andrescj@chromium.org >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Change-Id: I6f8c6799bb331c42aa1526b8f1eeb0473e5d756e
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27283 >
2024-01-25 22:39:56 +00:00
Lionel Landwerlin
7c2ff46a4f
anv: don't prevent L1 untyped cache flush in 3D mode
...
Required on MTL.
Fixes tests like :
dEQP-VK.synchronization2.op.single_queue.timeline_semaphore.write_copy_buffer_read_copy_buffer.buffer_16384
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Co-Authored-by: Jordan Justen <jordan.l.justen@intel.com >
Tested-by: Matt Turner <mattst88@gmail.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27172 >
2024-01-25 22:10:54 +00:00
Dario Mylonopoulos
d0bbab98df
llvmpipe: fixed race condition in lp_rast_destroy that causes a crash on windows
...
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26345 >
2024-01-25 21:45:27 +00:00
Jesse Natalie
98ec98d08f
spirv2dxil: Handle aliasing/overlapping UBO/SSBO variables
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27280 >
2024-01-25 21:20:58 +00:00
Jesse Natalie
4833126b40
spirv2dxil: Fix the spirv2dxil command line tool
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27280 >
2024-01-25 21:20:58 +00:00
Eric Engestrom
6825c67c99
ci_run_n_monitor: allow passing multiple targets
...
When generating the list of targets from a script, being able to just
pass `--target "${list[@]}"` is very convenient.
The list of targets is simply converted to an "or" regex, matching any
of the `--target`s given.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27252 >
2024-01-25 21:16:13 +00:00
Eric Engestrom
eeba409c54
ci_run_n_monitor: drop always-true condition
...
`--target` is mandatory.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27252 >
2024-01-25 21:16:13 +00:00
Connor Abbott
8e6643fee5
freedreno: Add a7xx crashdump-related registers and enums
...
These come from kgsl, and we will need them to capture GPU state for
devcoredump.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27264 >
2024-01-25 20:38:28 +00:00
Samuel Pitoiset
b69345fcfc
vulkan: promote VK_EXT_index_type_uint8 to KHR
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27261 >
2024-01-25 19:55:14 +00:00
Samuel Pitoiset
a8142a6051
vulkan: promote VK_EXT_line_rasterization to KHR
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27261 >
2024-01-25 19:55:14 +00:00
Karol Herbst
98dab1aad5
rusticl/program: mark NirKernelBuild as Send and Sync
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26040 >
2024-01-25 19:40:39 +00:00
Karol Herbst
dd5b0adc79
rusticl/mem: make Mem Send/Sync by storing mapping ptrs as usize
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26040 >
2024-01-25 19:40:39 +00:00
Karol Herbst
7f110ec63d
rusticl/gl: mark GLCtxManager as Send + Sync
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26040 >
2024-01-25 19:40:39 +00:00
Karol Herbst
b76fb0f01b
rusticl/context: store SVM pointers as usize
...
This way Context becomes Send and Sync
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26040 >
2024-01-25 19:40:39 +00:00
Karol Herbst
89868992ab
rusticl/mesa: add thread-safe wrapper for pipe_image_views
...
In theory a pipe_image_view can outlive the pipe_resource it's referring
to, so we have to make sure that doesn't happen.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26040 >
2024-01-25 19:40:38 +00:00
Karol Herbst
1166944124
rusticl/mesa/screen: convert to ThreadSafeCPtr
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26040 >
2024-01-25 19:40:38 +00:00
Karol Herbst
ef8461b84f
rusticl/mesa/device: convert to ThreadSafeCPtr
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26040 >
2024-01-25 19:40:38 +00:00
Karol Herbst
a108bc9908
rusticl/util: add a wrapper around "thread-safe" C types
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26040 >
2024-01-25 19:40:38 +00:00
Caio Oliveira
5a44d0fd1d
anv: Advertise VK_KHR_shader_subgroup_rotate
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27272 >
2024-01-25 19:07:42 +00:00
Caio Oliveira
4af079960d
intel/compiler: Enable lower_rotate_to_shuffle in subgroup lowering
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27272 >
2024-01-25 19:07:42 +00:00
Dmitry Baryshkov
cb1b6649e1
freedreno/regs: define the wide bus enable bit in DSI_VID_CFG0
...
Follow the kernel patch by Jonathan Marek and define the DATABUS_WIDEN
bit in the DSI_VID_CFG0 register.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27271 >
2024-01-25 17:37:50 +00:00
Dmitry Baryshkov
7a81855a67
freedreno/drm: don't crash for unsupported devices
...
For unsupported devices fd_pipe_new() will return NULL, causing a crash
when fd_device_new() tries to check device generation.
Handle fd_pipe_new() returning NULL by destroying device and returning
NULL.
Fixes: 4861067689 ("freedreno/drm: Add sub-allocator")
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26961 >
2024-01-25 17:01:24 +00:00
Mark Collins
5a6a55fbbe
tu/kgsl: Fix sync_wait'd FD in kgsl_syncobj_wait
...
The FD being waited on in `kgsl_syncobj_wait` was the device FD
instead of the FD of the syncpoint, this was entirely incorrect
and would result in waiting on FD kgsl syncobjs being entirely
broken.
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27267 >
2024-01-25 16:34:32 +00:00
Georg Lehmann
a3a1a8b1d0
radv: enable VK_KHR_shader_subgroup_rotate
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27269 >
2024-01-25 16:09:42 +01:00
Samuel Pitoiset
6725ad9f22
lavapipe: fix build since vulkan spec update
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27260 >
2024-01-25 14:58:53 +01:00
Lionel Landwerlin
ccaec08012
vulkan/runtime: handle new image layout
...
To prevent compiler warnings.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27260 >
2024-01-25 14:57:51 +01:00
Samuel Pitoiset
2cc13f3236
vulkan: bump headers/registry to 1.3.276
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27260 >
2024-01-25 14:57:51 +01:00
Rohan Garg
3e93ccbc1b
anv: untyped data port flush required when a pipeline sets the VK_ACCESS_2_SHADER_STORAGE_READ_BIT
...
VK_ACCESS_2_SHADER_STORAGE_READ_BIT specifies read access to a
storage buffer, physical storage buffer, storage texel buffer, or
storage image in any shader pipeline stage.
Any storage buffers or images written to must be invalidated and
flushed before the shader can access them.
This fixes the following tests on LNL:
- dEQP-VK.synchronization2.op.single_queue.barrier.write\*_specialized_access_flag
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27212 >
2024-01-25 13:55:24 +01:00
Friedrich Vock
425ddc24b1
winsys/amdgpu: Fix build on BSD
...
Some BSDs don't define ENODATA.
Fixes: cf24d155 ("winsys/amdgpu: Hook up guilt to amdgpu_ctx_set_sw_reset_status")
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27181 >
2024-01-25 11:17:50 +00:00
Friedrich Vock
963813fbfd
radv/amdgpu: Fix build on BSD
...
Some BSDs don't define ENODATA.
Fixes: c58cff3c ("radv/amdgpu: Handle -ENODATA and -ETIME from cs_submit")
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27181 >
2024-01-25 11:17:49 +00:00
Daniel Stone
9cc3e842bb
egl: Return BAD_CONFIG when robust access unsupported
...
EGL_EXT_create_context_robustness provides separate knobs for device
reset strategy and robust buffer access. As there is no separate query
for both piecies of functionality, devices which do not support robust
buffer access need to reject contexts created with that flag with
EGL_BAD_CONFIG.
Given that EGL can't do cap queries, we create a fake extension entry in
the EGLDisplay to cover whether the device can do robust buffer access
or just device-reset queries.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26972 >
2024-01-25 10:24:48 +00:00
Tranquillity Codes
3fd44345c4
intel: Skip ioctls for querying device info when hardware is unsupported
...
While enumerating devices on a system with multiple implementations,
unnecessary ioctls will be issued before a driver checks if it supports a
given device.
This patch makes the driver fail early based on a intel_device_info.ver
check with 2 new parameters added to intel_get_device_info_from_fd.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27166 >
2024-01-25 09:57:24 +00:00
Constantine Shablia
96504d51a2
panvk: advertise bufferDeviceAddress
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27209 >
2024-01-25 09:19:50 +00:00
Constantine Shablia
2d614b5550
panvk: implement vkGetBufferDeviceAddress
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27209 >
2024-01-25 09:19:50 +00:00
Kenneth Graunke
2e38024fd8
intel: Use hardware generated compute shader local invocation IDs
...
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27167 >
2024-01-25 08:43:04 +00:00
Kenneth Graunke
5e7f4ff97f
intel: Add driver support for hardware generated local invocation IDs
...
This adds a few new fields in the brw_cs_prog_data struct and then
uses them to fill in the relevant COMPUTE_WALKER fields.
Although the Tile Layout field theoretically has different settings for
32/64/128bpe, it appears that the recommended programming is to always
pick either TileY 32bpe or Linear. It's not very practical to look at
the surface formats involved, anyway.
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27167 >
2024-01-25 08:43:04 +00:00
Kenneth Graunke
10ed4f1cab
intel/nir: Pass devinfo and prog_data to brw_nir_lower_cs_intrinsics
...
We'll want to check for Alchemist and set various prog_data fields
in the next patch, in order to enable some optimizations. Passing
NULL for prog_data will remain valid and continue working as before.
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27167 >
2024-01-25 08:43:04 +00:00
Kenneth Graunke
f85ad92dae
iris: Implement query_memory_info() on discrete cards
...
This has been stubbed since 2019, but wasn't advertised or implemented.
Neither kernel offers us any interface for tracking evictions, but we
can at least report the size of various heaps.
Fixes various SPECviewperf subtests on Alchemist.
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27168 >
2024-01-24 23:37:30 +00:00
Kenneth Graunke
f7ef356a74
intel/dev: Fix typo (ajust -> adjust)
...
Fixes: b571ae6e7a ("intel: Make memory heaps consistent between KMDs")
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27168 >
2024-01-24 23:37:30 +00:00
Kenneth Graunke
5ccb9f4632
iris: Don't return timestamps modulo 36-bits
...
Our actual timestamp register from the hardware is 36-bits these days.
Depending on the clock base, a few of the low bits may be discarded.
We scale by 52.08 or so (see intel_device_info_timebase_scale()) in
order to convert clock ticks to nanoseconds. This value could take
~43-44 bits to represent. When our timestamp register overflows, the
reported value would overflow at some value which isn't a power-of-two.
For some reason, when we implemented ARB_timer_query for i965 in 2012,
we thought applications would use GL_QUERY_COUNTER_BITS to detect and
handle overflow, expecting our timer queries to overflow at a power-of-
two value. We tried to hack around this by reporting a 36-bit counter,
for what was then a 32-bit(?) timestamp register, with a timebase scale
of 80(?)...and reported the nanoseconds modulo 2^36, with some
handwaving about wrap around times being close enough.
I don't think this is what anyone wants. All other Gallium drivers
(except maybe zink) report 64 here, as does the Intel Windows driver.
The ARB_timer_query spec defines it as:
"If <pname> is QUERY_COUNTER_BITS, the implementation-dependent
number of bits used to hold the query result for <target> will be
placed in <params>. The number of query counter bits may be zero,
in which case the counter contains no useful information."
and it also mentions about overflow:
"If the elapsed time overflows the number of bits, <n>, available to
hold elapsed time, its value becomes undefined. It is recommended,
but not required, that implementations handle this overflow case by
saturating at 2^n - 1."
There's nothing about roll-over happening at power-of-two times, just
that the value returned has to fit in that many bits, and if the value
were to exceed that, it's undefined, optionally saturated to the maximum
representable value.
This patch makes us report 64 like other drivers, and stop taking the
modulus. Technically, our roll-over will happen before we reach the
number of query counter bits, which may or may not be valid. But this
does let us report longer times, and should be more desirable behavior.
Tested-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26058 >
2024-01-24 23:13:15 +00:00
Eric Engestrom
ffd8497c70
docs: update calendar for 24.0.0-rc3
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27249 >
2024-01-24 23:05:53 +00:00
Jesse Natalie
9b495ee8a9
dzn: Disable depth/stencil for partial binding from dynamic rendering
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27224 >
2024-01-24 22:32:59 +00:00
Jesse Natalie
f4c6d9d9a9
dzn: Handle VkBindImageMemorySwapchainInfoKHR
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27224 >
2024-01-24 22:32:59 +00:00
Jesse Natalie
df684ee653
dzn: Fix enhanced barrier layout for depth blits
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27224 >
2024-01-24 22:32:59 +00:00
Jesse Natalie
fcd56e31f7
dzn: Implement maintenance3 VariableDescriptorCountLayoutSupport
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27224 >
2024-01-24 22:32:59 +00:00
Jesse Natalie
beb82c836d
microsoft/compiler: Add feature flags for new comparison sampling ops
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27200 >
2024-01-24 21:38:49 +00:00
Eric Engestrom
eb218e15bf
docs: add sha256sum for 23.3.4
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27248 >
2024-01-24 21:32:00 +00:00
Eric Engestrom
e7e260f468
docs: update calendar for 23.3.4
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27248 >
2024-01-24 21:32:00 +00:00
Eric Engestrom
3e2dc3520e
docs: add release notes for 23.3.4
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27248 >
2024-01-24 21:32:00 +00:00
José Roberto de Souza
d5ec2fa52f
anv: Fix calculation of syncs required in Xe KMD
...
num_syncs was being incremented by one if 'utrace_submit != NULL' but
a sync was only being set if also
'util_dynarray_num_elements(&utrace_submit->batch_bos) == 0'.
This mismatch could cause application to abort due to
'assert(count == num_syncs)'.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27244 >
2024-01-24 20:48:39 +00:00
Dave Airlie
38e92556a0
gallivm: passing fp16_split_fp64 to fp16 lowering.
...
This causes lavapipe to use the split code and fixes accuracy
for CTS.
Fixes dEQP-VK.glsl.builtin.precision_fconvert.f64_to_f16*
Cc: mesa-stable
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27228 >
2024-01-24 20:05:57 +00:00
Ian Romanick
c2a25cf75c
intel/fs: Fix shift counts for 8- and 16-bit types
...
With regards to implicit masking of the shift counts for 8- and 16-bit
types, the PRMs are incorrect. They falsely state that on Gen9+ only the
low bits of src1 matching the size of src0 (e.g., 4-bits for W or UW
src0) are used. The Bspec (backed by data from experimentation) state
that 0x3f is used for Q and UQ types, and 0x1f is used for **all** other
types.
To match the behavior expected for the NIR opcodes, explicit masks for
8- and 16-bit types must be added.
This fixes (the updated version, see crucible!138) of
func.shader.shift.int16_t on all Intel platforms. According to Karol,
this also fixes "integer_ops integer_rotate" tests in OpenCL CTS.
No shader-db or fossil-db changes on any Intel platform.
Tested-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23001 >
2024-01-24 19:41:35 +00:00
Faith Ekstrand
b2824dd38d
nvk: Set maxInlineUniformTotalSize
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27242 >
2024-01-24 19:26:04 +00:00
Faith Ekstrand
58e916b3b7
nvk: Don't exnore ExternalImageFormatInfo
...
Fixes: 702326d013 ("nvk: Add external memory queries")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27242 >
2024-01-24 19:26:04 +00:00
Guilherme Gallo
f3850c97d1
ci/lava: Fix the integration test
...
During the development of this fix, I utilized the `test_full_yaml_log`
test, which is marked as slow. This test is excellent for reproducing
past job submissions. It can be executed using the following commands:
```
lavacli jobs logs --raw 12496073 > /tmp/log.yaml
pytest .gitlab-ci/tests/test_lava_job_submitter.py -m slow -s
```
Here, `12496073` is the LAVA job ID from this specific job:
https://gitlab.freedesktop.org/mesa/mesa/-/jobs/53546660
The logs were not functioning as expected due to a few mistakes I made
with generators, such as:
- Not reusing the `time_traveller_gen` generator to call `next` more
than once.
- Forgetting to parse the YAML inside `time_travel_from_log_chunk`.
Additionally:
- Added some statistics at the end of the test to aid in diagnosing
whether the test was reproduced accurately.
- Renamed some variables for clarity.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26996 >
2024-01-24 18:39:17 +00:00
Guilherme Gallo
2b86e49393
ci/lava: Ignore DUT feedback messages
...
In our process of monitoring LAVA logs, we typically skip numerous
messages to enhance log clarity. We already exclude `feedback` messages
from display. These messages were just used as a heartbeat signal,
indicating that if we are receiving them, the Device Under Test (DUT) is
active.
Practically, if we continuously receive feedback messages without any
other message level (either `debug` or `target`) for several minutes,
this could be a cause for concern, as it likely indicates the device is
in a kind of livelock state.
Therefore, it is more prudent to ignore feedback messages, as they tend
to occur frequently in unstable scenarios. However, it's important to
note that any other message level will still be considered as a
heartbeat signal.
Real case where several minutes of feedback messages indicate a hang:
https://gitlab.freedesktop.org/mesa/mesa/-/jobs/53546660
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26996 >
2024-01-24 18:39:17 +00:00
Juan A. Suarez Romero
dc2639acb4
Revert "ci: disable Igalia farm"
...
This reverts commit a6d9e21c23 .
Issues fixed in the Igalia farm. Bring back it to the world.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27245 >
2024-01-24 18:05:44 +00:00
Karol Herbst
c7ffbd8759
nak: fix clippy::single_match warnings
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27234 >
2024-01-24 17:46:29 +00:00
Karol Herbst
cce0a42dcd
nak: fix clippy::clone_on_copy warnings
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27234 >
2024-01-24 17:46:29 +00:00
Karol Herbst
e7a059794e
nak: fix clippy::manual_while_let_some warnings
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27234 >
2024-01-24 17:46:29 +00:00
Karol Herbst
36cb48d083
nak: fix clippy::unwrap_or_default warnings
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27234 >
2024-01-24 17:46:29 +00:00
Karol Herbst
fb53146b44
nak: fix clippy::redundant_closure warnings
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27234 >
2024-01-24 17:46:29 +00:00
Karol Herbst
06ff342ee1
nak: fix clippy::needless_return warnings
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27234 >
2024-01-24 17:46:29 +00:00
Karol Herbst
4b039abd7b
nak: fix clippy::match_like_matches_macro warnings
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27234 >
2024-01-24 17:46:29 +00:00
Karol Herbst
4d414cb61a
nak: fix clippy::while_let_loop warnings
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27234 >
2024-01-24 17:46:29 +00:00
Karol Herbst
1effb5262a
nak: fix clippy::needless_borrow warnings
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27234 >
2024-01-24 17:46:29 +00:00
Karol Herbst
3d4bd73fa3
nak: fix clippy::needless_lifetimes warnings
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27234 >
2024-01-24 17:46:29 +00:00
Karol Herbst
00a6e2ae4d
nak: fix clippy::useless_conversion warnings
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27234 >
2024-01-24 17:46:29 +00:00
Karol Herbst
ec7b32d920
nak: fix clippy::mem_replace_with_default warnings
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27234 >
2024-01-24 17:46:29 +00:00
Karol Herbst
cab414669f
nak: fix clippy::extra_unused_lifetimes warnings
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27234 >
2024-01-24 17:46:29 +00:00
Karol Herbst
7c9734b6dc
nak/meson: specify rust flags globally and allow some clippy lints
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27234 >
2024-01-24 17:46:29 +00:00
Rhys Perry
6dc182b6b2
aco: fix labelling of s_not with constant
...
Fixes RADV compilation of a Cyberpunk 2077 RT pipeline with
PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Fixes: dfaa3c0af6 ("aco: Flip s_cbranch / s_cselect to optimize out an s_not if possible.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27194 >
2024-01-24 17:25:15 +00:00
Tomeu Vizoso
7adc7678a8
teflon: Add table with known supported models to docs
...
Hopefully it is just start, though in time this should probably move
to some kind of model repository.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27241 >
2024-01-24 17:17:51 +00:00
Georg Lehmann
4c74077b62
aco: implement rotate
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27118 >
2024-01-24 16:38:40 +00:00
Georg Lehmann
b90ec971d7
aco/gfx11: resolve VcmpxPermlaneHazard for v_permlane64
...
The GFX11 ISA docs description of this hazard says it's about v_permlane in
general, not just v_permlane(x)16.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27118 >
2024-01-24 16:38:40 +00:00
Georg Lehmann
19876386e2
aco/gfx11: use v_nop to resolve VcmpxPermlaneHazard
...
The GFX11 ISA doc explicitly recommends using v_nop in
7.2.8. PERMLANE Specific Rules.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27118 >
2024-01-24 16:38:40 +00:00
Georg Lehmann
a626f765b5
aco: support v_permlane64_b32
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27118 >
2024-01-24 16:38:40 +00:00
Georg Lehmann
c67d4a75ba
aco: validate v_permlane opsel correctly
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27118 >
2024-01-24 16:38:40 +00:00
Georg Lehmann
bc57f14c2d
aco: fix printing dpp8
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27118 >
2024-01-24 16:38:39 +00:00
Rohan Garg
c69650a95e
isl,blorp,anv: introduce ISL_TILING_64_XE2 for Xe2+ platforms
...
Xe2+ changed the msaa mapping for 2D/3D Tile64 surfaces, introduce a
Xe2+ specific enum to handle this change.
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27113 >
2024-01-24 17:01:48 +01:00
Samuel Pitoiset
db4673ee72
radv: add a per-stage key field for mesh shaders with a task shader
...
This is to match VK_SHADER_CREATE_NO_TASK_SHADER_BIT_EXT.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27176 >
2024-01-24 14:52:34 +00:00
Samuel Pitoiset
1e1a6d8e26
radv: remove unused parameter to gather_shader_info_mesh()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27176 >
2024-01-24 14:52:34 +00:00
Mike Blumenkrantz
df45cbddb5
zink: set more dynamic states when using shader objects
...
fixes #10457
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27146 >
2024-01-24 14:17:27 +00:00
Karol Herbst
eca4f0f632
rusticl/kernel: check that local size on dispatch doesn't exceed limits
...
Cc: mesa-stable
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27232 >
2024-01-24 13:19:00 +00:00
Karol Herbst
2a0c15d5eb
rust/spirv: fix clippy lint on unneeded late initialization
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27232 >
2024-01-24 13:19:00 +00:00
Karol Herbst
4dd404dd2e
rusticl/meson: use rust_abi instead of rust_crate_type
...
`rust_crate_type` was deprecated in meson-1.3
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27232 >
2024-01-24 13:19:00 +00:00
Friedrich Vock
9f22b95956
nir: Handle casts in nir_opt_copy_prop_vars
...
Cc: mesa-stable
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27197 >
2024-01-24 12:39:48 +00:00
Friedrich Vock
6c845ed548
nir: Make is_trivial_deref_cast public
...
Cc: mesa-stable
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27197 >
2024-01-24 12:39:48 +00:00
Boris Brezillon
f6f7715c58
panfrost: Clamp the render area to the damage region
...
The render area clamping was lost during the transition to the FB
helpers. Restore the original logic so we can benefit from
EGL_KHR_partial_update on v4, and on v5 when only one damage
rectangle is passed.
Fixes: ff3eada7eb ("panfrost: Use the generic preload and FB helpers in the gallium driver")
Reported-by: Sjoerd Simons <sjoerd.simons@collabora.com >
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Tested-by: Sjoerd Simons <sjoerd.simons@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27215 >
2024-01-24 11:58:50 +00:00
Christian Gmeiner
69d39dba42
.gitignore: Add .venv folder
...
On my machine, this folder gets created by .gitlab-ci/bin/ci_run_n_monitor.sh.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27227 >
2024-01-24 10:53:14 +00:00
Tomeu Vizoso
60c2bcb8af
etnaviv: Use TP cores to accelerate tensor transformations
...
Vivante NPUs can contain systolic arrays that can be used to perform
several kinds of tensor transformations.
Use these to offload the CPU.
Acked-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25714 >
2024-01-24 10:02:11 +00:00
Tomeu Vizoso
d6473ce28e
etnaviv: Use NN cores to accelerate convolutions
...
Vivante NPUs contain MAC arrays that can be used to perform
convolution operations on tensors.
This commit implements the Gallium functions that accept convolutions
and executes them on these MAC arrays.
Acked-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25714 >
2024-01-24 10:02:11 +00:00
Tomeu Vizoso
f014f1bba9
etnaviv: Don't emit boilerplate for compute only contexts
...
The blob just emits the VIVS_GL_API_MODE and VIVS_PA_SYSTEM_MODE state
changes in a single job before any other jobs.
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25714 >
2024-01-24 10:02:10 +00:00
Tomeu Vizoso
30a8c071e9
etnaviv: Add a bunch of new params for NPUs
...
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25714 >
2024-01-24 10:02:10 +00:00
Tomeu Vizoso
9e05550888
etnaviv: Update headers from rnndb
...
Update to rnndb commit 8d7ee714cfe2.
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25714 >
2024-01-24 10:02:10 +00:00
Tomeu Vizoso
af199e0ff0
teflon: Initial commit
...
Teflon is a Gallium frontend that TensorFlow Lite can load to delegate
the execution of operations in a neural network model.
See docs for more.
Acked-by: Christian Gmeiner <cgmeiner@igalia.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25714 >
2024-01-24 10:02:10 +00:00
Tomeu Vizoso
9290410870
mesa: Import TensorFlow Lite headers
...
These define a stable API for implementing delegates that can be used in
a Gallium frontend.
Acked-by: Christian Gmeiner <cgmeiner@igalia.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25714 >
2024-01-24 10:02:10 +00:00
Tomeu Vizoso
d8fb1dc7ae
gallium/util: Fix pipe_buffer_copy
...
Some of the fields that were being left uninitialized were actually
being used later.
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25714 >
2024-01-24 10:02:10 +00:00
Tomeu Vizoso
a6d9e21c23
ci: disable Igalia farm
...
I'm having trouble merging stuff because of:
++ curl -L --retry 4 -f --retry-all-errors --retry-delay 60 'http://192.168.40.161:8888/cache/?uri=https://s3.freedesktop.org/artifacts/mesa/mesa/1085412/mesa-arm64-default-debugoptimized.tar.zst '
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
curl: (7) Failed to connect to 192.168.40.161 port 8888 after 21 ms: Couldn't connect to server
Warning: Problem (retrying all errors). Will retry in 60 seconds. 4 retries
Warning: left.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27231 >
2024-01-24 08:49:02 +01:00
Juan A. Suarez Romero
fdf6b22ffe
Revert "ci: disable Igalia farm"
...
This reverts commit c16645c091 .
Bring the farm back again.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27225 >
2024-01-24 01:01:02 +01:00
Guilherme Gallo
26564b8515
bin/ci: Don't submit jobs on integration test
...
`test_full_yaml_log` don't need to submit job, because it would need to
replicate/mock more stuff, like the first stage init, which is not
necessary to reproduce issues from the raw YAML log file.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26995 >
2024-01-23 22:47:24 +00:00
Guilherme Gallo
ffe2b31f9a
ci/lava: Detect hard resets during test phase
...
Hard resets should not occur during the test phase. Therefore, let's
detect them through specific log messages and raise an exception for a
known issue if it occurs. Without this detection, the job will continue
running on both Gitlab and LAVA until a timeout occurs.
Real case:
https://gitlab.freedesktop.org/mesa/mesa/-/jobs/53546660
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26995 >
2024-01-23 22:47:24 +00:00
Benjamin Lee
94d075d049
nak: handle nop ops from NAK IR on SM50
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27178 >
2024-01-23 22:26:44 +00:00
Benjamin Lee
fc232a67a4
nak: implement cs2r op on SM50
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27178 >
2024-01-23 22:26:43 +00:00
Benjamin Lee
48055f6a23
nak: implement kill op on SM50
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27178 >
2024-01-23 22:26:43 +00:00
Rob Clark
354c26d0c0
tu/drm/virtio: Fix dmabuf import
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27219 >
2024-01-23 21:57:59 +00:00
Felix DeGrood
1a43970276
driconf: Change vendorid on Palworld for Intel
...
Changing force_vk_vendor=-1 for Palworld makes Palworld run.
Not sure yet why. Game does not use XeSS currently.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10474
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27218 >
2024-01-23 21:15:10 +00:00
Eric Engestrom
aa56740ded
rpi5/ci: add flake seen today
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27221 >
2024-01-23 20:54:18 +00:00
Eric Engestrom
79a27848d7
rpi4/ci: add timeouts seen today
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27221 >
2024-01-23 20:54:18 +00:00
Eric Engestrom
d9abd16d96
rpi3/ci: add flake seen today
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27221 >
2024-01-23 20:54:18 +00:00
Rhys Perry
e465ac2561
nir/lower_shader_calls: remove CF before nir_opt_if
...
Otherwise, opt_if_simplification() can attempt to insert an inot after a
jump.
Fixes RADV compilation of a Cyberpunk 2077 pipeline with
PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27193 >
2024-01-23 19:02:03 +00:00
Rhys Perry
015b0d678f
nir/lower_non_uniform: set non_uniform=false when lowering is not needed
...
Fixes RADV compilation of a Doom Eternal pipeline with
PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT, because
nir_opt_non_uniform_access was skipped and later passes don't expect
non-uniform access.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: b1619109ca ("nir/lower_non_uniform: remove non_uniform flags after lowering")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27192 >
2024-01-23 18:09:39 +00:00
Rhys Perry
90939e93f6
radv: do nir_shader_gather_info after radv_nir_lower_rt_abi
...
Fixes compilation of a Doom Eternal shader with
PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT.
ac_nir_lower_resinfo() was not happening because it is predicated on
uses_resource_info_query and no later optimization updated it.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27195 >
2024-01-23 17:48:13 +00:00
Lionel Landwerlin
e1b9a6e4f3
anv: initial RMV support
...
Launch with :
$ MESA_VK_TRACE=rmv MESA_VK_TRACE_TRIGGER=/tmp/trig ./my_app
In another terminal, trigger a capture :
$ touch /tmp/trig
The application with create a snapshot and print out :
RMV capture saved to '/tmp/my_app_2024.01.19_10.56.33.rmv'
Then just open it with RMV :
./RadeonMemoryVisualizer /tmp/my_app_2024.01.19_10.56.33.rmv
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26843 >
2024-01-23 17:24:19 +00:00
Lionel Landwerlin
6d53fcd54e
anv: track imported ray tracing pipeline groups
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26843 >
2024-01-23 17:24:19 +00:00
Lionel Landwerlin
8229ee43ac
anv: track total state stream allocated blocks from the pool
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26843 >
2024-01-23 17:24:19 +00:00
Lionel Landwerlin
6933257211
anv: add BO flag for internal driver allocations
...
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26843 >
2024-01-23 17:24:19 +00:00
Lionel Landwerlin
82c08c4141
anv: rename layers entrypoints
...
Prefix everything with anv_ so it doesn't clash with other drivers if
loaded in the same process.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26843 >
2024-01-23 17:24:19 +00:00
Lionel Landwerlin
cb0af056bc
anv: remove unused perfetto declarations
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26843 >
2024-01-23 17:24:19 +00:00
Lionel Landwerlin
b87807028c
anv: reorder anv_astc_emu.c
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26843 >
2024-01-23 17:24:19 +00:00
Sil Vilerino
04ebb79b9e
d3d12: Clean up H264 video decode interlaced code path
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27213 >
2024-01-23 16:58:12 +00:00
Boris Brezillon
d9477f994a
panfrost: Move pan_{bo,device}.{c,h} to the gallium driver dir
...
We've refactored the common lib and panvk so they no longer depend
on panfrost_{device,bo}.{c,h}. Let's move those files to the gallium
driver dir so we're not tempted to use them again.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:10 +00:00
Boris Brezillon
211aa20194
panvk: Move away from panfrost_{bo,device}
...
Now that the rest of the code has been designed to not use
panfrost_{bo,device}, we can transition the remaining wrappers to
pan_kmod_{bo,vm,dev}.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:10 +00:00
Boris Brezillon
ab6a61829c
panvk: Keep tiler_heap and sample_positions BOs at the panvk_device level
...
We wrap panfrost_device's BOs with a panvk_priv_bo object and store
the result in panvk_device. This way we'll be able to transition to
explicit BO allocation without changing BO users code.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:10 +00:00
Boris Brezillon
c05104c71f
panvk: Keep a ref to a pan_kmod_bo in panvk_buffer
...
We don't need the panfrost_bo object which contains both the BO and
its CPU/GPU mappings. We store the GPU address at bind time. We also
have a hack for index buffers which are currently walked by the CPU
to extract the min/max index. Add a comment to make sure this field
goes away when indirect draw is fixed.
While at it, keep a ref to the buffer object so we don't end up with
a invalid deref (UAF) if the vulkan user does something silly like
freeing the VkDeviceMemory object while the VkBuffer is still active.
Flag this with a TODO to make sure we don't forget about it.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:10 +00:00
Boris Brezillon
06a2a857f7
panvk: Keep a ref to a pan_kmod_bo in panvk_image
...
We don't need the panfrost_bo object which contains both the BO and
its CPU/GPU mappings. We store the GPU address at bind time and store
it in the pimage object.
While at it, keep a ref to the buffer object so we don't end up with
a invalid deref (UAF) if the vulkan user does something silly like
freeing the VkDeviceMemory object while the VkImage is still active.
Flag this with a TODO to make sure we don't forget about it.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:10 +00:00
Boris Brezillon
00cdd1d743
panvk: Track blit src/dst using pan_kmod_bo objects
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:09 +00:00
Boris Brezillon
01c7abf56f
panvk: Transition panvk_{image,buffer}_view to panvk_priv_bo
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:09 +00:00
Boris Brezillon
d09f388824
panvk: Transition panvk_pipeline to panvk_priv_bo
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:09 +00:00
Boris Brezillon
57ea8e4a46
panvk: Transition panvk_descriptor_set to panvk_priv_bo
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:09 +00:00
Boris Brezillon
86109da54e
panvk: Transition panvk_pool to panvk_priv_bo
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:09 +00:00
Boris Brezillon
78e5bc1ee5
panvk: Add the concept of private BO
...
Those are all the BOs that are allocated for internal use (descriptor
allocation, mostly). Such BOs get allocated and immediately mapped in
CPU and GPU VMs.
The new panvk_priv_bo abstraction uses a pan_kmod_bo as we're trying
to get away from panfrost_bo in panvk.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:09 +00:00
Boris Brezillon
9672ddcc3a
panvk: Add pan_kmod_{vm,dev} objects to panvk_device
...
Will be needed for when we will transition away from panfrost_{bo,device}.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:09 +00:00
Boris Brezillon
48ff9fc818
panvk: Instantiate our own blitter/blend_shader caches
...
If we want to get rid of panfrost_device in panvk, we need to instantiate
our own blend shader and blitter caches.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:09 +00:00
Boris Brezillon
d155d6b7a3
panvk: Add a decode context at the panvk_device level
...
For now it points to panfrost_device::decode_ctx, but it will be
explicitly instantiated when we move away from panfrost_{device,bo}.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:09 +00:00
Boris Brezillon
acdcf5c0a1
panvk: Move panfrost_device and panvk_meta to panvk_device
...
Each logical device should come with its own GPU VM space, and given the
GPU VM space is attached the FD in panfrost, we need to move the
panfrost_device to panvk_device. As a result, we also need to move the
meta stuff there, because the meta logic is allocating GPU buffers.
Note that we instantiate a new kmod_dev at the physical device level
so we can query device properties. This device shouldn't be used for
any buffer allocation or GPU submission though.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:09 +00:00
Boris Brezillon
ea4dc54d72
panvk: Use vk_device::drm_fd instead of going back to the physical device
...
There's no reason to dereference the physical device if we can use
the value stored in vk_device, plus it gets rid of a few
panfrost_device_fd() call sites, which will help us transition away
from panfrost_device.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:09 +00:00
Boris Brezillon
92fa7468a1
panvk: Store various physical device properties at the physical_device level
...
This allows us to get rid of some panvk_physical_device::pdev
accesses.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:09 +00:00
Boris Brezillon
2e65d7347e
panvk: Stop passing panfrost_device around in internal meta helpers
...
We're better off passing the panvk_physical_device device directly,
as it contains both the meta cache and the panfrost_device object.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:09 +00:00
Boris Brezillon
e028b6dbe7
panvk: Get rid of unused pdev arguments passed to some meta helpers
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:09 +00:00
Boris Brezillon
c615b4ae10
panfrost: Add a helper to retrieve a panfrost_bo from a pan_kmod_bo
...
Will be useful to transition panvk out of panfrost_{device,bo}.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:09 +00:00
Boris Brezillon
446ec05fae
panfrost: Make pan_perf panfrost_device agnostic
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:09 +00:00
Boris Brezillon
b554c09399
panfrost: Make panfrost_texfeatures.c panfrost_device agnostic
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:09 +00:00
Boris Brezillon
f2c06d0813
panfrost: Remove uneeded pan_device.h inclusions
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:09 +00:00
Boris Brezillon
493cf2f008
panfrost: Make pan_desc.{c,h} panfrost_bo agnostic
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:09 +00:00
Boris Brezillon
f94889d079
panfrost: Make pan_texture.{c,h} panfrost_bo agnostic
...
All the helpers use pan_image_mem::bo just to get the base address.
So let's just store this information here, and let the user keep track
of the BO that's attached to the image resource.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:09 +00:00
Boris Brezillon
2d07926df1
panfrost: Make pan_props.c panfrost_device agnostic
...
Move the functions that are dealing with panfrost_device initialization
to a new panfrost_device.c file, and make the remaining ones
panfrost_device agnostic.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:09 +00:00
Boris Brezillon
7b4d1bb9be
panfrost: Make pan_pool.h panfrost_{device,bo} agnostic
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:09 +00:00
Boris Brezillon
1b1f1a6d76
panfrost: Make pan_indirect_dispatch panfrost_device agnostic
...
This is part of our effort to make libpanfrost panfrost_{device,bo}
agnostic.
Since we are now passed a pool for descriptor allocations, there's no
point doing a single allocation for both the RSD and TSD, and we can
replace the get_{tls,rsd}() helpers by two fields at the
pan_indirect_dispatch_meta level, thus simplifying the logic a bit.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:09 +00:00
Boris Brezillon
2bdcef6506
panfrost: Make pan_blitter.{c,h} panfrost_device agnostic
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:09 +00:00
Boris Brezillon
49aeced1a4
panfrost: Make pan_blitter.h includable from non per-gen files
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:09 +00:00
Boris Brezillon
146b51d9f4
panfrost: Remove unused header inclusions from pan_blitter.h
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:09 +00:00
Boris Brezillon
a01be2f21f
panfrost: Make pan_encoder.h panfrost_device agnostic
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:09 +00:00
Boris Brezillon
0651b8871b
panfrost: Make pan_sample.c panfrost_device agnostic
...
In order to do that, we create a pan_sample.h header, and make it so
the buffer allocation is left to the caller.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:09 +00:00
Boris Brezillon
387882d811
panfrost: Make pan_layout.c panfrost_device agnostic
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:09 +00:00
Boris Brezillon
f4f2b7492b
panfrost: Drop unused panfrost_device forward declaration in pan_shader.h
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:09 +00:00
Boris Brezillon
517c0458f2
panfrost: Make pan_desc.{c,h} panfrost_device agnostic
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:09 +00:00
Boris Brezillon
56438e06b9
panvk: Inline pan_wls_mem_size()
...
And get rid of the function in pan_desc.h.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:09 +00:00
Boris Brezillon
00fb95175f
panfrost: Pass tiler heap info through pan_tiler_context
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:09 +00:00
Boris Brezillon
42138ee1c8
panfrost: Pass no_hierarchical_tiling info through pan_tiler_context
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:09 +00:00
Boris Brezillon
00d4a7c7fd
panfrost: Pass the sample position array through pan_fb_info
...
Part of the attempt to make pan_desc.{c,h} panfrost_device-agnostic.
Let the caller pass the sample position array through pan_fb_info
instead of extracting it from panfrost_device.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:09 +00:00
Boris Brezillon
8b8942d4dc
panfrost: Pass the tile buffer budget through pan_fb_info
...
Pass the tile buffer budget through pan_fb_info instead of assuming
the it's always panfrost_device::optimal_tib_size. This way we let
the driver decide how much of the tile buffer it's allowed to use
instead of making it a general rule. Most importantly, it's one less
dependency on panfrost_device in pan_desc.c.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:09 +00:00
Boris Brezillon
95480bc2ab
panfrost: Get rid of unused panfrost_device arguments in pan_blitter.c
...
Get rid of the panfrost_device in all helpers where it's currently
unused.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:09 +00:00
Boris Brezillon
3e85e3ce08
panfrost: Make the pan_blend logic panfrost_device-agnostic
...
We keep embedding a blend shader cache in panfrost_device, but now we
have pan_blend source files that can be used without a panfrost_device
object.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:09 +00:00
Boris Brezillon
8a42913c23
panfrost: Stop passing a panfrost_device to pan_inline_rt_conversion()
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:09 +00:00
Boris Brezillon
9c8af69827
panfrost: Stop passing a panfrost_device to pan_blend_create_shader()
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:09 +00:00
Boris Brezillon
1b79735a63
panfrost: Stop exposing pan_blend_create_shader()
...
Not used outside pan_blend.c.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:09 +00:00
Boris Brezillon
0e7e22a808
panfrost: Stop passing a panfrost_device to pan_blend_get_internal_desc()
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:09 +00:00
Boris Brezillon
fbcc85108b
panfrost: Don't pass a panfrost_device to panfrost_afbc_can_tile()
...
Pass the arch directly.
While at it, make the helper a static inline function defined in
pan_texture.h.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:09 +00:00
Boris Brezillon
a758e95077
panfrost: Don't pass a panfrost_device to panfrost_format_supports_afbc()
...
Pass the arch instead.
While at it, make this helper a static inline function defined in
pan_texture.h.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:08 +00:00
Boris Brezillon
0d76cb0268
panfrost: Stop passing a panfrost_device to panfrost_new_texture()
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:08 +00:00
Boris Brezillon
5669622857
panfrost: Move YUV-debugging out of panfrost_new_texture()
...
It's a gallium driver specific knob, and we're trying to stop passing
a panfrost_device to panfrost_new_texture(), so let's move the
YUV-debugging tweak to panfrost_create_sampler_view_bo().
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:08 +00:00
Boris Brezillon
897733c55d
panfrost: Move panfrost_is_yuv() to pan_format.h
...
This way we can do the test outside pan_texture.c.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:08 +00:00
Boris Brezillon
fba7f38fda
panfrost: Add panfrost_[blendable]_format_table() helpers
...
The format tables selection is currently done in pan_props, but we will
soon need something similar in panvk if we want to get rid of
panfrost_device there.
Add panfrost_format_table() and panfrost_blendable_format_table() and
use them to populate the panfrost_device format tables.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:08 +00:00
Boris Brezillon
e0fe9c369a
panfrost: Make panfrost_format_to_bifrost_blend() a per-gen helper
...
Make panfrost_format_to_bifrost_blend() a per-gen helper so we don't
have to pass a panfrost_device object around.
While at it, pick a better name for this helper and move it to
pan_format.h.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:08 +00:00
Boris Brezillon
b87de3a2e0
panfrost: Add a per-gen panfrost_blendable_format_from_pipe_format() helper
...
Add a helper to retrieve a panfrost_blendable_format from a pipe_format
without using a panfrost_device object. Only works for
per-gen source files, but those are the main users of blendable formats
anyway.
Will be useful to stop using panfrost_device from panvk.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:08 +00:00
Boris Brezillon
e8d2b5b86d
panfrost: Add a per-gen panfrost_format_from_pipe_format() helper
...
This will allow us to get rid of panfrost_device arguments passed
to per-gen helpers that only need it for the format table, which
will help the transition to pan_kmod_dev in panvk.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:08 +00:00
Boris Brezillon
fe9d541d9d
panfrost: Kill unused forward declarations in pan_texture.h
...
pan_pool and pan_jc are never used in this file.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26698 >
2024-01-23 16:32:08 +00:00
Karol Herbst
bd901213dc
nak: make it compile with clippy
...
nobody actually cares about fixing clippy warnings/errors inside NAK, so
drop the flags for now to make it at least compile.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27216 >
2024-01-23 16:15:06 +00:00
Karol Herbst
548d919bd3
nak: simplify phi_dsts
...
clippy complained that nothing was actually looping here. Luckily we can
simplify the code.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27216 >
2024-01-23 16:15:06 +00:00
Karol Herbst
0a414ecdf5
nak/opt_out: fix comparison in try_combine_outs
...
clippy complained it was comparing the same thing
Fixes: 5b355ff25a ("nak: Fix opt_out")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27216 >
2024-01-23 16:15:06 +00:00
Benjamin Lee
c3fbd0dcb1
nak: use rro when emitting mufu on SM50
...
Fixes dEQP-VK.glsl.builtin.precision.*, which was previously failing for
trig functions, exp, and pow.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27203 >
2024-01-23 15:43:16 +00:00
Benjamin Lee
4a0f5fff87
nak: implement rro op on SM50
...
This is the "range reduction operator", which is needed to preprocess
srcs for some of the mufu ops on SM50.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27203 >
2024-01-23 15:43:16 +00:00
Tapani Pälli
d0a3bac163
anv: move *bits_for_access_flags to genX_cmd_buffer
...
This makes is possible to use GFX_VER macros in these functions.
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21364 >
2024-01-23 13:17:55 +02:00
Tapani Pälli
231ede4f0c
iris: replace constant cache invalidate with hdc flush
...
This implements Wa_14010840176.
Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21364 >
2024-01-23 13:17:48 +02:00
Juan A. Suarez Romero
c16645c091
ci: disable Igalia farm
...
For maintenance purposes.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27210 >
2024-01-23 09:33:51 +00:00
Lionel Landwerlin
ba87656079
anv: implement undocumented tile cache flush requirements
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27169 >
2024-01-23 08:03:12 +00:00
Lionel Landwerlin
0bc6462924
isl: add print helpers for debug
...
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27169 >
2024-01-23 08:03:12 +00:00
Lionel Landwerlin
58c9f817cb
anv: fix pipeline executable properties with graphics libraries
...
We're missing the ISA code in renderdoc. You can reproduce with the
Sascha Willems graphics pipeline demo.
The change is large here because we have to fix a confusion between
anv_shader_bin & anv_pipeline_executable. anv_pipeline_executable is
there as a representation for the user and multiple
anv_pipeline_executable can point to a single anv_shader_bin.
In this change we split the anv_shader_bin related logic that was
added in anv_pipeline_add_executable*() and move it to a new
anv_pipeline_account_shader() function.
When importing RT libraries, we add all the anv_pipeline_executable
from the libraries.
When importing Gfx libraries, we add the anv_pipeline_executable only
if not doing link time optimization.
anv_shader_bin related properties are added whenever we're importing a
shader from a library, compiling or finding in the cache.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 3d49cdb71e ("anv: implement VK_EXT_graphics_pipeline_library")
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26594 >
2024-01-23 07:38:02 +00:00
Yiwei Zhang
42fc83a6e3
venus: default to enable GPL
...
Update the debug option to NO_GPL to help with runtime debug, and
default to enable GPL.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27054 >
2024-01-23 01:33:09 +00:00
Yiwei Zhang
85df907ad8
venus: allow tls ring submission to utilize the entire ring shmem
...
Ring submissions on tls ring are synchronous and single threaded, thus
without perf degradation, a single cmd can use the entire ring shmem.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27054 >
2024-01-23 01:33:09 +00:00
Yiwei Zhang
80a5df16fe
venus: fix to respect the final pipeline layout
...
This fixes VUID-vkCmdDraw-None-08600 violation when running gpl cts:
dEQP-VK...graphics_library.misc.bind_null_descriptor_set.*, where the
final pipeline layout is falsely dropped, leading to incompatible with
the pipeline layout of the bound descriptor set.
Fixes: a65ac274ac ("venus: Do pipeline fixes for VK_EXT_graphics_pipeline_library")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27054 >
2024-01-23 01:33:09 +00:00
Yiwei Zhang
f713b17a16
venus: fix pipeline derivatives
...
This was unexpected dropped in the initial GPL impl.
Fixes: a65ac274ac ("venus: Do pipeline fixes for VK_EXT_graphics_pipeline_library")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27054 >
2024-01-23 01:33:09 +00:00
Yiwei Zhang
f256e8171c
venus: drop some redundant comment
...
The render pass (legacy or dynamic) can be ignored only in a pipeline
library with just Vertex Input State. For other cases, even when raster
has been discarded, it is still needed at the api level to avoid
violating a bunch of VUs which validate against attachments. The legacy
pass byitself is also necessary to tell whether it's legacy or dynamic.
So venus implemented at the VK api level should not drop render pass in
those cases.
The layout to be ref'ed is the one to be used, so we don't care about
those being ignored, which has already been removed in the pipeline info
fix.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27054 >
2024-01-23 01:33:09 +00:00
Yiwei Zhang
b551b6e48a
venus: fix pipeline layout lifetime
...
Should check the count instead of random ptr addr.
Fixes: 19f2b9d0bb ("venus: extend VkPipelineLayout lifetime for ...")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27054 >
2024-01-23 01:33:09 +00:00
David Heidelberg
7e8dce8c93
ci: bump kernel to 6.6.12, modularize i915, add Transparent Huge Pages
...
- new LTS kernel releease
- i915 able to load firmwares from rootfs (loaded later, but gaining PM
firmware loading support also necessary for ADL to loadup)
- i915 screams that without THP may have degraded perf, let him have it
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27185 >
2024-01-23 00:41:48 +00:00
Karol Herbst
459b522251
rusticl/program: add debug option to validate internal spirvs
...
Sometimes it's useful to validate SPIR-Vs we generate just to make sure
they are valid.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27204 >
2024-01-23 00:19:33 +00:00
Karol Herbst
6e70699e24
rusticl/program: add clc_validator_options helper function
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27204 >
2024-01-23 00:19:33 +00:00
Karol Herbst
421b73207c
rusticl/spirv: use bool::then_Some inside SPIRVBin::link
...
This makes the code way easier to read :)
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27204 >
2024-01-23 00:19:33 +00:00
Karol Herbst
93c1eb112f
rusticl/spirv: do not attempt to parse spirv after failed link
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27204 >
2024-01-23 00:19:33 +00:00
Karol Herbst
eb2afbc0e5
rusticl/program: rework debug logging option
...
the changes:
1. log also in clLinkProgram
2. log also if the operation succeeded to print warnings
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27204 >
2024-01-23 00:19:33 +00:00
Sagar Ghuge
6fcec87090
intel/fs: Track instance id in gs_thread_payload
...
This change moves the instance id gs_thread_payload constructor and
lowering code will simply use that.
Also, this change takes the Xe2 register width in consideration that
fixes a couple of tests involving geometry shaders with gl_InvocationID
on Xe2.
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26960 >
2024-01-22 22:15:38 +00:00
Juan A. Suarez Romero
0384e96aee
v3dv/ci: increase timeout for full jobs in 30min
...
Reached the maximum execution time in a couple of jobs.
Reviewed-by: Eric Engestrom <eric@igalia.com >
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27190 >
2024-01-22 21:27:48 +00:00
Konstantin Seurer
7ebf7f49a0
llvmpipe: Compile sample functioins on demand
...
The way this was implemented wasn't optimal. Compiling a functrion for
each lp_static_texture_state/lp_static_sampler_state/sample_key
combination is not great. This patch tries to contain the combinatory
explosion by compiling sample functions on demand inside the shader,
caching them and moving them to their intended locations when no chader
is running.
Improves CTS runtime by a lot.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27182 >
2024-01-22 20:29:40 +00:00
Konstantin Seurer
533d17ec71
llvmpipe: Stop refcounting sample functions
...
This would just make on-demand compilation more complicated.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27182 >
2024-01-22 20:29:40 +00:00
Eric Engestrom
c4d950ce37
rpi4/ci: skip more of the dEQP-VK.ssbo.phys.layout.* tests that timeout occasionally
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27202 >
2024-01-22 20:07:30 +00:00
Eric Engestrom
959819c458
rpi3/ci: update piglit & deqp expectations
...
Results from these jobs:
- https://gitlab.freedesktop.org/mesa/mesa/-/jobs/53885235
- https://gitlab.freedesktop.org/mesa/mesa/-/jobs/53941874
- https://gitlab.freedesktop.org/mesa/mesa/-/jobs/53941948
- https://gitlab.freedesktop.org/mesa/mesa/-/jobs/53941863
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27150 >
2024-01-22 19:46:25 +00:00
Sil Vilerino
a3c91624f4
d3d12: Implement cap for PIPE_VIDEO_CAP_ENC_INTRA_REFRESH
...
Fixes: c81967fa89 ("d3d12: Implement Intra Refresh for H264, HEVC, AV1")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27201 >
2024-01-22 13:47:25 -05:00
Hans-Kristian Arntzen
57cd0a0a28
wsi/x11: Make chain->status atomic.
...
Avoids having to take extra locks in acquire/present.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26954 >
2024-01-22 16:45:14 +00:00
Hans-Kristian Arntzen
b634537b8b
wsi/x11: Keep track of multiple presentation requests.
...
With present ID and IMMEDIATE/MAILBOX, waiting for completion
before submitting a new frame will limit frame rate to a multiple
of refresh rate, which is not ideal. We should be able to pump frames as
fast as IDLE callback, not limited by COMPLETE.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26954 >
2024-01-22 16:45:14 +00:00
Hans-Kristian Arntzen
b90b6a395d
wsi/x11: Implement VK_EXT_swapchain_maintenance1.
...
Allow toggling between all presentation modes.
After the rewrite, this is now trivial to support.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26954 >
2024-01-22 16:45:14 +00:00
Hans-Kristian Arntzen
19dba854be
wsi/x11: Rewrite implementation to always use threads.
...
The current implementation has many different code paths which get very
messy to reason about and maintain.
- FIFO mode worked well enough.
- IMMEDIATE did not need a thread at all, but present wait
implementation complicated a lot of things since we had to handle
concurrent special event reads.
- MAILBOX (and Xwayland) adds even more jank on top of this where
have present thread, but no acquire thread, so there are tons of
forward progress issues to consider.
In the new model, we have two threads:
- Queue thread is only responsible for receiving presents, waiting for
them if necessary, and submitting them to X.
- Event thread pumps the special event queue and notifies
other threads about frame completions.
- Application thread does not interact with X directly, only through
acquire/present queues and present wait condvar.
Two threads are required to implement IMMEDIATE and MAILBOX well.
IDLE events can come back at any time and the queue thread might be
waiting for a new presentation request to come through.
This new model has the advantage that we will be able to implement
VK_EXT_swapchain_maintenance1 in a more reasonable way, since we can
just toggle the present mode per present request as all presentation
go through the same system.
Some cleanups were done as well:
- We no longer need the busy bool. Since everything goes through thread,
we just rely on acquire/present queues.
- SW/non-MITSHM path is also moved to thread. Move acquire-specific
logic to the thread as well.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26954 >
2024-01-22 16:45:14 +00:00
Alejandro Piñeiro
0a3784ae33
v3dv/bo: use mtx_lock/unlock on cache_init too
...
To handle coverity warning:
4. thread2_modifies_field: Thread2 sets cache_size to a new value. Note that this write can be reordered at runtime to occur before instructions that do not access this field within this locked region. After Thread2 leaves the critical section, control is switched back to Thread1.
CID 1559509 (#1 of 1): Check of thread-shared field evades lock acquisition (LOCK_EVASION)6. thread1_overwrites_value_in_field: Thread1 sets cache_size to a new value. Now the two threads have an inconsistent view of cache_size and updates to fields correlated with cache_size may be lost.
521 cache->cache_size += bo->size;
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26951 >
2024-01-22 16:47:08 +01:00
Alejandro Piñeiro
ffd0e3a7fe
broadcom/compiler: fix coverity warning (unitialized pointer read)
...
Full coverity warning:
CID 1558604: Uninitialized pointer read (UNINIT)12. uninit_use_in_call: Using uninitialized value *results when calling nir_vec.
236 return nir_vec(b, results, DIV_ROUND_UP(num_components, 2));
To fix it we initialize the variables, provide a unreachable on the
switch that sets the results values. As we are here we also move a
comment to make things more clear.
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26951 >
2024-01-22 16:46:57 +01:00
Karol Herbst
f2b7c4ce29
nir: rework and fix rotate lowering
...
No driver supports urol/uror on all bit sizes. Intel gen11+ only for 16
and 32 bit, Nvidia GV100+ only for 32 bit. Etnaviv can support it on 8,
16 and 32 bit.
Also turn the `lower` into a `has` option as only two drivers actually
support `uror` and `urol` at this momemt.
Fixes crashes with CL integer_rotate on iris and nouveau since we emit
urol for `rotate`.
v2: always lower 64 bit
Fixes: fe0965afa6 ("spirv: Don't use libclc for rotate")
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by (Intel and nir): Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Acked-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27090 >
2024-01-22 10:27:44 +00:00
Eric R. Smith
a50b2f8f25
panfrost: fix panfrost drm-shim
...
The panfrost driver now makes an ioctl to retrieve some new memory
parameters, and DRM_PANFROST_PARAM_MEM_FEATURES is required (does not
default in the caller). This caused drm-shim to stop working. This
patch adds some defaults to get drm-shim working again.
Signed-off-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Fixes: 91fe8a0d28 ("panfrost: Back panfrost_device with pan_kmod_dev object")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27162 >
2024-01-22 09:36:47 +00:00
Lionel Landwerlin
59b652f10f
anv: using a single struct for kernel upload
...
A bit nicer than adding more and more arguments to the upload
function.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27188 >
2024-01-22 08:42:37 +00:00
Samuel Pitoiset
783e3c096f
radv: fix indirect draws with NULL index buffer on GFX10
...
GFX10 has a hw bug and it can't handle 0-sized index buffer. The
non-indirect draw path was fine but not the indirect path where RADV
emits the index buffer.
This fixes flakes with dEQP-VK.*maintenance6* on NAVI14, and possibly
GPU hangs if there is an indirect draw with a valid index buffer right
before because it would re-use the same index buffer.
Fixes: db9816fd66 ("radv: add support for NULL index buffer")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27142 >
2024-01-22 08:14:23 +00:00
Samuel Pitoiset
5c03cdbd02
radv: fix indirect dispatches on the compute queue on GFX7
...
GFX7 CP requires the indirect dispatch VA to be aligned to 32-bytes.
This fixes dEQP-VK.api.command_buffers.many_indirect_disps_on_secondary,
but it's unexpected that it uncovered this bug.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27148 >
2024-01-22 07:41:05 +00:00
Francisco Jerez
c3a64f8dd1
intel/fs/xe2+: Allow SIMD16 MULH instructions.
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27165 >
2024-01-20 19:55:31 +00:00
Francisco Jerez
54f3d5a00c
intel/fs: Emit QUAD_SWIZZLE instructions with WE_all for derivative lowering.
...
Otherwise the code generator will attempt to emit SIMD-lowered
QUAD_SWIZZLE instructions with an execution group not multiple of 8,
which is invalid on Xe2+.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27165 >
2024-01-20 19:55:31 +00:00
Francisco Jerez
3e710a84ad
intel/fs: Set the default execution group to 0 when not representable by the platform.
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27165 >
2024-01-20 19:55:31 +00:00
Francisco Jerez
43c9620dbf
intel/eu/xe2+: Translate brw_reg fields in REG_SIZE units to physical 512b GRF units during codegen.
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27165 >
2024-01-20 19:55:31 +00:00
Francisco Jerez
8bc3821520
intel/fs/xe2+: Disable bank conflict mitigation pass for now.
...
Reworks:
* Added a TODO comment.
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27165 >
2024-01-20 19:55:31 +00:00
Francisco Jerez
6efcba9e36
intel/ir/xe2+: Add support for 32 SBID tokens to performance model.
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27165 >
2024-01-20 19:55:31 +00:00
Konstantin Seurer
a9c057d5a3
radv: Implement NIR debug printf
...
Adds radv_build_printf which can print nir_defs. The arguments are written
to a buffer and printed after the submit.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25753 >
2024-01-20 16:11:55 +01:00
Konstantin
03379d74ba
util/printf: Expose util_printf_prev_tok
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25753 >
2024-01-20 16:11:55 +01:00
Konstantin
d05f8f6146
util/printf: Include stdio.h
...
Needed for FILE.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25753 >
2024-01-20 16:11:55 +01:00
Yonggang Luo
87417012f3
zink: Update zink-anv-tgl flakes
...
It's from https://gitlab.freedesktop.org/mesa/mesa/-/jobs/53978300
and https://gitlab.freedesktop.org/mesa/mesa/-/jobs/53985604
and appeared multiple times
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27179 >
2024-01-20 09:50:09 +00:00
Eric Engestrom
908f444ec1
ci/deqp: backport fix for zlib.net not allowing tarball download anymore
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27175 >
2024-01-20 08:20:12 +00:00
Jesse Natalie
ebcab145cf
dzn: Add a debug option to enable experimental shader models
...
This allows us to run with unsigned shaders
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27160 >
2024-01-20 00:07:15 +00:00
Jesse Natalie
90bf4b630b
microsoft/compiler: Handle comparison bias/gradient sampling
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27160 >
2024-01-20 00:07:15 +00:00
Jesse Natalie
733b7fe831
microsoft/compiler: Declare shader model 6.8 / validator 1.8
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27160 >
2024-01-20 00:07:15 +00:00
Helen Koike
bf461d856f
ci/ci_post_gantt: add script that post gantt to Marge's messages
...
Generate Gantt chart and post an in thread reply to Marge's messages
with it in html format.
html format is used for being interactive.
Signed-off-by: Helen Koike <helen.koike@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26796 >
2024-01-20 00:02:56 +00:00
Rob Clark
1a9a71e2d9
freedreno/registers: A couple newline changes
...
Mostly to avoid massive diffstat consisting of inserted newlines
compared to headergen2.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27124 >
2024-01-19 23:26:58 +00:00
Rob Clark
2e733e94d8
freedreno/registers: Add basic kernel header support
...
This doesn't yet add support for everything the mdp5/mdp4 reg builders
need, but at least gets us to the point where we can use it for GPU
registers, avoiding the need to add reg variant support to headergen2.
See: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7978
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27124 >
2024-01-19 23:26:58 +00:00
Rob Clark
ab64afc109
freedreno/registers: Generate copyright comment blurb
...
Similar to headergen2, the output matches as closely as is reasonable.
The time format and file listing ends up being slightly different but
those would be part of the diffstat when we next update kernel headers
regardless.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27124 >
2024-01-19 23:26:58 +00:00
Rob Clark
8eca68d2de
freedreno/registers: Don't re-parse files
...
Track the files we've parsed, and skip ones we have already seen, if
(for example) we see the same paths imported from imported files.
Additionally having the list of files we have parsed will be useful to
generate a headergen-like top-of-file license comment.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27124 >
2024-01-19 23:26:58 +00:00
Rob Clark
d1567249e9
freedreno/registers: De-duplicate xml_reg_files
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27124 >
2024-01-19 23:26:58 +00:00
Rob Clark
15f94505ba
freedreno/registers: Pass full args to dump_c()
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27124 >
2024-01-19 23:26:58 +00:00
Rob Clark
670e93bfb5
freedreno/a6xx: fix comment
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27124 >
2024-01-19 23:26:57 +00:00
Caio Oliveira
5552ffd0f3
intel: Use an intel enum for cmat scope
...
While convenient, it was not necessary to use the mesa_scope in
intel_device_info.
Having a Intel specific enum here will help later the efforts
of serialization of intel_device_info.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27164 >
2024-01-19 22:09:25 +00:00
Georg Lehmann
0a03cf5b3c
aco: remove boolean shuffle isel
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27116 >
2024-01-19 20:13:34 +00:00
Georg Lehmann
b4180ebbb9
radeonsi: lower boolean shuffle
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27116 >
2024-01-19 20:13:34 +00:00
Georg Lehmann
2571580b2b
radv: lower boolean shuffle
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27116 >
2024-01-19 20:13:34 +00:00
Georg Lehmann
d641750573
nir: add lowering for boolean shuffle
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27116 >
2024-01-19 20:13:34 +00:00
Georg Lehmann
37a15ba53a
ac/llvm: implement as_uniform and ballot_relaxed
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27116 >
2024-01-19 20:13:34 +00:00
Georg Lehmann
6b031daf16
aco: implement as_uniform and ballot_relaxed
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27116 >
2024-01-19 20:13:34 +00:00
Georg Lehmann
1cb5bf7009
nir: add ballot_relaxed and as_uniform intrinsics
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27116 >
2024-01-19 20:13:33 +00:00
Eric Engestrom
fc9ffb90fd
r300/ci: add flakes
...
See https://gitlab.freedesktop.org/mesa/mesa/-/jobs/53884563
and https://gitlab.freedesktop.org/mesa/mesa/-/jobs/53941840
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27152 >
2024-01-19 19:00:01 +00:00
Georg Lehmann
74fc2e287f
aco: stop scheduling at p_logical_end
...
No Foz-DB changes, but this fixes some issues when the spiller inserts
scratch loads after p_logical_end for p_return.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27119 >
2024-01-19 17:04:28 +00:00
Daniel Almeida
d1519e6ab7
nak/sm50: add support for suatom
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26957 >
2024-01-19 16:45:59 +00:00
Daniel Almeida
9f54d269c2
nak/sm50 add support for suld
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26957 >
2024-01-19 16:45:59 +00:00
Faith Ekstrand
458d4150df
nak: Legalize OpBMsk
...
Fixes: bb10f7f5da ("nak: Implement nir_op_bfm")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27177 >
2024-01-19 16:27:52 +00:00
Daniel Schürmann
e3098bb232
aco: give spiller more room to assign spilled SGPRs to VGPRs
...
On chordal graphs, a greedy coloring can be done in a way that never uses
more colors than are required for the largest clique. However, since we
have vector values and force phi resources into the same spill slots, the
interference graphs are not chordal, and thus, this assumption doesn't hold.
Use twice as many spill slots as upper bound.
Totals from 10 (0.01% of 79242) affected shaders: (GFX11)
MaxWaves: 52 -> 54 (+3.85%)
Instrs: 271386 -> 271779 (+0.14%)
CodeSize: 1362544 -> 1365432 (+0.21%)
VGPRs: 2536 -> 2532 (-0.16%)
SpillVGPRs: 778 -> 818 (+5.14%)
Scratch: 73472 -> 76800 (+4.53%)
Latency: 3331718 -> 3328798 (-0.09%); split: -0.14%, +0.05%
InvThroughput: 1665860 -> 1643350 (-1.35%); split: -1.40%, +0.05%
VClause: 3292 -> 3329 (+1.12%); split: -0.06%, +1.18%
Copies: 46082 -> 46257 (+0.38%)
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27011 >
2024-01-19 14:15:27 +00:00
Erik Faye-Lund
47d7d73eb3
panfrost: implement line-smoothing
...
We can combine the previously introduced mechanisms to implement
line-smoothing, combined with some bespoke late RSD-patching to force
the correct multisampling and rasterization states.
The reason we need to do this patching late, is that we need to know the
primitive-type before we can determine this state, and we don't know
this until draw-time. Luckily, we have a convenient spot to do this.
This bespoke patching only happens for gen7 and earlier. Luckily, the
bits here remain the same for all of these gens. On later gens, we can
just emit this normally, without any bespoke patching.
We also need to use a fresh batch when changing the effective smoothing
state, because that's framebuffer-state. This applies to all gens.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10281
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26904 >
2024-01-19 13:55:06 +00:00
Erik Faye-Lund
a3cbfb5bd9
panfrost: clean up active_prim update
...
How we're updating active_prim is currently a bit convoluted, because we
update it from two different places: First, we update it right before
updating the shader-variant in the case of point-sprite changes, and
then later on we update it unconditionally.
But we're about to need to change this logic, because we also need to
deal with line-smooth lowering. So let's clean this up a tad first, by
moving both updates to the same function, and renaming it a bit. This
let's us cleanly update it in one place, and then react to the change.
While we're at it, let's replace the bitwise xor with a logical
not-equals, which makes this all logical operations.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26904 >
2024-01-19 13:55:06 +00:00
Erik Faye-Lund
6343e0bbd0
panfrost: add line_smooth shader-key and lowering
...
Unfortunately, the lowering-pass has gotten a condition added that we
don't really want. So we need to lower away the
load_poly_line_smooth_enabled-intrinsic to always return true to get rid
of it again.
It's not great, but line-smoothing isn't the most important feature to
have max performance on, so... meh?
An alternative here could be to make the condition in
nir_lower_poly_line_smooth optional, but that seems kinda hairy
code-wise. Dunno.
We also need to run nir_lower_alu in order to lower away bit_count on
midgard.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26904 >
2024-01-19 13:55:06 +00:00
Erik Faye-Lund
4b6972366a
panfrost: pass reduced primitive type instead of points
...
We're soon going to have to check for other primitive-types, like lines.
So let's pass the reduced primitive type here instead.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26904 >
2024-01-19 13:55:06 +00:00
Erik Faye-Lund
e9ada4c0a2
panfrost: add support for forcing sample-counts
...
This implements a D3D11-style forcing of the sample-counts, which will
be used by the line-smoothing code we're about to add.
Even though we don't actually use the single-sample mode, I left it in
for completeness, as it's documented in the TRM.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26904 >
2024-01-19 13:55:06 +00:00
Dave Airlie
550cc685a7
gallivm: fix coroutines with llvm 18
...
llvm 18 added an extra parameters to coro end which should just
take a null token always for us.
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27133 >
2024-01-19 13:18:58 +00:00
Martell Malone
3b62b0d096
nine: update verbiage for enduser device messages
...
Sometimes the gpu might not be a card, implying pci card.
It might be a soc or we might cpu emulate a device.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25901 >
2024-01-19 13:00:29 +00:00
Martell Malone
41107e4e64
nine: detect emulation fallback of d3d coordinates
...
When PIPE_CAP_CLIP_HALFZ is not available nine uses emulation.
This requires PIPE_CAP_NIR_COMPACT_ARRAYS or it fails like before
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25901 >
2024-01-19 13:00:29 +00:00
Martell Malone
60e3a43bfc
nine: r500 under 20 fragments cap is a warning
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25901 >
2024-01-19 13:00:29 +00:00
Frank Binns
500ca5ce7e
pvr: split out device info into per GPU headers
...
There are quite a lot of PowerVR GPUs out there and maintaining the device info
for all of them in the same file will become unwieldy.
Signed-off-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Luigi Santivetti <luigi.santivetti@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27144 >
2024-01-19 12:20:18 +00:00
Frank Binns
09ab2ff925
pvr: fix up some includes
...
Fix up some system includes to use angle brackets.
Signed-off-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Luigi Santivetti <luigi.santivetti@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27144 >
2024-01-19 12:20:18 +00:00
Eric Engestrom
7a7aa01a49
amd/ci: consider much more of dEQP-VK.query_pool.statistics_query.host_query_reset.* to be flaky
...
Instead of continuously adding more and more lines to this list.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27170 >
2024-01-19 11:12:46 +00:00
Frank Binns
7d67debc2e
CODEOWNERS: update Imagination maintainers
...
Signed-off-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Ashish Chauhan <ashish.chauhan@imgtec.com >
Reviewed-by: Luigi Santivetti <luigi.santivetti@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27145 >
2024-01-19 10:26:15 +00:00
Eric Engestrom
7c4a797bc9
amd/ci: add flakes seen today
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27149 >
2024-01-19 10:08:27 +00:00
Eric Engestrom
dcc8c8aa4a
radv/ci: sort navi21 flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27149 >
2024-01-19 10:08:27 +00:00
antonino
14345c4dd6
zink: plug leak in zink_create_quads_emulation_gs
...
When the shader is freed xfb info should be freed as well.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27093 >
2024-01-19 09:10:29 +00:00
Alyssa Rosenzweig
3a72fc1cb7
nir/passthrough_gs: plug leak
...
freeing the nir shader should free the xfb info too. found with valgrind
leakcheck.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27093 >
2024-01-19 09:10:29 +00:00
Pavel Ondračka
15e7c63272
r300: remove R3xx/R4xx backend absulute modifier lowering
...
This is done in NIR already.
Reviewed-by: Filip Gawin <filip.gawin@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26848 >
2024-01-19 08:35:48 +00:00
Pavel Ondračka
78404cc57d
r300: skip backend DCE for vertex shaders
...
Only mark the unused channels according to the writemask for now, but
this can go as well when we translate directly form NIR. Right now we
still need to do this separatelly as TGSI has no concept of unused
swizzle.
The old DCE pass was known to be buggy, so this also fixes at least
piglit glsl-vs-copy-propagation-1.
Reviewed-by: Filip Gawin <filip.gawin@collabora.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9279
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26848 >
2024-01-19 08:35:48 +00:00
Pavel Ondračka
0e2e4688af
r300: fix writemask for nir_intrinsic_load_ubo_vec4
...
load_ubo_vec4 has always 4 components, however when translating to TGSI
just set the writemask according to the channels that are actually used
later. This is now done by deadcode analysis, but that one is going away
soon.
Reviewed-by: Filip Gawin <filip.gawin@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26848 >
2024-01-19 08:35:48 +00:00
Friedrich Vock
43bdfebbff
radv: Fix shader replay allocation condition
...
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26891 >
2024-01-19 08:15:12 +00:00
Joshua Ashton
86954c766f
radv: Ensure vkGetQueryPoolResults returns in finite-time
...
When a device lost occured, we were not ensuring that
vkGetQueryPoolResults with VK_QUERY_RESULT_WAIT_BIT was returning.
We could have the caller stuck in our while(...) loop polling the query
atomics forever which violates the finite-time guarantees of this function.
This solves that by adding a timeout to this call to be double the
default TDR timeout for the potential queues relating to this query.
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27091 >
2024-01-19 07:52:01 +00:00
Joshua Ashton
907fe6ea62
radv: Add radv_get_tdr_timeout_for_ip helper
...
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27091 >
2024-01-19 07:52:01 +00:00
Joshua Ashton
ed4ef4dc65
radv/amdgpu: Remove ctx_query_reset_status
...
We don't use this anymore, it is all dead code.
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27091 >
2024-01-19 07:52:01 +00:00
Joshua Ashton
f62bdde703
radv: Remove check_status
...
Following discussion on kernel mailing list[1], we are not gaining
anything from this right now, and it does not handle soft recovery.
We will hear about the context loss and rationale when we vkQueueSubmit
next.
We can come back to this if there is ever a Vulkan extension for
figuring out innocent vs guilty like GL_EXT_robustness.
This does mean however that we return VK_SUCCESS for cancelled semaphore
and fence waits, but this is legal per the Vulkan spec:
"Commands that wait indefinitely for device execution (namely
vkDeviceWaitIdle, vkQueueWaitIdle, vkWaitForFences with a maximum
timeout, and vkGetQueryPoolResults with the VK_QUERY_RESULT_WAIT_BIT
bit set in flags) must return in finite time even in the case of a lost
device, and return either VK_SUCCESS or VK_ERROR_DEVICE_LOST."
"If device loss occurs (see Lost Device) before the timeout has expired,
vkWaitSemaphores must return in finite time with either VK_SUCCESS or
VK_ERROR_DEVICE_LOST."
[1]: https://lists.freedesktop.org/archives/amd-gfx/2024-January/103337.html
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27091 >
2024-01-19 07:52:01 +00:00
Joshua Ashton
b24a4b8949
radv: Mark device loss if QueueSubmit failed immediately
...
Otherwise we rely on check_status alone, and that's going away.
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27091 >
2024-01-19 07:52:01 +00:00
Joshua Ashton
c58cff3ce4
radv/amdgpu: Handle -ENODATA and -ETIME from cs_submit
...
This can be sent in the event of a soft/hard recovery.
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27091 >
2024-01-19 07:52:01 +00:00
Samuel Pitoiset
7a0b343495
aco: silent checking if clrxdisasm is available
...
Otherwise, this is reported a ton of times and the CI output is
unusable.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27136 >
2024-01-19 07:33:56 +00:00
Jesse Natalie
34a27ac3a7
d3d12: Set up spirv-as and fix expectations
...
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27127 >
2024-01-19 05:16:23 +00:00
Jesse Natalie
13cc5afb35
ci/windows: Rev Vulkan SDK and piglit
...
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27127 >
2024-01-19 05:16:23 +00:00
José Roberto de Souza
b571ae6e7a
intel: Make memory heaps consistent between KMDs
...
Xe KMD reports SMEM size as half of RAM while i915 returns the whole
RAM size, so to keep it consistent here adjusting the values
returned by i915 KMD.
The free i915 SMEM also needs to be ajusted but as this is needed by
both KMDs because KMD uAPIs only reports free memory for applications
running elevated privileges, so this was moved to
intel_device_info_ajust_memory() to be shared by both KMD backends.
sram.mappable.size asserts had to be removed from i915 code paths
because of this adjustment.
anv_compute_sys_heap_size() was dropped in ANV and reduce in HASVK
because adjustments are now done in intel/dev level.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26567 >
2024-01-19 03:36:07 +00:00
José Roberto de Souza
ca94420d6d
intel/dev: Reduce usage of intel_device_info_compute_system_memory()
...
This function should only be used when i915 versions that don't have
DRM_I915_QUERY_MEMORY_REGIONS.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26567 >
2024-01-19 03:36:07 +00:00
Benjamin Lee
f05350899a
nak: fix iabs on SM50 with an explicit i2i op
...
Fixes bug where we were not setting the src iabs modifier when lowering
an iabs op to i2i in the encoder.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27105 >
2024-01-19 02:48:04 +00:00
Faith Ekstrand
7f332f4087
nak: Enable NIR fuse_ffmaN
...
This improves vkpeak perf by 40-50% on the Ada GPU in my laptop. There
are probably more optimal things we can be doing (Intel's pass is pretty
clever) but this is already an improvement.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27157 >
2024-01-19 02:34:41 +00:00
Caio Oliveira
4dbf9181cd
intel/compiler: Fix rebuilding the CFG in fs_combine_constants
...
When building the CFG the instructions are taken of the list in
fs_visitor and added to the lists inside each block. The single
"exec_node" in the instruction is used for those memberships.
In the case the pass rebuilt the CFG, it had no instructions, so
calculate_cfg() had nothing to work with. For now fix the bug by
pulling all the instructions back to the original list.
We can do better here, but punting until upcoming work on
CFG itself.
Issue found in an unpublished CTS test. Small reproduction in our
unit tests now enabled.
Fixes: 65237f8bbc ("intel/fs: Don't add MOV instructions to DO blocks in combine constants")
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27131 >
2024-01-19 01:59:36 +00:00
Caio Oliveira
e9bfdcf576
intel/compiler: Add couple of tests for fs_combine_constants
...
Add a simple test to kick off the infrastructure. And also a test
(for now disabled) that fails because the code is returning an
empty shader. Next patch will fix and enable it.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27131 >
2024-01-19 01:59:36 +00:00
Faith Ekstrand
280fe3f592
nvk: Wire up nir_opt_large_constants
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27156 >
2024-01-19 01:07:30 +00:00
Faith Ekstrand
0bc02eee4b
nak: Refactor shader upload math
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27156 >
2024-01-19 01:07:30 +00:00
Faith Ekstrand
148971f232
nvk/draw: Map cbuf slots to shaders, not cbuf_maps
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27156 >
2024-01-19 01:07:30 +00:00
Joshua Ashton
2b47e93c8a
winsys/amdgpu: Limit usage of query_reset_state2
...
Following discussion on kernel mailing list[1], we are not gaining
anything from using this to figure out if we reset, and it does not
handle soft recovery.
We will hear about the context loss and rationale when we submit.
Instead, only use this for figuring out if the reset we already knew
about was completed.
[1]: https://lists.freedesktop.org/archives/amd-gfx/2024-January/103337.html
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Reviewed-by: André Almeida <andrealmeid@igalia.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27097 >
2024-01-18 23:21:48 +00:00
Joshua Ashton
cf24d15503
winsys/amdgpu: Hook up guilt to amdgpu_ctx_set_sw_reset_status
...
Certain return values have certain meanings indicating context loss and
guilt. Hook those up here.
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27097 >
2024-01-18 23:21:48 +00:00
Konstantin Seurer
024f144165
lavapipe: Report the correct preprocess buffer size
...
There can be multiple sequences.
Fixes: 976dd26 ("lavapipe: NV_device_generated_commands")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27019 >
2024-01-18 22:50:00 +00:00
Konstantin Seurer
cc94ff081c
lavapipe: Mark vertex elements dirty if the stride changed
...
Fixes: 7672545 ("gallium: move vertex stride to CSO")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27019 >
2024-01-18 22:50:00 +00:00
Konstantin Seurer
6d98142eda
gallivm: Use saturating fpto*i conversions
...
Matches what vkd3d-proton expects and how other hardware (AMD) behaves.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27019 >
2024-01-18 22:50:00 +00:00
Konstantin Seurer
6d88c1bb6c
lavapipe: Fix DGC vertex buffer handling
...
Fixes: 976dd26 ("lavapipe: NV_device_generated_commands")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27019 >
2024-01-18 22:50:00 +00:00
Konstantin Seurer
e83ef27ba6
radv: Vectorize load_global_constant
...
Totals from 325 (0.38% of 84845) affected shaders:
Instrs: 2883767 -> 2880939 (-0.10%); split: -0.10%, +0.00%
CodeSize: 15388396 -> 15364976 (-0.15%); split: -0.16%, +0.00%
Latency: 20212583 -> 20197719 (-0.07%); split: -0.20%, +0.13%
InvThroughput: 5489738 -> 5489551 (-0.00%); split: -0.14%, +0.14%
VClause: 104225 -> 103944 (-0.27%); split: -0.30%, +0.03%
SClause: 71616 -> 71612 (-0.01%); split: -0.01%, +0.01%
Copies: 252143 -> 252284 (+0.06%); split: -0.10%, +0.15%
Branches: 117826 -> 117821 (-0.00%); split: -0.01%, +0.00%
PreVGPRs: 23502 -> 23506 (+0.02%)
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27084 >
2024-01-18 21:30:39 +00:00
Konstantin Seurer
220c912080
ac/llvm: Enable helper invocations for quad OPs
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9239
cc: mesa-stable
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27110 >
2024-01-18 21:00:06 +00:00
Faith Ekstrand
5b1afb0482
nvk: Advertise VK_NV_shader_sm_builtins
...
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27154 >
2024-01-18 20:20:06 +00:00
Faith Ekstrand
a55b2996ab
nak: Add support for SPV_NV_shader_sm_builtins
...
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27154 >
2024-01-18 20:20:06 +00:00
Faith Ekstrand
82fe981e35
nir,spirv: Add support for SPV_NV_shader_sm_builtins
...
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27154 >
2024-01-18 20:20:06 +00:00
Tapani Pälli
02d7f5e4ff
anv: expand pre-hiz data cache flush to gfx >= 125
...
Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27132 >
2024-01-18 19:45:04 +00:00
Tapani Pälli
93706d5c2f
iris: expand pre-hiz data cache flush to gfx >= 125
...
Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27132 >
2024-01-18 19:45:04 +00:00
Ian Romanick
7481d61a5d
intel/compiler: Track mue_compaction and mue_header_packing flags in brw_get_compiler_config_value
...
v2: Use u_foreach_bit64. Suggested by Lionel.
Fixes: 48885c7fe3 ("intel/compiler: load debug mesh compaction options once")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26993 >
2024-01-18 19:20:12 +00:00
Ian Romanick
6f237a23c7
intel/compiler: Track lower_dpas flag in brw_get_compiler_config_value
...
This user-settable flag affects compiler output, so it should be tracked
in the cache hash.
Fixes: 3756f60558 ("intel/fs: DPAS lowering")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Suggested-by: Lionel Landwerlin
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26993 >
2024-01-18 19:20:12 +00:00
Ian Romanick
2741c6464c
intel/compiler: Use u_foreach_bit64 in brw_get_compiler_config_value
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Suggested-by: Lionel Landwerlin
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26993 >
2024-01-18 19:20:12 +00:00
Ian Romanick
951e08fc18
intel/compiler: Disable DPAS instructions on MTL
...
Reviewed-by: Mark Janes <markjanes@swizzler.org >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 3756f60558 ("intel/fs: DPAS lowering")
Closes : #10376
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26993 >
2024-01-18 19:20:12 +00:00
Gurchetan Singh
a1e67b3933
mesa/vulkan: use DETECT_OS_ANDROID
...
This uses DETECT_OS_ANDROID instead of defined(ANDROID).
This better supports glibc based host builds in the Soong
build system.
Reviewed-by: Aaron Ruby <aruby@blackberry.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26874 >
2024-01-18 18:45:40 +00:00
Gurchetan Singh
c27cd96f31
mesa/vulkan: use a simpler path for header in trampoline gen
...
This works better if vk_dispatch_table.h is inside some "genDir",
and not generated "src/vulkan/util" directory. This is the
case for the AOSP Soong build system.
Reviewed-by: Aaron Ruby <aruby@blackberry.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26874 >
2024-01-18 18:45:40 +00:00
Gurchetan Singh
c860935501
mesa/util: use DETECT_OS_ANDROID in anon_file.c
...
glibc based Android build define ANDROID, but don't have
memfd headers.
Reviewed-by: Aaron Ruby <aruby@blackberry.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26874 >
2024-01-18 18:45:40 +00:00
Gurchetan Singh
1b133ad446
mesa/util: add <linux/fcntl.h>
...
F_ADD_SEALS + F_SEAL_* are defined in <linux/fcntl.h> on Android.
Reviewed-by: Aaron Ruby <aruby@blackberry.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26874 >
2024-01-18 18:45:40 +00:00
Gurchetan Singh
e08add9164
mesa/util: Check __ANDROID__ when for detecting for Android
...
"__ANDROID__ is defined by the compiler. It is defined for
all Android targets."
"ANDROID is set by some build systems, and not in any reliable
manner (in AOSP it actually just means that you're in AOSP; it's
set even when you're building host code for Windows, so it
doesn't mean much of anything)."
https://github.com/android/ndk/issues/407
https://github.com/android/ndk/issues/807
Since the toolchain provides __ANDROID__ for actual Android
targets, standalone NDK and Soong builds should work.
The Mesa CI uses a combination of the NDK toolchain, internal
Android stubs and a Debian sysroot when compile testing Android.
Long-term, it should be possible to remove ANDROID and use
DETECT_OS_ANDROID everywhere.
Reviewed-by: Aaron Ruby <aruby@blackberry.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26874 >
2024-01-18 18:45:40 +00:00
Eric Engestrom
155b2b9555
CODEOWNERS: remove myself as a person of contact for a few things
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27151 >
2024-01-18 18:42:23 +00:00
Eric Engestrom
52f24121b6
CODEOWNERS: add myself as as person of contact for CI changes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27151 >
2024-01-18 18:42:23 +00:00
Hans-Kristian Arntzen
efc0131d5b
wsi/x11: Add workaround for Detroit Become Human.
...
Game needs strict image count to not crash in non-vsync mode.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27038 >
2024-01-18 18:02:51 +00:00
Hans-Kristian Arntzen
4ab6d7e753
wsi/x11: Add drirc option to ignore SUBOPTIMAL.
...
Talos Principle and related games on that engine fail to handle
SUBOPTIMAL properly. Adds an option to ignore SUBOPTIMAL and pretend
it's SUCCESS.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Reviewed-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27037 >
2024-01-18 17:23:32 +00:00
Hans-Kristian Arntzen
745282736e
wsi/x11: Compare modifiers before signalling SUBOPTIMAL.
...
When receiving SUBOPTIMAL_COPY, we need to consider that it can be a
false positive. Xwayland may send this suboptimal copy if there are
pending DRM modifier feedbacks from compositor, but it's likely the
modifier lists are identical.
Hash the modifier lists and compare them against the newly queried
modifier list when SUBOPTIMAL_COPY is received to work around false
positives.
This fixes crashes in games that cannot handle SUBOPTIMAL correctly,
and avoid needless stutters when entering full-screen modes.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Tested-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27035 >
2024-01-18 16:47:10 +00:00
Hans-Kristian Arntzen
2b9c54d47d
wsi/x11: Remove unused vk_alpha in get_dri3_modifiers.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27035 >
2024-01-18 16:47:10 +00:00
Eric Engestrom
b25564ba33
zink+radv/ci: drop duplicates flakes lines
...
These are already sorted, so the duplicate is trivial to see as it's on
the next line every time.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27147 >
2024-01-18 16:30:04 +00:00
Javier Martinez Canillas
f7e407213b
clc: silence a warn_unused_result
...
Ignoring asprintf() return value leads to the following compiler warning:
src/compiler/clc/liblibmesaclc.a.p/clc.c.o -MF src/compiler/clc/liblibmesaclc.a.p/clc.c.o.d -o src/compiler/clc/liblibmesaclc.a.p/clc.c.o -c ../src/compiler/clc/clc.c
In file included from ../src/compiler/clc/clc.c:28:
../src/compiler/clc/clc.c: In function ‘clc_libclc_new’:
../src/compiler/clc/clc_helpers.h:99:7: warning: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
99 | asprintf(&_msg, fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/compiler/clc/clc_helpers.h:105:37: note: in expansion of macro ‘clc_log’
105 | #define clc_error(logger, fmt, ...) clc_log(logger, error, fmt, ##__VA_ARGS__)
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27140 >
2024-01-18 15:20:46 +00:00
Karol Herbst
338636a4ab
clc: require LLVM-15
...
Allows us to drop code dealing with `opencl-c.h`.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27141 >
2024-01-18 14:39:03 +00:00
Karol Herbst
bd085c253c
clc: merge blocks handling optional features
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27141 >
2024-01-18 14:39:03 +00:00
Karol Herbst
faea27e4ac
clc: require LLVM-14
...
This allows some code reorganization :)
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27141 >
2024-01-18 14:39:03 +00:00
Jordan Justen
05b628b5af
intel/dev/common: Add xe2 support to get_l3_list()
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26742 >
2024-01-18 14:16:18 +00:00
José Roberto de Souza
df0fe0dfbd
intel/genxml/xe2: Remove L3ALLOC
...
This register don't exist in Xe2 and there is no Bspec page with
another register to be programmed with L3 allocation layout so
intel_get_l3_config() can also always return NULL for Xe2.
Still allowing intel_get_l3_config() to return non-null because
intel_l3_config is used to calculate TBIMR parameters, see
intel_calculate_tile_dimensions().
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26742 >
2024-01-18 14:16:17 +00:00
Karol Herbst
36012af17f
nir/printf: remove treat_doubles_as_floats
...
It is broken and clang uses fp32 for float constants if the fp64 extension
isn't enabled anyway. SPIRVs can't use fp64 constants with printf unless
they enable the Float64 cap, which also requires cl_khr_fp64 to be
supported.
So just remove it and rely on clang handling -cl-single-precision-constant
correctly, which at the moment doesn't seem to be the case, but we can
think about that once we plan to support cl_khr_fp64.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26541 >
2024-01-18 13:16:13 +01:00
Danylo Piliaiev
d2b08f9437
freedreno/replay: Make meta "print" instruction take any number of regs
...
Useful when it is needed to print several regs together, for them not
to be randomly shuffled.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27121 >
2024-01-18 10:24:55 +00:00
Benjamin Lee
30e09d0e98
nak: implement FLO on SM50
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27129 >
2024-01-18 05:02:27 +00:00
Dave Airlie
f33683e4da
radv: don't submit empty command buffers on encoder ring.
...
the vcn enc/unified rings don't do nop packets, and hang with 0 sized
cmd buffers. This just stops submitting 0 sized cmd buffers to the hw.
Fixes hangs with dEQP-VK.video.decode.h264_i on navi3x
Cc: mesa-stable
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25932 >
2024-01-18 13:33:25 +10:00
Dave Airlie
d32f2ee7b6
radv/video: refactor sq start/end code to avoid decode hangs.
...
The extra cmd buffer layer was done wrong, need to emit the
sq start and ends around every reset/decode packet.
Fixes dEQP-VK.video.decode.h264_i on navi3x
Fixes: d8f3060bd9 ("radv/video: start adding gfx11 vcn decoder")
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25932 >
2024-01-18 13:33:10 +10:00
Dave Airlie
6bd31b60e1
vulkan/video: constify the encoding apis.
...
There is no need for these to be modified in here.
Reviewed-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27082 >
2024-01-18 11:32:26 +10:00
Yiwei Zhang
7f9381782f
venus: ensure object id is unique
...
Currently driver side heap alloc obj ptr is used as object id, which is
used on the renderer side for actual vk obj mapping. However, this adds
an implicit dependency between any driver obj destroy/free and new obj
create/allocate because the heap obj freed up can be immediately
reallocated out.
With venus moving to multi-ring, the ordering between asynchronous obj
destroy/free and new obj create/allocate has to be guaranteed via driver
side non-primary ring submission always waiting for primary ring idle.
This can defeat the purpose of multi-ring in certain scenarios. So this
change adds a way to assign unique id to object.
Even before multi-ring, the unique object id can make device and queue
object alloc/free more robust without hidden ordering requirements. This
also fixes some oom cts which can intentionally fail the submission of
an object destroy (renderer side obj is still present) while the driver
side freed object ptr being reused for another object creating, causing
object id reuse at renderer side object table.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27083 >
2024-01-18 01:13:59 +00:00
Faith Ekstrand
184bcfdc1c
nvk: Implement VK_KHR_zero_initialize_workgroup_memory
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9609
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27130 >
2024-01-18 00:10:40 +00:00
Faith Ekstrand
6e214f2157
nvk: Properly configure the min/max shared mem size
...
We don't really understand what these values are supposed to be but this
is a lot closer to what the blob does and lets more compute tests pass.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27130 >
2024-01-18 00:10:40 +00:00
Faith Ekstrand
eaa7980e15
nvk: Add a #define for max shared memory size
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27130 >
2024-01-18 00:10:40 +00:00
Faith Ekstrand
be0f04f5bd
nvk: Unref shaders on pipeline free
...
Fixes: d6a1e29ccd ("nvk: pipeline shader cache")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27130 >
2024-01-18 00:10:40 +00:00
Faith Ekstrand
4b0448d8f8
nvk: Set framebufferIntegerColorSampleCounts
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27130 >
2024-01-18 00:10:40 +00:00
Eric Engestrom
03f5fc45bb
docs: update calendar for 24.0.0-rc2
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27128 >
2024-01-17 22:29:24 +00:00
Ryan Neph
6e4bb8253e
venus: fix shmem leak on vn_ring_destroy
...
Missed shmem unref when moving ring internals out of vn_instance.c.
Fixes: d1e29b7557 ("venus: move ring shmem into vn_ring")
Signed-off-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27125 >
2024-01-17 21:44:15 +00:00
Mary Guillemard
531505f8c5
nouveau: mme: Add a dumper
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27126 >
2024-01-17 21:26:07 +00:00
Mary Guillemard
cb6d954c67
nouveau: nvidia-headers: Add nv_push_dump tool
...
Add "nv_push_dump" allowing to dump a human readable version of a
pushbuf blob.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27126 >
2024-01-17 21:26:07 +00:00
Mary Guillemard
d9cd3e4c55
nouveau: nvidia-headers: Add compute array parsing to class_parser.py
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27126 >
2024-01-17 21:26:07 +00:00
Mary Guillemard
2cc9ad0e5c
nouveau: nvidia_header: Add AMPERE_COMPUTE_B in vk_push_print
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27126 >
2024-01-17 21:26:07 +00:00
Mary Guillemard
20b3f9521e
nouveau: nvidia_header: Add TURING_COMPUTE_A and AMPERE_COMPUTE_A in vk_push_print
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27126 >
2024-01-17 21:26:07 +00:00
Mary Guillemard
2d8b9b9160
nouveau: nvidia_header: Add AMPERE_A in vk_push_print
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27126 >
2024-01-17 21:26:07 +00:00
Faith Ekstrand
32f2a0f1e1
nouveau/mme: Stop using isaspec
...
We had hand-written decoders for the simulators anyway so it really
isn't gaining us much. It does, however, make the whole build more
complicated. Better to just drop it.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27126 >
2024-01-17 21:26:07 +00:00
Faith Ekstrand
a69b7f1b19
nouveau/mme/fermi: Stop truncating iadd immediates
...
It's better to leave it in signed form so that we can assert that it's
an int18 later if we want.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27126 >
2024-01-17 21:26:07 +00:00
Samuel Pitoiset
10e2dbb63b
radv: delay emitting streamout enable at draw time
...
Since Vulkan 1.3.271, the spec allowed vkCmdBeginTransformFeedbackEXT
to be called without an active graphics pipeline bound when using
shader objects.
That means that the last VGT shader would be NULL once VKCTS is
updated accordingly. This change delays emitting streamout enable at
draw time to make sure the last VGT shader is present, regarldess if
ESO is enabled or not.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27075 >
2024-01-17 17:33:17 +00:00
Eric Engestrom
bdfce158bd
amd/ci: add flakes seen today
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27117 >
2024-01-17 17:01:59 +00:00
Vignesh Raman
79422eccd8
ci: Add kmod
...
modprobe is required in drm-ci for vkms testing.
So add kmod to DEPS.
Signed-off-by: Vignesh Raman <vignesh.raman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27088 >
2024-01-17 16:17:43 +00:00
Friedrich Vock
a9831caa14
radv/rt: Add workaround to make leaves always active
...
DOOM Eternal builds acceleration structures with inactive primitives and
tries to make them active in later AS updates. This is disallowed by the
spec and triggers a GPU hang. Fix the hang by working around the bug.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27034 >
2024-01-17 15:14:48 +00:00
Lionel Landwerlin
a18ea091af
nir/comparison_pre_tests: update expectations
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Sviatoslav Peleshko <sviatoslav.peleshko@globallogic.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27087 >
2024-01-17 16:01:12 +02:00
Lionel Landwerlin
873fe637e2
nir/alu_srcs_negative_equal: bail earlier if possible
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Sviatoslav Peleshko <sviatoslav.peleshko@globallogic.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27087 >
2024-01-17 16:00:30 +02:00
Ian Romanick
4740ee8d67
nir: Minor clean up in nir_alu_srcs_negative_equal
...
Eliminate some cruft left after a8013644a1 .
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27087 >
2024-01-17 16:00:30 +02:00
Helen Koike
b289028d0a
ci/ci_gantt_chart: show duration on hover
...
Show the duration of the given phase on hover.
Signed-off-by: Helen Koike <helen.koike@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25793 >
2024-01-17 13:10:07 +00:00
Helen Koike
ffaa247b4f
ci/ci_gantt_chart: add option to save output to a file
...
Allow saving in html and in image formats.
Signed-off-by: Helen Koike <helen.koike@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25793 >
2024-01-17 13:10:07 +00:00
Helen Koike
cf86e97ace
ci/ci_gantt_chart: add timeout vertical line
...
Add pipeline total duration and add a timeout vertical line to indicate
the 1h Timeout mark.
Signed-off-by: Helen Koike <helen.koike@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25793 >
2024-01-17 13:10:07 +00:00
Helen Koike
61ab9ae2af
ci/ci_gantt_chart: add tool to analyse pipeline execution time
...
ci_gantt_chart.py generates a gantt chart from a given pipeline url
Signed-off-by: Helen Koike <helen.koike@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25793 >
2024-01-17 13:10:07 +00:00
Helen Koike
9e8cbc8e91
ci/ci_run_n_monitor: move get_gitlab_pipeline_from_url() to gitlab_common
...
Move this code to gitlab_common since it can be re-used by other
scripts.
Signed-off-by: Helen Koike <helen.koike@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25793 >
2024-01-17 13:10:07 +00:00
Samuel Pitoiset
ce200669b1
radv: rename radv_pipeline_key to radv_graphics_pipeline_key
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27073 >
2024-01-17 12:08:24 +00:00
Samuel Pitoiset
c5a5ab46c9
radv: remove radv_generate_pipeline_key()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27073 >
2024-01-17 12:08:24 +00:00
Samuel Pitoiset
72d2eb39fb
radv: pass radv_graphics_state_key to radv_hash_shaders()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27073 >
2024-01-17 12:08:24 +00:00
Boris Brezillon
b18bfed2c5
panvk: Fix access to unitialized panvk_pipeline_layout::num_sets field
...
Commit 73eecffabd ("panvk: Use the vk_pipeline_layout base struct")
reworked the panvk logic to use vk_pipeline_layout, which contains the
number of descriptor set layout referenced by a pipeline layout, thus
deprecating panvk_pipeline_layout::num_sets.
Make panvk_fill_non_vs_attribs() use vk_pipeline_layout::set_count
instead of panvk_pipeline_layout::num_sets and kill the latter so we
can't introduce new users.
Fixes: 73eecffabd ("panvk: Use the vk_pipeline_layout base struct")
Cc: mesa-stable
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27107 >
2024-01-17 11:42:25 +00:00
Boris Brezillon
35a02560c8
panvk: Fix tracing
...
pandecode_next_frame() take a decode context. Passing NULL leads to a
NULL deref.
Fixes: 56be9a55be ("pan/decode: handle more than one panfrost_device")
Cc: mesa-stable
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27107 >
2024-01-17 11:42:25 +00:00
Ray Smith
c5ba55314c
panfrost: Fix format tables for v4 and v5
...
pan_format.c was only being built with PAN_ARCH in [6, 7, 9], but has
conditional compilation for PAN_ARCH <= 5 which never got compiled.
Signed-off-by: Ray Smith <rsmith@brightsign.biz >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26980 >
2024-01-17 11:07:48 +00:00
Ray Smith
404da63a0e
panfrost: Don't try to set bifrost blendable format on midgard
...
pan_blendable_format.bifrost is only accessed on bifrost, but we set it
to bogus values on midgard. Set it to 0/invalid instead.
Signed-off-by: Ray Smith <rsmith@brightsign.biz >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26980 >
2024-01-17 11:07:48 +00:00
Marek Olšák
969ed85110
radeonsi: don't flush CS before and after every blitter invocation
...
u_blitter always calls set_stream_output_targets before and after clears
and blits, which always flushes here. Strengthen the flushing condition
and add an early exit.
No clue why this fixes the test.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27059 >
2024-01-17 05:16:09 -05:00
Marek Olšák
da49e9dcc2
radeonsi/gfx11: flush DB before Z/S clear to work around dEQP failures
...
u_blitter calls set_stream_output_targets, which flushed the context
for clears. Put the workaround in the right place.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27059 >
2024-01-17 05:16:01 -05:00
Marek Olšák
5fd31c1301
radeonsi/ci: update gfx11 flakes
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26917 >
2024-01-17 09:05:55 +00:00
Marek Olšák
3601c1b2cf
radeonsi/gfx11: clean up MAX_ALLOWED_TILES_IN_WAVE programming
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26917 >
2024-01-17 09:05:55 +00:00
Marek Olšák
15f88ea46e
radeonsi: rename *trivial_vs_prolog -> *trivial_vs_inputs
...
This is a better name.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26917 >
2024-01-17 09:05:55 +00:00
Marek Olšák
b8c23cd4cd
radeonsi: remove unused preloaded instance_divisor_constbuf
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26917 >
2024-01-17 09:05:55 +00:00
Marek Olšák
9dbd3437c6
radeonsi: remove no-op additions for viewport0_y_inverted
...
adding the same value to both sides of the equation has no effect
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26917 >
2024-01-17 09:05:55 +00:00
Marek Olšák
bad2530a40
radeonsi: pack GS_STATE_ESGS_VERTEX_STRIDE better to save 2 bits
...
Change it to the number of ES outputs, then compute the stride from that.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26917 >
2024-01-17 09:05:55 +00:00
Marek Olšák
8eed352e05
radeonsi: split si_update_ngg_prim_state_sgpr into 2 functions
...
GS_STATE_PROVOKING_VTX_FIRST no longer depends on the primitive type,
so we don't have to call it in si_set_rasterized_prim anymore.
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/26917 >
2024-01-17 09:05:55 +00:00
Marek Olšák
b3326bb947
radeonsi: change GS_STATE_PROVOKING_VTX_INDEX to 1 bit PROVOKING_VTX_FIRST
...
to save 1 bit for later
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/26917 >
2024-01-17 09:05:55 +00:00
Marek Olšák
6c74fc6bfb
radeonsi: deduplicate gfx10_ngg_get_vertices_per_prim / get_num_vert_per_prim
...
it was almost identical
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/26917 >
2024-01-17 09:05:55 +00:00
Marek Olšák
da20c6c73f
radeonsi: don't use staging uploads for buffers & shaders with all VRAM visible
...
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/26917 >
2024-01-17 09:05:55 +00:00
Marek Olšák
b7af7efee4
radeonsi: expose shader profiles to other .c files
...
This will be used by NIR options for nir_opt_varyings.
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/26917 >
2024-01-17 09:05:55 +00:00
Marek Olšák
767048f8b2
radeonsi: report more detailed output stats for shader-db
...
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/26917 >
2024-01-17 09:05:55 +00:00
Marek Olšák
b9b00a0e7a
ac,radeonsi: emulate GS primitive pipeline stat on gfx11 because of culling
...
GS culls too, so the pipeline stat is incorrect. This can be exposed by
forcing monolithic shader use, which makes culling shaders immediately
available for tests to use.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26917 >
2024-01-17 09:05:55 +00:00
Marek Olšák
1d3f937142
ac/nir: simplify code at the beginning of ac_nir_gs_shader_query
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26917 >
2024-01-17 09:05:54 +00:00
Marek Olšák
4747bd6ba8
ac/nir: optimize out multiplications in small line culling
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26917 >
2024-01-17 09:05:54 +00:00
Marek Olšák
0d74123633
ac/nir: rename clipdist_enable_mask -> clip_cull_dist_mask
...
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26917 >
2024-01-17 09:05:54 +00:00
Marek Olšák
af4e91f6b8
ac/nir: don't write TCS outputs to memory if no_varying is set
...
nir_opt_varyings() will set this, making it unnecessary to look
at the TES input mask.
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26917 >
2024-01-17 09:05:54 +00:00
Marek Olšák
4880c1e12e
amd: unify NIR options between RADV and radeonsi
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26917 >
2024-01-17 09:05:54 +00:00
Sviatoslav Peleshko
6b0bfdfa9e
nir: Use alu source components count in nir_alu_srcs_negative_equal
...
When we use source from ALU instruction directly, the default swizzle array
should be populated with the same amount of components as the src has.
Otherwise, if we use nir_ssa_alu_instr_src_components, it can return
the destination components count that is lower than component index
actually used in that source. This can lead to false equality
between 0 (uninitialized) and 0 (.x) in swizzle comparison below.
Fixes: c6ee46a7 ("nir: Add nir_alu_srcs_negative_equal")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8704
Signed-off-by: Sviatoslav Peleshko <sviatoslav.peleshko@globallogic.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22655 >
2024-01-17 08:05:30 +00:00
Samuel Pitoiset
e19ecf49ea
radv: remove an extra new line in radv_shader.h
...
To make clang-format CI job happy again.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27036 >
2024-01-17 07:25:49 +00:00
Samuel Pitoiset
ee96de53e4
radv: remove the pipeline key for ray tracing pipelines
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27036 >
2024-01-17 07:25:49 +00:00
Samuel Pitoiset
e799907071
radv: remove the pipeline key for compute pipelines
...
Eveyerthing needed is already in radv_shader_stage_key.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27036 >
2024-01-17 07:25:49 +00:00
Samuel Pitoiset
e017eb3b58
radv: stop hashing radv_pipeline_key for compute/rt pipelines
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27036 >
2024-01-17 07:25:49 +00:00
Samuel Pitoiset
739c8eb681
radv: hash radv_shader_stage_key
...
This will allow us to remove the pipeline key completely for compute/rt
pipelines.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27036 >
2024-01-17 07:25:49 +00:00
Samuel Pitoiset
853298edb1
radv/rt: cleanup radv_parse_rt_stage()
...
To avoid calling radv_pipeline_stage_init() twice.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27036 >
2024-01-17 07:25:49 +00:00
Samuel Pitoiset
ffe997d71d
radv: add radv_pipeline_get_shader_key()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27036 >
2024-01-17 07:25:49 +00:00
Samuel Pitoiset
844004c335
radv: cleanup radv_generate_pipeline_key()
...
Move everything in the same loop to prepare for a new helper.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27036 >
2024-01-17 07:25:49 +00:00
Samuel Pitoiset
3615bcdde3
radv: make sure to retain shaders key for imported shaders with GPL
...
Now that everything is moved to the per-stage key, this information
needs to be retained/loaded with GPL, otherwise some flags might be
missing.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27036 >
2024-01-17 07:25:49 +00:00
Samuel Pitoiset
082c524f86
radv: pass radv_shader_stage_key to radv_pipeline_stage_init()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27036 >
2024-01-17 07:25:49 +00:00
Samuel Pitoiset
08b8356111
radv: add shader_version to radv_shader_stage_key
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27036 >
2024-01-17 07:25:49 +00:00
Samuel Pitoiset
20fdbc7a44
radv: add keep_statistic_info to radv_shader_stage_key
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27036 >
2024-01-17 07:25:49 +00:00
David Heidelberg
027363416b
ci/lima: update expectations, failing tests are being skipped
...
Multiple previously failing tests are skipped now.
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26905 >
2024-01-17 06:21:10 +00:00
Erico Nunes
8bd4cae768
Revert "ci: lima farm is down"
...
This reverts commit 601b826a5e .
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26905 >
2024-01-17 06:21:10 +00:00
Yonggang Luo
616c0cd067
compiler/spirv: vtn_add_printf_string support for handling OpBitcast
...
specifically, it's handling
%48 = OpBitcast %_ptr_UniformConstant_uchar %_str
%49 = OpBitcast %_ptr_UniformConstant_uchar %_str_1
; SPIR-V
; Version: 1.4
; Generator: Khronos SPIR-V Tools Linker; 0
; Bound: 53
; Schema: 0
OpCapability Addresses
OpCapability Kernel
OpCapability Int64
OpCapability Int8
%1 = OpExtInstImport "OpenCL.std"
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %2 "main_test" %_str %_str_1
%5 = OpString "kernel_arg_type.main_test.float*,uint*,"
%6 = OpString "kernel_arg_type_qual.main_test.,,"
OpSource OpenCL_C 102000
OpName %_str ".str"
OpName %_str_1 ".str.1"
OpName %main_test "main_test"
OpName %src "src"
OpName %dest "dest"
OpName %entry "entry"
OpName %src_addr "src.addr"
OpName %dest_addr "dest.addr"
OpName %arrayidx "arrayidx"
OpName %call "call"
OpName %src_0 "src"
OpName %dest_0 "dest"
OpModuleProcessed "Linked by SPIR-V Tools Linker"
OpDecorate %_str Constant
OpDecorate %_str Alignment 1
OpDecorate %_str_1 Constant
OpDecorate %_str_1 Alignment 1
OpDecorate %src Alignment 4
OpDecorate %dest Alignment 4
OpDecorate %src_addr Alignment 8
OpDecorate %dest_addr Alignment 8
OpDecorate %src_0 Alignment 4
OpDecorate %dest_0 Alignment 4
%ulong = OpTypeInt 64 0
%uchar = OpTypeInt 8 0
%uint = OpTypeInt 32 0
%ulong_7 = OpConstant %ulong 7
%uchar_37 = OpConstant %uchar 37
%uchar_115 = OpConstant %uchar 115
%uchar_58 = OpConstant %uchar 58
%uchar_32 = OpConstant %uchar 32
%uchar_102 = OpConstant %uchar 102
%uchar_0 = OpConstant %uchar 0
%ulong_5 = OpConstant %ulong 5
%uchar_84 = OpConstant %uchar 84
%uchar_101 = OpConstant %uchar 101
%uchar_116 = OpConstant %uchar 116
%ulong_0 = OpConstant %ulong 0
%_arr_uchar_ulong_7 = OpTypeArray %uchar %ulong_7
%_ptr_UniformConstant__arr_uchar_ulong_7 = OpTypePointer UniformConstant %_arr_uchar_ulong_7
%_arr_uchar_ulong_5 = OpTypeArray %uchar %ulong_5
%_ptr_UniformConstant__arr_uchar_ulong_5 = OpTypePointer UniformConstant %_arr_uchar_ulong_5
%void = OpTypeVoid
%float = OpTypeFloat 32
%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float
%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint
%40 = OpTypeFunction %void %_ptr_CrossWorkgroup_float %_ptr_CrossWorkgroup_uint
%_ptr_Function__ptr_CrossWorkgroup_float = OpTypePointer Function %_ptr_CrossWorkgroup_float
%_ptr_Function__ptr_CrossWorkgroup_uint = OpTypePointer Function %_ptr_CrossWorkgroup_uint
%_ptr_UniformConstant_uchar = OpTypePointer UniformConstant %uchar
%44 = OpConstantComposite %_arr_uchar_ulong_7 %uchar_37 %uchar_115 %uchar_58 %uchar_32 %uchar_37 %uchar_102 %uchar_0
%_str = OpVariable %_ptr_UniformConstant__arr_uchar_ulong_7 UniformConstant %44
%45 = OpConstantComposite %_arr_uchar_ulong_5 %uchar_84 %uchar_101 %uchar_115 %uchar_116 %uchar_0
%_str_1 = OpVariable %_ptr_UniformConstant__arr_uchar_ulong_5 UniformConstant %45
%main_test = OpFunction %void DontInline %40
%src = OpFunctionParameter %_ptr_CrossWorkgroup_float
%dest = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%entry = OpLabel
%src_addr = OpVariable %_ptr_Function__ptr_CrossWorkgroup_float Function
%dest_addr = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uint Function
OpStore %src_addr %src Aligned 8
OpStore %dest_addr %dest Aligned 8
%46 = OpLoad %_ptr_CrossWorkgroup_float %src_addr Aligned 8
%arrayidx = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %46 %ulong_0
%47 = OpLoad %float %arrayidx Aligned 4
%48 = OpBitcast %_ptr_UniformConstant_uchar %_str
%49 = OpBitcast %_ptr_UniformConstant_uchar %_str_1
%call = OpExtInst %uint %1 printf %48 %49 %47
%50 = OpLoad %_ptr_CrossWorkgroup_uint %dest_addr Aligned 8
OpStore %50 %call Aligned 4
OpReturn
OpFunctionEnd
%2 = OpFunction %void DontInline %40
%src_0 = OpFunctionParameter %_ptr_CrossWorkgroup_float
%dest_0 = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%51 = OpLabel
%52 = OpFunctionCall %void %main_test %src_0 %dest_0
OpReturn
OpFunctionEnd
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26775 >
2024-01-17 02:59:57 +00:00
Yonggang Luo
88c4de7e7b
compiler/spirv: There is not need unqualify const in function vtn_string_literal
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26775 >
2024-01-17 02:59:57 +00:00
Yonggang Luo
fd11818828
compiler/spirv: The spirv shader is binary, should write in binary mode
...
Fixes: 53265c8798 ("spirv: Add a mechanism for dumping failing shaders")
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26775 >
2024-01-17 02:59:57 +00:00
Benjamin Lee
1593caf610
nak: implement FSWZADD on SM50
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27063 >
2024-01-16 23:46:19 +00:00
Faith Ekstrand
bb10f7f5da
nak: Implement nir_op_bfm
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26550 >
2024-01-16 23:32:13 +00:00
Faith Ekstrand
c14f4cc052
nak: Rename OpBrev to OpBRev
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26550 >
2024-01-16 23:32:13 +00:00
Faith Ekstrand
9b68c77abb
nak: Implement nir_op_ufind_msb_rev
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26550 >
2024-01-16 23:32:13 +00:00
Faith Ekstrand
a3bceafed5
nak: Implement nir_op_pack_half_2x16_rtz_split
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26550 >
2024-01-16 23:32:13 +00:00
Sil Vilerino
95a6165fac
d3d12: Do not assume multi-subregion support when querying for driver encode support
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27099 >
2024-01-16 21:41:48 +00:00
Eric Engestrom
e8c5a0485e
amd/ci: simplify deqp config
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27098 >
2024-01-16 21:21:26 +00:00
Eric Engestrom
6de31ef8a6
nouveau/ci: don't run nouveau (gl) tests on nvk changes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27096 >
2024-01-16 21:04:18 +00:00
Yiwei Zhang
dc5725ee29
vulkan/wsi/wayland: fix returns and avoid leaks for failed swapchain
...
Cc: mesa-stable
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Tested-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27080 >
2024-01-16 20:38:56 +00:00
Konstantin Seurer
9eb48e8040
nak/repair_ssa: Remap PHI sources as well
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26371 >
2024-01-16 20:24:15 +00:00
Eric Engestrom
2ce0b5ab0a
ci: fix job dependency error in MRs for bin/ci/* scripts
...
'debian/x86_64_build' job needs 'debian/x86_64_build-base' job, but 'debian/x86_64_build-base' is not in any previous stage
Fixes: f298a0e709 ("ci: make sure we evaluate the python-test rules first")
Fixes: 2c9fdaa830 ("ci: fix python-test dependency error on merge requests")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27042 >
2024-01-16 19:51:46 +00:00
Benjamin Lee
99720f0564
nak: fix frnd on SM50
...
Previously we weren't setting bit 42 when encoding frnd as f2f. This
causes it to ignore the rounding mode when src_type == dst_type.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27065 >
2024-01-16 19:05:40 +00:00
Thong Thai
df5203d631
radeonsi/vcn: remove EFC support for renoir
...
Renoir hardware has limited EFC support, so remove support for it from Mesa.
Thanks to @nyanmisaka for raising the issue.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9436
Signed-off-by: Thong Thai <thong.thai@amd.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27076 >
2024-01-16 18:42:42 +00:00
Benjamin Lee
ff84aef116
nak: support predicate sel on SM50
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27064 >
2024-01-16 18:28:22 +00:00
Benjamin Lee
9b6a39cfd4
nak: support predicate swaps on SM50
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27064 >
2024-01-16 18:28:22 +00:00
Guilherme Gallo
de2c847c24
ci/lava: Detect r8152 issue during boot phase
...
This week we found that the r8152 issue can happen during the boot
phase, make the necessary adjustments to detect it.
https://gitlab.freedesktop.org/vigneshraman/linux/-/jobs/53651940
Notes:
- The kernel messages during the boot phase is being redirected to the
feedback messages due to the namespaces from the SSH job.
- Update the unit tests:
- Add boot phase detection
- Correctly set the boot phase when mocking LogFollower
Reported-by: Vignesh Raman <vignesh.raman@collabora.com >
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27081 >
2024-01-16 17:22:04 +00:00
Guilherme Gallo
bfd50f72eb
ci/lava: Turn the r8152 issue check into a counter
...
We were just detecting if a log like
[ 143.080663] r8152 2-1.3:1.0 eth0: Tx status -71
happened once before
[ 316.389695] nfs: server 192.168.201.1 not responding, still trying
But we can use a counter to be more assured that the device is
struggling to recover and we can add let this detection happen during
the boot phase.
This mimics how other freedreno devices deal with this problem, see
`cros_servo_run.py:64` for example.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27081 >
2024-01-16 17:22:04 +00:00
Eric Engestrom
9a6ac1dd2f
zink+anv/ci: add known failures
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27094 >
2024-01-16 15:52:34 +00:00
David Heidelberg
4ff77f08e4
ci/deqp: uprev deqp-runner for Linux too to 0.18.0
...
Previous commit upreved deqp only for the Android
Fixes: 1ff4687e86 ("ci: uprev deqp-runner from 0.16.1 to 0.18.0")
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
[Eric]
- rename the deqp-runner version to DEQP_RUNNER_VERSION instead of DEQP_VERSION
- update image tags
- fix expectations lists
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27062 >
2024-01-16 15:14:20 +00:00
David Rosca
865abfde63
radeonsi/vcn: Fix H264 slice header when encoding I frames
...
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27029 >
2024-01-16 14:49:48 +00:00
Samuel Pitoiset
a5b21f7cf4
zink/ci: skip more arb_shader_image_load_store.* on Polaris10/Navi10
...
This subset seems to be the root cause of the recent GPU hangs that have
been uncovered since a077c14f15 ("zink: Fix resizable BAR detection
logic"). Skip it completely until the issue is correctly fixed.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27077 >
2024-01-16 11:25:38 +00:00
Patrick Lerda
bacace8634
glsl/nir: fix gl_nir_cross_validate_outputs_to_inputs() memory leak
...
For instance, this issue is triggered with
vs-to-fs-overlap.shader_test -auto -fbo:
Direct leak of 24 byte(s) in 1 object(s) allocated from:
#0 0x7fe64f58e9a7 in calloc (/usr/lib64/libasan.so.6+0xb19a7)
#1 0x7fe642ca2839 in _mesa_symbol_table_ctor ../src/mesa/program/symbol_table.c:286
#2 0x7fe642ff003d in gl_nir_cross_validate_outputs_to_inputs ../src/compiler/glsl/gl_nir_link_varyings.c:728
#3 0x7fe642d7c7d8 in gl_nir_link_glsl ../src/compiler/glsl/gl_nir_linker.c:1357
#4 0x7fe642be6931 in st_link_glsl_to_nir ../src/mesa/state_tracker/st_glsl_to_nir.cpp:562
#5 0x7fe642be6931 in st_link_shader ../src/mesa/state_tracker/st_glsl_to_nir.cpp:944
#6 0x7fe642acab55 in link_program ../src/mesa/main/shaderapi.c:1336
#7 0x7fe642acab55 in link_program_error ../src/mesa/main/shaderapi.c:1447
#8 0x7fe6424aa389 in _mesa_unmarshal_LinkProgram src/mapi/glapi/gen/marshal_generated2.c:1911
#9 0x7fe641fd912b in glthread_unmarshal_batch ../src/mesa/main/glthread.c:139
#10 0x7fe641f48d48 in util_queue_thread_func ../src/util/u_queue.c:309
#11 0x7fe641fa442a in impl_thrd_routine ../src/c11/impl/threads_posix.c:67
Fixes: 7d1948e9b5 ("glsl: implement cross_validate_outputs_to_inputs() in nir linker")
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/27071 >
2024-01-16 10:47:09 +00:00
Tatsuyuki Ishi
0a68a94a51
util: Optimize mesa_hex_to_bytes
...
This function ends up getting called an awful lot when loading a large
Fossilize cache db, so let's replace strtol with something more
reasonable.
For a game with 97k shaders, this reduces instance creation time from
203ms to 52ms.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27052 >
2024-01-16 02:15:22 +00:00
Dave Airlie
34e72579cd
vulkan/video: start deep copying the parameters structures
...
Joshua Ashton pointed out we aren't copying these deeply,
and we really should be.
This introduces deep copies of all the h264/h265 parameter sets.
Reviewed-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27066 >
2024-01-16 00:54:35 +00:00
Dave Airlie
b4a6a876be
vulkan/video: start to wrap the video structs for deep copies.
...
This doesn't do any of the deep copies, it's just more non-functional changes
in preparation.
v2: fix alloc sizes
Reviewed-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27066 >
2024-01-16 00:54:35 +00:00
Dave Airlie
b72b4d8a0e
vulkan/video: rename some of the parameter tracking structs.
...
This will make it easier to add deep copy support.
Reviewed-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27066 >
2024-01-16 00:54:35 +00:00
Dave Airlie
57d83cb99c
vulkan/video: drop unused function.
...
This looks to have been left over.
Reviewed-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27066 >
2024-01-16 00:54:35 +00:00
Marek Olšák
7ed27bff0b
winsys/amdgpu: cosmetic touchups around IB sizes
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27060 >
2024-01-15 23:21:25 +00:00
Marek Olšák
6e1dae77a9
winsys/amdgpu: represent max_ib_size_dw in bytes
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27060 >
2024-01-15 23:21:25 +00:00
Marek Olšák
fd1e36a044
winsys/amdgpu: represent IB_MAX_SUBMIT_DWORDS in bytes
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27060 >
2024-01-15 23:21:25 +00:00
Marek Olšák
a008a7dcdf
winsys/amdgpu: remove misplaced duplicated comment
...
The same comment is in the header file where it should be.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27060 >
2024-01-15 23:21:25 +00:00
Marek Olšák
b2b7603ecb
winsys/amdgpu: don't clear fence list elements after IB submission
...
Same idea as with the buffer lists.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27060 >
2024-01-15 23:21:25 +00:00
Marek Olšák
fb3171b653
winsys/amdgpu: add more fence_reference helpers
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27060 >
2024-01-15 23:21:25 +00:00
Marek Olšák
a94319d29b
winsys/amdgpu: don't clear buffer list elements after IB submission
...
amdgpu_winsys_bo_reference(dst, NULL) sets *dst to NULL, but we never read
*dst again because we set num_buffers to 0. So don't touch the buffer list
elements and only decrement the BO refcount. It makes a difference when you
have 10k BOs.
The CS thread overhead in VP2020/Catia1: 9.23% -> 8.74%
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27060 >
2024-01-15 23:21:25 +00:00
Marek Olšák
2da16e9635
winsys/amdgpu: cosmetic touchups
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27060 >
2024-01-15 23:21:25 +00:00
Marek Olšák
1e06cdad0d
winsys/amdgpu: merge loops decrementing num_active_ioctls & unreferencing bufs
...
We have 2 separate loops doing that. num_active_ioctls was decremented
in amdgpu_cs_submit_ib, while buffers were unreferenced
in amdgpu_cs_context_cleanup immediately after it.
Split unreferencing buffers from amdgpu_cs_context_cleanup, so that it's
not done in amdgpu_cs_submit_ib, which will do it in the same loop where
num_active_ioctls is unreferenced.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27060 >
2024-01-15 23:21:25 +00:00
Faith Ekstrand
f1cf7f0d86
nak: Stop passing --explicit-padding to bindgen
...
It's apparently broken on 32-bit builds and screws up our NIR bindings.
Instead, using -Wpadded with a pragma to ensure we don't add padding to
the struct.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27078 >
2024-01-15 20:45:14 +00:00
chyyran
f079b6a18d
util/format/fxt1: include "u_format_pack.h" instead of "util/format/u_format_pack.h"
...
Signed-off-by: Ronny Chan <ronny@ronnychan.ca >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26608 >
2024-01-15 20:13:07 +00:00
Danylo Piliaiev
43bc212aeb
ir3: Add fullsync and fullnop ir3 dbg options for over-syncing
...
- fullsync - adds (ss)(sy) after each cat4/cat5/cat6
- fullnop - adds (rpt4) nop before every instruction
Useful to debug errors in inter-instruction synchronization.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27012 >
2024-01-15 19:15:26 +00:00
Danylo Piliaiev
123c5e7c3a
ir3: Fix "print" meta instruction synchronization
...
There was a WAR hazard if something writes to sources last STG is
using. (sy)nop did not wait for sources to become "free", we
need to use (ss).
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27013 >
2024-01-15 18:48:49 +00:00
Karol Herbst
ea023ff5cd
rusticl/kernel: no need to reset the scratch size anymore
...
The scratch size gets assigned by nir_lower_vars_to_explicit_types. Now
that we only run it once on temp memory, there is no need to reset the
value.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27068 >
2024-01-15 16:41:12 +00:00
Karol Herbst
835c208578
rusticl/kernel: add a few comments in regards to pass ordering
...
This is helpful as otherwise I'll keep doing the same mistakes trying to
fix anything in here.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27068 >
2024-01-15 16:41:12 +00:00
Karol Herbst
f896659894
rusticl/kernel: run opt/lower_memcpy later to fix a crash
...
nir_opt_memcpy requires explicit types to function properly. So run them
after lowering vars to explicit types.
Cc: mesa-stable
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27068 >
2024-01-15 16:41:12 +00:00
Lucas Stach
2f229a8ba6
etnaviv: implicitly update shared texture resources
...
Implicitly update shared texture resources whenever they are first
used after the context has been flushed. This implements the
necessary behavior to get updated content for resources shared
outside of the screen without relying on any other API level
trigger, discussed to be necessary in [1].
[1] https://github.com/KhronosGroup/OpenGL-Registry/issues/566
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6220
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25756 >
2024-01-15 14:19:17 +00:00
Lucas Stach
27ac55873a
etnaviv: only add shared resources to implicit flush list
...
The implicit flushing is only required if the resource is shared
and changes to the resource must be visible outside of the screen
after the flush. For non-shared resources we can rely on the
screen internal tracking of data updates.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25756 >
2024-01-15 14:19:17 +00:00
Lucas Stach
9ab9df3941
etnaviv: track resource sharing
...
Track if resources are shared outside of the screen, which means
changes to the resource must be visible to the external observers
after a flush and the resource might be manipulated by other
agents than the contexts from the screen.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25756 >
2024-01-15 14:19:17 +00:00
Juan A. Suarez Romero
22c4a5e127
v3d/ci: run OpenGL 3.1 tests
...
As driver supports OpenGL 3.1, run proper tests, besides the OpenGL ES
tests.
Note that including GL3.1 is not required to include previous versions.
Reviewed-by: Eric Engestrom <eric@igalia.com >
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27069 >
2024-01-15 13:46:28 +00:00
Danylo Piliaiev
480ec5b1d4
freedreno/replay: Add WSL backend for Windows
...
d3dkmthk.h contains only non driver specific structs, private
data structs are not defined anywhere public but contain
important information for memory allocation and submissions.
Luckily only small parts of these structs are relevant for what
we want to do and most of them are not changed between calls.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26101 >
2024-01-15 13:12:58 +00:00
Danylo Piliaiev
16de8e99cf
freedreno/replay: Correctly free iova on msm backend
...
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26101 >
2024-01-15 13:12:58 +00:00
Danylo Piliaiev
56a6bc758d
freedreno/replay: Delete all buffers after each submission
...
We expect all buffers to be dumped before each submission, so tracking
whether buffer is used is wrong.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26101 >
2024-01-15 13:12:58 +00:00
Juan A. Suarez Romero
985a5c8f1a
broadcom/simulator: protect simulator BO rallocs with mutexes
...
Move ralloc allocations and frees for BOs into the critical sections
protected with mutexes.
This fixes several double-free and use-after-free crashes that happens
sometimes when using the simulator to run Vulkan CTS tests, specially
when these tests involve multithreading, like
`dEQP-VK.api.object_management.multithreaded_per_thread_resources.device_memory_small`.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27070 >
2024-01-15 12:52:34 +00:00
Lionel Landwerlin
56eb09480b
anv: rename video command file
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26989 >
2024-01-15 12:28:50 +00:00
Lionel Landwerlin
51d63f2236
anv: move compute/ray-tracing commands to their own file
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26989 >
2024-01-15 12:28:50 +00:00
Lionel Landwerlin
cfe894e1e9
anv: move draw commands to their own file
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26989 >
2024-01-15 12:28:50 +00:00
Lionel Landwerlin
ddc18b4e78
anv: move generated draw flush helper to its own file
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26989 >
2024-01-15 12:28:49 +00:00
Lionel Landwerlin
df1dc882cb
anv: fix missing header
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26989 >
2024-01-15 12:28:49 +00:00
Lionel Landwerlin
74c8edd288
anv: fix include guards
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26989 >
2024-01-15 12:28:49 +00:00
Lionel Landwerlin
6bb3ae99c5
anv: export descriptor flushing functions
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26989 >
2024-01-15 12:28:49 +00:00
Tatsuyuki Ishi
43fb43ba2c
radv: never set DISABLE_WR_CONFIRM for CP DMA clears and copies
...
This mirrors the changes in 69ff9c16bb ("radeonsi: never set
DISABLE_WR_CONFIRM for CP DMA clears and copies").
Cc: mesa-stable
Suggested-by: Vitaliy Triang3l Kuzmin <triang3l@yandex.ru >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27053 >
2024-01-15 12:09:01 +00:00
Samuel Pitoiset
b555f9451c
radv: introduce radv_graphics_state_key
...
This struct only contains graphics related state.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27007 >
2024-01-15 11:49:04 +00:00
Samuel Pitoiset
b888677dcf
radv: add vertex_robustness1 to radv_shader_stage_key
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27007 >
2024-01-15 11:49:04 +00:00
Samuel Pitoiset
f2f87d0872
radv: re-organize radv_pipeline_key
...
Rename and regroup fields per PSO basically.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27007 >
2024-01-15 11:49:04 +00:00
Samuel Pitoiset
fb80421a62
radv: stop passing the pipeline key when compiling compute/rt shaders
...
The pipeline key now essentially contains graphics state.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27007 >
2024-01-15 11:49:04 +00:00
Samuel Pitoiset
6e7018e74d
radv: remove unused lower_rt_instruction_monolithic_state::key
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27007 >
2024-01-15 11:49:04 +00:00
Samuel Pitoiset
ea89328fb4
radv: remove unecessary radv_nir_compiler_options::key
...
This is no longer useful.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27007 >
2024-01-15 11:49:04 +00:00
Samuel Pitoiset
6e1a73a53d
radv: add optimisations_disabled to radv_shader_stage_key
...
At some point, we will probably have a VK_SHADER_CREATE_xxx flag
matching the pipeline one. So, I think it's more like a per-shader
field. It can also be useful to disable optimisations per stage when
debugging.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27007 >
2024-01-15 11:49:04 +00:00
Samuel Pitoiset
3a776f036f
radv: use radv_shader_stage_key directly with pre-existing fields
...
More fields will be moved to radv_shader_stage_key but start using it
with pre-existing fields.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27007 >
2024-01-15 11:49:04 +00:00
Samuel Pitoiset
28e330c245
radv: add radv_shader_stage_key to radv_shader_stage
...
For storing the per-stage key information like robustness etc. This
will fit well with ESO as well.
For pipelines, they are copied from radv_pipeline_key, similarly to
the radv_pipeline_layout/radv_shader_layout pair.
This will also allow us to kill radv_pipeline_key for compute/rt
pipelines.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27007 >
2024-01-15 11:49:04 +00:00
Samuel Pitoiset
cff2a3aafc
radv: move radv_pipeline_key::mesh_fast_launch_2 to the per-device cache key
...
This is a global thing.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27007 >
2024-01-15 11:49:04 +00:00
Samuel Pitoiset
d74150fc66
radv: remove one unused parameter in radv_fill_shader_info_ngg()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27007 >
2024-01-15 11:49:04 +00:00
Samuel Pitoiset
138ce72860
radv/nir: remove useless struct for nir_shader typedef
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27007 >
2024-01-15 11:49:04 +00:00
Samuel Pitoiset
18349692d0
radv/nir: pass radv_shader_stage to some radv_nir_xxx() functions
...
Instead of passing separate parameters for args, layout, info etc.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27007 >
2024-01-15 11:49:04 +00:00
Lionel Landwerlin
7e111268f1
intel/hang_viewer: add aux-tt view
...
Allows you to visualize the AUX-TT.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27058 >
2024-01-15 11:16:40 +00:00
Lionel Landwerlin
78a881af43
intel/genxml: add GAM done register description
...
Useful if you encounter some kind of pagefault (including with
AUX-TT).
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27058 >
2024-01-15 11:16:40 +00:00
Lionel Landwerlin
547c2f3d3f
intel/genxml: add CCS_INSTDONE register
...
Gives us the ability to check whether the compute command streamer is
hung.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27058 >
2024-01-15 11:16:40 +00:00
Lionel Landwerlin
f78fac623a
intel/decoder: don't ignore BT entries at offset 0
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27058 >
2024-01-15 11:16:40 +00:00
Lionel Landwerlin
7107ed55c0
intel/decoder: make vertex data decoding optional
...
When capturing INTEL_DEBUG=capture-all and the application has like
1Gb of vertex data, you might not want to actually decode it when
looking at the error state.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27058 >
2024-01-15 11:16:40 +00:00
Lucas Stach
e481c1269c
etnaviv: disable 64bpp render/sampler formats
...
Vivante hardware handles 64bpp render targets and samplers in a odd way
by splitting the buffer and using a pair of texture samplers or a pair
of MRT outputs to access those resources. This isn't implemented in the
driver right now, so we should not advertise support for those formats.
CC: mesa-stable
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26982 >
2024-01-15 10:01:27 +00:00
Samuel Pitoiset
6febec12e4
radv: correctly return VK_ERROR_OUT_OF_DEVICE_MEMORY when mapping a BO fails
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27039 >
2024-01-15 09:41:55 +00:00
Samuel Pitoiset
4fe5f06d40
radv/rt: re-use radv_ray_tracing_stage::sha1 for hashing RT pipelines
...
radv_ray_tracing_stage::sha1 is radv_pipeline_key+shader_sha1 which
should be similar to what the code was doing.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27030 >
2024-01-15 08:58:37 +00:00
Samuel Pitoiset
bb86fc0359
radv: constify stages in radv_rt_fill_group_info()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27030 >
2024-01-15 08:58:37 +00:00
Tapani Pälli
36f428f1de
anv: check for wa 16013994831 in emit_so_memcpy_end
...
We are toggling preemption on/off during streamout, this is also
happening on gfx12 platforms, not just dg2.
Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27002 >
2024-01-15 08:36:29 +00:00
Vinson Lee
73835874a8
intel/disasm: Remove duplicate variable reg_file
...
Fix defects reported by Coverity Scan.
Evaluation order violation (EVALUATION_ORDER)
write_write_typo: In reg_file = reg_file = brw_inst_dpas_3src_dst_reg_file(devinfo, inst),
reg_file is written twice with the same value.
Fixes: 1c92dad5cb ("intel/disasm: Disassembly support for DPAS")
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27056 >
2024-01-15 07:46:12 +00:00
Dmitry Osipenko
e84aa455e5
iris: Use Mesa internal drm-uapi headers
...
Iris driver includes system DRM UAPI header before the Mesa's internal
ones, which makes Iris to use the system headers. Correct the included
header for consistency with the rest of the Intel driver code by changing
the inclusion order, like it's done by the rest of the Intel driver code.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27043 >
2024-01-15 07:06:33 +00:00
Lionel Landwerlin
a34a113059
anv: hide vendor ID for The Finals
...
XeSS workaround.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10436
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27057 >
2024-01-15 08:08:56 +02:00
Lionel Landwerlin
ff6041afdf
intel/aux_map: fix fallback unmapping range on failure
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 7c6faa1efe ("intel/aux_map: introduce ref count of L1 entries")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27057 >
2024-01-15 08:08:21 +02:00
Marek Olšák
33b77ec774
cso: don't unbind vertex buffers when enabling/disabling u_vbuf
...
The next set_vertex_buffers call always overwrites all slots anyway.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26309 >
2024-01-14 21:55:19 +00:00
Marek Olšák
eb20ef9277
gallium: remove unbind_trailing_count from set_vertex_buffers
...
It should implicitly unbind all bound buffers after "count".
This also slightly simplies u_vbuf.
This is a cleanup suggested by:
https://gitlab.freedesktop.org/mesa/mesa/-/issues/8142
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io > (asahi & panfrost)
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26309 >
2024-01-14 21:55:19 +00:00
Marek Olšák
2725b095ea
gallium/u_vbuf: replace unnecessary dst_index with "i"
...
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26309 >
2024-01-14 21:55:19 +00:00
Faith Ekstrand
cfba24ccb5
nvk: Add a couple more features to features.txt
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10429
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27061 >
2024-01-14 18:36:45 +00:00
Eric Engestrom
27a1b4e4f3
ci/deqp: ensure that in default builds, wayland + x11 + xcb are all built
...
If someone were to remove the libraries that are needed for these,
`default` would simply not enable these tests, and the only thing we
could notice is that test jobs would suddenly take less time to run.
Instead, let's have a check to make sure dEQP's cmake has detected
everything and enabled these platforms.
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27041 >
2024-01-14 17:10:25 +00:00
Faith Ekstrand
3c7460c023
nvk: Advertise variableMultisampleRate and EDS3RasterizationSamples
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9665
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27025 >
2024-01-13 18:25:20 +00:00
Faith Ekstrand
0e33dba625
nvk: Move SET_HYBRID_ANTI_ALIAS_CONTROL to draw time
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27025 >
2024-01-13 18:25:20 +00:00
Faith Ekstrand
148ea7792f
nvk: Emit SET_ANTI_ALIAS at draw time when no render targets are bound
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27025 >
2024-01-13 18:25:20 +00:00
George Ouzounoudis
48d510ac57
vulkan: Fix null pointer dereferencing on sample locations state
...
In the case both sample locations and rasterization samples is supported by a
driver as dynamic state, there is a case vk_multisample_sample_locations_state_init()
does not fill ms->sample_locations at all. In this case we need to check
this pointer when dereferencing it in vk_dynamic_graphics_state_init_ms().
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27025 >
2024-01-13 18:25:20 +00:00
Georg Lehmann
e36235e6d5
aco: reassign split vector to SOPC
...
Foz-DB Navi21:
Totals from 2669 (3.42% of 78112) affected shaders:
Instrs: 3570360 -> 3562026 (-0.23%)
CodeSize: 19049784 -> 19017092 (-0.17%)
Latency: 25343555 -> 25337767 (-0.02%); split: -0.03%, +0.00%
InvThroughput: 6191344 -> 6191079 (-0.00%); split: -0.01%, +0.00%
VClause: 90803 -> 90802 (-0.00%)
SClause: 114858 -> 114842 (-0.01%); split: -0.03%, +0.01%
Copies: 269287 -> 260999 (-3.08%)
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27046 >
2024-01-13 11:03:09 +00:00
Faith Ekstrand
94d96dac60
nak: Add explicit padding to nak_shader_info
...
This ensures that the padding bits stay zero, even as we copy the
structure around through multiple languages.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27049 >
2024-01-12 23:58:11 +00:00
Faith Ekstrand
d280160a13
nak: Disallow gl_FragData and set MRT correctly
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27049 >
2024-01-12 23:58:11 +00:00
Faith Ekstrand
005b5b1464
nvk: Set a minimum of one patch control point
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27049 >
2024-01-12 23:58:11 +00:00
Faith Ekstrand
2cab67a9f1
nvk: Invalidate state after secondary command buffers
...
Today, the only thing that this really affects is descriptor sets and
dynamic state as everything else is re-emitted almost every time.
However, as we add more dirtying, we'll need to be more and more careful
about stale state leaking across secondary command buffer executions.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27049 >
2024-01-12 23:58:11 +00:00
Faith Ekstrand
bc36dfdb5d
nvk: Handle missing descriptor sets in nvk_nir_lower_descriptors
...
For VK_EXT_graphics_pipeline_library, we need to be able to handle
missing descriptor sets. THis screws up dynamic buffers because we're
no longer guaranteed to be able to statically compute the index into
nvk_root_descriptor_table::dynamic_buffers while lowering descriptors.
Instead, we may need to look up the start index for the set in
nvk_root_descriptor_table::set_dynamic_buffer_start and compute from
there.
We also rework nvk_nir_lower_descriptors to take an array of (possibly
NULL) descriptor sets. This ensures that we don't make any assumptions
about the pipeline layout. It's also the interface we'll want for
implementing VK_EXT_shader_object.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27048 >
2024-01-12 23:42:39 +00:00
Faith Ekstrand
3197aff4e8
nvk: Make dynamic cbuf indices relative to the descriptor set
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27048 >
2024-01-12 23:42:38 +00:00
Faith Ekstrand
e0d907f56f
nvk: Rework descriptor set binding
...
This prepares us for VK_EXT_graphics_pipeline_library by allowing null
descriptor sets to be bound and handling holes in pipeline layouts. We
also add a set_dynamic_buffer_start map to the root descriptor table
which says where in dynamic_buffers each set starts. This can be used
by the pipeline layout lowering in the case where we can't statically
the dynamic buffer index for a binding.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27048 >
2024-01-12 23:42:38 +00:00
Faith Ekstrand
a11adbe408
nvk: Use s instead of set_idx in CmdBindDescriptorSets
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27048 >
2024-01-12 23:42:38 +00:00
Faith Ekstrand
2d5c04ee4a
nvk: Return an nvk_cbuf_map from nvk_lower_nir()
...
There's no need to pass in the whole shader when the only part we're
going to write is the cbuf map.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27048 >
2024-01-12 23:42:38 +00:00
Faith Ekstrand
f62b5582ea
nvk: Add an explicit mapping from shader stages to cbuf bindings
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27048 >
2024-01-12 23:42:38 +00:00
Juan A. Suarez Romero
8120360358
Revert "v3d: show warning on creating a v3d screen on real hw"
...
There are paths were a v3d screen can be created instead of vc4 screen,
in a real rpi4 hardware. For instance, in the CI itself.
So assuming that it was only possible with the simulator was wrong.
This reverts commit c31be1f4ba .
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27047 >
2024-01-12 23:03:06 +00:00
Jesse Natalie
4cb9c77e8e
mesa: Consider mesa format in addition to internal format for mip/cube completeness
...
Prior to 06b526de , the mesa format was used for these completeness checks.
That was to address the case where a *different* internal format selected
the *same* mesa format, and the texture shouldn't be considered compatible.
But this didn't address the case where the *same* internal format selected
a *different* mesa format, e.g. because the type passed to the TexImage
API was different.
An old WGL demo app called TexFilter.exe tries to redefine a mipped RGBA16
texture as RGBA8. This incorrect logic caused Mesa to try to copy the RGBA16
data from the smaller mips into the newly created RGBA8 data, because it
thought that the texture was still mip-complete, despite the format changing.
Cc: mesa-stable
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27023 >
2024-01-12 22:26:27 +00:00
Karol Herbst
75ff6ca470
clc: add support for the native spir-v backend
...
This allows us to easily test if the LLVM SPIR-V backend is viable to
replace the translator.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26955 >
2024-01-12 21:58:37 +00:00
Karol Herbst
22fa315ee0
clc: use spirv triple starting with llvm-17
...
It's supported since a while and shouldn't regress anything.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26955 >
2024-01-12 21:58:37 +00:00
José Roberto de Souza
49fe060b5f
anv: Fix PAT entry for userptr in integrated GPUs
...
Fixes: 060439bdf0 ("anv: Add ANV_BO_ALLOC_IMPORTED")
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27040 >
2024-01-12 21:32:49 +00:00
Mike Blumenkrantz
8929257352
zink: use maint6 for multi-layer compressed surface creation
...
this should speed up multi-layer copying
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26953 >
2024-01-12 21:05:26 +00:00
Mike Blumenkrantz
33282e7504
zink: hook up maint6
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26953 >
2024-01-12 21:05:26 +00:00
Mike Blumenkrantz
4ccc91de17
zink: use local screen variable in surface creation
...
no functional changes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26953 >
2024-01-12 21:05:26 +00:00
Caio Oliveira
1a31970946
intel/compiler/xe2: Implement instruction compaction for DPAS.
...
These use different tables but map to the same bits, so it is just
a matter of picking the right tables for the instruction.
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26860 >
2024-01-12 20:18:03 +00:00
Francisco Jerez
6e56a4b474
intel/compiler/xe2: Fix for the removal of AccWrCtrl.
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26860 >
2024-01-12 20:18:03 +00:00
Francisco Jerez
7f39e51dd5
intel/compiler/xe2: Add extra flag registers.
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26860 >
2024-01-12 20:18:03 +00:00
Francisco Jerez
f974eacab3
intel/compiler/xe2: Fix for the removal of most predication modes.
...
Reworks:
* Remove changes to fixup_nomask workaround since it applies only for
Gfx12 family.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26860 >
2024-01-12 20:18:03 +00:00
Francisco Jerez
f79123e1d9
intel/compiler/xe2: Fix for NibCtrl field removal.
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26860 >
2024-01-12 20:18:03 +00:00
Francisco Jerez
7db3f0b1c1
intel/compiler/xe2: Implement instruction compaction.
...
Reworks:
* Handle DPAS in has_3src_unmapped_bits.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26860 >
2024-01-12 20:18:03 +00:00
Francisco Jerez
57ba9c176c
intel/compiler/xe2: Implement codegen of compact instructions.
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26860 >
2024-01-12 20:18:03 +00:00
Francisco Jerez
d8ba1d63bc
intel/compiler: Add assume() checks to brw_compact_inst_(set_)bits().
...
Similar to the preconditions of brw_inst_(set_)bits().
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26860 >
2024-01-12 20:18:03 +00:00
Francisco Jerez
4a24f49b57
intel/compiler/xe2: Implement codegen of three-source instructions.
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26860 >
2024-01-12 20:18:03 +00:00
Francisco Jerez
e10e7d5aa3
intel/compiler/xe2: Implement codegen of indirect immediates.
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26860 >
2024-01-12 20:18:03 +00:00
Francisco Jerez
294bdbb253
intel/compiler/xe2: Implement codegen of 2-source instruction operands.
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26860 >
2024-01-12 20:18:03 +00:00
Francisco Jerez
72bbfa8e8d
intel/compiler/xe2: Implement codegen of general instruction controls.
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26860 >
2024-01-12 20:18:03 +00:00
Francisco Jerez
066e6c6234
intel/compiler/xe2: Add Xe2 bounds to FF() macro.
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26860 >
2024-01-12 20:18:03 +00:00
Yiwei Zhang
ecd50e70d4
venus: populate oom from ring submit alloc failures
...
ring_seqno_valid indicates a successful ring cmd submission, and can be
used to avoid invalid reply decoding due to failed submit alloc.
Otherwise, the garbled VkResult will mislead into initialization failure
instead of oom.
Below cts failure is fixed:
dEQP-VK.api.device_init.create_instance_device_intentional_alloc_fail.basic
Fixes: ec131c6e55 ("venus: use instance allocator for ring allocs")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27026 >
2024-01-12 19:56:34 +00:00
Yiwei Zhang
12d428bc68
venus: avoid redundant layout transition for optimal internal layout
...
This ensures no extra barriers when internal layout is wsi layout.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27020 >
2024-01-12 19:34:56 +00:00
Matt Turner
5b7c733902
util/tests: Disable half-float NaN test on hppa/old-mips
...
Bug: https://bugs.gentoo.org/908079
Fixes: 067023dce2 ("util: Add some unit tests of the half-float conversions.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26991 >
2024-01-12 17:47:55 +00:00
Matt Turner
0540c9de44
util: Add DETECT_ARCH_HPPA macro
...
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26991 >
2024-01-12 17:47:55 +00:00
Corentin Noël
68f5277887
glsl: Make sure that the variable is a ir_variable before unreferencing it
...
While it technically was already only using an ir_instruction field, better make
sure that it is effectively an ir_variable using the dedicated method instead of
relying on an undefined behavior.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26144 >
2024-01-12 17:11:57 +00:00
Corentin Noël
d9c4ccf56d
glsl: Make sure to not cast ir_dereference_variable into ir_variable
...
The parameter_lists_match_exact function was wrongly assuming that all the
elements were ir_variable when there can also be ir_dereference_variable elements.
Add case taking this into account.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26144 >
2024-01-12 17:11:57 +00:00
Dmitry Osipenko
b9ad22d24e
virtio/vdrm: Fix lockup in vdrm_host_sync()
...
The vdrm_execbuf() missed to set the seqno field for requests sent to host.
This causes vdrm_host_sync() to lock up due to the unset seqno in a case
where two or more threads are using vdrm_execbuf() and vdrm_send_req()
concurrently, like in this scenario:
thread1: vdrm_send_req() shmem->seqno=1 req->seqno=2
thread2: vdrm_execbuf() shmem->seqno=1 req->seqno=0
thread1: vdrm_host_sync() shmem->seqno=0 req->seqno=2
Fix the lockup by setting the seqno in vdrm_execbuf().
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27021 >
2024-01-12 16:53:59 +00:00
Derek Foreman
2fa1979c66
egl/wayland: Fix possible buffer leak
...
If we have to wait for a buffer to be released in swrast_update_buffers(),
we can leak it.
Take care to reuse the existing buffer if one is still available.
Signed-off-by: Derek Foreman <derek.foreman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26761 >
2024-01-12 15:16:31 +00:00
Pierre-Eric Pelloux-Prayer
e2f39e8aca
Revert "ci/radeonsi: disable VA-API testing on raven"
...
This reverts commit 9017852de4 .
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26947 >
2024-01-12 14:42:55 +00:00
Pierre-Eric Pelloux-Prayer
4e76c4ecb4
radeonsi: compute epitch when modifying surf_pitch
...
In the linear case with no mipmaps addrlib sets epitch to surf_pitch - 1
so lets do the same thing here.
The change in si_descriptors.c looks like it's papering over a bug but I
couldn't find any other changes that wouldn't break at least one use case.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10375
Fixes: 115b61e51f ("ac/surface: don't oversize surf_size")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26947 >
2024-01-12 14:42:55 +00:00
Tapani Pälli
810c1f7747
hasvk: remove gfx9 specific cs stall from emit_ps_depth_count
...
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26997 >
2024-01-12 14:01:08 +00:00
Tapani Pälli
30c148fd16
hasvk: remove softpin (GFX_VERx10 >= 90) related code
...
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26997 >
2024-01-12 14:01:08 +00:00
Tapani Pälli
ed2743258a
hasvk: remove gfx9 specific code from emit_sample_pattern
...
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26997 >
2024-01-12 14:01:08 +00:00
Tapani Pälli
4d3d3a495f
hasvk: remove cmd_buffer_ray_query_globals function decl
...
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26997 >
2024-01-12 14:01:08 +00:00
Job Noorman
b4015a1894
tu: support l1 dcache size on musl
...
musl doesn't support _SC_LEVEL1_DCACHE_LINESIZE so calculate the size
manually like on Bionic.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27031 >
2024-01-12 13:21:10 +00:00
Rohan Garg
91798bab2d
anv: refactor emit_dynamic_buffer_binding_table_entry
...
Refactor emit_dynamic_buffer_binding_table_entry to emit a null surface
state when the descriptor has no assocaited buffers allowing us to drop
the same check elsewhere.
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27005 >
2024-01-12 11:55:41 +00:00
Juan A. Suarez Romero
49794473c7
v3d/vc4/ci: reset the list of timeout tests
...
Check all the timeout tests in the skip list to remove those that are
not timeout anymore, and add new ones.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27027 >
2024-01-12 09:33:39 +00:00
Daniel Schürmann
09413ff745
aco/insert_exec_mask: only create loop phis for exec mask if necessary
...
Totals from 195 (0.25% of 79242) affected shaders: (GFX11)
Instrs: 476457 -> 476031 (-0.09%); split: -0.23%, +0.14%
CodeSize: 2453964 -> 2452108 (-0.08%); split: -0.23%, +0.16%
SpillSGPRs: 944 -> 913 (-3.28%); split: -3.39%, +0.11%
SpillVGPRs: 838 -> 835 (-0.36%); split: -0.95%, +0.60%
Latency: 10811026 -> 10810125 (-0.01%); split: -0.08%, +0.07%
InvThroughput: 2276677 -> 2276698 (+0.00%); split: -0.12%, +0.12%
VClause: 9223 -> 9233 (+0.11%); split: -0.10%, +0.21%
SClause: 9025 -> 9005 (-0.22%); split: -0.38%, +0.16%
Copies: 67419 -> 67382 (-0.05%); split: -0.97%, +0.92%
PreSGPRs: 10830 -> 10668 (-1.50%)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26937 >
2024-01-12 09:05:15 +00:00
Daniel Schürmann
e83d8e1366
aco/insert_exec_mask: replace phi for loop restore mask with explicit copies
...
Totals from 1785 (2.25% of 79242) affected shaders: (GFX11)
Instrs: 6787574 -> 6787041 (-0.01%); split: -0.01%, +0.00%
CodeSize: 34906500 -> 34904704 (-0.01%); split: -0.01%, +0.01%
SpillSGPRs: 5848 -> 5816 (-0.55%)
Latency: 88616877 -> 88617209 (+0.00%); split: -0.00%, +0.00%
InvThroughput: 16644948 -> 16644717 (-0.00%); split: -0.00%, +0.00%
VClause: 141122 -> 141121 (-0.00%)
SClause: 178929 -> 178906 (-0.01%); split: -0.03%, +0.02%
Copies: 569444 -> 569081 (-0.06%); split: -0.09%, +0.03%
Branches: 186980 -> 186961 (-0.01%); split: -0.01%, +0.00%
PreSGPRs: 133648 -> 133369 (-0.21%)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26937 >
2024-01-12 09:05:15 +00:00
Daniel Schürmann
d375d297cf
aco/insert_exec_mask: unify exec restore code after divergent control flow
...
No fossil-db changes.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26937 >
2024-01-12 09:05:15 +00:00
Eric Engestrom
eb96a4bffe
docs: fix syntax highlighting on shell commands
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27010 >
2024-01-12 08:13:39 +00:00
Eric Engestrom
eb505979ba
docs: fix syntax highlighting on non-code text snippet
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27010 >
2024-01-12 08:13:39 +00:00
Pavel Ondračka
83b5745404
r300/ci: move streaming-texture-leak from fails to skips
...
While it passes locally, the runners are slow enough to not make it in
60 seconds so just move it to skips.
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26973 >
2024-01-12 07:30:01 +00:00
Pavel Ondračka
328b1ae02a
r300/ci: add the KHR gles2 tests
...
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26973 >
2024-01-12 07:30:00 +00:00
Pavel Ondračka
13b1ff33ab
r300/ci: switch to deqp-runner suite
...
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26973 >
2024-01-12 07:30:00 +00:00
Tatsuyuki Ishi
63827751e1
radv: Recompute max_waves after postprocessing RT config
...
The max waves for RT prolog need to be recalculated after merging the
resource usage of all shaders invoked from it.
Note that there is no need to panic, as the info was only used to
calculate maximum scratch size and with the RT prolog being low
footprint, this likely only caused overestimation rather than
underestimation.
Fixes: 533ec9843e ("radv: Precompute shader max_waves.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26998 >
2024-01-12 02:39:32 +00:00
José Roberto de Souza
475661a64e
intel/isl/xe2: Disable route of Sampler LD message to LSC
...
This optimization is causing some tests groups to fail, like:
dEQP-VK.image.mutable.2d_array.*
dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.*
So disabling it until properly fixed.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27016 >
2024-01-12 01:51:59 +00:00
Alyssa Rosenzweig
89de5e22ae
asahi: don't use NIR_PASS_V
...
find . -type f -exec sed -ie 's/NIR_PASS_V(/NIR_PASS(_, /' \{} \;
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26976 >
2024-01-12 01:13:03 +00:00
Alyssa Rosenzweig
375ad0ef26
asahi: don't use NIR_PASS for removing entrypoints
...
it's not a real nir pass, doesn't do metadata, etc.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26976 >
2024-01-12 01:13:03 +00:00
Alyssa Rosenzweig
afefcc3b30
asahi: avoid silly internal NIR_PASS in gs lowering
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26976 >
2024-01-12 01:13:03 +00:00
Alyssa Rosenzweig
c87d46b600
asahi: return progress from passes
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26976 >
2024-01-12 01:13:03 +00:00
Alyssa Rosenzweig
8a6850d33c
agx: return progress from passes
...
so we can be smarter about validation
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26976 >
2024-01-12 01:13:03 +00:00
Alyssa Rosenzweig
26cedede0d
agx: unset silly nir opts
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26976 >
2024-01-12 01:13:03 +00:00
Alyssa Rosenzweig
01344819b0
agx: fix metadata in layer lowering
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26976 >
2024-01-12 01:13:03 +00:00
Alyssa Rosenzweig
fe04e85be9
agx: only lower vars to ssa once
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26976 >
2024-01-12 01:13:03 +00:00
Alyssa Rosenzweig
08fc7a4082
agx: stop lowering in opt loop
...
silly
total instructions in shared programs: 2278756 -> 2278751 (<.01%)
instructions in affected programs: 587 -> 582 (-0.85%)
helped: 2
HURT: 0
total bytes in shared programs: 15008934 -> 15008916 (<.01%)
bytes in affected programs: 3794 -> 3776 (-0.47%)
helped: 2
HURT: 0
total halfregs in shared programs: 519245 -> 519253 (<.01%)
halfregs in affected programs: 63 -> 71 (12.70%)
helped: 0
HURT: 1
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26976 >
2024-01-12 01:13:03 +00:00
Alyssa Rosenzweig
9dfb072ae3
agx: ingest undefs in the backend
...
in prep for doing smarter things with them. stats changes seem to be RA
lottery, maybe?
total instructions in shared programs: 2277305 -> 2278756 (0.06%)
instructions in affected programs: 4003 -> 5454 (36.25%)
helped: 0
HURT: 9
Instructions are HURT.
total bytes in shared programs: 15000418 -> 15008934 (0.06%)
bytes in affected programs: 27072 -> 35588 (31.46%)
helped: 0
HURT: 9
Bytes are HURT.
total halfregs in shared programs: 519229 -> 519245 (<.01%)
halfregs in affected programs: 30 -> 46 (53.33%)
helped: 0
HURT: 2
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26976 >
2024-01-12 01:13:03 +00:00
Alyssa Rosenzweig
b14987bf90
agx: rm deadcode
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26976 >
2024-01-12 01:13:03 +00:00
Alyssa Rosenzweig
aee66f4c8f
mesa/st: don't use NIR_PASS_V
...
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/26976 >
2024-01-12 01:13:03 +00:00
Alyssa Rosenzweig
52eb7e1ada
mesa/st: return progress lowering builtins
...
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/26976 >
2024-01-12 01:13:03 +00:00
Alyssa Rosenzweig
5da993ea9a
mesa/st: use instructions_pass for plane lowering
...
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/26976 >
2024-01-12 01:13:03 +00:00
Alyssa Rosenzweig
f81afb4b06
mesa/st: return progress in st_nir_lower_wpos_ytransform
...
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/26976 >
2024-01-12 01:13:03 +00:00
Alyssa Rosenzweig
1452b22ef9
glsl: fix metadata in gl_nir_zero_initialize_clip_distance
...
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/26976 >
2024-01-12 01:13:03 +00:00
Alyssa Rosenzweig
854b6020bd
glsl: don't use NIR_PASS_V
...
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/26976 >
2024-01-12 01:13:02 +00:00
Alyssa Rosenzweig
b3d6658d96
glsl: return progress in point size linking
...
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/26976 >
2024-01-12 01:13:02 +00:00
Alyssa Rosenzweig
8fd18c4f20
nir/lower_flatshade: fix metadata
...
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/26976 >
2024-01-12 01:13:02 +00:00
Alyssa Rosenzweig
fcae4b469f
nir/lower_io_arrays_to_elements: return prog
...
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/26976 >
2024-01-12 01:13:02 +00:00
Alyssa Rosenzweig
70fd20d2bc
nir/lower_passthrough_edgeflags: return progress
...
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/26976 >
2024-01-12 01:13:02 +00:00
Alyssa Rosenzweig
460d2ca4f3
nir/lower_point_size_mov: return prog
...
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/26976 >
2024-01-12 01:13:02 +00:00
Alyssa Rosenzweig
8b7d765e59
nir/lower_alpha_test: rewrite with intrinsics_pass
...
returns progress now
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/26976 >
2024-01-12 01:13:02 +00:00
Alyssa Rosenzweig
086cbe5da2
nir/lower_bitmap: return prog
...
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/26976 >
2024-01-12 01:13:02 +00:00
Alyssa Rosenzweig
4833e42721
nir: return prog from drawpixels
...
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/26976 >
2024-01-12 01:13:02 +00:00
Alyssa Rosenzweig
6fa32b5b83
nir/lower_clip_cull_distance_arrays: return prog
...
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/26976 >
2024-01-12 01:13:02 +00:00
Alyssa Rosenzweig
a36812d9b4
nir/lower_io_to_temporaries: return prog
...
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/26976 >
2024-01-12 01:13:02 +00:00
Alyssa Rosenzweig
caffc3abca
nir/lower_blend: return progress
...
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/26976 >
2024-01-12 01:13:02 +00:00
Alyssa Rosenzweig
29bd0a8ffa
nir/lower_ssbo: rewrite
...
This pass was a mess. Rewrite it as modern NIR, fixing the metadata issues in
the process.
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/26976 >
2024-01-12 01:13:02 +00:00
Mike Blumenkrantz
93b29cd40a
lavapipe: delete extra descriptor buffer layout validation
...
this is no longer needed
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26952 >
2024-01-12 00:44:09 +00:00
Francisco Jerez
ae29ffb637
intel/eu/gfx12.5+: Don't fail validation with ARF register restriction error for indirect addressing.
...
The "file" field doesn't exist for indirect operands, so it contains
garbage.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26994 >
2024-01-12 00:20:38 +00:00
Francisco Jerez
32b3ea3c3d
intel/eu/validate: SEND instructions don't have immediate encodings on Gen12+.
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26994 >
2024-01-12 00:20:38 +00:00
Francisco Jerez
dfb034853a
intel/fs: Use full 32-bit sample masks when immediate.
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26994 >
2024-01-12 00:20:38 +00:00
Mike Blumenkrantz
565ee4fafc
zink: fix separate shader patch variable location adjustment
...
in spirv, these start at location 0, not location 32
fixes #10414
Fixes: d9942442f2 ("zink: handle patch variable locations for separate shaders better")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26981 >
2024-01-11 23:59:11 +00:00
Lionel Landwerlin
695b4a2992
anv: fix disabled Wa_14017076903/18022508906
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: d0669f3ede ("intel/dev: switch defect identifiers to use lineage numbers")
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27008 >
2024-01-11 23:36:05 +00:00
Corentin Noël
1279e7b6c7
zink: Use memmove when dealing with overlapping memory
...
Fix defect reported by Coverity Scan.
Overlapping buffer in memory copy
Results in an undefined behavior
CID: 1515598
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26922 >
2024-01-11 23:11:52 +00:00
Corentin Noël
a18171968c
zink: Avoid the use of negative array offsets
...
Fix defect reported by Coverity Scan.
Negative array index read
A memory location at a negative offset from the beginning of the array will be read, resulting in incorrect values.
CID: 1515600
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26922 >
2024-01-11 23:11:52 +00:00
Emma Anholt
920fe469b3
ci: Disable VK full runs that time out since 1.3.7.0 (hasvk, anv-tgl, a630)
...
Even the ESO fixes aren't helping, so just disable them for now.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25922 >
2024-01-11 22:45:05 +00:00
Emma Anholt
78da1845fb
ci: Add full-run xfails missed in the 1.3.7.0 CTS update.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25922 >
2024-01-11 22:45:05 +00:00
Eric Engestrom
f298a0e709
ci: make sure we evaluate the python-test rules first
...
Fixes: 2c9fdaa830 ("ci: fix python-test dependency error on merge requests")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26984 >
2024-01-11 21:59:22 +00:00
Timur Kristóf
436b89e838
radv: Correctly select SDMA support for PRIME blit.
...
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10317
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27015 >
2024-01-11 21:38:10 +00:00
Jesse Natalie
bc65d14ddb
ci/windows: Update WARP to 1.0.9 NuGet
...
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26992 >
2024-01-11 20:38:51 +00:00
Pavel Ondračka
9530ec9c07
r300: skip draw if vertex shader does not write gl_Position
...
Fixes few more piglit crashes.
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: Filip Gawin <filip.gawin@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27006 >
2024-01-11 19:59:45 +00:00
Pavel Ondračka
53c17d85ab
r300: fix reusing of color varying slots for generic ones
...
This was broken when I added texcoord support, the problem is that we
failed to properly count the number of used fs inputs and thus we failed
to make the proper decision when to reuse the color varying slot
Also fix the error messages, they were incorrect after the rewrite as
well. This fixes a bunch of piglits.
Fixes: d4b8e8a481
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: Filip Gawin <filip.gawin@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27003 >
2024-01-11 19:44:25 +00:00
Shih, Jude
7e4d95c271
amd/vpelib: Solve the downscaling problem for 2 tap
...
We should set default value of tap if we enable the
skip_optimal_tap_check flag for 2 tap case.
Reviewed-by: Tomson Chang <tomson.chang@amd.com >
Acked-by: Alan Liu <haoping.liu@amd.com >
Signed-off-by: Jude Shih <shenshih@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26841 >
2024-01-11 19:21:17 +00:00
Shih, Jude
25d0384df8
amd/vpelib: Add VPE prefix on API to avoid naming conflict
...
We need to add vpe prefix on some API such as convert_to_tetrahedral
to avoid naming conflict.
Reviewed-by: Roy Chan <Roy.Chan@amd.com >
Acked-by: Alan Liu <haoping.liu@amd.com >
Signed-off-by: Jude Shih <shenshih@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26841 >
2024-01-11 19:21:17 +00:00
Agate, Jesse
16c1628f73
amd/vpelib: VPT Failing Test Cases
...
Fix failing studio range test cases.
- Cause of issue was negative values being mirrored in the pipe by
studio range gamma conversion were getting clipped at the end of the
pipeline. Fix is to move bias outside of the gamma lut and into the
gamma bias.
Reviewed-by: Roy Chan <Roy.Chan@amd.com >
Acked-by: Alan Liu <haoping.liu@amd.com >
Signed-off-by: Jesse Agate <Jesse.Agate@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26841 >
2024-01-11 19:21:17 +00:00
Assadian, Navid
b354ceebaa
amd/vpelib: Use uint64 for buffer size
...
Reviewed-by: Roy Chan <Roy.Chan@amd.com >
Acked-by: Alan Liu <haoping.liu@amd.com >
Signed-off-by: Navid Assadian <navid.assadian@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26841 >
2024-01-11 19:21:17 +00:00
Agate, Jesse
4a48896a0d
amd/vpelib: White Screen Fix
...
- Observed white screen after changing edp display brightness and
resizing video.
- Root cause: ogam sequence was not being updated when 3dlut
transition from disabled->enabled.
Reviewed-by: Roy Chan <Roy.Chan@amd.com >
Acked-by: Alan Liu <haoping.liu@amd.com >
Signed-off-by: Jesse Agate <Jesse.Agate@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26841 >
2024-01-11 19:21:17 +00:00
Shih, Jude
28b7c1e611
amd/vpelib: Need a debug flag to support 2tap downscaling
...
Add flag to support 2tap downscaling.
Reviewed-by: Tomson Chang <tomson.chang@amd.com >
Acked-by: Alan Liu <haoping.liu@amd.com >
Signed-off-by: Jude Shih <shenshih@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26841 >
2024-01-11 19:21:17 +00:00
Assadian, Navid
ee20be9b07
amd/vpelib: Apply inverse gamut remap to background
...
The inverse of gamut remap is applied to background color when the tone-mapping
is enabled and the output is fp16 linear, in order to reverse the effect of gamut remap
on the background color to preserve the given background color.
Reviewed-by: Jesse Agate <Jesse.Agate@amd.com >>
Acked-by: Alan Liu <haoping.liu@amd.com >
Signed-off-by: Navid Assadian <navid.assadian@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26841 >
2024-01-11 19:21:17 +00:00
Agate, Jesse
73713f837b
amd/vpelib: Studio Range Handling
...
The purpose of this change is to support bg color fill + studio range
output. Now, studio range conversion will be done in the gamma block
before bg color fill. That is for all studio range outputs adn SDR
outputs we will be in NL before blend block. For full range HDR (full
range PQ of FP16 only), we will be linear before blend block.
- Added linear_0_1 gamma function
- Consolidated x_scale and y_scale
- Refactor Regam/Degam Funcs
- Add y bias to regam and degam
- Pull memory allocation for cm into a different function to make it
more readable
- Added logic to degamma/regamma to re-calculate instead of using table
if the scale factors are not one and the bias is not zero.
- Changing output gamma programming sequence in sw layer
- Fixes in hw layer for interpolation error assocaites with studio
range transformation in gamma.
- Disabling ocsc
- PQ studio will still be 'blended' in NL. But A check was added
to reject the job if it is not opaque
Reviewed-by: Roy Chan <Roy.Chan@amd.com >
Acked-by: Alan Liu <haoping.liu@amd.com >
Signed-off-by: Jesse Agate <Jesse.Agate@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26841 >
2024-01-11 19:21:17 +00:00
Lin, Ricky
e18761001e
amd/vpelib: Rename the parameters of init vpe function
...
Rename the following parameters for better description.
- mj to major
- ni to minor
- rv to rev_id
Reviewed-by: Tomson Chang <tomson.chang@amd.com >
Acked-by: Alan Liu <haoping.liu@amd.com >
Signed-off-by: rickylin <ricky.lin@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26841 >
2024-01-11 19:21:17 +00:00
Visan, Tiberiu
258acf0227
amd/vpelib: revert SRGB to 709
...
Acked-by: Alan Liu <haoping.liu@amd.com >
Signed-off-by: Tiberiu Visan <Tiberiu.Visan@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26841 >
2024-01-11 19:21:17 +00:00
Alan Liu
6d19aca144
amd/vpelib: remove unused header file
...
Remove unused header file diag_reg_helper.h
Signed-off-by: Alan Liu <haoping.liu@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26841 >
2024-01-11 19:21:17 +00:00
Alan Liu
74eb511458
radeonsi/vpe: Don't map and unmap emb_buffer every time in process_frame
...
We don't need to map and unmap emb_buffers every time in process_frame.
Instead, we can just map the buffers at create_processor and unmap at
process_destroy, and reuse the mapped address in process_frame.
v2:
Remove RADEON_MAP_TEMPORARY flag when calling buffer_map().
Signed-off-by: Alan Liu <haoping.liu@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26841 >
2024-01-11 19:21:17 +00:00
Alan Liu
82314a6dad
radeonsi/vpe: Add environment variable to set embbuf number
...
Add an environment variable to allow users to set embbuf number before run time.
Signed-off-by: Alan Liu <haoping.liu@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26841 >
2024-01-11 19:21:17 +00:00
Peyton Lee
211b67c79b
radeonsi/vpe: pre-allocate stream struceutre
...
Allocate stream structure when vpe is created.
No need to allocate and free stream everytime in process_frame.
Signed-off-by: Peyton Lee <peytolee@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26841 >
2024-01-11 19:21:17 +00:00
Peyton Lee
bd37cbc8e5
radeonsi/vpe: support multi-buffer
...
Allocate mulitple embbuf for cycle using.
Signed-off-by: Peyton Lee <peytolee@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26841 >
2024-01-11 19:21:17 +00:00
Peyton Lee
f6f9e3fe08
radeonsi/vpe: move flush to si_vpe_processor_end_frame
...
move cs_flush() to si_vpe_processor_end_frame() to fit the behavior as decoder.
Signed-off-by: Peyton Lee <peytolee@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26841 >
2024-01-11 19:21:17 +00:00
Peyton Lee
14365ea353
radeonsi/vpe: disable info log
...
Set default log level to 0.
Signed-off-by: Peyton Lee <peytolee@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26841 >
2024-01-11 19:21:17 +00:00
Peyton Lee
7bea7ced40
radeonsi/vpe: remove wait source surface fence and while loop
...
Kernel will handle source waiting, so remove the user mode waiting.
Signed-off-by: Peyton Lee <peytolee@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26841 >
2024-01-11 19:21:16 +00:00
Karol Herbst
2d3273e388
nak/algebraic: write code to an output file
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26999 >
2024-01-11 19:02:44 +00:00
Karol Herbst
15785a9bfe
nak/algebraic: merge run and main function
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26999 >
2024-01-11 19:02:43 +00:00
Mike Blumenkrantz
465e26dd98
lavapipe: fix devenv icd filename
...
fixes #10408
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26985 >
2024-01-11 18:29:55 +00:00
Yonggang Luo
0482153ef6
util: Update ALIGN prototype to match align
...
This is for rename merge ALIGN into align in future
Now it's safe to do that, because all warnings that triggered with
clang -Wshorten-64-to-32
already fixed in previous version
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10269
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23932 >
2024-01-11 17:30:46 +00:00
Yonggang Luo
8c847eb2de
treewide: Use align64 instead of ALIGN for 64 bit value parameter
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23932 >
2024-01-11 17:30:46 +00:00
Yonggang Luo
32d2f70742
nouveau: Use align64 instead of ALIGN over input layer_size_B
...
layer_size_B is uint64_t, so use align64 over it
Because array_stride_B is uint32_t, so cast back to uint32_t
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23932 >
2024-01-11 17:30:46 +00:00
Yonggang Luo
fb55c70269
svga: Cleanup duplicate ALIGN macro defines
...
Use ALIGN function instead
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23932 >
2024-01-11 17:30:46 +00:00
Yonggang Luo
0b9c96562b
treewide: Use util_is_power_of_two_nonzero{64|_uintptr} when needed
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26909 >
2024-01-11 16:45:57 +00:00
Yonggang Luo
c1d6d745cf
asahi,panfrost: Use IS_POT_NONZERO to replace util_is_power_of_two_nonzero for different size
...
This member's size are not fixed, so use IS_POT_NONZERO over it
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26909 >
2024-01-11 16:45:57 +00:00
Yonggang Luo
9bed04c5a6
util: Add function util_is_power_of_two_nonzero_uintptr and macro IS_POT_NONZERO
...
The name suffix 'NONZERO' matched suffix of util_is_power_of_two_nonzero
IS_POT_NONZERO added for reduce duplicated code and compatible for different size
uintptr_t,uint32_t,uint64_t
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26909 >
2024-01-11 16:45:56 +00:00
Eric Engestrom
50e570fd8e
docs: update calendar for 24.0.0-rc1
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27004 >
2024-01-11 16:36:15 +00:00
Mike Blumenkrantz
bf729063c3
lavapipe: use pushconstants2 for dgc
...
Fixes: ec656e1984 ("lavapipe: maint6")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26977 >
2024-01-11 15:59:17 +00:00
Mike Blumenkrantz
b6bfa73dc7
vk/cmdbuf: add back deleted maint6 workgraph bits
...
this otherwise breaks workgraph support in lavapipe
Fixes: ec656e1984 ("lavapipe: maint6")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26977 >
2024-01-11 15:59:17 +00:00
José Expósito
0f57ffb845
zink: add render-passes HUD query
...
Add a driver specific query to display the number of render passes per
frame in the Gallium HUD.
Suggested in https://gitlab.freedesktop.org/mesa/mesa/-/issues/7327
Signed-off-by: José Expósito <jexposit@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26518 >
2024-01-11 15:07:52 +00:00
Juan A. Suarez Romero
c31be1f4ba
v3d: show warning on creating a v3d screen on real hw
...
Rpi4 and beyond uses vc4 hardware to handle the display.
When forcing `MESA_LOADER_DRIVER_OVERRIDE=v3d` on it, it will try to
create a screen through v3d hardware, which does not exist, and thus
fail.
This is intended to be used with the simulator on x86 hardware, so
let's print a warning in case of trying to use it with real rpi.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27001 >
2024-01-11 13:09:55 +00:00
Juan A. Suarez Romero
0557f0d59c
Revert "v3d: use kmsro to create drm screen on real hw"
...
Let's not depend on kmsro to create the screen.
This reverts commit 8f621174da .
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27001 >
2024-01-11 13:09:55 +00:00
Eric Engestrom
4be49fa15a
docs: reset new_features.txt
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27000 >
2024-01-11 11:05:47 +00:00
Eric Engestrom
8dc234b36b
VERSION: bump to 24.1
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27000 >
2024-01-11 11:05:47 +00:00