platform/upstream/mesa.git
20 months agoRevert "ci: Collabora's LAVA lab for maintance"
Sergi Blanch Torne [Wed, 11 Jan 2023 07:25:14 +0000 (08:25 +0100)]
Revert "ci: Collabora's LAVA lab for maintance"

Farm up again

This reverts commit 900ccec7e8fa809ef0a9154db4d0ecec3fe26e9c.

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

20 months agoci: disable Collabora's LAVA lab for maintance
Sergi Blanch Torne [Wed, 11 Jan 2023 07:17:49 +0000 (08:17 +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-01-13 08:00 GMT
    End: 2023-01-13 12:00 GMT

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

20 months agoradv: fix missing implementation of creating images from swapchains
Samuel Pitoiset [Wed, 11 Jan 2023 08:14:08 +0000 (09:14 +0100)]
radv: fix missing implementation of creating images from swapchains

These pNext structs are part of VK_KHR_swapchain which is core Vulkan
1.1 but they were missing. Loosely based on ANV.

Passed WSI CTS.

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

20 months agointel/utrace: document tracepoints
Lionel Landwerlin [Wed, 25 May 2022 07:47:27 +0000 (10:47 +0300)]
intel/utrace: document tracepoints

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16655>

20 months agointel/ds: remove unused trace point
Lionel Landwerlin [Tue, 10 Jan 2023 21:01:06 +0000 (23:01 +0200)]
intel/ds: remove unused trace point

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16655>

20 months agointel/ds: add INTEL_GPU_TRACEPOINT envvar to toggle tracepoints
Lionel Landwerlin [Sun, 22 May 2022 13:00:40 +0000 (16:00 +0300)]
intel/ds: add INTEL_GPU_TRACEPOINT envvar to toggle tracepoints

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16655>

20 months agoanv: add support for command buffer tagging in traces
Lionel Landwerlin [Sun, 22 May 2022 10:18:42 +0000 (13:18 +0300)]
anv: add support for command buffer tagging in traces

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16655>

20 months agovulkan/debug_utils: copy debug util labels
Lionel Landwerlin [Thu, 12 Jan 2023 12:09:14 +0000 (14:09 +0200)]
vulkan/debug_utils: copy debug util labels

The copied structures currently can point to freed memory.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16655>

20 months agoutil/u_trace: add support for variable length trace points
Lionel Landwerlin [Wed, 11 Jan 2023 23:08:46 +0000 (01:08 +0200)]
util/u_trace: add support for variable length trace points

Use case being :

struct tp {
   ...
   char string[0];
};

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16655>

20 months agointel/ds: move event_id access to perfetto lambda
Lionel Landwerlin [Sun, 22 May 2022 14:15:50 +0000 (17:15 +0300)]
intel/ds: move event_id access to perfetto lambda

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16655>

20 months agointel/ds: track secondary cmdbuffers in perfetto
Lionel Landwerlin [Sat, 21 May 2022 16:04:21 +0000 (19:04 +0300)]
intel/ds: track secondary cmdbuffers in perfetto

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16655>

20 months agoanv: record secondaries' traces into primaries
Lionel Landwerlin [Fri, 20 May 2022 21:38:40 +0000 (00:38 +0300)]
anv: record secondaries' traces into primaries

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16655>

20 months agopps: print out message when we get the first counters
Lionel Landwerlin [Sat, 21 May 2022 16:06:16 +0000 (19:06 +0300)]
pps: print out message when we get the first counters

Mostly for debug purposes, show the first visible counter timestamp.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16655>

20 months agoagx: Peephole select after opt_preamble
Alyssa Rosenzweig [Thu, 29 Dec 2022 23:04:40 +0000 (18:04 -0500)]
agx: Peephole select after opt_preamble

Reduces control flow in Dolphin uber shaders, which saves us a few cycles.

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

20 months agonir/peephole_select: Allow load_preamble
Alyssa Rosenzweig [Tue, 10 Jan 2023 03:10:56 +0000 (22:10 -0500)]
nir/peephole_select: Allow load_preamble

load_preamble is intended to be almost free (costing at most a move), and it
does not have special bounds checking requirement, so it's ok to select with it.
With this, drivers that use nir_opt_preamble together with a late call to
peephole_select can optimize sequences like:

   if (x) {
      <uniform-on-uniform calculation>
   } else {
      <different uniform-on-uniform calculation>
   }

to simply

   bcsel(x, <uniform register 0>, <uniform register 1>)

rather than emitting needless control flow / branching over some moves.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20597>

20 months agozink: simplify get_slot_components() for xfb emission
Mike Blumenkrantz [Thu, 12 Jan 2023 17:59:58 +0000 (12:59 -0500)]
zink: simplify get_slot_components() for xfb emission

multiplying by the array size is always wrong for this case, and not
doing so allows for some simplification and better inlining, though
the output results are identical

the one corner case is clip/cull distance, which need special handling
since they're arrays with vec semantics

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

20 months agonir/lower_bool: ntt: Generate a good opcode for bcsel
Pavel Ondračka [Thu, 24 Nov 2022 08:24:35 +0000 (09:24 +0100)]
nir/lower_bool: ntt: Generate a good opcode for bcsel

This is heavily copy-pasted from a patch of Ian Romanick, including the
commit message.

Previously, this pass always generated fcsel for bcsel.  This was the
only place that generate fcsel, so various drivers assumed (and needed!)
that src0 was a Boolean with 0.0 or 1.0 as the only values.

Specifically, many DX9 / GL_ARB_vertex_program platforms lack a CMP
instruction in vertex shaders.  In those cases, they would use LRP to
implement fcsel.  The bummer is that many plaforms have a real fcsel
instruction, and those platforms would benefit from other places
generating that opcode.

Instead of leaving assumptions in drivers about the sources of an opcode
that they can't really support, allow them to control the way the
lowering pass translates bcsel.  Two flags are used to control this:

- If the driver sets has_fused_comp_and_csel in nir_options, fcsel_gt
  will be used.  Since the Boolean value is 0.0 or 1.0, this is
  equivalent to fcsel.

- If the parameter has_fcsel_ne is set, fcsel will be used.  This is the
  old path.

- Otherwise, the lowering pass assumes we're on a crufty, old DX9 vertex
  program, and it emits flrp.

With this, the assumptions about src0 of fcsel in NTT can be removed.
If a platform can't handle fcsel, it should ensure that the lowering
pass won't generate it.

No change in shader-db.

Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20162>

20 months agoi915: Enable generation of fcsel_gt and fcsel_ge opcodes
Ian Romanick [Wed, 15 Jun 2022 05:05:21 +0000 (22:05 -0700)]
i915: Enable generation of fcsel_gt and fcsel_ge opcodes

DX9 PS 1.x / GL_ARB_fragment_program shaders that have been converted to
GLSL are littered with patterns like

    ps_r1.x = ((ps_t0.y >= 0.0) ? ps_r1.x : ps_c1.y);

This is because CMP is a fundamental opcode in those earlier shading
languages.  i915 supports this opcode natively, but there's no way to
get it directly into the backend.  Instead, NIR and NTT generate some
combination of fcsel and sge and hope for the best.

i915
total instructions in shared programs: 49032 -> 48897 (-0.28%)
instructions in affected programs: 4173 -> 4038 (-3.24%)
helped: 39
HURT: 0

total temps in shared programs: 2795 -> 2790 (-0.18%)
temps in affected programs: 22 -> 17 (-22.73%)
helped: 5
HURT: 0

total const in shared programs: 4976 -> 4967 (-0.18%)
const in affected programs: 203 -> 194 (-4.43%)
helped: 9
HURT: 0

GAINED: shaders/trine/fp-13.shader_test FS

Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20162>

20 months agor300: Enable generation of fcsel_gt and fcsel_ge opcodes
Ian Romanick [Tue, 21 Jun 2022 21:54:29 +0000 (14:54 -0700)]
r300: Enable generation of fcsel_gt and fcsel_ge opcodes

RV530:
total instructions in shared programs: 135032 -> 134833 (-0.15%)
instructions in affected programs: 15654 -> 15455 (-1.27%)
helped: 133
HURT: 13

total temps in shared programs: 17051 -> 17045 (-0.04%)
temps in affected programs: 202 -> 196 (-2.97%)
helped: 11
HURT: 5

RV370:
total instructions in shared programs: 84439 -> 84378 (-0.07%)
instructions in affected programs: 2519 -> 2458 (-2.42%)
helped: 49
HURT: 7

total temps in shared programs: 12399 -> 12380 (-0.15%)
temps in affected programs: 322 -> 303 (-5.90%)
helped: 20
HURT: 10

GAINED: shaders/godot3.4/22-69.shader_test FS

Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20162>

20 months agonir/lower_int_to_float: Add support for i32csel opcodes
Ian Romanick [Wed, 15 Jun 2022 04:50:14 +0000 (21:50 -0700)]
nir/lower_int_to_float: Add support for i32csel opcodes

These lower naturally to the corresponding fcsel opcodes.

Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20162>

20 months agontt: Add support for fcsel_gt and fcsel_ge opcodes
Ian Romanick [Wed, 15 Jun 2022 04:57:43 +0000 (21:57 -0700)]
ntt: Add support for fcsel_gt and fcsel_ge opcodes

These match the TGSI CMP opcode very nicely.  Every driver that uses NTT
for its fragment shader path should be able to enable these opcodes now.

Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20162>

20 months agodocs: reset new_features.txt
Dylan Baker [Thu, 12 Jan 2023 19:06:07 +0000 (11:06 -0800)]
docs: reset new_features.txt

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

20 months agoVERSION: bump to 23.1.0-devel for further development
Dylan Baker [Thu, 12 Jan 2023 19:04:51 +0000 (11:04 -0800)]
VERSION: bump to 23.1.0-devel for further development

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

20 months agointel/genxml: Drop CACHE_MODE_SS definition.
Kenneth Graunke [Tue, 10 Jan 2023 22:02:06 +0000 (14:02 -0800)]
intel/genxml: Drop CACHE_MODE_SS definition.

This is a global register which isn't settable by userspace contexts.
It also shouldn't appear in any of our aubinator decodes from error
states or aub dumps, as no userspace batch should be setting it.

So it's not very valuable to have here.  Just makes us think we can
set it.  Plus, a lot of the field definitions changed a bunch, and
would need updating.

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

20 months agoradv: Fix deadlock in radv_rmv_log_event_create
Konstantin Seurer [Wed, 11 Jan 2023 09:45:53 +0000 (10:45 +0100)]
radv: Fix deadlock in radv_rmv_log_event_create

Fixes: 8d0e6c0 ("radv: Add RMV tracing utilities")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20636>

20 months agodzn: Declare debug only root_dwords as ASSERTED
GH Cao [Thu, 12 Jan 2023 17:20:25 +0000 (01:20 +0800)]
dzn: Declare debug only root_dwords as ASSERTED

Such variable is only used in assert(), so declare it as ASSERTED.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7885
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7234

Signed-off-by: GH Cao <driver1998.ms@outlook.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20676>

20 months agoanv: Add a tracepoint for the fallback implicit sync wait path.
Emma Anholt [Tue, 10 Jan 2023 19:01:16 +0000 (11:01 -0800)]
anv: Add a tracepoint for the fallback implicit sync wait path.

If you're here, you'd really like to know.

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

20 months agoperfetto: Add the intel data sources to system.cfg.
Emma Anholt [Tue, 10 Jan 2023 18:34:41 +0000 (10:34 -0800)]
perfetto: Add the intel data sources to system.cfg.

Now I don't need to remember different perfetto setups depending on which
system I'm profiling.

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

20 months agodocs/perfetto: Fix the name of the i915 render stages data sources.
Emma Anholt [Tue, 10 Jan 2023 18:36:46 +0000 (10:36 -0800)]
docs/perfetto: Fix the name of the i915 render stages data sources.

Fixes: ef27399bca95 ("docs: update perfetto with the latest status")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20658>

20 months agoci: build hasvk if we're building anv
Adam Jackson [Thu, 27 Oct 2022 18:38:14 +0000 (14:38 -0400)]
ci: build hasvk if we're building anv

!19355 should never have happened, but we didn't bother to add build
coverage for hasvk when we split it out from anv.

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

20 months agovulkan/rmv: Only trace on the n-th frame
Konstantin Seurer [Wed, 11 Jan 2023 08:39:00 +0000 (09:39 +0100)]
vulkan/rmv: Only trace on the n-th frame

This makes it stop dumping on every n-th frame. It also uses a simple
increment, since the function is locked.

Fixes: defed48 ("vulkan: Add common RMV tracing infrastructure")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20635>

20 months agoradv/rmv: Capture names of pipelines but not command buffers
Friedrich Vock [Wed, 11 Jan 2023 18:41:58 +0000 (19:41 +0100)]
radv/rmv: Capture names of pipelines but not command buffers

For command buffers, only scratch/upload bos are logged which cannot be attributed to command buffer handles.

Fixes: 5611ab25 ("radv: Add RMV tracing layer")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20647>

20 months agoradv/rmv: Fix resource ids for name tokens
Friedrich Vock [Wed, 11 Jan 2023 17:19:19 +0000 (18:19 +0100)]
radv/rmv: Fix resource ids for name tokens

Fixes: 5611ab25 ("radv: Add RMV tracing layer")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20647>

20 months agohud: fix values printing
Pierre-Eric Pelloux-Prayer [Wed, 11 Jan 2023 14:02:12 +0000 (15:02 +0100)]
hud: fix values printing

Oops...

Fixes: 595079c37cc ("hud: extract float printf modifer selection logic to helper")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20643>

20 months agoutil: add a return value to util_sprintf
Pierre-Eric Pelloux-Prayer [Thu, 12 Jan 2023 08:08:45 +0000 (09:08 +0100)]
util: add a return value to util_sprintf

The regular sprintf is expected to return the number of char writter,
so let's do the same in our version.

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

20 months agonv30: add nv49 results
Filip Gawin [Sat, 12 Nov 2022 12:27:13 +0000 (13:27 +0100)]
nv30: add nv49 results

Acked-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19696>

20 months agor300: don't cache abs in fragment shader
Filip Gawin [Tue, 10 Jan 2023 21:51:30 +0000 (22:51 +0100)]
r300: don't cache abs in fragment shader

Currently this ends up with unneeded move.

fixes: 63f353b45605379b8b81754543907a6b0fc3afdd

Reviewed-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20625>

20 months agozink: fix PIPE_RESOURCE_PARAM_NPLANES with format modifier
Simon Ser [Tue, 20 Dec 2022 14:38:57 +0000 (15:38 +0100)]
zink: fix PIPE_RESOURCE_PARAM_NPLANES with format modifier

Some format modifiers change the number of planes used by an image.
For instance AMD DCC modifiers uses 2 or 3 planes. However the
format modifier was ignored in the PIPE_RESOURCE_PARAM_NPLANES
get_param hook.

Fix this by using get_dmabuf_modifier_planes() instead of
util_format_get_num_planes().

This fixes wlroots-based compositors under zink.

Signed-off-by: Simon Ser <contact@emersion.fr>
Fixes: c025cb9ee9d7 ("zink: fix dmabuf plane returns")
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20395>

20 months agogen_release_notes: include links in relnotes.rst when generating the new release...
Eric Engestrom [Thu, 29 Dec 2022 23:46:51 +0000 (23:46 +0000)]
gen_release_notes: include links in relnotes.rst when generating the new release note

This is required to allow the docs to build, which in turn is required
if we want to allow merge requests against release (staging) branches.

Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20460>

20 months agogen_release_notes: allow using the script from another checkout
Eric Engestrom [Thu, 29 Dec 2022 23:39:48 +0000 (23:39 +0000)]
gen_release_notes: allow using the script from another checkout

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

20 months agogen_release_notes: avoid crashing when none of the commits mention closing an issue
Eric Engestrom [Fri, 30 Dec 2022 00:14:34 +0000 (00:14 +0000)]
gen_release_notes: avoid crashing when none of the commits mention closing an issue

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

20 months agogen_release_notes: stop the script if we can't generate the release note
Eric Engestrom [Thu, 29 Dec 2022 23:44:27 +0000 (23:44 +0000)]
gen_release_notes: stop the script if we can't generate the release note

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

20 months agofrontends/va/postproc: yuv422 to nv12
Thong Thai [Tue, 22 Nov 2022 00:13:35 +0000 (19:13 -0500)]
frontends/va/postproc: yuv422 to nv12

Signed-off-by: Thong Thai <thong.thai@amd.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Tested-by: Suresh Guttula <suresh.guttula@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19915>

20 months agogallium/auxiliary/vl: compute shaders for progressive yuv
Thong Thai [Tue, 22 Nov 2022 00:11:09 +0000 (19:11 -0500)]
gallium/auxiliary/vl: compute shaders for progressive yuv

v2: Add a one line offset to the compute shader, to get the
correct output, as suggested by Suresh <Suresh.Guttula@amd.com>.
v3: Add `FALLTHROUGH` to fix a compilation error

Signed-off-by: Thong Thai <thong.thai@amd.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Tested-by: Suresh Guttula <suresh.guttula@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19915>

20 months agofrontends/va/postproc: default to weave when deinterlacing
Thong Thai [Fri, 25 Nov 2022 22:38:53 +0000 (17:38 -0500)]
frontends/va/postproc: default to weave when deinterlacing

Signed-off-by: Thong Thai <thong.thai@amd.com>
Tested-by: Marcus Seyfarth <m.seyfarth@gmail.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19915>

20 months agogallium/auxiliary/vl: fix scale and translate parameters
Thong Thai [Tue, 22 Nov 2022 00:21:30 +0000 (19:21 -0500)]
gallium/auxiliary/vl: fix scale and translate parameters

Fixes the scale and translate portion of the code to allow for
scale and crop to work properly.

Signed-off-by: Thong Thai <thong.thai@amd.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Tested-by: Marcus Seyfarth <m.seyfarth@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19915>

20 months agodocs: utilities: Update list of development utilities
Corentin Noël [Mon, 2 Jan 2023 11:42:42 +0000 (12:42 +0100)]
docs: utilities: Update list of development utilities

Explicitly mention supported APIs and add GFXReconstruct for
Vulkan tracing and debugging.

Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20474>

20 months agodocs: debugging: Fix path to dlist.c
Corentin Noël [Mon, 2 Jan 2023 11:41:50 +0000 (12:41 +0100)]
docs: debugging: Fix path to dlist.c

This file has now long being moved to another directory.

Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20474>

20 months agoradv/gfx11: increase radeon_check_space for occlusion query begin
Rhys Perry [Wed, 11 Jan 2023 20:03:08 +0000 (20:03 +0000)]
radv/gfx11: increase radeon_check_space for occlusion query begin

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

20 months agodri: Free the already allocated optionCache and optionInfo on failure
Corentin Noël [Thu, 12 Jan 2023 09:35:21 +0000 (10:35 +0100)]
dri: Free the already allocated optionCache and optionInfo on failure

These fields are allocated as they have to be taken into account for initScreen.

Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20663>

20 months agodri: Do not free the given screen in initScreen implementation
Corentin Noël [Thu, 12 Jan 2023 09:04:37 +0000 (10:04 +0100)]
dri: Do not free the given screen in initScreen implementation

The given screen is already freed by the caller in case a NULL-pointer is
returned by the implementation.

Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20663>

20 months agogbm: Avoid leaks on screen creation failures
Corentin Noël [Thu, 12 Jan 2023 10:26:04 +0000 (11:26 +0100)]
gbm: Avoid leaks on screen creation failures

Some of the code paths were not freeing the allocated strings,
also remove the unused ret variable as we are always returning -1 on failure.

Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
Reviewed-by: Simon Ser <contact@emersion.fr>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20667>

20 months agolima/ci: add deqp-egl run to the deqp suite
Erico Nunes [Sat, 17 Dec 2022 11:00:46 +0000 (12:00 +0100)]
lima/ci: add deqp-egl run to the deqp suite

Both wayland and X backends are covered by headless weston, with
X enabled through weston Xwayland.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Acked-by: Vasily Khoruzhick <anarsoul@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20392>

20 months agolima/ci: change lima jobs to use deqp-runner suite
Erico Nunes [Sat, 17 Dec 2022 10:59:56 +0000 (11:59 +0100)]
lima/ci: change lima jobs to use deqp-runner suite

Align it with the state of other drivers' ci and make it
easier to enable more tests later.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20392>

20 months agor600: Request that state validation is emitted for all changed states
Gert Wollny [Tue, 3 Jan 2023 16:07:28 +0000 (17:07 +0100)]
r600: Request that state validation is emitted for all changed states

Restricting the state change only to newly used states results in problems,
because SSBOs, Images, and the framebuffers make use of the same limited
set of resources, and not properly unbinding un-used resoureces leads to
invalid rendering and GPU hangs.

Fixes: aaa4b0e6
   st/mesa: move check_program_state code into _mesa_update_state

v2: use new cap name and switched meaning

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

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

20 months agogallium: Add cap to request state validation for all dirty state
Gert Wollny [Tue, 3 Jan 2023 16:04:19 +0000 (17:04 +0100)]
gallium: Add cap to request state validation for all dirty state

With aaa4b0e6 state validation is no longer called for all changed states,
but only for states that will be active with a new shader program.
Not all drivers support this and might prefer if the state validation
is emitted for all states that might be changed. So add a cap that the
driver can signal one or the other preference, and default to the new
behavior.

Fixes: aaa4b0e6
   st/mesa: move check_program_state code into _mesa_update_state

v2: - Rename cap and and invert its meaning, query the cap
      only once and store it in st, handle the mask update
      when updating the shader i.e. not in st_validate_state (Marek)

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

20 months agodocs: move note on other drivers to the bottom
Erik Faye-Lund [Wed, 11 Jan 2023 14:50:08 +0000 (15:50 +0100)]
docs: move note on other drivers to the bottom

This was always meant to be at the bottom of the page. To reduce the
risk of more driver-specific environment variables being added below,
let's add a horizontal rule to mark the difference. This should make it
more clear that this paragraph doesn't belong to the previous heading.

Fixes: c70c5ecd2e7 ("docs: move generic gallium envvars to root doc")
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20644>

20 months agoac/nir/ngg: implement 16bit output streamout
Qiang Yu [Fri, 16 Dec 2022 06:12:12 +0000 (14:12 +0800)]
ac/nir/ngg: implement 16bit output streamout

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20350>

20 months agoac/nir/ngg: refine nogs outputs handling
Qiang Yu [Thu, 8 Dec 2022 10:22:24 +0000 (18:22 +0800)]
ac/nir/ngg: refine nogs outputs handling

Gather outputs in advance to save both output data and type. Output data
is used for streamout and gfx11 param export. Output type is used for
streamout latter.

The output info will also be used for nir vertex export in the future.

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Singed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20350>

20 months agoac/nir/ngg: fix gs 16bit output uninitialized channel when gfx11
Qiang Yu [Fri, 9 Dec 2022 10:05:15 +0000 (18:05 +0800)]
ac/nir/ngg: fix gs 16bit output uninitialized channel when gfx11

Fixes: abe2e99e9e5 ("ac/nir/ngg: gs support 16bit outputs")
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20350>

20 months agoac/nir/ngg: fix gs store output for no param offset slot when gfx11
Qiang Yu [Fri, 9 Dec 2022 09:42:31 +0000 (17:42 +0800)]
ac/nir/ngg: fix gs store output for no param offset slot when gfx11

When slot has no param offset, we should not emit store output for
them on gfx11.

Fixes: abe2e99e9e5 ("ac/nir/ngg: gs support 16bit outputs")
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20350>

20 months agoac/nir/ngg: always reset output when gs emit vertex
Qiang Yu [Fri, 9 Dec 2022 06:44:21 +0000 (14:44 +0800)]
ac/nir/ngg: always reset output when gs emit vertex

Follow the spec, all outputs even not this stream need to be
reset after emit vertex.

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20350>

20 months agoac/nir/ngg: assert no offset for nogs/gs output handling
Qiang Yu [Thu, 8 Dec 2022 10:13:16 +0000 (18:13 +0800)]
ac/nir/ngg: assert no offset for nogs/gs output handling

As we does not support nogs/gs indirect output, so the offset
is always 0.

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20350>

20 months agoac/nir/ngg: gs store output use nir_ssa_def instead of nir_variable
Qiang Yu [Wed, 7 Dec 2022 13:15:47 +0000 (21:15 +0800)]
ac/nir/ngg: gs store output use nir_ssa_def instead of nir_variable

Because we called nir_lower_io_to_temporaries which ensure the
store output and emit vertex in the same block.

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20350>

20 months agoac/nir/ngg: gs save data type of outputs
Qiang Yu [Wed, 7 Dec 2022 12:16:19 +0000 (20:16 +0800)]
ac/nir/ngg: gs save data type of outputs

Prepare to support 16bit streamout and remove nir_variable output.

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20350>

20 months agolavapipe: fix one more descriptor set reference issue
Dave Airlie [Thu, 12 Jan 2023 03:12:17 +0000 (13:12 +1000)]
lavapipe: fix one more descriptor set reference issue

I thought I'd fixed this already, must have gotten lost in a rebase.

fixes
dEQP-VK.pipeline.pipeline_library.graphics_library.misc.bind_null_descriptor_set.1010

Fixes: 20902d1ed685 ("lavapipe: fix descriptor set layout reference counting in layout merge")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20662>

20 months agoci/lvp: cleanup asan fails
Dave Airlie [Wed, 11 Jan 2023 08:04:50 +0000 (18:04 +1000)]
ci/lvp: cleanup asan fails

cleanup the remaining file for what actually fails in CI now.

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

20 months agovk_cmd_queue: add a callback to free push descriptors set khr
Dave Airlie [Wed, 11 Jan 2023 06:19:04 +0000 (16:19 +1000)]
vk_cmd_queue: add a callback to free push descriptors set khr

This should clean this up properly.

Fixes: eb7eccc76f0a ("lavapipe: Use generated command queue code")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20630>

20 months agollvmpipe: unref images correctly in the fragment shader path
Dave Airlie [Wed, 11 Jan 2023 05:51:08 +0000 (15:51 +1000)]
llvmpipe: unref images correctly in the fragment shader path

fixes a memory leak seen in lavapipe asan tests
dEQP-VK.robustness.robustness2.bind.template.rg32f.unroll.nonvolatile.storage_buffer.readwrite.no_fmt_qual.null_descriptor.samples_1.1d.frag

Fixes: 2909c654b014 ("llvmpipe: add fragment shader image support")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20630>

20 months agolavapipe: fix merged layout ref counting
Dave Airlie [Wed, 11 Jan 2023 04:10:11 +0000 (14:10 +1000)]
lavapipe: fix merged layout ref counting

When creating a merged layout, don't use ralloc, just use the
correct reference counting, also only reference a layout if the
pipeline uses it.

Fixes: d4d5a7abba7a ("lavapipe: implement EXT_graphics_pipeline_library")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20630>

20 months agolavapipe: fix descriptor set layout reference counting in layout merge
Dave Airlie [Wed, 11 Jan 2023 20:44:19 +0000 (06:44 +1000)]
lavapipe: fix descriptor set layout reference counting in layout merge

When taking the descriptor set layouts from the pipeline layout, make
sure to take references

Fixes: d4d5a7abba7a ("lavapipe: implement EXT_graphics_pipeline_library")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20630>

20 months agolavapipe: drop unused macro
Dave Airlie [Wed, 11 Jan 2023 20:43:46 +0000 (06:43 +1000)]
lavapipe: drop unused macro

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

20 months agogallium: Allow copy_region blits with matching formats.
Emma Anholt [Mon, 9 Jan 2023 18:29:28 +0000 (10:29 -0800)]
gallium: Allow copy_region blits with matching formats.

If the blit formats match and the resource formats match, then that's a
memcpy whether or not the blit's view of the resource matches the
resource's format.

Improves perf of portal-2-v2's last frame on zink+anv by 1.33212% +/-
0.302829% (n=5), where there's a blit that is viewing the RGBA8_UNORM
src/dst resources as RGBA8_SRGB.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20594>

20 months agogallium: Add a unit test for util_can_blit_via_copy_region().
Emma Anholt [Mon, 9 Jan 2023 21:29:13 +0000 (13:29 -0800)]
gallium: Add a unit test for util_can_blit_via_copy_region().

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20594>

20 months agoRevert "intel/compiler: fine-grained control of dispatch widths"
Nico Cortes [Wed, 11 Jan 2023 20:36:40 +0000 (12:36 -0800)]
Revert "intel/compiler: fine-grained control of dispatch widths"

This reverts commit bed18ab3e2f3fb7f84568a7965becebbbcee9afb.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8063
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20654>

20 months agoci: make wget even more robust
David Heidelberg [Tue, 10 Jan 2023 22:45:08 +0000 (23:45 +0100)]
ci: make wget even more robust

The future is the curl or wget2, but today we have some issues to kill.

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

20 months agoci: propagete robust wgetrc into lava rootfs
David Heidelberg [Tue, 10 Jan 2023 23:14:02 +0000 (00:14 +0100)]
ci: propagete robust wgetrc into lava rootfs

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

20 months agoci: when downgrading from Alpine 3.17 to 3.16, the tag was kept on 3.17
David Heidelberg [Tue, 10 Jan 2023 22:50:34 +0000 (23:50 +0100)]
ci: when downgrading from Alpine 3.17 to 3.16, the tag was kept on 3.17

Fixes: 09d5c55836f3 ("ci: restore reliable Alpine 3.16")

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

20 months agoci/amd: increase number of stoney runners
David Heidelberg [Tue, 10 Jan 2023 22:59:41 +0000 (23:59 +0100)]
ci/amd: increase number of stoney runners

Everything up and running.

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

20 months agodocs: update calendar for 22.3.3
Eric Engestrom [Wed, 11 Jan 2023 17:49:42 +0000 (17:49 +0000)]
docs: update calendar for 22.3.3

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

20 months agodocs: add release notes for 22.3.3
Eric Engestrom [Wed, 11 Jan 2023 17:44:47 +0000 (17:44 +0000)]
docs: add release notes for 22.3.3

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

20 months agovulkan/wsi: Use the newly imported dma-buf.h
Jason Ekstrand [Sat, 11 Jun 2022 01:43:51 +0000 (20:43 -0500)]
vulkan/wsi: Use the newly imported dma-buf.h

Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16987>

20 months agodrm-uapi/dma-buf.h: unbreak on non-Linux via local typedefs
Jan Beich [Thu, 16 Jun 2022 00:21:28 +0000 (00:21 +0000)]
drm-uapi/dma-buf.h: unbreak on non-Linux via local typedefs

In file included from src/vulkan/wsi/wsi_common_drm.c:34:
include/drm-uapi/dma-buf.h:23:10: fatal error: 'linux/types.h' file not found
 #include <linux/types.h>
          ^~~~~~~~~~~~~~~

Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16987>

20 months agodrm-uapi/dma-buf.h: Update from drm-misc-next (2022-06-10)
Jason Ekstrand [Sat, 11 Jun 2022 01:39:47 +0000 (20:39 -0500)]
drm-uapi/dma-buf.h: Update from drm-misc-next (2022-06-10)

From https://cgit.freedesktop.org/drm-misc/

    9cc4853e4781bf0dd0f35355dc92d97c9da02f5d
    Author: Antonio Borneo <antonio.borneo@foss.st.com>
    Date:   Tue Jun 7 23:31:44 2022 +0200

        drm: adv7511: override i2c address of cec before accessing it

This version has the new sync_file import/export ioctls.

Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16987>

20 months agoagx: Don't crash trying to encoding minifloats
Alyssa Rosenzweig [Fri, 6 Jan 2023 01:52:09 +0000 (20:52 -0500)]
agx: Don't crash trying to encoding minifloats

Fixes assertion fails in piglit isinf-and-isnan, which uses a constant infinity,
which has an out-of-bounds mantissa (but the function contract says that's
fine and we just return something undefined.)

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

20 months agoagx: Use BITFIELD64_BIT for outputs_written
Alyssa Rosenzweig [Sat, 7 Jan 2023 19:45:59 +0000 (14:45 -0500)]
agx: Use BITFIELD64_BIT for outputs_written

Fix by inspection.

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

20 months agonir/gather_info: Handle store_zs_agx
Alyssa Rosenzweig [Sat, 7 Jan 2023 19:46:18 +0000 (14:46 -0500)]
nir/gather_info: Handle store_zs_agx

This acts as a depth/stencil write. The AGX compiler checks outputs_written to
determine what conservative depth settings the driver needs. Nominally, this
should work: the original store_output(FRAG_RESULT_DEPTH) intrinsic causes the
DEPTH outputs_written bit to be set, so the metadata is still correct after
lowering store_output to store_zs_agx. However, there are a handful of places
that call nir_gather_info late, which *resets* the existing outputs_written
value and regathers, causing Asahi to use the wrong conservative depth settings
when shuffling NIR pass order and breaking gl_FragDepth.

To fix, handle store_zs_agx conservatively when gathering info so we don't have
to play games with the pass order or stashing info in a sideband.

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

20 months agoagx: Wire up nir_intrinsic_store_agx
Alyssa Rosenzweig [Sat, 3 Dec 2022 02:41:29 +0000 (21:41 -0500)]
agx: Wire up nir_intrinsic_store_agx

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

20 months agoagx: Remove load_global(_constant) support
Alyssa Rosenzweig [Sat, 3 Dec 2022 22:26:15 +0000 (17:26 -0500)]
agx: Remove load_global(_constant) support

Now lowered in NIR to better instructions than we were selecting.

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

20 months agoagx: Use load_global_constant for UBO lowering
Alyssa Rosenzweig [Sat, 3 Dec 2022 22:20:54 +0000 (17:20 -0500)]
agx: Use load_global_constant for UBO lowering

Rely on the common address arithmetic optimizations. We don't need the
special formats for UBO loads anyway, so this is simpler and optimizes
out the ushr.

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

20 months agoagx: Lower global loads/stores to AGX versions
Alyssa Rosenzweig [Sat, 3 Dec 2022 21:54:32 +0000 (16:54 -0500)]
agx: Lower global loads/stores to AGX versions

This lets us do all the needed address arithmetic in a central place.

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

20 months agonir: Add store_agx intrinsic
Alyssa Rosenzweig [Sat, 3 Dec 2022 22:10:13 +0000 (17:10 -0500)]
nir: Add store_agx intrinsic

This works like store_global, but lets us optimize address arithmetic. Like
load_agx, it is formatted to match the hardware semantic. We don't make use of
any clever formats in this series, though.

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

20 months agofreedreno/a6xx: Demote coherent img access to uncompressed
Rob Clark [Mon, 9 Jan 2023 19:53:11 +0000 (11:53 -0800)]
freedreno/a6xx: Demote coherent img access to uncompressed

We cannot use UBWC for coherent access across shader stages.

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

20 months agogallium: Add image volatile/coherent flags
Rob Clark [Mon, 9 Jan 2023 19:34:04 +0000 (11:34 -0800)]
gallium: Add image volatile/coherent flags

Freedreno needs to know when an image has volatile or coherent access
flags in the shader.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20612>

20 months agomesa/st: Track complete access qualifier for images
Rob Clark [Mon, 9 Jan 2023 19:23:39 +0000 (11:23 -0800)]
mesa/st: Track complete access qualifier for images

Don't turn gl_access_qualifier coming from NIR back into GL enums,
losing information in the process.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20612>

20 months agod3d12: implement the get_decoder_fence vfunc
Sil Vilerino [Sun, 4 Dec 2022 12:39:09 +0000 (09:39 -0300)]
d3d12: implement the get_decoder_fence vfunc

Implement the get_decoder_fence vfunc. Note that the waiting for
completion in this driver happens in the end_frame vfunc itself.

Signed-off-by: Sil Vilerino <sivileri@microsoft.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20133>

20 months agoradeonsi: vcn: implement the get_decoder_fence vfunc
Daniel Almeida [Sun, 4 Dec 2022 12:28:23 +0000 (09:28 -0300)]
radeonsi: vcn: implement the get_decoder_fence vfunc

Implement the get_decoder_fence vfunc by waiting on the fence
previously passed in the end_frame vfunc.

Signed-off-by: Daniel Almeida <daniel.almeida@collabora.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20133>

20 months agoradeonsi: uvd: implement the get_decoder_fence vfunc
Daniel Almeida [Sun, 4 Dec 2022 12:27:33 +0000 (09:27 -0300)]
radeonsi: uvd: implement the get_decoder_fence vfunc

Implement the get_decoder_fence vfunc by waiting on the fence
previously passed in the end_frame vfunc.

Signed-off-by: Daniel Almeida <daniel.almeida@collabora.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20133>

20 months agor600: uvd: implement the get_decoder_fence vfunc
Daniel Almeida [Sun, 4 Dec 2022 12:25:45 +0000 (09:25 -0300)]
r600: uvd: implement the get_decoder_fence vfunc

Implement the get_decoder_fence vfunc by waiting on the fence
previously passed in picture->fence in the end_frame vfunc.

Signed-off-by: Daniel Almeida <daniel.almeida@collabora.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20133>

20 months agovirgl: video: implement the get_decoder_fence vfunc
Daniel Almeida [Sun, 4 Dec 2022 12:20:48 +0000 (09:20 -0300)]
virgl: video: implement the get_decoder_fence vfunc

Implement the get_decoder_fence vfunc by waiting on the fence
previously passed in picture->fence in the end_frame vfunc.

Signed-off-by: Daniel Almeida <daniel.almeida@collabora.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20133>