Commit Graph

178074 Commits

Author SHA1 Message Date
Caio Oliveira
53149cdd6e compiler/types: Change glsl_type::name to be an uintptr_t
This will allow us later to store builtin names in a different way.

Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25191>
2023-09-16 15:17:01 +00:00
Caio Oliveira
bf01000a50 compiler/types: Use glsl_get_type_name() to access the type name
This will allow us later to store builtin names in a different way.

Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25191>
2023-09-16 15:17:01 +00:00
Caio Oliveira
d1e9e7699e compiler/types: Use Python to generate code for builtin types
Will be useful later to generate string tables for the builtin types.

Note we make some extra effort to ensure C++ client code doesn't need to change,
by keeping glsl_type::*_type pointers around.

Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com> (Python and Meson changes)
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25191>
2023-09-16 15:17:01 +00:00
Gert Wollny
b5a79000eb r600/sfn: get rid of the method to get the index mode
Since we always split the index load we can query the value directly
without checking whether it was lowered.

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25159>
2023-09-16 12:02:57 +00:00
Gert Wollny
116a389c12 r600/sfn: Sepeate resource and sampler in texture instructions
Fix the use of resource and sampler and keep separate index registers
for both so that indirect resource and sampler access can be done
independently.

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25159>
2023-09-16 12:02:57 +00:00
Gert Wollny
cbda74a625 r600/sfn: Add old address to update_indirect_addr
v2: use UNUSED instead of adding (void)var; (Vitaly Kuzmin)

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25159>
2023-09-16 12:02:57 +00:00
Gert Wollny
56c1e6cef2 r600/sfn: rename method resource_base to resource_id
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25159>
2023-09-16 12:02:57 +00:00
Gert Wollny
552e9ddcc4 r600/sfn: Make address split pass obligatory
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25159>
2023-09-16 12:02:57 +00:00
Gert Wollny
f16582b654 r600: print texture resource index mode separately
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25159>
2023-09-16 12:02:56 +00:00
Jordan Justen
3a307e2248 intel/common: Add sse2_args for 32-bit build when -Dsse2=false was set
Fixes: 543a707b7b ("intel/common: Move intel_clflush.h to intel_mem.h/intel_mem.c")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9762
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/25249>
2023-09-15 17:39:55 -07:00
Yiwei Zhang
3c4c263dc7 vulkan/android: improve vkQueueSignalReleaseImageANDROID
There're two issues with the current implementation:
1. Wait semaphores are implicitly required to be SYNC_FD exportable
2. As a queue command that can further record cmds against the wsi
   image, it currently doesn't account for pending cmds in the queue
   beyond the wait semaphores.

This change fixes both by doing a queue submission in the call with a
SYNC_FD external signal semaphore. However, due to Android wsi not
exposing swapchain to icd, we have to cache the signal semaphore in the
queue, otherwise would have to create/destroy in each present.

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25185>
2023-09-15 19:03:22 +00:00
Yiwei Zhang
6ed2515df1 vulkan: remove a dup entry from vk_image_usage_to_ahb_usage
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25185>
2023-09-15 19:03:22 +00:00
Samuel Holland
497aecb210 Android.mk: Only link LLVM for radeonsi, not amd_vk
When building for Android, avoid the LLVM dependency if possible.

Cc: mesa-stable
Acked-by: Mauro Rossi <issor.oruam@gmail.com>
Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com>
Change-Id: Idda03f954b4b5326e23a848e541411b60fcef063
Signed-off-by: Samuel Holland <samuel.holland@sifive.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24007>
2023-09-15 18:43:02 +00:00
Samuel Holland
ec32619cb0 Android.mk: Explicitly enable/disable LLVM support
The AMD Vulkan driver uses LLVM by default, but it is possible to build
the driver without the LLVM dependency. In this case, we must explicitly
disable LLVM support, or else meson will die after failing to find LLVM.

The Android build system already knows when to link libLLVM, so forward
that information to meson.

Cc: mesa-stable
Acked-by: Mauro Rossi <issor.oruam@gmail.com>
Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com>
Change-Id: I7489d3811625b390aaaf2e84e666b4a8d98328b0
Signed-off-by: Samuel Holland <samuel.holland@sifive.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24007>
2023-09-15 18:43:02 +00:00
Samuel Holland
599f47f11c Android.mk: Allow building only Vulkan drivers
Android bundles ANGLE for implementing OpenGL ES and EGL on top of
Vulkan. When using ANGLE, mesa is only needed for its Vulkan drivers.

Cc: mesa-stable
Acked-by: Mauro Rossi <issor.oruam@gmail.com>
Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com>
Change-Id: I034a0af52f9216bc5f1322f584bc591c90222327
Signed-off-by: Samuel Holland <samuel.holland@sifive.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24007>
2023-09-15 18:43:02 +00:00
Dylan Baker
de9bf84501 meson: use a single dependency call for lua
This is a newer Meson construct that allows passing multiple names for
the same dependency to one call. One advantage of this is that if the
first call (lua54) fails, it won't immediately fall back to a subproject
and will try the others before falling back.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25251>
2023-09-15 18:01:38 +00:00
Eric Engestrom
57f8346907 ci/zink: drop redundant MESA_LOADER_DRIVER_OVERRIDE: zink
This job extends `.zink-anv-test` and `.zink-trace-test`, both of which
extend `.zink-test` which already sets this var.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25248>
2023-09-15 17:30:04 +00:00
Tapani Pälli
3251f321b8 mesa: some cleanups for texparam extension checks
Patch removes some redudant _mesa_is_desktop_gl checks, these
extensions are available only in desktop context.

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25202>
2023-09-15 17:01:38 +00:00
Erico Nunes
ee3981e84d Revert "ci: disable lima LAVA lab for maintance"
This reverts commit 079604e41e.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25242>
2023-09-15 16:38:06 +00:00
Eric Engestrom
83d856d4bc ci/farm-rules: re-add "run every container and build job when a farm gets re-enabled"
Turns out I was right the first time, I was just missing that this
should only be done in MRs, which @daniels added in 16527f6ffd.

Without this, a "farm re-enable" pipeline will run all the jobs for that
farm, but will have none of the container & build jobs to support these
tests.

This reverts commit 1c3097225a.

Fixes: 1c3097225a ("ci: don't run everything just because a farm gets re-enabled")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25243>
2023-09-15 16:07:17 +00:00
Eric Engestrom
67c7f391b3 ci/farm-rules: rename .disable-farm-mr-rules to make it clear it's only about MRs
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25243>
2023-09-15 16:07:17 +00:00
Rob Clark
fa2fc50f81 freedreno/decode: Fix printing chip-id
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25231>
2023-09-15 15:07:33 +00:00
Rob Clark
9fa75efe69 freedreno/layout: Handle 565/etc MSAA special case
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25231>
2023-09-15 15:07:33 +00:00
Rob Clark
4952db73fb freedreno: Fix crash with debug msgs enabled
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25231>
2023-09-15 15:07:33 +00:00
Mike Blumenkrantz
cd2c4927c8 zink: use null attachments for null attachments with dynamic render
using dummy surfaces here is dumb

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25121>
2023-09-15 14:10:31 +00:00
Mike Blumenkrantz
267b997abf zink: propagate rp_tc_info_updated across unordered blits
this otherwise breaks rp optimizing

Fixes: 3a9f7d7038 ("zink: implement unordered u_blitter calls")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25121>
2023-09-15 14:10:31 +00:00
Mike Blumenkrantz
12cdd546be zink: use much bigger dummy surfaces
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25121>
2023-09-15 14:10:30 +00:00
Mike Blumenkrantz
047213fcba tu: handle unused color attachments without crashing
if the format is not set then this attachment must be ignored

Fixes: 97da0a7734 ("tu: Rewrite to use common Vulkan dynamic state")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25121>
2023-09-15 14:10:30 +00:00
Mike Blumenkrantz
4272234736 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>
2023-09-15 13:40:08 +00:00
Connor Abbott
73a9f9c5ca 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: 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
Connor Abbott
64ed357699 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: 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
Connor Abbott
f8bb1b22fb tu: Fix tu6_emit_*_fdm size call
cs is not initialized until the line after this.

Fixes: 95104707f1 ("tu: Basic a7xx support")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25225>
2023-09-15 13:02:34 +00:00
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