Ian Romanick
ef3dc401da
brw: Add devinfo parameter to fs_inst::regs_read
...
This isn't used now, but future commits will add uses. Doing this as a
separate commit removes a lot of "just typing" churn from commits that
have real changes to review.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29884 >
2024-12-24 18:09:58 -08:00
Martin Krastev
e129d242f6
svga/ci: disable vmware farm
...
Farm has started experiencing intermittent dhcp/pxe issues with DUTs.
Disable the farm to investigate.
Signed-off-by: Martin Krastev <martin.krastev@broadcom.com >
Reviewed-by: David Heidelberg <None>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32776 >
2024-12-24 17:40:48 +00:00
Marek Olšák
af899c3752
radeonsi,radv: fix incorrect min_esverts for NGG subgroup calculation
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32713 >
2024-12-24 12:02:20 +00:00
Marek Olšák
c52025a1ce
radeonsi: disable luminance alpha formats on gfx6
...
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32713 >
2024-12-24 12:02:20 +00:00
Marek Olšák
9b7ea720c9
radeonsi: use nir->info instead of sel->info.base
...
sel->info is out of date after shader variant optimizations. We need to
stop using it.
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32713 >
2024-12-24 12:02:20 +00:00
Marek Olšák
04a0800068
radeonsi: call si_init_shader_args in si_get_nir_shader
...
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32713 >
2024-12-24 12:02:20 +00:00
Marek Olšák
409a6fd69c
radeonsi: make si_init_shader_args static
...
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32713 >
2024-12-24 12:02:20 +00:00
Marek Olšák
7ddb28f447
radeonsi: remove some uses of enum pipe_shader_type
...
it's identical to gl_shader_stage
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32713 >
2024-12-24 12:02:20 +00:00
Marek Olšák
110b308841
radeonsi: make nir->info and si_shader_info::base identical
...
so that we can use nir->info instead of the latter.
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32713 >
2024-12-24 12:02:20 +00:00
Marek Olšák
6a1bdf2f78
radeonsi/gfx12: tune streamout performance
...
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32713 >
2024-12-24 12:02:20 +00:00
Marek Olšák
10b951d752
radeonsi/gfx12: fix DrawTransformFeedback(stream != 0)
...
We only set buf_filled_size for the first target, but draws from non-zero
streams use buf_filled_size from other targets, so share the same
buf_filled_size buffer among all streamout targets because it contains
all 4 offsets.
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32713 >
2024-12-24 12:02:20 +00:00
Marek Olšák
8440184dfd
radeonsi: make NGG streamout output primitive type known at compile time
...
This compiles an optimized shader variant for NGG streamout where the output
primitive is known at compile time. This allows putting stores for all
vertices into the same VMEM clause.
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32713 >
2024-12-24 12:02:20 +00:00
Marek Olšák
5003465c42
radeonsi: eliminate shader code computing killed Z/S/samplemask PS outputs
...
Compile a monolithic optimized shader to do that, and clean up the comments.
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32713 >
2024-12-24 12:02:20 +00:00
Marek Olšák
58132d6fc8
radeonsi: implement nir_opt_frag_depth using kill_z instead of the NIR pass
...
This uses si_shader_info to store whether gl_FragDepth can be removed,
and it uses the kill_z epilog flag to do the removal without recompilation.
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32713 >
2024-12-24 12:02:20 +00:00
Marek Olšák
b56f47611a
radeonsi: fix alpha-to-coverage + alpha-to-one used together for gfx6-10.3
...
It works exactly like gfx11 except that COVERAGE_TO_MASK_ENABLE must be 1
to indicate that alpha for alpha-to-coverage should be read from mrtz.a.
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32713 >
2024-12-24 12:02:20 +00:00
Marek Olšák
08abddd235
radeonsi/gfx11: fix alpha-to-coverage + alpha-to-one used together
...
alpha-to-coverage must be applied before alpha-to-one. The only way to do
that is to export alpha for alpha-to-coverage via mrtz, and export 1 via
mrt0.a.
ACO and monolithic shader support is already in place thanks to RADV,
so we only need to change the LLVM PS epilog and the shader key.
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32713 >
2024-12-24 12:02:20 +00:00
Marek Olšák
de996ac481
radeonsi: kill Z and stencil PS outputs if depth or stencil is disabled
...
This adds kill_z and kill_stencil flags to the shader PS epilog key, which
removes those outputs if depth or stencil are disabled.
It must be implemented in:
* ACO PS epilog
* LLVM PS epilog
* ac_nir_lower_ps for monolithic shaders
Some of the samplemask code wasn't completely correct, but probably harmless.
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32713 >
2024-12-24 12:02:20 +00:00
Marek Olšák
0beeb16e41
radeonsi: fix a gfx10.3 regression due to a gfx12 change
...
This fixes:
Assertion `!"BITSET_TEST_RANGE: bit range crosses word boundary"' failed.
Fixes: e3cef02c24 - radeonsi/gfx12: set DB_RENDER_OVERRIDE based on stencil state
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32713 >
2024-12-24 12:02:20 +00:00
Marek Olšák
4ee1b2ee24
radeonsi/ci: update failures and flakes
...
If deqp-runner detects a flake, it's not reported without -v.
Here I gathered all the flakes.
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32713 >
2024-12-24 12:02:20 +00:00
Marek Olšák
31358df708
radeonsi/ci: don't copy skips.csv to the results directory
...
It's not needed anymore. This fixes the script for llvmpipe.
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32713 >
2024-12-24 12:02:20 +00:00
Pierre-Eric Pelloux-Prayer
c0ef2aa7f8
DEPENDENCY: ac/llvm: fix sparse code handling
...
The existing code produced a incorrectly sized result from visit_tex.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32713 >
2024-12-24 12:02:19 +00:00
Marek Olšák
3a7737ffb5
virgl/ci: disable virgl-traces because it doesn't upload results
...
Not being able to review results makes it impossible to update the hashes.
Suggested by Daniel Stone.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31942 >
2024-12-24 05:54:07 -05:00
Marek Olšák
73d675451b
ci: update fail lists and trace checksums
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31942 >
2024-12-24 05:54:07 -05:00
Marek Olšák
4932b63f36
v3d: enable uniform expression propagation from outputs to the next shader
...
This will take effect after nir_opt_varyings is enabled by another MR, and
will fix existing shader compiler crashes thanks to better optimizations.
For example, one GLSL program that failed to compile and had 226 VS
instructions and 356 FS instructions in NIR will be reduced to 2 or 3
instructions per shader.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31942 >
2024-12-24 05:54:07 -05:00
Jesse Natalie
01e9449be2
microsoft/compiler: Update clip/cull split pass to handle clip/cull getting merged
...
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31942 >
2024-12-24 05:54:07 -05:00
Jesse Natalie
8dd44c7e72
microsoft/compiler: Skip POS for io compaction
...
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31942 >
2024-12-24 05:54:07 -05:00
Marek Olšák
dae57e184a
glsl,st/mesa: always lower IO for GLSL, unlower IO for drivers
...
This enables nir_opt_varyings for all gallium drivers.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31942 >
2024-12-24 05:54:07 -05:00
Marek Olšák
1dc85a34f3
st/mesa: add a pass that unlowers IO intrinsics to variables
...
We are going to switch all gallium drivers to nir_opt_varyings and then
use this to get IO variables in the end.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31942 >
2024-12-24 05:54:07 -05:00
Qiang Yu
dff14d102d
aco: fix voffset missing when buffer store base >=4096
...
Regression on test:
dEQP-GLES31.functional.geometry_shading.basic.output_256
voffset is missing if buffer store base >=4096, we need to
re-calculate offen after resolve_excess_vmem_const_offset().
Fixes: cdaf269924 ("aco: inline store_vmem_mubuf/emit_single_mubuf_store")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32767 >
2024-12-24 01:42:45 +00:00
Deborah Brouwer
96c41f5926
ci: set python version 3.11 for run-pytest.sh
...
CI tests are carried out in debian/x86_64_pyutils container which is using
python version 3.11 so use this version also for local testing.
This makes local testing more accurate. For example repeated double
quotes in f-formatted strings will raise an error in python 3.11 but not
in python 3.12.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32602 >
2024-12-23 20:47:16 +00:00
Deborah Brouwer
995782d09c
ci: stop using a venv for run-pytest.sh
...
Since run-pytest.sh uses the debian/x86_64_pyutils container, it's not
necessary to add an additional layer of isolation by creating a virtual
environment for run-pytest.sh.
So stop creating a venv when run-pytest is run in a container, but keep
the option of using a venv to run-pytest.sh locally.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32602 >
2024-12-23 20:47:16 +00:00
Deborah Brouwer
c280808c72
ci: update the pyutils container
...
Update the pyutils container so that it has all the required pip
packages for the new linting checks in run-pytest.sh.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32602 >
2024-12-23 20:47:16 +00:00
Deborah Brouwer
5707083c8c
ci: update_traces_checksum: fix E501 line too long
...
Currently the update_traces_checksum script prints a label verification
request with a line that is 167 characters long.
Split the long line to make it more readable. Update the flake8
configuration to enforce a maximum line length of 159 characters to ensure
consistency.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32602 >
2024-12-23 20:47:16 +00:00
Deborah Brouwer
7994a3b17a
ci: add .flake8 linting to ci scripts and tests
...
Currently the ci scripts and tests don't have any linting checks. Add
.flake8 linting to start adding some consistency to the scripts. Ignore
most of the existing errors until they can be addressed on an individual
basis.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32602 >
2024-12-23 20:47:16 +00:00
Deborah Brouwer
e274d27be5
ci: run-pytest.sh: allow script to run locally
...
Currently, run-pytest.sh won't run locally outside of a pipeline
because it can't find the `setup-test-env.sh` which provides necessary
functions.
Add a default value for the SCRIPTS_DIR so that run-pytest can find and
run the setup-test-env.sh and be run locally outside of a pipeline.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32602 >
2024-12-23 20:47:16 +00:00
Deborah Brouwer
3471b47574
ci: collapse yamllint and shellcheck sections
...
Currently the yamllint and shellcheck sections in the log output are
uncollapsed, but they don't say anything interesting so just keep them
collapsed.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32602 >
2024-12-23 20:47:16 +00:00
Rohan Garg
5bddf6ceb0
iris: assert that we're not exporting a TILE64 surface
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: José Roberto de Souza <None>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32771 >
2024-12-23 19:33:36 +00:00
Rohan Garg
308c2b9828
anv: refactor choose_isl_tiling_flags to pass fewer arguments
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: José Roberto de Souza <None>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32771 >
2024-12-23 19:33:36 +00:00
Rohan Garg
f96b2c002d
isl: disable aux when creating uncompressed TileY/Tile64 surfaces from compressed ones
...
Fixes: 8e96b51 ('intel/isl: Assert alignments of surface addresses')
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: José Roberto de Souza <None>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32771 >
2024-12-23 19:33:36 +00:00
Rohan Garg
abd137d079
iris: use CALLOC_STRUCT instead of calloc for readability
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: José Roberto de Souza <None>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32771 >
2024-12-23 19:33:36 +00:00
Thomas H.P. Andersen
e38150f2fa
drirc/nvk: force_vk_vendor=-1 for Artifact Classic
...
Without this the game crashes during the loading screen.
The game uses vkUpdateDescriptorSetWithTemplate and, in certain cases,
passes VkDescriptorBufferInfo structures where the offset + range
exceeds the size of the buffer. This triggers an assertion when
vk_buffer_range() is called, causing the game to crash.
When the nvidia vendor id is used the range is consistently set to 65536.
Without it the range varies and is much smaller - never exceeding 1000.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12349
Cc: stable
Reviewed-by: Faith Ekstrand <None>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32764 >
2024-12-23 16:12:35 +00:00
Mary Guillemard
711b3351ef
asahi: Remove unneeded dependencies for asahi_clc
...
There is no requirement on LLVM or SPIR-V tools since the introduction
of mesa-clc.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32719 >
2024-12-23 15:09:41 +00:00
Mary Guillemard
5ddeea9a62
meson: Add precomp-compiler and install-precomp-compiler options
...
As Asahi, Intel and soon Panfrost requires an offline compiler for their
respective internal shaders, this commit adds generic new options to
workaround meson current limitations around cross-compillation.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32719 >
2024-12-23 15:09:41 +00:00
Mary Guillemard
13fe5a597b
meson: Add mesa-clc and install-mesa-clc options
...
Due to the cross build issues in current meson, we adds new options to
allow mesa_clc and vtn_bindgen to be installed or searched on the
system.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32719 >
2024-12-23 15:09:40 +00:00
Juan A. Suarez Romero
4226be0c75
vc4: ensure sharing tiled resources are of proper format
...
When creating a tiled resource, it could be created either with "T" or
"LT" format.
But when sharing the resource, only "T" format is appropiate. So we need
to perform a conversion if required.
This is based on
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32661 .
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32703 >
2024-12-23 13:08:43 +00:00
Mary Guillemard
631bea2e02
nak: Simplify 16-bit vector selection to not use try_from
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32679 >
2024-12-23 11:47:49 +01:00
Mary Guillemard
979dfaf0bb
nak: Fix 8-bit selection for vectors
...
This fix at least permutation issues on vec16 of 8-bits values for
cooperative matrix.
Fixes: 9e84e9e44b ("nak: Add base support for 8 and 16-bit types")
Suggested-by: M Henning <drawoc@darkrefraction.com >
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32679 >
2024-12-23 11:47:32 +01:00
Samuel Pitoiset
2c323f2b8c
radv: rename color output state to fragment output state
...
Now that it also exports depth.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32675 >
2024-12-23 08:09:26 +00:00
Samuel Pitoiset
47dc9ca512
radv: rework emitting SPI_SHADER_Z_FORMAT
...
This fixes a small issue when the Z format in PS epilogs change, like
when alpha-to-coverage is enabled and then disabled.
igned-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32675 >
2024-12-23 08:09:26 +00:00
Daniel Schürmann
28a214728c
ac/lower_ngg: move readlane into break blocks in streamout code generation for gfx12/ACO
...
This avoids unnecessary shuffle code and s_wait_loadcnt.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32743 >
2024-12-21 12:32:25 +00:00