platform/upstream/mesa.git
10 months agotu: handle unused color attachments without crashing
Mike Blumenkrantz [Fri, 15 Sep 2023 13:29:49 +0000 (09:29 -0400)]
tu: handle unused color attachments without crashing

if the format is not set then this attachment must be ignored

Fixes: 97da0a77341 ("tu: Rewrite to use common Vulkan dynamic state")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25121>

10 months agolavapipe: EXT_load_store_op_none
Mike Blumenkrantz [Wed, 13 Sep 2023 17:18:56 +0000 (13:18 -0400)]
lavapipe: EXT_load_store_op_none

free real estate

Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25213>

10 months agotu: Actually emit patchpoint for viewports with FDM
Connor Abbott [Thu, 14 Sep 2023 14:18:57 +0000 (16:18 +0200)]
tu: Actually emit patchpoint for viewports with FDM

At some point I intended to track whether the pipeline had FDM enabled
and set a dirty flag, but I realized that wasn't necessary. However I
forgot to remove the useless tu_cmd_state::pipeline_has_fdm and the
viewport/scissor emission code was still using it. Fix that.

Fixes: 97da0a77341 ("tu: Rewrite to use common Vulkan dynamic state")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25225>

10 months agotu: Fix assert in FDM state emission
Connor Abbott [Thu, 14 Sep 2023 14:24:22 +0000 (16:24 +0200)]
tu: Fix assert in FDM state emission

Making the sub_cs not writeable switches the BO we're emitting to, which
causes an assert failure in tu_cs_end_sub_stream() because it looks like
we have a mismatched start/end. Just make it not writeable later.

Fixes: 97da0a77341 ("tu: Rewrite to use common Vulkan dynamic state")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25225>

10 months agotu: Fix tu6_emit_*_fdm size call
Connor Abbott [Thu, 14 Sep 2023 14:23:16 +0000 (16:23 +0200)]
tu: Fix tu6_emit_*_fdm size call

cs is not initialized until the line after this.

Fixes: 95104707f18 ("tu: Basic a7xx support")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25225>

10 months agotu: Fix per-view viewport state propagation
Connor Abbott [Wed, 6 Sep 2023 16:57:01 +0000 (18:57 +0200)]
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: 97da0a77341 ("tu: Rewrite to use common Vulkan dynamic state")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25225>

10 months agoci: document which image tags need to be bumped when updating {alpine,debian,fedora...
Eric Engestrom [Fri, 4 Aug 2023 17:30:53 +0000 (18:30 +0100)]
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>

10 months agoci: document which image tags need to be bumped when updating piglit
Eric Engestrom [Thu, 7 Sep 2023 12:51:36 +0000 (13:51 +0100)]
ci: document which image tags need to be bumped when updating piglit

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25120>

10 months agoci: Fix pre-merge pipelines with no code changes
Daniel Stone [Thu, 14 Sep 2023 10:47:40 +0000 (11:47 +0100)]
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>

10 months agointel/fs: Check if the whole ubo load range is in the push const range
Sviatoslav Peleshko [Thu, 7 Sep 2023 10:15:41 +0000 (13:15 +0300)]
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>

10 months agopanvk: Add Android ICD loader entry point
Roman Stratiienko [Tue, 12 Sep 2023 21:27:34 +0000 (00:27 +0300)]
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>

10 months agolavapipe: clamp cache uuid size
Mike Blumenkrantz [Thu, 14 Sep 2023 20:29:10 +0000 (16:29 -0400)]
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>

10 months agozink: flag db maps as unsynchronized
Mike Blumenkrantz [Thu, 14 Sep 2023 15:42:35 +0000 (11:42 -0400)]
zink: flag db maps as unsynchronized

these otherwise can be created using the wrong slab

Fixes: 98c411a2a19 ("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>

10 months agoaux/tc: don't use pipe_buffer_create_with_data() for rp-optimized subdata
Mike Blumenkrantz [Thu, 14 Sep 2023 15:41:42 +0000 (11:41 -0400)]
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: 51ad269198e ("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>

10 months agoaux/tc: fix rp info handling around tc_sync calls
Mike Blumenkrantz [Thu, 14 Sep 2023 15:40:29 +0000 (11:40 -0400)]
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: 07017aa137b ("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>

10 months agocompiler/types: Fix array name dimension flipping for unsized arrays
Caio Oliveira [Fri, 26 May 2023 18:23:19 +0000 (11:23 -0700)]
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>

10 months agoglsl: Annotate _mesa_glsl_error() with PRINTFLIKE
Caio Oliveira [Wed, 13 Sep 2023 07:41:43 +0000 (00:41 -0700)]
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>

10 months agofreedreno: Build drm subdir before perfcntrs, which uses it.
Emma Anholt [Thu, 14 Sep 2023 17:11:20 +0000 (10:11 -0700)]
freedreno: Build drm subdir before perfcntrs, which uses it.

Fixes: f8ac56895509 ("freedreno: Only add drm/computerator when system_has_kms_drm")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25229>

10 months agoci: add locked flag to bindgen-cli on x86_64_build.sh
Helen Koike [Thu, 14 Sep 2023 13:40:08 +0000 (10:40 -0300)]
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>

10 months agointel/fs: Merge copy prop dataflow loops
Ian Romanick [Thu, 14 Sep 2023 00:52:29 +0000 (17:52 -0700)]
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>

10 months agointel/fs: Use rb_tree for copy prop dataflow
Ian Romanick [Wed, 30 Aug 2023 20:20:35 +0000 (13:20 -0700)]
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>

10 months agointel/fs: Use rb_tree to store ACP entries by destination
Ian Romanick [Mon, 28 Aug 2023 22:46:53 +0000 (15:46 -0700)]
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>

10 months agointel/fs: Use rb_tree to store ACP entries by source
Ian Romanick [Sat, 19 Aug 2023 02:11:58 +0000 (19:11 -0700)]
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>

10 months agointel/fs: Encapsulate per-block ACP in a structure
Ian Romanick [Sat, 19 Aug 2023 00:37:02 +0000 (17:37 -0700)]
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>

10 months agointel/fs: Make opt_copy_propagation_local file private
Ian Romanick [Sat, 19 Aug 2023 00:31:12 +0000 (17:31 -0700)]
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>

10 months agointel/fs: Simplify check in can_propagate_from
Ian Romanick [Fri, 18 Aug 2023 23:12:47 +0000 (16:12 -0700)]
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>

10 months agointel/fs: Don't loop in try_constant_propagate
Ian Romanick [Wed, 15 Mar 2023 19:01:35 +0000 (12:01 -0700)]
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>

10 months agointel/fs: Move src.file checks out of try_constant_propagate and try_copy_propagate
Ian Romanick [Wed, 15 Mar 2023 00:13:37 +0000 (17:13 -0700)]
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>

10 months agointel/fs: Make try_constant_propagate and try_copy_propagate file private
Ian Romanick [Wed, 15 Mar 2023 16:27:36 +0000 (09:27 -0700)]
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>

10 months agointel/fs: Don't try to copy propagate into a source again after progress is made
Ian Romanick [Fri, 18 Aug 2023 16:34:35 +0000 (09:34 -0700)]
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>

10 months agointel/fs: Don't continue fixed point iteration just because liveout changes
Ian Romanick [Sat, 1 Apr 2023 01:13:57 +0000 (18:13 -0700)]
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>

10 months agoutil/rb-tree: Inline rb_tree_init
Ian Romanick [Wed, 30 Aug 2023 21:01:00 +0000 (14:01 -0700)]
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>

10 months agoutil/rb-tree: Work around C++'s dislike of offsetof
Ian Romanick [Sat, 19 Aug 2023 01:57:25 +0000 (18:57 -0700)]
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>

10 months agoglsl/list: Clean up an inappropriate comment
Ian Romanick [Sat, 19 Aug 2023 01:58:53 +0000 (18:58 -0700)]
glsl/list: Clean up an inappropriate comment

:facepalm:

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25091>

10 months agointel/genxml: Auto-import genxml files using genxml_import.py
Jordan Justen [Tue, 15 Aug 2023 22:35:44 +0000 (15:35 -0700)]
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>

10 months agointel/genxml: Start Xe2 support
Jordan Justen [Fri, 4 Aug 2023 09:20:17 +0000 (02:20 -0700)]
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>

10 months agointel/decoder: Implement support for importing genxml
Jordan Justen [Thu, 29 Dec 2022 19:32:07 +0000 (11:32 -0800)]
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>

10 months agointel/decoder: ralloc_steal() values from spec context for fields and enums
Jordan Justen [Thu, 29 Dec 2022 20:10:47 +0000 (12:10 -0800)]
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>

10 months agointel/genxml: Add genxml_import.py script
Jordan Justen [Mon, 26 Dec 2022 11:37:21 +0000 (03:37 -0800)]
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>

10 months agointel/genxml: Add GenXml.flatten_xml() method
Jordan Justen [Tue, 15 Aug 2023 18:46:42 +0000 (11:46 -0700)]
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>

10 months agointel/genxml: Add GenXml.add_xml_imports method
Jordan Justen [Tue, 15 Aug 2023 18:16:43 +0000 (11:16 -0700)]
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>

10 months agointel/genxml: Drop assertion to allow for importing
Jordan Justen [Tue, 27 Dec 2022 23:36:58 +0000 (15:36 -0800)]
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>

10 months agointel/genxml: Add GenXml.optimize_xml_import()
Jordan Justen [Mon, 26 Dec 2022 11:37:21 +0000 (03:37 -0800)]
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>

10 months agointel/genxml: Add all xml files as pack dependencies
Jordan Justen [Fri, 4 Aug 2023 21:53:35 +0000 (14:53 -0700)]
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>

10 months agointel/genxml: Add support for excluding items when importing
Jordan Justen [Mon, 26 Dec 2022 10:52:53 +0000 (02:52 -0800)]
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>

10 months agointel/genxml: Support importing from another genxml file
Jordan Justen [Sun, 25 Dec 2022 10:16:24 +0000 (02:16 -0800)]
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>

10 months agoglx: Increment dpy->request before issuing an error that had no request
Daniel van Vugt [Tue, 12 Sep 2023 08:01:15 +0000 (16:01 +0800)]
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>

10 months agoradv: Remove ray tracing shader module identifier skips
Konstantin Seurer [Sun, 10 Sep 2023 19:41:35 +0000 (21:41 +0200)]
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>

10 months agoradv/rt: Handle stages without nir properly
Konstantin Seurer [Mon, 11 Sep 2023 07:25:37 +0000 (09:25 +0200)]
radv/rt: Handle stages without nir properly

Fixes: e039e3cd768bef6c21255aeef2b11cedf1ab29b9 ('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>

10 months agoradv: Update navi21 llvm fails
Konstantin Seurer [Sat, 2 Sep 2023 12:25:26 +0000 (14:25 +0200)]
radv: Update navi21 llvm fails

Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25010>

10 months agoradv: Don't advertise features requiring PS epilogs with LLVM
Konstantin Seurer [Sat, 2 Sep 2023 11:30:34 +0000 (13:30 +0200)]
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>

10 months agoac/llvm: Use float types for float atomics
Konstantin Seurer [Sat, 2 Sep 2023 12:24:37 +0000 (14:24 +0200)]
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>

10 months agoac/llvm: Use the correct return type for uadd_carry and usub_borrow
Konstantin Seurer [Sat, 2 Sep 2023 12:22:33 +0000 (14:22 +0200)]
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>

10 months agoac/llvm: Fix typed loads with 16bit formats
Konstantin Seurer [Fri, 1 Sep 2023 19:37:39 +0000 (21:37 +0200)]
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>

10 months agoradv/ci: Improve ray tracing skips
Konstantin Seurer [Tue, 12 Sep 2023 14:30:24 +0000 (16:30 +0200)]
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>

10 months agoradv: Perform multiple sorts in parallel
Konstantin Seurer [Wed, 16 Aug 2023 09:50:18 +0000 (11:50 +0200)]
radv: Perform multiple sorts in parallel

This was the last part that didn't scale with multiple infos. Reducing
the amount of barriers in this case improves DOOM Eternal performance by
50%. (Running with low resolution)

Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24720>

10 months agoradv/radix_sort: Vendor the radix sort dispatch code
Konstantin Seurer [Wed, 16 Aug 2023 09:09:25 +0000 (11:09 +0200)]
radv/radix_sort: Vendor the radix sort dispatch code

This needs to be done so we can optimize it for occpuancy when building
multiple acceleration structures in parallel. Changes to the original
code:

- Change // to /* */
- clang-format
- Replace vkCmd calls with calls to the driver entrypoints
- Add a light weight info struct
- Use radv_fill_buffer directly

Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24720>

10 months agoradv: Remove dead radix_sort_vk_get_memory_requirements call
Konstantin Seurer [Wed, 16 Aug 2023 08:37:56 +0000 (10:37 +0200)]
radv: Remove dead radix_sort_vk_get_memory_requirements call

Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24720>

10 months agoradeonsi/vcn: change max_poc to fixed value for hevc encoder.
Ruijing Dong [Wed, 13 Sep 2023 19:03:17 +0000 (15:03 -0400)]
radeonsi/vcn: change max_poc to fixed value for hevc encoder.

problem: max_poc means the number of bits used in poc lsb
         in slice header, and it should not be related to GOP
 size. When large GOP size used, it could generate
 corrupted video, as the POC could not be correctly
 decoded.

solution: use fixed value of max_poc (16) for now.

Cc: mesa-stable
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25214>

10 months agoac/spm: initialize and set instance mapping for counters
Samuel Pitoiset [Wed, 13 Sep 2023 13:41:28 +0000 (15:41 +0200)]
ac/spm: initialize and set instance mapping for counters

This configures global, per-SE and per-SA counters with different
indexes. This is still unused because only for the first instance is
used by RADV/RadeonSI, but this will be changed.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25211>

10 months agoac/spm: rework how segment muxsel RAM are filled
Samuel Pitoiset [Wed, 13 Sep 2023 15:03:45 +0000 (17:03 +0200)]
ac/spm: rework how segment muxsel RAM are filled

This is more close to PAL and it will be easier to add GFX11 support
on top of it.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25211>

10 months agoac/spm: fix checking if the counter instance is valid
Samuel Pitoiset [Wed, 13 Sep 2023 12:49:45 +0000 (14:49 +0200)]
ac/spm: fix checking if the counter instance is valid

This should be compared against the number of global instances, and
there is also an off-by-one error.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25211>

10 months agoac/perfcounter: compute the number of global instances of TCP,SQ,GL1C and GL2C
Samuel Pitoiset [Wed, 13 Sep 2023 12:34:20 +0000 (14:34 +0200)]
ac/perfcounter: compute the number of global instances of TCP,SQ,GL1C and GL2C

This will be used by SPM.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25211>

10 months agoac/perfcounter: set the number of instances of GL1C to 4
Samuel Pitoiset [Wed, 13 Sep 2023 12:31:51 +0000 (14:31 +0200)]
ac/perfcounter: set the number of instances of GL1C to 4

According to PAL there is 4 GL1C quadrants. This will also be used
by SPM.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25211>

10 months agoac/gpu_info: init num_cu_per_sh from the kernel
Samuel Pitoiset [Wed, 13 Sep 2023 12:32:58 +0000 (14:32 +0200)]
ac/gpu_info: init num_cu_per_sh from the kernel

This will be used to configure the number of instances of TCP.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25211>

10 months agoac/spm: add SPM block definition for GFX10-GFX10.3
Samuel Pitoiset [Wed, 13 Sep 2023 10:46:59 +0000 (12:46 +0200)]
ac/spm: add SPM block definition for GFX10-GFX10.3

Instead of using magic values.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25211>

10 months agoac/spm: remove useless SPM block setting for GFX9 and older GPUs
Samuel Pitoiset [Wed, 13 Sep 2023 10:44:52 +0000 (12:44 +0200)]
ac/spm: remove useless SPM block setting for GFX9 and older GPUs

SPM is only implemented for GFX10+ on RADV/RadeonSI, although it's
technically possible on GFX9 but unused by RGP, so don't care.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25211>

10 months agoradv,radeonsi: use AC_SPM_SEGMENT_TYPE_xxx instead of magic values
Samuel Pitoiset [Tue, 12 Sep 2023 14:50:06 +0000 (16:50 +0200)]
radv,radeonsi: use AC_SPM_SEGMENT_TYPE_xxx instead of magic values

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25211>

10 months agoradv: enable the PKT3 CAM bit for some SPM register writes
Samuel Pitoiset [Tue, 12 Sep 2023 13:46:49 +0000 (15:46 +0200)]
radv: enable the PKT3 CAM bit for some SPM register writes

PAL does that.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25211>

10 months agoradeonsi/vcn: Set H264/HEVC chroma sample location in bitstream
David Rosca [Wed, 6 Sep 2023 10:17:53 +0000 (12:17 +0200)]
radeonsi/vcn: Set H264/HEVC chroma sample location in bitstream

Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25078>

10 months agofrontends/va: Parse chroma sample location in H264/HEVC SPS
David Rosca [Wed, 6 Sep 2023 10:07:50 +0000 (12:07 +0200)]
frontends/va: Parse chroma sample location in H264/HEVC SPS

Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25078>

10 months agoac/spm: add SPM counters configuration for GFX11
Samuel Pitoiset [Tue, 12 Sep 2023 08:32:26 +0000 (10:32 +0200)]
ac/spm: add SPM counters configuration for GFX11

All SQ counters changed to SQ_WGP and the L2 miss changed too.
Sourced from PAL.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25175>

10 months agoac/perfcounter: add new SQ_WGP block for GFX11+
Samuel Pitoiset [Tue, 12 Sep 2023 08:02:16 +0000 (10:02 +0200)]
ac/perfcounter: add new SQ_WGP block for GFX11+

According to PAL, these SQ counters can be sampled at WGP granularity.
Some SPM counters captured for RGP are using this GPU block.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25175>

10 months agoac,radv,radeonsi: rework SPM counters configuration and share it
Samuel Pitoiset [Tue, 12 Sep 2023 08:28:21 +0000 (10:28 +0200)]
ac,radv,radeonsi: rework SPM counters configuration and share it

This should be easier to add GFX11 support.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25175>

10 months agoissue_templates/Bug Report: fix outdated URL for GFXReconstruct
Samuel Pitoiset [Thu, 14 Sep 2023 06:07:45 +0000 (08:07 +0200)]
issue_templates/Bug Report: fix outdated URL for GFXReconstruct

The URL moved.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25218>

10 months agoaco/insert_exec_mask: Simplify WQM handling (2/2)
Daniel Schürmann [Mon, 4 Sep 2023 08:07:27 +0000 (10:07 +0200)]
aco/insert_exec_mask: Simplify WQM handling (2/2)

by calculating WQM requirements on demand.

No fossil-db changes.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25038>

10 months agoaco/insert_exec_mask: Simplify WQM handling (1/2)
Daniel Schürmann [Sun, 3 Sep 2023 09:05:08 +0000 (11:05 +0200)]
aco/insert_exec_mask: Simplify WQM handling (1/2)

by using p_end_wqm as indicator for when to end WQM mode.

Totals from 10049 (13.12% of 76572) affected shaders: (GFX11)

MaxWaves: 301126 -> 301136 (+0.00%)
Instrs: 7061909 -> 7049272 (-0.18%); split: -0.21%, +0.03%
CodeSize: 37720684 -> 37664244 (-0.15%); split: -0.18%, +0.03%
VGPRs: 357204 -> 357180 (-0.01%); split: -0.13%, +0.12%
Latency: 62757830 -> 62827080 (+0.11%); split: -0.06%, +0.17%
InvThroughput: 8589248 -> 8589963 (+0.01%); split: -0.02%, +0.02%
VClause: 132541 -> 132547 (+0.00%); split: -0.03%, +0.03%
SClause: 322916 -> 322964 (+0.01%); split: -0.04%, +0.05%
Copies: 546446 -> 547657 (+0.22%); split: -0.13%, +0.35%
Branches: 189527 -> 188293 (-0.65%)
PreSGPRs: 332792 -> 332529 (-0.08%); split: -0.08%, +0.00%
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25038>

10 months agoaco: insert a single p_end_wqm after the last derivative calculation
Daniel Schürmann [Sat, 2 Sep 2023 09:14:33 +0000 (11:14 +0200)]
aco: insert a single p_end_wqm after the last derivative calculation

This new instruction replaces p_wqm.

Totals from 28065 (36.65% of 76572) affected shaders: (GFX11)
MaxWaves: 823922 -> 823952 (+0.00%); split: +0.01%, -0.01%
Instrs: 22221375 -> 22180465 (-0.18%); split: -0.26%, +0.08%
CodeSize: 117310676 -> 117040684 (-0.23%); split: -0.30%, +0.07%
VGPRs: 1183476 -> 1186656 (+0.27%); split: -0.19%, +0.46%
SpillSGPRs: 2305 -> 2302 (-0.13%)
Latency: 176559310 -> 176427793 (-0.07%); split: -0.21%, +0.14%
InvThroughput: 26245204 -> 26195550 (-0.19%); split: -0.26%, +0.07%
VClause: 368058 -> 369460 (+0.38%); split: -0.21%, +0.59%
SClause: 857077 -> 842588 (-1.69%); split: -2.06%, +0.37%
Copies: 1245650 -> 1249434 (+0.30%); split: -0.33%, +0.63%
Branches: 394837 -> 396070 (+0.31%); split: -0.01%, +0.32%
PreSGPRs: 1019139 -> 1019567 (+0.04%); split: -0.02%, +0.06%
PreVGPRs: 925739 -> 931860 (+0.66%); split: -0.00%, +0.66%

Changes are due to scheduling and re-enabling cross-lane optimizations.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25038>

10 months agoaco: don't insert a copy when emitting p_wqm
Daniel Schürmann [Sat, 2 Sep 2023 10:06:51 +0000 (12:06 +0200)]
aco: don't insert a copy when emitting p_wqm

Totals from 351 (0.46% of 76572) affected shaders: (GFX11)

Instrs: 709202 -> 709600 (+0.06%); split: -0.02%, +0.08%
CodeSize: 3606364 -> 3608040 (+0.05%); split: -0.01%, +0.06%
Latency: 3589841 -> 3590756 (+0.03%); split: -0.01%, +0.03%
InvThroughput: 463303 -> 463324 (+0.00%)
SClause: 28147 -> 28201 (+0.19%); split: -0.02%, +0.22%
Copies: 43243 -> 43204 (-0.09%); split: -0.24%, +0.15%
PreSGPRs: 21028 -> 21042 (+0.07%)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25038>

10 months agoaco: make p_wqm a marker instruction without Operands/Definitions
Daniel Schürmann [Sat, 2 Sep 2023 08:30:02 +0000 (10:30 +0200)]
aco: make p_wqm a marker instruction without Operands/Definitions

Totals from 28277 (36.93% of 76572) affected shaders: (GFX11)

MaxWaves: 833930 -> 833898 (-0.00%); split: +0.01%, -0.01%
Instrs: 21366950 -> 21353346 (-0.06%); split: -0.11%, +0.05%
CodeSize: 112855368 -> 112610508 (-0.22%); split: -0.24%, +0.03%
VGPRs: 1157748 -> 1158540 (+0.07%); split: -0.10%, +0.17%
SpillSGPRs: 2465 -> 2463 (-0.08%); split: -0.16%, +0.08%
Latency: 168339886 -> 168383646 (+0.03%); split: -0.10%, +0.12%
InvThroughput: 25164895 -> 25158376 (-0.03%); split: -0.08%, +0.06%
VClause: 347660 -> 346256 (-0.40%); split: -0.55%, +0.15%
SClause: 794460 -> 799521 (+0.64%); split: -0.33%, +0.97%
Copies: 1151908 -> 1148370 (-0.31%); split: -0.54%, +0.23%
Branches: 359447 -> 359437 (-0.00%); split: -0.01%, +0.00%
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25038>

10 months agoaco: don't optimize cross-lane instructions across p_wqm
Daniel Schürmann [Mon, 4 Sep 2023 13:32:24 +0000 (15:32 +0200)]
aco: don't optimize cross-lane instructions across p_wqm

We will use p_wqm as a marker in the next step.

Totals from 8846 (11.55% of 76572) affected shaders: (GFX11)

Instrs: 7031274 -> 7072729 (+0.59%); split: -0.02%, +0.60%
CodeSize: 37060272 -> 37355244 (+0.80%); split: -0.01%, +0.80%
VGPRs: 402660 -> 398724 (-0.98%); split: -0.99%, +0.01%
Latency: 62231926 -> 62322311 (+0.15%); split: -0.01%, +0.15%
InvThroughput: 10341361 -> 10392589 (+0.50%); split: -0.00%, +0.50%
VClause: 105344 -> 105368 (+0.02%); split: -0.03%, +0.05%
SClause: 218330 -> 218469 (+0.06%); split: -0.07%, +0.14%
Copies: 378609 -> 377644 (-0.25%); split: -0.42%, +0.17%
Branches: 97218 -> 97207 (-0.01%); split: -0.01%, +0.00%
PreSGPRs: 307654 -> 307644 (-0.00%); split: -0.08%, +0.08%
PreVGPRs: 314744 -> 308650 (-1.94%)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25038>

10 months agoaco/insert_exec_mask: set Exact mode after p_discard_if when necessary
Daniel Schürmann [Mon, 4 Sep 2023 07:46:25 +0000 (09:46 +0200)]
aco/insert_exec_mask: set Exact mode after p_discard_if when necessary

Fixes: 5e9df85b1a4504c5b4162e77e139056dc80accc6 ('aco: optimize discard_if when WQM is not needed afterwards')
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25038>

10 months agoaco: remove fast path in insert_exec_mask's process_instructions
Rhys Perry [Thu, 8 Sep 2022 17:05:59 +0000 (18:05 +0100)]
aco: remove fast path in insert_exec_mask's process_instructions

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25038>

10 months agoaco: append p_logical_end after monolithic RT shaders
Daniel Schürmann [Wed, 13 Sep 2023 14:40:55 +0000 (16:40 +0200)]
aco: append p_logical_end after monolithic RT shaders

Fixes: bdec044c880ef38fad3641d306b9828e3c871003 ('aco: Do not fixup registers if there are no shader calls')
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25038>

10 months agoac,radeonsi: move vcn enc av1 default cdf file to common
Dave Airlie [Tue, 27 Jun 2023 05:24:08 +0000 (15:24 +1000)]
ac,radeonsi: move vcn enc av1 default cdf file to common

This can be used by radv.

Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25196>

10 months agoac,radeonsi: move vcn enc structs to common
Dave Airlie [Sun, 18 Dec 2022 21:00:15 +0000 (07:00 +1000)]
ac,radeonsi: move vcn enc structs to common

This just moves the header to make it easier to share with radv.

Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25196>

10 months agoradv: emit relocation for mesh/task shaders
Samuel Pitoiset [Mon, 11 Sep 2023 09:31:37 +0000 (11:31 +0200)]
radv: emit relocation for mesh/task shaders

RGP requires shaders to be contiguous in memory.

Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25144>

10 months agoradv: set THREAD_TRACE_MARKER_ENABLE for mesh/task draws
Samuel Pitoiset [Mon, 11 Sep 2023 09:20:08 +0000 (11:20 +0200)]
radv: set THREAD_TRACE_MARKER_ENABLE for mesh/task draws

PAL does that.

Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25144>

10 months agoac/rgp: use correct API stage string for mesh/task shaders
Samuel Pitoiset [Mon, 11 Sep 2023 09:18:11 +0000 (11:18 +0200)]
ac/rgp: use correct API stage string for mesh/task shaders

This allows RGP to report the ISA.

Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25144>

10 months agoradv: fix instruction timing on GFX11
Samuel Pitoiset [Tue, 12 Sep 2023 06:51:49 +0000 (08:51 +0200)]
radv: fix instruction timing on GFX11

GFX11 seems to operate on the last active CU.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25171>

10 months agoradv: disable unsupported hw shader stages for RGP on GFX11+
Samuel Pitoiset [Tue, 12 Sep 2023 06:49:33 +0000 (08:49 +0200)]
radv: disable unsupported hw shader stages for RGP on GFX11+

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25171>

10 months agoradv: set THREAD_TRACE_TOKEN_MASK.BOP_EVENTS_TOKEN_INCLUDE on GFX10.3+
Samuel Pitoiset [Mon, 11 Sep 2023 18:23:25 +0000 (20:23 +0200)]
radv: set THREAD_TRACE_TOKEN_MASK.BOP_EVENTS_TOKEN_INCLUDE on GFX10.3+

PAL does that.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25171>

10 months agoci: Only look at file changes for MRs
Daniel Stone [Wed, 13 Sep 2023 12:36:26 +0000 (13:36 +0100)]
ci: Only look at file changes for MRs

Lists of files changed are only really relevant if we're pushing an MR.
We don't want to trigger 'user added .ci-farms-disabled/igalia' because
the user pushed a branch when this file was already present upstream.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25205>

10 months agoci: Use container rules for containers
Daniel Stone [Wed, 13 Sep 2023 12:30:38 +0000 (13:30 +0100)]
ci: Use container rules for containers

If we have diverging rulesets, we can have the base container jobs
possibly not being created, and the leaf container jobs then trying to
run, which ends up in us failing to create pipelines.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25205>

10 months agoci: Always set user container jobs to manual
Daniel Stone [Wed, 13 Sep 2023 12:30:07 +0000 (13:30 +0100)]
ci: Always set user container jobs to manual

Don't require source changes to create the jobs, just create them
always.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25205>

10 months agoci: Move farm-disable rules before anything else
Daniel Stone [Wed, 13 Sep 2023 12:29:06 +0000 (13:29 +0100)]
ci: Move farm-disable rules before anything else

For consistency, make our 'when: never' rules be the first rules to
match any job, either build or container.

Otherwise we could end up with some jobs having when: never and others
having when: manual.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25205>

10 months agoiris: modify Wa_14014414195 to use intel_needs_workaround
Tapani Pälli [Wed, 13 Sep 2023 05:01:04 +0000 (08:01 +0300)]
iris: modify Wa_14014414195 to use intel_needs_workaround

Only applies to DG2, this was fixed in MTL.

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Rohan Garg <rohan.garg@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25197>

10 months agoradv/video: take db alignment into account when allocating images.
Dave Airlie [Tue, 12 Sep 2023 02:24:54 +0000 (12:24 +1000)]
radv/video: take db alignment into account when allocating images.

Make sure to take the db alignment into account when sizing the underlying
images.

Fixes a 360p sample from Lynne.

Cc: mesa-stable
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Lynne <dev@lynne.ee>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25168>

10 months agomeson: Warn about side-effects from DRM for FD KMDs
Mark Collins [Tue, 8 Aug 2023 10:00:49 +0000 (10:00 +0000)]
meson: Warn about side-effects from DRM for FD KMDs

Any build which requires Turnip to link to libdrm will cause a
runtime dependency which could be a compatibility hazard on
platforms such as Android which generally don't ship with libdrm.
This hazard could be unintentionally triggered and to avoid this
from happening, a warning is now issued when building FD with msm
alongside other backends or if DRM is enabled due to building a
Gallium driver using DRM.

Signed-off-by: Mark Collins <mark@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25005>

10 months agofreedreno+meson: Add lua+libarchive+libxml from Meson WrapDB
Mark Collins [Tue, 8 Aug 2023 09:54:03 +0000 (09:54 +0000)]
freedreno+meson: Add lua+libarchive+libxml from Meson WrapDB

These dependencies are required for building freedreno tools but on
platforms such as Android, these aren't included and would need to
be built from source. The easiest way to do this was using the
Meson WrapDB. Additionally, warnings were added when these deps are
missing as the decode tools will silently not be built otherwise.

Signed-off-by: Mark Collins <mark@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25005>