platform/upstream/mesa.git
20 months agohud: add GALLIUM_HUD_OPACITY envvar
Italo Nicola [Thu, 15 Dec 2022 16:34:21 +0000 (13:34 -0300)]
hud: add GALLIUM_HUD_OPACITY envvar

GALLIUM_HUD_OPACITY can be used with a % value from 0 to 100, to specify
the opacity of the gallium hud background.

Signed-off-by: Italo Nicola <italonicola@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Tested-by: Chris Healy <healych@amazon.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20339>

20 months agohud: use defines for default scale/rotation/visibility values
Italo Nicola [Thu, 15 Dec 2022 16:44:41 +0000 (13:44 -0300)]
hud: use defines for default scale/rotation/visibility values

Signed-off-by: Italo Nicola <italonicola@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20339>

20 months agoraseonsi/vcn: fix a h264 decoding issue
Ruijing Dong [Wed, 1 Mar 2023 02:14:37 +0000 (21:14 -0500)]
raseonsi/vcn: fix a h264 decoding issue

reason:
   some h264 streams have some strange pictures, from
   vaapi input these pictures don't have a reference frame,
   however, they are not intra only pictures, in MB layer
   these pictures are looking for some references, if they
   cannot find it. It could cause PF.

   when reference pictures exist, it will need to set used_for
   reference_flags, therefore if that is set, however the
   number of reference frames is zero, which is odd, it
   should be avoided.

solution:
   In the above case,  to scan the ref list so that it will
   make at least one reference available to avoid crash, since
   this is not accurate enough, it could cause some artifacts.
   And in that case, it will need to be checked individually
   for another solution.

closes: https://gitlab.freedesktop.org/drm/amd/-/issues/1462
closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8401
Cc: mesa-stable
Tested-by: llyyr <llyyr.public@gmail.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21732>

20 months agozink: add frame trace markers on the queue
Mike Blumenkrantz [Thu, 2 Mar 2023 13:27:06 +0000 (08:27 -0500)]
zink: add frame trace markers on the queue

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

20 months agoradeonsi: Add NV12 support for AV1
Sonny Jiang [Thu, 2 Mar 2023 18:26:30 +0000 (12:26 -0600)]
radeonsi: Add NV12 support for AV1

8bit av1 decoding cannot use NV12 output, which is caused by missing NV12 RT format.
It's a regression caused by commit [0504a3b0].
Fixes: 0504a3b0  ("radeonsi: correctly declare YUV420_10 RT Format support for AV1")
Cc: mesa-stable
Signed-off-by: Sonny Jiang <sonny.jiang@amd.com>
Reviewed-by: David Wu <David.Wu3@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21697>

20 months agowsi: move an assertion in wsi_xxx_surface_get_capabilities2()
Samuel Pitoiset [Mon, 6 Mar 2023 07:40:03 +0000 (08:40 +0100)]
wsi: move an assertion in wsi_xxx_surface_get_capabilities2()

Hit this with vulkaninfo on X11, probably a vulkaninfo bug. Though
moving the assertion doesn't hurt.

Fixes: be0dcbdfa22 ("wsi/x11: Implement EXT_swapchain_maintenance1.")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21722>

20 months agozink: when skipping a TRANSFER_DST image barrier, set access tracking
Mike Blumenkrantz [Wed, 1 Mar 2023 16:42:41 +0000 (11:42 -0500)]
zink: when skipping a TRANSFER_DST image barrier, set access tracking

this otherwise breaks subsequent barriers if the first barrier of the batch
is a TRANSFER_DST on an image that can skip such a barrier

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

20 months agozink: remove debug markers for u_blitter ops
Mike Blumenkrantz [Tue, 28 Feb 2023 11:45:35 +0000 (06:45 -0500)]
zink: remove debug markers for u_blitter ops

these don't actually work; it creates the marker for the op, but
then the "end" of the marker is effectively determined to be the end
of the cmdbuf

instead, detect whether a draw is from u_blitter and add a marker there

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

20 months agozink: pass cmdbuf to debug marker begin
Mike Blumenkrantz [Tue, 28 Feb 2023 10:56:27 +0000 (05:56 -0500)]
zink: pass cmdbuf to debug marker begin

this is otherwise broken with cmdbuf reordering

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

20 months agozink: reorder some blit debug markers
Mike Blumenkrantz [Tue, 28 Feb 2023 10:54:32 +0000 (05:54 -0500)]
zink: reorder some blit debug markers

avoid capturing barrier and other ops in these

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

20 months agozink: be more descriptive with perfetto buffer barriers
Mike Blumenkrantz [Mon, 27 Feb 2023 17:56:36 +0000 (12:56 -0500)]
zink: be more descriptive with perfetto buffer barriers

this should print some nice info in the graphs now

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

20 months agozink: determine whether debug markers are used on screen create
Mike Blumenkrantz [Mon, 27 Feb 2023 16:44:24 +0000 (11:44 -0500)]
zink: determine whether debug markers are used on screen create

make this easier to reuse

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

20 months agozink: skip buffer barriers if the buffer can be easily proved idle
Mike Blumenkrantz [Sun, 26 Feb 2023 14:33:45 +0000 (09:33 -0500)]
zink: skip buffer barriers if the buffer can be easily proved idle

this should have no pending write hazards, which means this barrier
can just be used for tracking

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

20 months agozink: use split image barriers if the image can be easily proved idle
Mike Blumenkrantz [Sun, 26 Feb 2023 14:30:33 +0000 (09:30 -0500)]
zink: use split image barriers if the image can be easily proved idle

this should have no pending write hazards, which means this transition
has no dependencies and can occur immediately

also delete some old comments

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

20 months agozink: fix zink_resource_access_is_write()
Mike Blumenkrantz [Sun, 26 Feb 2023 15:47:02 +0000 (10:47 -0500)]
zink: fix zink_resource_access_is_write()

this was accurately returning whether the access had only write flags,
but it was incorrectly returning false for READ|WRITE

cc: mesa-stable

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

20 months agozink: add functions for faster batch-usage completion checks
Mike Blumenkrantz [Sun, 26 Feb 2023 15:42:44 +0000 (10:42 -0500)]
zink: add functions for faster batch-usage completion checks

in cases where only a simple, non-definitive check is needed, these
can be used to eliminate some ioctl overhead

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

20 months agozink: skip attachment barrier for redundant layout-setting if !valid
Mike Blumenkrantz [Mon, 27 Feb 2023 16:05:06 +0000 (11:05 -0500)]
zink: skip attachment barrier for redundant layout-setting if !valid

an invalidated image doesn't need synchronization, so this can be skipped

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

20 months agozink: avoid unnecessary read-only layout changes for zs attachments
Mike Blumenkrantz [Mon, 27 Feb 2023 15:44:48 +0000 (10:44 -0500)]
zink: avoid unnecessary read-only layout changes for zs attachments

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

20 months agozink: add perfetto tracing for barriers
Mike Blumenkrantz [Thu, 23 Feb 2023 19:20:46 +0000 (14:20 -0500)]
zink: add perfetto tracing for barriers

at least shows where they are

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

20 months agoradv/rt: only reserve stack_sizes after rt_case insertion
Daniel Schürmann [Fri, 3 Mar 2023 17:21:41 +0000 (18:21 +0100)]
radv/rt: only reserve stack_sizes after rt_case insertion

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

20 months agoradv/rt: move stack_sizes into radv_ray_tracing_module
Daniel Schürmann [Thu, 2 Mar 2023 17:26:00 +0000 (18:26 +0100)]
radv/rt: move stack_sizes into radv_ray_tracing_module

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

20 months agoradv/rt: introduce struct radv_ray_tracing_module
Daniel Schürmann [Thu, 2 Mar 2023 17:03:17 +0000 (18:03 +0100)]
radv/rt: introduce struct radv_ray_tracing_module

This is preliminary work for separate shader functions.
The ray_tracing_module is eventually intended as self-contained
pipeline struct per RT group.

For now, these modules only contain the group handles.

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

20 months agoradv/rt: defer library_pipeline allocation
Daniel Schürmann [Thu, 2 Mar 2023 16:34:16 +0000 (17:34 +0100)]
radv/rt: defer library_pipeline allocation

We will need the number of groups at allocation time.

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

20 months agoradv/rt: rename library_pipeline->groups to library_pipeline->group_infos
Daniel Schürmann [Thu, 2 Mar 2023 16:20:34 +0000 (17:20 +0100)]
radv/rt: rename library_pipeline->groups to library_pipeline->group_infos

'groups' will later be used for ray_tracing_modules.

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

20 months agoci: do not exit when an error happens inside the section
David Heidelberg [Sat, 4 Mar 2023 19:40:48 +0000 (20:40 +0100)]
ci: do not exit when an error happens inside the section

Let CI handle that case as it did before. The only thing which needs to be done by the error() function is to get out of the section.

Fixes the issue where a job is not saving artifacts after failure.
Fixes: 4cc0cec47357 ("ci: implement unified sections")

Acked-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21715>

20 months agoglx: Fix glXGetFBConfigFromVisualSGIX
Błażej Szczygieł [Tue, 28 Feb 2023 20:01:23 +0000 (21:01 +0100)]
glx: Fix glXGetFBConfigFromVisualSGIX

Get list of configs returned by glXChooseFBConfig, return it's first
element, free memory.

Fixes: 4ccd253588b ("glx: Require GLX 1.3")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8273

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21607>

20 months agoci: include setup test environment script in the output artifacts
Sergi Blanch Torne [Fri, 3 Mar 2023 07:53:05 +0000 (08:53 +0100)]
ci: include setup test environment script in the output artifacts

In mesa/mesa !20272, some bash functions introduce a standard wait to setup
gitlab ci sections, but the file collecting them needed to be included in the
artifacts exported by mesa. Other projects that use tests like deqp-runner
need to load these bash functions.

Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21680>

20 months agonir: add a print_internal debug-flag
Erik Faye-Lund [Fri, 3 Mar 2023 10:25:04 +0000 (11:25 +0100)]
nir: add a print_internal debug-flag

It can sometimes be useful to also print the shaders that are marked as
internal, so let's add a flag that lets us do that.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21681>

20 months agoradv/ci: update CI lists for CTS 1.3.5.0 on GFX110/POLARIS10/PITCAIRN
Samuel Pitoiset [Fri, 3 Mar 2023 08:13:46 +0000 (09:13 +0100)]
radv/ci: update CI lists for CTS 1.3.5.0 on GFX110/POLARIS10/PITCAIRN

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

20 months agoradv/ci: stop skipping some graphics pipeline library tests
Samuel Pitoiset [Fri, 24 Feb 2023 14:41:23 +0000 (15:41 +0100)]
radv/ci: stop skipping some graphics pipeline library tests

They are fixed in CTS 1.3.5.0.

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

20 months agoci: disable Collabora's LAVA lab for maintance
Sergi Blanch Torne [Thu, 16 Feb 2023 09:44:08 +0000 (10:44 +0100)]
ci: disable Collabora's LAVA lab for maintance

This is to inform you of some planned downtime in the LAVA lab as follows:

    Start: 2023-03-06 08:00 GMT
    End: 2023-03-06 12:00 GMT

Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21355>

20 months agozink: avoid ballooning of copy box tracking
Mike Blumenkrantz [Mon, 27 Feb 2023 23:57:04 +0000 (18:57 -0500)]
zink: avoid ballooning of copy box tracking

* if the proposed box is smaller than an existing box then don't add it,
* if the proposed box is adjacent to an existing box, expand
* if the proposed box is larger than an existing box, replace

this reduces the chances of having a ton of copy boxes to iterate over

also add a perf warning in case a ton of copy boxes exist

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

20 months agoutil/box: fix off-by-one calc error in intersection funcs
Mike Blumenkrantz [Mon, 27 Feb 2023 18:41:17 +0000 (13:41 -0500)]
util/box: fix off-by-one calc error in intersection funcs

the "right-most" boundary needs the -1 since it isn't inclusive

oops

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

20 months agozink: eliminate internal qbo copy barrier
Mike Blumenkrantz [Tue, 28 Feb 2023 10:57:18 +0000 (05:57 -0500)]
zink: eliminate internal qbo copy barrier

the values written here will never overlap, so no barrier is necessary

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

20 months agozink: set predicate_dirty on query creation
Mike Blumenkrantz [Tue, 28 Feb 2023 11:29:54 +0000 (06:29 -0500)]
zink: set predicate_dirty on query creation

ensure this is set when it needs to be

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

20 months agozink: merge qbo update copies when possible
Mike Blumenkrantz [Fri, 24 Feb 2023 13:10:46 +0000 (08:10 -0500)]
zink: merge qbo update copies when possible

if a single query is being started and stopped frequently, update
the internal qbo with a single copy call instead of one copy per result

not actually that useful in practice because of how query pools are shared,
but could help somewhere in theory

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

20 months agozink: rework xfb queries for drivers with poor primgen support
Mike Blumenkrantz [Wed, 1 Mar 2023 14:34:41 +0000 (09:34 -0500)]
zink: rework xfb queries for drivers with poor primgen support

for drivers lacking one of:
* EXT_color_write_enable
* primitivesGeneratedQueryWithRasterizerDiscard

terrible things must happen. specifically, dummy surfaces have to
be used in a framebuffer with rast-discard enabled for the duration
of the query

now that queries are only started/stopped in renderpasses, however,
there are new hurdles. with tc renderpass optimizing, queries can be
started outside the renderpass, which would trigger recursion when
trying to start a primgen query outside the renderpass if any clears
are enabled, as those must be flushed onto the real surfaces

to solve all of this:
* block tc renderpass optimizing if at least one of the above features is missing
* detect a pending primgen query start during renderpass start
* activate rast-discard and set dummy surfaces before beginning renderpass
  * this recurses and automatically flushes clears
* finally, start the real renderpass

BUT WAIT THERE'S MORE!

because there's also drivers that support EXT_color_write_enable and don't support
primitivesGeneratedQueryWithRasterizerDiscard, which means they do need rast-discard,
but they don't need dummy surfaces, and so the clears still have to be flushed,
so they need an explicit (recursive) renderpass start/stop in advance to
ensure the clears are applied as expected

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

20 months agozink: track whether a primgen query is suspended and needing color write hacks
Mike Blumenkrantz [Wed, 1 Mar 2023 14:34:01 +0000 (09:34 -0500)]
zink: track whether a primgen query is suspended and needing color write hacks

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

20 months agozink: only resume queries inside renderpasses from set_active_query_state
Mike Blumenkrantz [Wed, 1 Mar 2023 14:28:23 +0000 (09:28 -0500)]
zink: only resume queries inside renderpasses from set_active_query_state

match new default query behavior

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

20 months agozink: resume queries after conditional render and clears are processed
Mike Blumenkrantz [Wed, 1 Mar 2023 14:08:58 +0000 (09:08 -0500)]
zink: resume queries after conditional render and clears are processed

this should have no functional effect other than ensuring primgen queries
don't recurse when detecting clears

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

20 months agozink: disable queries for clear_texture()
Mike Blumenkrantz [Wed, 1 Mar 2023 14:03:45 +0000 (09:03 -0500)]
zink: disable queries for clear_texture()

this otherwise can do weird things

cc: mesa-stable

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

20 months agoci/ci_run_n_monitor: while we usually disable many jobs, print them inline
David Heidelberg [Sat, 4 Mar 2023 20:16:09 +0000 (21:16 +0100)]
ci/ci_run_n_monitor: while we usually disable many jobs, print them inline

Saving scrolling time...

Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21713>

20 months agoradv: Use LDS for closest-hit hit attributes
Friedrich Vock [Tue, 21 Feb 2023 11:42:53 +0000 (12:42 +0100)]
radv: Use LDS for closest-hit hit attributes

Q2RTX: 23.1ms -> 22.9ms

shader-db:
Totals from 19 (0.69% of 2764) affected shaders:

MaxWaves: 197 -> 208 (+5.58%)
Instrs: 87702 -> 87817 (+0.13%); split: -0.03%, +0.16%
CodeSize: 474320 -> 475128 (+0.17%)
VGPRs: 1840 -> 1728 (-6.09%)
Latency: 2771599 -> 2773173 (+0.06%); split: -0.13%, +0.18%
InvThroughput: 561281 -> 533010 (-5.04%); split: -5.16%, +0.12%
VClause: 2782 -> 2788 (+0.22%); split: -0.18%, +0.40%
Copies: 12115 -> 12136 (+0.17%); split: -0.45%, +0.63%
Branches: 4116 -> 4122 (+0.15%)
PreVGPRs: 1665 -> 1638 (-1.62%); split: -1.92%, +0.30%
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21635>

20 months agoradv: Extend hit attribute lowering for LDS
Friedrich Vock [Tue, 21 Feb 2023 20:47:04 +0000 (21:47 +0100)]
radv: Extend hit attribute lowering for LDS

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

20 months agoasahi: Wire up compute kernels
Alyssa Rosenzweig [Sat, 25 Feb 2023 16:55:24 +0000 (11:55 -0500)]
asahi: Wire up compute kernels

Now that we have multiple sysval tables, implementing compute kernels --
including with indirect dispatch and load_num_workgroups -- is straightforward.
This patch adds the straightforward launch_grid implementation.

As usual needs UAPI support patches to actually do anything, but the relevant
compute tests are passing downstream.

It's not possible to properly test compute shaders support right now (pending
support for images), so we don't update the CAPs or features.txt here. This is
more about flushing out the piles of downstream patches we have (and getting
reviewed!) in preparation for cutting a downstream release soon.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21703>

20 months agoasahi: Rework system value lowering
Alyssa Rosenzweig [Sat, 25 Feb 2023 16:44:36 +0000 (11:44 -0500)]
asahi: Rework system value lowering

The previous lowering was insufficient in two areas:

* No support for indirection. This is required for dynamically indexing into
  UBOs, SSBOS, etc in OpenGL ES 3.2

* Only a single table supported. Multiple tables are required to implement
  indirect dispatch/draws efficiently, in order to bind the indirect buffer as
  uniforms.

The first problem is addressed here by reworking the lowering of
system values to happen in NIR, decoupled from the uniform register assignment
details, such that we can handle 1:n lowerings in a straightforward way.
Namely, indirect sysvals are lowered to indirect memory loads relative to the
base address of the sysval table, where the table address is itself pushed as a
(direct) sysval.

The second problem is addressed in this patch by generalizing to multiple
uniform tables.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21703>

20 months agoagx: Handle fragment shader side effects
Alyssa Rosenzweig [Sun, 19 Feb 2023 20:29:19 +0000 (15:29 -0500)]
agx: Handle fragment shader side effects

Fragment shaders with side effects need to be lowered to ensure they execute for
all shaded pixels but no helper threads. Add a lowering pass to handle this.

Fixes dEQP-GLES31.functional.shaders.opaque_type_indexing.atomic_counter.const_literal_fragment

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21712>

20 months agoagx: Disable tri merging with side effects
Alyssa Rosenzweig [Sun, 19 Feb 2023 20:30:10 +0000 (15:30 -0500)]
agx: Disable tri merging with side effects

As Metal does.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21712>

20 months agocrocus/meson: add dependency on libintel_dev also for versioned static libraries
David Heidelberg [Sat, 4 Mar 2023 16:20:15 +0000 (17:20 +0100)]
crocus/meson: add dependency on libintel_dev also for versioned static libraries

Fixes: a0fa31bcdd8 ("intel/dev: create a helper dependency for libintel_dev")

Reviewed-by: Mark Janes <markjanes@swizzler.org>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21709>

20 months agovk/runtime: Use libdrm shim
Rob Clark [Wed, 1 Mar 2023 19:24:06 +0000 (11:24 -0800)]
vk/runtime: Use libdrm shim

Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21636>

20 months agoloader: Use libdrm shim
Rob Clark [Wed, 1 Mar 2023 19:20:26 +0000 (11:20 -0800)]
loader: Use libdrm shim

Signed-off-by: Rob Clark <robdclark@chromium.org>
Acked-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21636>

20 months agoturnip: Use libdrm shim
Rob Clark [Wed, 1 Mar 2023 00:10:13 +0000 (16:10 -0800)]
turnip: Use libdrm shim

Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21636>

20 months agoutil: Add a simple no-op libdrm shim
Rob Clark [Wed, 1 Mar 2023 00:09:29 +0000 (16:09 -0800)]
util: Add a simple no-op libdrm shim

Make it easier to deal with build configs that do not have libdrm.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21636>

20 months agoci/freedreno: rare flake KHR-GL45.sample_variables.mask.rgba8i.samples_4.mask_3
David Heidelberg [Sun, 5 Mar 2023 14:30:37 +0000 (15:30 +0100)]
ci/freedreno: rare flake KHR-GL45.sample_variables.mask.rgba8i.samples_4.mask_3

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21718>

20 months agoci/lavapipe: add recent occasional flake
David Heidelberg [Sun, 5 Mar 2023 13:32:58 +0000 (14:32 +0100)]
ci/lavapipe: add recent occasional flake

Issue: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8441

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21717>

20 months agor600/sfn: Fix atomic lowering
Gert Wollny [Fri, 3 Mar 2023 11:16:40 +0000 (12:16 +0100)]
r600/sfn: Fix atomic lowering

Fixes: 56dedf052f4af1903a0d312eb9c7721c69f36c69
  r600/sfn: add r600 specific lowering pass for atomics and use it

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21684>

20 months agor600/sfn/tests: Add a test for the copy prop into a group
Gert Wollny [Tue, 28 Feb 2023 16:55:13 +0000 (17:55 +0100)]
r600/sfn/tests: Add a test for the copy prop into a group

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21684>

20 months agor600/sfn: redirect copy propagation to alu parent group
Gert Wollny [Tue, 28 Feb 2023 16:54:46 +0000 (17:54 +0100)]
r600/sfn: redirect copy propagation to alu parent group

If an ALU instruction was emitted from the get-go as group, then
we have to make sure that replacing a source doesn't violate the
readport configuration in the group.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8374

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21684>

20 months agor600/sfn: Add print method to AluReadportValidation
Gert Wollny [Tue, 28 Feb 2023 16:52:45 +0000 (17:52 +0100)]
r600/sfn: Add print method to AluReadportValidation

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21684>

20 months agor600/sfn: Add method to AluGroup to replace sources
Gert Wollny [Tue, 28 Feb 2023 16:50:47 +0000 (17:50 +0100)]
r600/sfn: Add method to AluGroup to replace sources

Related: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8374

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21684>

20 months agor600/sfn: Split AluInstr replace_source into test and actual replace
Gert Wollny [Tue, 28 Feb 2023 16:52:12 +0000 (17:52 +0100)]
r600/sfn: Split AluInstr replace_source into test and actual replace

Related: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8374

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21684>

20 months agor600/sfn: Add AluGroup method to update readport validation from scratch
Gert Wollny [Tue, 28 Feb 2023 15:22:34 +0000 (16:22 +0100)]
r600/sfn: Add AluGroup method to update readport validation from scratch

Related: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8374

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21684>

20 months agoasahi/meta: Use lowered I/O
Alyssa Rosenzweig [Mon, 20 Feb 2023 01:00:39 +0000 (20:00 -0500)]
asahi/meta: Use lowered I/O

No point in creating a variable when we can just synthesize the store_output
directly.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21430>

20 months agoasahi: Bump shader buffers
Alyssa Rosenzweig [Sat, 18 Feb 2023 21:21:41 +0000 (16:21 -0500)]
asahi: Bump shader buffers

No reason to limit it, it's direct access anyway.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21430>

20 months agoagx: Only lower int64 late
Alyssa Rosenzweig [Tue, 28 Feb 2023 21:50:01 +0000 (16:50 -0500)]
agx: Only lower int64 late

This is required for address arithmetic to be lowered properly for compute
kernels, which may have u2u64 in the source NIR.

No shader-db changes (for GLES3.0).

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21430>

20 months agoagx: Don't print pre-optimization shader
Alyssa Rosenzweig [Sun, 19 Feb 2023 17:48:29 +0000 (12:48 -0500)]
agx: Don't print pre-optimization shader

It's usually too noisy to be useful, especially before DCE. The optimized (but
pre-RA) shader is usually the useful bit.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21430>

20 months agoagx: Use agx_emit_collect for st_tile
Alyssa Rosenzweig [Thu, 16 Feb 2023 16:01:18 +0000 (11:01 -0500)]
agx: Use agx_emit_collect for st_tile

Instead of open coding.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21430>

20 months agoagx: Refactor vector creation
Alyssa Rosenzweig [Wed, 15 Feb 2023 04:54:30 +0000 (23:54 -0500)]
agx: Refactor vector creation

agx_vec4 is unused, drop in, and split out the common logic since we'll use it
in a new helper.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21430>

20 months agoagx: Constify agx_print
Alyssa Rosenzweig [Sun, 19 Feb 2023 01:48:22 +0000 (20:48 -0500)]
agx: Constify agx_print

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21430>

20 months agoagx: Inline 16-bit load/store offsets
Alyssa Rosenzweig [Sat, 18 Feb 2023 22:06:16 +0000 (17:06 -0500)]
agx: Inline 16-bit load/store offsets

Most integer immediates are only 8-bit, but load/store instructions allow their
immediate offsets to be 16-bit instead. Take advantage of this in the optimizer.
This eliminates 36% of the instructions in
dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer.36, a fitting
percentage.

Insignificant effect on dEQP-GLES31.functional.ssbo.* performance... Only a
small % of our compile-time pie is actually spent in the backend anyway (as
opposed to NIR passes or GLSL IR).

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21430>

20 months agoagx: Factor out allows_16bit_immediate check
Alyssa Rosenzweig [Sat, 18 Feb 2023 22:05:57 +0000 (17:05 -0500)]
agx: Factor out allows_16bit_immediate check

The optimizer needs this information to inline immediates effectively.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21430>

20 months agoagx: Clean up after lowering address arithmetic
Alyssa Rosenzweig [Wed, 15 Feb 2023 05:02:14 +0000 (00:02 -0500)]
agx: Clean up after lowering address arithmetic

This avoids creating silly preambles that don't actually do anything except push
a constant that we could've inlined for cheaper anyway, since nir_opt_preamble's
cost model is sensitive to e.g. constant folding.

This avoids a pointless preamble in split-hell.

As a nice bonus, this also improves compile-time on address-heavy shaders. With
a release build, CPU time in dEQP-GLES31.functional.ssbo.* reduces from 12.87s
to 10.77... a 16% improvement is nothing to sneeze at.

shader-db results are mostly noise.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21430>

20 months agoagx: Add AGX_MESA_DEBUG=nopreamble option
Alyssa Rosenzweig [Wed, 15 Feb 2023 04:38:58 +0000 (23:38 -0500)]
agx: Add AGX_MESA_DEBUG=nopreamble option

Useful both for ruling out issues with shader preambles as well as (in some
cases) making for a nicer reading experience of the compiled assembly.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21430>

20 months agoagx: Don't write sample mask from preambles
Alyssa Rosenzweig [Sat, 4 Mar 2023 16:43:04 +0000 (11:43 -0500)]
agx: Don't write sample mask from preambles

It doesn't make sense, they're basically little compute kernel environments.
Noticed while debugging dEQP-GLES31.functional.fbo.no_attachments.multisample.*

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21710>

20 months agoasahi: Mark PIPE_FORMAT_NONE "supported"
Alyssa Rosenzweig [Sat, 4 Mar 2023 16:36:41 +0000 (11:36 -0500)]
asahi: Mark PIPE_FORMAT_NONE "supported"

Kinda silly but fixes
dEQP-GLES31.functional.state_query.integer.max_framebuffer_samples_* which
queries the number of samples of a NONE format, required for
ARB_framebuffer_no_attachments to make sense.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21710>

20 months agoagx: Fix 2D MSAA array texture register allocation
Alyssa Rosenzweig [Sat, 4 Mar 2023 16:21:57 +0000 (11:21 -0500)]
agx: Fix 2D MSAA array texture register allocation

Sample index and layer index are both 16-bits, even though they are zero
extended for compiler simplicity in some cases. In particular this means that 2D
MSAA arrays consume 6 half-regs for their coordinates, not 8. This is what the
IR translation (actually agx_nir_lower_texture) produces, we just need to fix
the calculation in agx_read_registers to agree.

Fixes validation failure in tests like
dEQP-GLES31.functional.texture.multisample.samples_4.use_texture_color_2d_array

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21708>

20 months agoagx: Mask shifts in the backend
Alyssa Rosenzweig [Sun, 29 Jan 2023 18:29:32 +0000 (13:29 -0500)]
agx: Mask shifts in the backend

This gives our shifts SM5 behaviour at the cost of a little extra ALU. That way,
we match NIR's shifts.

This fixes unsoundness of GLSL expressions like "a << (b & 31)", where the &
would mistakenly get optimized away.

Closes: #8181
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reported-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21673>

20 months agoasahi: Advertise dual-source blending
Alyssa Rosenzweig [Sun, 26 Feb 2023 22:26:34 +0000 (17:26 -0500)]
asahi: Advertise dual-source blending

This is handled entirely in common code.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21545>

20 months agowsi/display: check alloc failure in wsi_display_alloc_connector()
Yogesh Mohan Marimuthu [Sat, 4 Mar 2023 05:09:15 +0000 (10:39 +0530)]
wsi/display: check alloc failure in wsi_display_alloc_connector()

vulkancts test dEQP-VK.wsi.direct_drm.surface.create_simulate_oom is failing
because in wsi_display_alloc_connector() function memory allocation for
connector is not checked for return NULL. create_simulate_oom test simulates
out of memory, hence memory allocation fails for connector and later when
tried to dereference connector program will segfault.

This patch fixes the dEQP-VK.wsi.direct_drm.surface.create_simulate_oom test
segfault issue by checking if connector is NULL afer memory allocation.

Cc: mesa-stable
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21701>

20 months agofreedreno/a6xx: Fix mirror x/y blits
Rob Clark [Sat, 4 Mar 2023 17:31:28 +0000 (09:31 -0800)]
freedreno/a6xx: Fix mirror x/y blits

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21706>

20 months agofreedreno/a6xx: Convert blitter to OUT_REG()
Rob Clark [Sat, 4 Mar 2023 16:00:49 +0000 (08:00 -0800)]
freedreno/a6xx: Convert blitter to OUT_REG()

We'll need this to add a7xx support, since some of the regs are
different btwn a6xx and a7xx and reg variants are not supported with
the legacy reg builders.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21706>

20 months agofreedreno/a6xx: Namespace reg/pkt packer vars
Rob Clark [Sat, 4 Mar 2023 15:48:54 +0000 (07:48 -0800)]
freedreno/a6xx: Namespace reg/pkt packer vars

Otherwise they could conflict with parameters to the reg/pkt.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21706>

20 months agopan/mdg: Use nir_lower_helper_writes
Alyssa Rosenzweig [Mon, 20 Feb 2023 19:17:12 +0000 (14:17 -0500)]
pan/mdg: Use nir_lower_helper_writes

It's now in common code, drop our (buggier) copy.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Italo Nicola <italonicola@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21413>

20 months agonir: Add nir_lower_helper_writes pass
Alyssa Rosenzweig [Mon, 20 Feb 2023 19:16:05 +0000 (14:16 -0500)]
nir: Add nir_lower_helper_writes pass

This NIR pass lowers stores in fragment shaders to:

   if (!gl_HelperInvocaton) {
      store();
   }

This implements the API requirement that helper invocations do not have visible
side effects, and the lowering is required on any hardware that cannot directly
mask helper invocation's side effects. The pass was originally written for
Midgard (which has this issue) but is also needed for Asahi. Let's share the
code, and fix it while we're at it.

Changes from the Midgard pass:

1. Add an option to only lower atomics.

   AGX hardware can mask helper invocations for "plain" stores but not for
   atomics.  Accordingly, the AGX compiler wants this lowering for atomics but
   not store_global. By contrast, Midgard cannot mask any stores and needs the
   lowering for all store intrinsics. Add an option to the common pass to
   accommodate both cases.

   This is an optimization for AGX. It is not required for correctness, this
   lowering is always legal.

2. Fix dominance issues.

   It's invalid to have NIR like

      if ... {
         ssa_1 = ...
      }

      foo ssa_1

   Instead we need to rewrite as

      if ... {
         ssa_1 = ...
      } else {
         ssa_2 = undef
      }
      ssa_3 = phi ssa_1, ssa_2

      foo ssa_3

   By default, neither nir_validate nor the backends check this, so this doesn't
   currently fix a (known) real bug. But it's still invalid and fails validation
   with NIR_DEBUG=validate_ssa_dominance.

   Fix this in lower_helper_writes for intrinsics that return data (atomics).

3. Assert that the pass is run only for fragment shaders. This encourages
   backends to be judicious about which passes they call instead of just
   throwing everything in a giant lower everything spaghetti.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Italo Nicola <italonicola@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21413>

20 months agoasahi: Assert on TIB strides > 64
Asahi Lina [Fri, 3 Mar 2023 17:56:54 +0000 (02:56 +0900)]
asahi: Assert on TIB strides > 64

These just don't seem to work. macOS falls back to eMRT here...

dEQP-GLES3.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.13
from Fail -> Crash. Proper solution will come when we implement eMRT later on.

Signed-off-by: Asahi Lina <lina@asahilina.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21705>

20 months agonir/range_analysis: fix vectorized phis and intrinsics
Rhys Perry [Fri, 10 Feb 2023 16:24:22 +0000 (16:24 +0000)]
nir/range_analysis: fix vectorized phis and intrinsics

Found by inspection.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-By: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21288>

20 months agovk: be stricter about symbols check between android and other platforms
Eric Engestrom [Wed, 1 Mar 2023 17:15:26 +0000 (17:15 +0000)]
vk: be stricter about symbols check between android and other platforms

Don't allow HMI on non-Android, don't allow non-HMI on Android, and
don't allow missing HMI on Android.

Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21631>

20 months agoandroid/vk: drop unnecessary symbols
Eric Engestrom [Thu, 2 Mar 2023 17:36:24 +0000 (17:36 +0000)]
android/vk: drop unnecessary symbols

Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21631>

20 months agovn: add linker script to fix android symbols
Eric Engestrom [Fri, 3 Mar 2023 18:24:55 +0000 (18:24 +0000)]
vn: add linker script to fix android symbols

Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21631>

20 months agoanv: add linker script to fix android symbols
Eric Engestrom [Fri, 3 Mar 2023 17:04:41 +0000 (17:04 +0000)]
anv: add linker script to fix android symbols

Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21631>

20 months agotu: add linker script to fix android symbols
Eric Engestrom [Fri, 3 Mar 2023 16:42:06 +0000 (16:42 +0000)]
tu: add linker script to fix android symbols

Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21631>

20 months agov3dv: add linker script to fix android symbols
Eric Engestrom [Fri, 3 Mar 2023 16:41:58 +0000 (16:41 +0000)]
v3dv: add linker script to fix android symbols

Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21631>

20 months agovk: move radv's linker symbols scripts for use in all drivers
Eric Engestrom [Fri, 3 Mar 2023 16:40:57 +0000 (16:40 +0000)]
vk: move radv's linker symbols scripts for use in all drivers

Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21631>

20 months agoanv: VK_EXT_image_sliced_view_of_3d
Lionel Landwerlin [Fri, 17 Feb 2023 08:03:38 +0000 (10:03 +0200)]
anv: VK_EXT_image_sliced_view_of_3d

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21376>

20 months agoisl: Set Depth to array len for 3D storage images
Faith Ekstrand [Tue, 28 Feb 2023 17:16:06 +0000 (11:16 -0600)]
isl: Set Depth to array len for 3D storage images

This is necessary for RESINFO to work properly.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21376>

20 months agointel/blorp: Set array_len for 3D images properly
Faith Ekstrand [Tue, 28 Feb 2023 17:14:36 +0000 (11:14 -0600)]
intel/blorp: Set array_len for 3D images properly

We need to minify the depth so we don't set a size that's out-of-bounds.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21376>

20 months agovulkan/runtime: only consider slice info with 3D image views
Lionel Landwerlin [Fri, 3 Mar 2023 10:50:45 +0000 (12:50 +0200)]
vulkan/runtime: only consider slice info with 3D image views

Because we can have 2D views of 3D images, we want to consider the
slice info only with 3D *image views*.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 66e3ccbcac ("vulkan/runtime: store parameters of VK_EXT_sliced_view_of_3d")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21376>

20 months agovulkan/runtime: Rename and document storage image Z range
Faith Ekstrand [Fri, 3 Mar 2023 17:36:36 +0000 (11:36 -0600)]
vulkan/runtime: Rename and document storage image Z range

This makes it more clear that the fields specifically apply to the Z
range and aren't array slices.

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

20 months agovenus: shader cache fossilize replay fix
Juston Li [Thu, 2 Mar 2023 18:40:03 +0000 (10:40 -0800)]
venus: shader cache fossilize replay fix

venus utilizes the host side shader cache.

This is a WA to generate shader cache files containing headers with
a unique cache id that will change based on host driver identifiers.
This allows fossilize replay to detect if the host side shader cache
is no longer up to date.
The shader cache is destroyed after creating the necessary files and
not utilized by venus.

Signed-off-by: Juston Li <justonli@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21664>

20 months agoci/zink: add skip for the Single-GL46.enhanced_layouts.ssb_member_align_non_power_of_2
David Heidelberg [Sat, 4 Mar 2023 00:03:25 +0000 (01:03 +0100)]
ci/zink: add skip for the Single-GL46.enhanced_layouts.ssb_member_align_non_power_of_2

Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21668>