Connor Abbott
749e1de9d3
tu: Fix per-view viewport state propagation
...
We no longer use viewport::per_view_viewport, it's part of the program
state instead, but we forgot to delete it and rewrite all users.
Fixes: 97da0a7734 ("tu: Rewrite to use common Vulkan dynamic state")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25225 >
2023-09-15 13:02:34 +00:00
Eric Engestrom
21fa677712
ci: document which image tags need to be bumped when updating {alpine,debian,fedora}/x86_64
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25120 >
2023-09-15 12:12:31 +00:00
Eric Engestrom
c1990cdb00
ci: document which image tags need to be bumped when updating piglit
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25120 >
2023-09-15 12:12:31 +00:00
Daniel Stone
7521dbae60
ci: Fix pre-merge pipelines with no code changes
...
Make sure we don't end up with manual container jobs in MR pipelines,
because they'll never start. This cleans up the container and build
rules so always 'do the right thing' on MRs (container+build if
required, nothing if not) and user branches (all manual).
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25219 >
2023-09-15 11:29:34 +00:00
Sviatoslav Peleshko
b1a63d5418
intel/fs: Check if the whole ubo load range is in the push const range
...
Before this, we were checking only the beginning of the ubo range, so
partially overlapping loads were trying to load undefined data.
Fixes: b2da1238 ("i965: Use pushed UBO data in the scalar backend.")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9748
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/25111 >
2023-09-15 10:55:24 +00:00
Roman Stratiienko
2bd86f8048
panvk: Add Android ICD loader entry point
...
Enables offscreen rendering on Android.
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com >
Reviewed-by: Chia-I Wu <olvaffe@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25194 >
2023-09-15 10:39:02 +00:00
Mike Blumenkrantz
dd6a7a8e61
lavapipe: clamp cache uuid size
...
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25232 >
2023-09-15 03:48:31 +00:00
Mike Blumenkrantz
b73ebc6bfc
zink: flag db maps as unsynchronized
...
these otherwise can be created using the wrong slab
Fixes: 98c411a2a1 ("zink: add PERSISTENT for db buffer maps")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25227 >
2023-09-15 02:30:32 +00:00
Mike Blumenkrantz
a5be0385c7
aux/tc: don't use pipe_buffer_create_with_data() for rp-optimized subdata
...
this function doesn't use the correct tc map flags, which causes
drivers to (potentially) use the wrong slab for transfer allocation
and then crash
Fixes: 51ad269198 ("aux/tc: handle stride mismatch during rp-optimized subdata")
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25227 >
2023-09-15 02:30:32 +00:00
Mike Blumenkrantz
81dd39de01
aux/tc: fix rp info handling around tc_sync calls
...
if a set_framebuffer_state call has occurred but no draws have been
triggered, the rp info must be preserved for the driver to (eventually)
use after the sync
Fixes: 07017aa137 ("util/tc: implement renderpass tracking")
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25227 >
2023-09-15 02:30:32 +00:00
Caio Oliveira
c9b7639a7d
compiler/types: Fix array name dimension flipping for unsized arrays
...
Rewrite the code to use linear_asprintf and always flip the
dimensions in place if the element type is an array. The new
code will now (correctly) flip even in the case of unsized arrays.
The flipping is done by swapping the ranges [a, b) and [b, c), as
shown below, with element type int[...] and an array of length 4.
```
+--------------- a: first bracket in the name
| +---------- b: end of the element name
| | +------- c: end of the array name
| | |
int[...][4]$
will be transformed into
int[4][...]$
```
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23278 >
2023-09-15 01:21:40 +00:00
Caio Oliveira
ea998ddd34
glsl: Annotate _mesa_glsl_error() with PRINTFLIKE
...
And fix all the errors it found.
Note that for the unsized array error, we will print the
toplevel type -- so that the fact that an inner array is
unsized can be seen.
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25200 >
2023-09-15 00:45:05 +00:00
Emma Anholt
2db04de6df
freedreno: Build drm subdir before perfcntrs, which uses it.
...
Fixes: f8ac568955 ("freedreno: Only add drm/computerator when system_has_kms_drm")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25229 >
2023-09-15 00:06:27 +00:00
Helen Koike
c5a6cdfeb9
ci: add locked flag to bindgen-cli on x86_64_build.sh
...
since the dependencies were not locked, they got updated and generating
a new container is throwing errors like the following:
error: failed to compile `bindgen-cli v0.62.0`, intermediate artifacts can be found at `/tmp/cargo-installcP54m7`
Caused by:
package `memchr v2.6.3` cannot be built because it requires rustc 1.61 or newer, while the currently active rustc version is 1.60.0
rust packages have Cargo.lock file from when they were released, so add
--locked flag to use it.
Signed-off-by: Helen Koike <helen.koike@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25226 >
2023-09-14 23:30:27 +00:00
Ian Romanick
92f5442489
intel/fs: Merge copy prop dataflow loops
...
This is kept as a separate commit because the change looks like a lot
more than it it. The order of the two loops is swapped, then the two
loops are merged.
Suggested-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25091 >
2023-09-14 22:31:23 +00:00
Ian Romanick
fa2757aa97
intel/fs: Use rb_tree for copy prop dataflow
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25091 >
2023-09-14 22:31:23 +00:00
Ian Romanick
35644bb483
intel/fs: Use rb_tree to store ACP entries by destination
...
Using a single data structure seems better. There's no appreciable
performance change. On batman_arkham_city_goty.foz, the difference
reported was 0.48%±0.36% (n=20). Several commits in the MR, including
some that should have no effect at all, reported similar changes. I
attribute this primarily changing of loop alignments and similar.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25091 >
2023-09-14 22:31:23 +00:00
Ian Romanick
c28bf1a249
intel/fs: Use rb_tree to store ACP entries by source
...
On batman_arkham_city_goty.foz, this improves fossil-db time by
-3.83%±0.24% (n=20). This fossil takes the longest time of any in my
database.
v2: Add some comments for cmp_entry_src_entry_src and
cmp_entry_src_nr. Suggested by Ken.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25091 >
2023-09-14 22:31:23 +00:00
Ian Romanick
06bdd3eac0
intel/fs: Encapsulate per-block ACP in a structure
...
This simplifies some later changes.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25091 >
2023-09-14 22:31:23 +00:00
Ian Romanick
c262752d74
intel/fs: Make opt_copy_propagation_local file private
...
This annoyed me durning development of this MR. Every time I changed the
parameters to this internal function, I had to modify a public header
file... and trigger a much large rebuild.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25091 >
2023-09-14 22:31:23 +00:00
Ian Romanick
0946108298
intel/fs: Simplify check in can_propagate_from
...
The larger predicate here already requires that inst->opcode must be
BRW_OPCODE_MOV, so it can't BRW_OPCODE_SEL. With that removed, the
other simplifications are pretty straight forward.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25091 >
2023-09-14 22:31:23 +00:00
Ian Romanick
1f15a0f8b2
intel/fs: Don't loop in try_constant_propagate
...
The caller already loops over the sources. This means that the caller
must loop over the sources in reverse because constant propagation
prefers to propagate into the last sources first.
The shader-db and fossil-db changes (below) are all due to SEL
instructions. Changing the order sources are visited changes whether a
SEL with two immediate sources is
(+f0.0) sel g12 IMM_A IMM_B
or
(-f0.0) sel g12 IMM_B IMM_A
The ordering of the sources affects the order the constant combining
encounters the values, and the determines which value is "combined"
and which value remains an immediate.
This affects the results by luck. If there are two instructions:
(+f0.0) sel g12 IMM_A IMM_B
(+f0.0) sel g13 IMM_A IMM_C
Picking IMM_A is advantageous over picking IMM_B and IMM_C. Since the
selection algorithm in constant combining is greedy, this case
requires the algorithm see the values in just the right order for the
right thing to happen.
v2: Rebase on many, many changes. Move instruction source fixup
reordering out or try_constant_propagate.
v3: Rebase on !7698 .
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25091 >
2023-09-14 22:31:23 +00:00
Ian Romanick
ab23d89ade
intel/fs: Move src.file checks out of try_constant_propagate and try_copy_propagate
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25091 >
2023-09-14 22:31:23 +00:00
Ian Romanick
b5b2338c5c
intel/fs: Make try_constant_propagate and try_copy_propagate file private
...
This annoyed me durning development of this MR. Every time I changed the
parameters to this internal function, I had to modify a public header
file... and trigger a much large rebuild.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25091 >
2023-09-14 22:31:22 +00:00
Ian Romanick
8665e37960
intel/fs: Don't try to copy propagate into a source again after progress is made
...
If the linked list structure used depended on the list head to know when
to terminate, this would be a pretty serious bug. If try_constant_propage
or try_copy_propagate make progress, inst->src[i].nr will change. This
results in the foreach_in_list using a different list header on later
iterations of the loop.
This causes two shaders in shader-db and 9 shaders in fossil-db to
change. Looking at the code changes, these are cases where there was a
copy of a copy that gets propagated. The part that confuses me is the
VGRF numbers involved should **not** hash to the same bucket, so it
should be impossible to find the original source from the intermediate
VGRF.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25091 >
2023-09-14 22:31:22 +00:00
Ian Romanick
e488b46419
intel/fs: Don't continue fixed point iteration just because liveout changes
...
Unless the change in liveout also causes livein to change, updates to
liveout cannot have any global effect. Changes to livein already flag
additional interation.
I had additional changes in this area that didn't pan out. While working
on those change, I was a little confused about this bit of code. It's
unnecessary, so it's better to delete it.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25091 >
2023-09-14 22:31:22 +00:00
Ian Romanick
385f01c89b
util/rb-tree: Inline rb_tree_init
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25091 >
2023-09-14 22:31:22 +00:00
Ian Romanick
0f917d93bf
util/rb-tree: Work around C++'s dislike of offsetof
...
This is the same technique used in src/compiler/glsl/list.h.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25091 >
2023-09-14 22:31:22 +00:00
Ian Romanick
f7472f23ba
glsl/list: Clean up an inappropriate comment
...
🤦
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25091 >
2023-09-14 22:31:22 +00:00
Jordan Justen
6f1b1d6330
intel/genxml: Auto-import genxml files using genxml_import.py
...
$ src/intel/genxml/genxml_import.py --import
This can be reversed with:
$ src/intel/genxml/genxml_import.py --flatten
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/20593 >
2023-09-14 11:05:16 -07:00
Jordan Justen
cd0c758f32
intel/genxml: Start Xe2 support
...
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/20593 >
2023-09-14 11:05:16 -07:00
Jordan Justen
57b5631297
intel/decoder: Implement support for importing genxml
...
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/20593 >
2023-09-14 11:05:16 -07:00
Jordan Justen
0ec95e425c
intel/decoder: ralloc_steal() values from spec context for fields and enums
...
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/20593 >
2023-09-14 11:05:16 -07:00
Jordan Justen
0495f952d4
intel/genxml: Add genxml_import.py script
...
This script can:
* validate that genxml files do not duplicate imported items
* add imports to genxml files and optimize the file by dropping
duplicate items
* reverse the import operation by flattening genxml files
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/20593 >
2023-09-14 11:05:16 -07:00
Jordan Justen
6ad2f39bab
intel/genxml: Add GenXml.flatten_xml() method
...
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/20593 >
2023-09-14 11:05:16 -07:00
Jordan Justen
c0f7feb239
intel/genxml: Add GenXml.add_xml_imports method
...
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/20593 >
2023-09-14 11:05:16 -07:00
Jordan Justen
9e5190ad1f
intel/genxml: Drop assertion to allow for importing
...
For example, gen11.xml will import the HEVC_ARBITRATION_PRIORITY
struct from gen9.xml.
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/20593 >
2023-09-14 11:05:16 -07:00
Jordan Justen
614aa2e62b
intel/genxml: Add GenXml.optimize_xml_import()
...
This function drops duplicated items from a genxml file when they are
equivalent to the same item imported from another genxml file.
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/20593 >
2023-09-14 11:05:16 -07:00
Jordan Justen
1285337218
intel/genxml: Add all xml files as pack dependencies
...
Since the output can now depend on other imported xml files, we need
to add them all as dependencies to ensure that if any xml file is
changed, then all pack files are rebuilt.
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/20593 >
2023-09-14 11:05:16 -07:00
Jordan Justen
b076b4f99b
intel/genxml: Add support for excluding items when importing
...
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/20593 >
2023-09-14 11:05:15 -07:00
Jordan Justen
6cc21dc8b5
intel/genxml: Support importing from another genxml file
...
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/20593 >
2023-09-14 11:05:15 -07:00
Daniel van Vugt
bb06db5a62
glx: Increment dpy->request before issuing an error that had no request
...
This ensures the sequence number is unique and recent enough for callers
of `glXQueryDrawable` using `XNextRequest` to selectively trap errors.
The same approach is already used in `glXCreateContextAttribsARB`.
Suggested-by: Sebastian Keller <skeller@gnome.org >
Related-to: https://gitlab.gnome.org/GNOME/mutter/-/issues/3007
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25173 >
2023-09-14 16:33:29 +00:00
Konstantin Seurer
73fec95358
radv: Remove ray tracing shader module identifier skips
...
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25142 >
2023-09-14 16:07:46 +00:00
Konstantin Seurer
28dcc5959d
radv/rt: Handle stages without nir properly
...
Fixes: e039e3cd76 ('radv/rt: Store NIR shaders separately')
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25142 >
2023-09-14 16:07:46 +00:00
Konstantin Seurer
3fd9894e3a
radv: Update navi21 llvm fails
...
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25010 >
2023-09-14 15:39:39 +00:00
Konstantin Seurer
77bf1408f3
radv: Don't advertise features requiring PS epilogs with LLVM
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25010 >
2023-09-14 15:39:39 +00:00
Konstantin Seurer
4c168635f8
ac/llvm: Use float types for float atomics
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25010 >
2023-09-14 15:39:39 +00:00
Konstantin Seurer
60e7b1c69c
ac/llvm: Use the correct return type for uadd_carry and usub_borrow
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25010 >
2023-09-14 15:39:39 +00:00
Konstantin Seurer
3ae0562c23
ac/llvm: Fix typed loads with 16bit formats
...
For some reason, LLVM can't handle those. Emit a 32bit load and type
conversion instead,
Fixes: 22ca8c8 ("ac/llvm: Implement typed buffer load intrinsic.")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25010 >
2023-09-14 15:39:38 +00:00
Konstantin Seurer
0cada27826
radv/ci: Improve ray tracing skips
...
I didn't know they were regexes. This also excludes all "1048576" tests.
They build an acceleration structure with 1 primitive 1048576 times
which only warms up the Valve farm and doesn't accomplish anything else.
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24720 >
2023-09-14 15:12:44 +00:00