platform/upstream/mesa.git
2 years agointel/pci_ids: Drop non-upstream dg2 pci-ids
Jordan Justen [Fri, 2 Sep 2022 06:51:38 +0000 (23:51 -0700)]
intel/pci_ids: Drop non-upstream dg2 pci-ids

These pci-ids should be included in
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14523, since
these pci-ids will only be supported by kernels that support the
forked Linux uapi. (Note that !14523 will never be merged into
upstream Mesa.)

Ref: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/drm/i915_pciids.h?h=v6.0-rc3#n695
Fixes: 398a9be94b4 ("intel/dev: Enable remaining DG2 and ATS-M device IDs")
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18386>

2 years agovenus: double the abort timeout
Yiwei Zhang [Wed, 7 Sep 2022 17:41:39 +0000 (17:41 +0000)]
venus: double the abort timeout

To avoid bumping abort timeout too much. This change also doubles the
busy wait cycles, which would further reduce unnecessary sleeps for
synchronous calls. Ultimately, after we fix the fencing and push all
roundtrip waiting to the renderer side as well as we fixing the abort
logic, we can live with busy wait alone here.

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18472>

2 years agoanv: pipelineStageCreationFeedbackCount is allowed to be 0
Iván Briano [Tue, 6 Sep 2022 22:28:26 +0000 (15:28 -0700)]
anv: pipelineStageCreationFeedbackCount is allowed to be 0

Fixes: 6601e5d6fc6 ("anv: implement VK_EXT_pipeline_creation_feedback")

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

2 years agoaco: Use plain VOPC for vcmpx when possible.
Georg Lehmann [Mon, 5 Sep 2022 11:10:06 +0000 (13:10 +0200)]
aco: Use plain VOPC for vcmpx when possible.

Foz-DB Navi21:
Totals from 66947 (49.62% of 134913) affected shaders:
CodeSize: 210383024 -> 210033376 (-0.17%)

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18417>

2 years agoradv: Deduplicate push constant structs
Konstantin Seurer [Thu, 1 Sep 2022 19:21:19 +0000 (21:21 +0200)]
radv: Deduplicate push constant structs

This patch adds a header that is shared between the accel struct build
kernels and the dispatch code.

Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18376>

2 years agozink: fix sharedmem ops with bit_size!=32
Mike Blumenkrantz [Tue, 6 Sep 2022 18:25:38 +0000 (14:25 -0400)]
zink: fix sharedmem ops with bit_size!=32

* the rewrite_bo_access compiler pass already handles 64bit rewrites as-needed
* sharedmem access is not required to be 32bit

thus, this can use a similar methodology as ssbo/ubo vars to index based on bitsize
and handle operations through sized variables

Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18449>

2 years agoci: disable the freedreno farm.
Corentin Noël [Wed, 7 Sep 2022 12:45:25 +0000 (14:45 +0200)]
ci: disable the freedreno farm.

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

2 years agov3dv: implement VK_EXT_shader_module_identifier
Eric Engestrom [Sun, 3 Jul 2022 13:35:50 +0000 (14:35 +0100)]
v3dv: implement VK_EXT_shader_module_identifier

Passes `dEQP-VK.*.shader_module_identifier.*`

Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18458>

2 years agoRevert "Revert "Revert "ci: set venus on lavapipe to manual due to flakes"""
Tomeu Vizoso [Wed, 7 Sep 2022 04:53:19 +0000 (06:53 +0200)]
Revert "Revert "Revert "ci: set venus on lavapipe to manual due to flakes"""

Now the flakiness might have been fixed for good.

This reverts commit e51c5a18ade928868623be0048fdd24ed158a42c.

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

2 years agoci: Crosvm won't remove the control socket file on stop
Tomeu Vizoso [Tue, 6 Sep 2022 14:48:04 +0000 (16:48 +0200)]
ci: Crosvm won't remove the control socket file on stop

When sending the stop command to a lingering Crosvm instance, the socket
file will remain and the next instance will fail to start.

Make sure the file is deleted before starting Crosvm with the same path.

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

2 years agoradv: only expose sparseResidencyImage3D on GFX9+
Samuel Pitoiset [Wed, 7 Sep 2022 07:01:41 +0000 (09:01 +0200)]
radv: only expose sparseResidencyImage3D on GFX9+

It's currently broken on Polaris10 and breaks running VKCTS entirely.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18457>

2 years agoradv/ci: run vkcts on the two steam decks in parallel
Martin Roukala (né Peres) [Tue, 6 Sep 2022 11:23:31 +0000 (14:23 +0300)]
radv/ci: run vkcts on the two steam decks in parallel

We just added a new Steam Deck to our CI, which should allow us to
halve the execution time of a full VKCTS run from 1h20 to a more
reasonable 40 minutes.

Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18432>

2 years agoradv: compact MRTs to save PS export memory space
Samuel Pitoiset [Mon, 15 Aug 2022 09:59:03 +0000 (11:59 +0200)]
radv: compact MRTs to save PS export memory space

If there are holes between color outputs (e.g. a shader exports MRT1,
but not MRT0), we can remove the holes by moving higher MRTs lower. The
hardware will remap the MRTs to their correct locations if we remove
holes in SPI_SHADER_COL_FORMAT but not CB_SHADER_MASK. This is good for
performance because the hardware will allocate less space for color
MRTs.

This also allows to remove even more unused color exports because we no
longer need to force previous targets to be non-zero. Only SotTR seems
affected from our fossils db.

fossils-db (NAVI21):
Totals from 859 (0.64% of 134913) affected shaders:
VGPRs: 24328 -> 24216 (-0.46%)
CodeSize: 1433276 -> 1422576 (-0.75%)
Instrs: 255275 -> 253728 (-0.61%)
Latency: 1666836 -> 1661544 (-0.32%)
InvThroughput: 346038 -> 343406 (-0.76%)
Copies: 16520 -> 16506 (-0.08%)
PreSGPRs: 25934 -> 25920 (-0.05%)
PreVGPRs: 19903 -> 19662 (-1.21%)

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5786>

2 years agoradv: gather MRTs that are written by the fragment shader
Samuel Pitoiset [Wed, 31 Aug 2022 15:15:27 +0000 (17:15 +0200)]
radv: gather MRTs that are written by the fragment shader

This will be used to filter color attachments without exports.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5786>

2 years agodocs/zink: remove bptc from required formats for gl4.2
Erik Faye-Lund [Tue, 6 Sep 2022 12:59:11 +0000 (14:59 +0200)]
docs/zink: remove bptc from required formats for gl4.2

We now have lowering-code in the mesa state-tracker, meaning we no
longer need this feature.

Fixes: e4ff42684b9 ("mesa/st: enable bptc extension with fallback")
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18434>

2 years agovc4: do not attempt to do deep tiled blits
Erik Faye-Lund [Tue, 6 Sep 2022 09:08:46 +0000 (11:08 +0200)]
vc4: do not attempt to do deep tiled blits

We only copy a single layer, so let's not even try to support deep
blits here.

Reviewed-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Tested-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18427>

2 years agovc4: respect z-offset in tiled blits
Erik Faye-Lund [Tue, 6 Sep 2022 09:03:58 +0000 (11:03 +0200)]
vc4: respect z-offset in tiled blits

Reviewed-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Tested-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18427>

2 years agov3d: do not pretend to fake rgtc-support
Erik Faye-Lund [Wed, 10 Aug 2022 12:39:47 +0000 (14:39 +0200)]
v3d: do not pretend to fake rgtc-support

The is_format_support query doesn't pretent to have RGTC support, so
this doesn't seem like it ever did anything useful.

Reviewed-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18439>

2 years agointel/compiler: implement Wa_14014595444 for DG2
Tapani Pälli [Mon, 5 Sep 2022 05:08:32 +0000 (08:08 +0300)]
intel/compiler: implement Wa_14014595444 for DG2

According to the workaround, we should setup MLOD as parameter
4 and 5 for the sample_b message.

v2: only SAMPLE_B, not SAMPLE_B_C (Lionel)

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18408>

2 years agoanv: implement Wa_14015946265 for DG2
Tapani Pälli [Mon, 5 Sep 2022 05:23:20 +0000 (08:23 +0300)]
anv: implement Wa_14015946265 for DG2

SOL unit issues, wa is to send PC with CS stall after SO_DECL.

v2: emit also in genX_gpu_memcpy (Lionel)

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18409>

2 years agoiris: implement Wa_14015946265 for DG2
Tapani Pälli [Mon, 5 Sep 2022 05:19:30 +0000 (08:19 +0300)]
iris: implement Wa_14015946265 for DG2

SOL unit issues, wa is to send PC with CS stall after SO_DECL.

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18409>

2 years agoradv: Expose 3d sparse images.
Bas Nieuwenhuizen [Sat, 20 Aug 2022 18:19:19 +0000 (20:19 +0200)]
radv: Expose 3d sparse images.

Tested-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18165>

2 years agoradv: Add 3d tile shapes for sparse binding.
Bas Nieuwenhuizen [Sat, 20 Aug 2022 18:17:07 +0000 (20:17 +0200)]
radv: Add 3d tile shapes for sparse binding.

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

2 years agoradv: Add binding code for 3d sparse images.
Bas Nieuwenhuizen [Sat, 20 Aug 2022 18:16:30 +0000 (20:16 +0200)]
radv: Add binding code for 3d sparse images.

GFX7-8 code is kinda expected. For GFX9 and GFX10 the entire
mipchain is duplicated by "layer" even though smaller mips also
have less layers.

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

2 years agoasahi: Allocate new cmdbufs if out of space
Alyssa Rosenzweig [Tue, 6 Sep 2022 00:11:26 +0000 (20:11 -0400)]
asahi: Allocate new cmdbufs if out of space

Instead of crashing when we run out of space in the command buffer,
allocate a new buffer, jump to it with the STREAM_LINK command, and
use it to write new commands.

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

2 years agoasahi: Handle Stream Link VDM commands
Alyssa Rosenzweig [Mon, 5 Sep 2022 21:43:34 +0000 (17:43 -0400)]
asahi: Handle Stream Link VDM commands

Jumps in the command streams, allowing us to chain ("link") command
buffers. Naming is from PowerVR, which contains an identical command.
PowerVR's has conditional jumps and function call support, it's likely
that AGX inherited this too but I haven't tested that. (Those might be
useful for conditional rendering and secondary command buffers
respectively?)

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

2 years agoasahi: Express VDM commands according to PowerVR
Alyssa Rosenzweig [Mon, 5 Sep 2022 19:49:39 +0000 (15:49 -0400)]
asahi: Express VDM commands according to PowerVR

Piles of unknown bits go away, as we find they're either "field present"
bits or block types. And yep, the block type enum lines up between AGX
and RGX.

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

2 years agoasahi: Annotate VDM/CDM commands as per PVR
Alyssa Rosenzweig [Mon, 5 Sep 2022 19:17:10 +0000 (15:17 -0400)]
asahi: Annotate VDM/CDM commands as per PVR

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

2 years agoasahi: Make BO list growable
Alyssa Rosenzweig [Mon, 5 Sep 2022 18:59:19 +0000 (14:59 -0400)]
asahi: Make BO list growable

Back it by a simple dynamic array, ralloc'd off the batch (and make the
context/batch ralloc'd so stuff gets cleaned up).

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

2 years agoasahi: Dirty track everything
Alyssa Rosenzweig [Mon, 5 Sep 2022 01:47:52 +0000 (21:47 -0400)]
asahi: Dirty track everything

Now that we have fine grained state emit code, let's use it to reduce
driver overhead. Dirty tracking is delicate: while this seems to work,
I've also added an ASAHI_MESA_DEBUG=dirty option in debug builds
to disable the optimizations here for future debug.

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

2 years agoasahi: Hoist constant PPP state to start of batch
Alyssa Rosenzweig [Mon, 5 Sep 2022 01:32:50 +0000 (21:32 -0400)]
asahi: Hoist constant PPP state to start of batch

This reduces how much we emit per draw.

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

2 years agoasahi: Match PPP data structures with PowerVR
Alyssa Rosenzweig [Sun, 4 Sep 2022 19:17:22 +0000 (15:17 -0400)]
asahi: Match PPP data structures with PowerVR

Looking at PowerVR's PPP definitions in tree in Mesa
(src/imagination/csbgen/), we find that AGX's "tagged" data structures
are actually sequences of state items prefixed by a header specifying
which state follows. Rather than hardcoding the sequences in which Apple's
driver chooses to bundle state, we need the XML to be flexible enough to
encode or decode any valid combination of state. That means reworking
the XML. While doing so, we find a number of fields that are identical
between RGX and AGX, and fix the names while at it (for example, the W
Clamp floating point).

Names are from the PowerVR code in Mesa where sensible.

Once we've reworked the XML, we need to rework the decoder.  Instead of
reading tags and printing the combined state packets, the decoder now
must unpack the header and print the individual state items specified by
the header, with slightly more complicated bounds checking.

Finally, state emission in the driver becomes much more flexible. To
prove the flexibility actually works, we now emit all PPP state (except for
viewport and scissor state) as a single PPP update. This works. After
this we can move onto more interesting arrangements of state for lower
driver overhead.

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

2 years agoasahi: Don't use lower_wpos_pntc
Alyssa Rosenzweig [Sun, 4 Sep 2022 18:51:05 +0000 (14:51 -0400)]
asahi: Don't use lower_wpos_pntc

Instead we can flip point coords with the object type. That means fewer
instructions without shader variants. Thanks, PowerVR ^_^

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

2 years agoasahi: Identify object type field via PowerVR
Alyssa Rosenzweig [Sun, 4 Sep 2022 18:43:18 +0000 (14:43 -0400)]
asahi: Identify object type field via PowerVR

src/imagination/csbgen/rogue_ppp.xml STATE_ISPA bits 28. Looks like that
got split into two structs in AGX (with info duplicated?) but yeah I
have a lot to work with here.

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

2 years agoasahi: Split RASTERIZER into constituent words
Alyssa Rosenzweig [Sun, 4 Sep 2022 17:42:05 +0000 (13:42 -0400)]
asahi: Split RASTERIZER into constituent words

As done in the PowerVR driver.

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

2 years agofix(FTBFS): meson: raise C++ standard to C++17
Kai Wasserbäch [Sat, 3 Sep 2022 01:41:58 +0000 (03:41 +0200)]
fix(FTBFS): meson: raise C++ standard to C++17

LLVM 16 requires this since [0] and instead of just going all over the
various directories and adding overrides it should be easier to just
raise this globally. GCC supports C++17 since GCC 8 (2018), Clang since
version 5 (2017). Debian Buster (oldstable) has GCC 8.3 and Clang 7.0,
so all major distributions should have this and there shouldn't be an
issue with bumping.

[0] <https://github.com/llvm/llvm-project/commit/b4e9977fc18405d4a11cbaf1975bcadbf75920b8>

Closes: <https://gitlab.freedesktop.org/mesa/mesa/-/issues/7031>
Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Reviewed-by: Ganesh Belgur Ramachandra <ganesh.belgurramachandra@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17966>

2 years agovenus: enable KHR_driver_properties on Android
Yiwei Zhang [Sun, 4 Sep 2022 05:27:41 +0000 (05:27 +0000)]
venus: enable KHR_driver_properties on Android

Venus has a driver id now and Android cts has been patched.

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18447>

2 years agovenus: enable zink required extensions on Android
Yiwei Zhang [Sat, 3 Sep 2022 06:50:34 +0000 (06:50 +0000)]
venus: enable zink required extensions on Android

Below extensions are enabled:
- VK_KHR_external_memory_fd
- VK_EXT_external_memory_dma_buf
- VK_EXT_image_drm_format_modifier

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18447>

2 years agovenus: some clang format fixes
Yiwei Zhang [Sat, 3 Sep 2022 06:33:21 +0000 (06:33 +0000)]
venus: some clang format fixes

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18447>

2 years agomeson: add with_gallium_virgl to allow it as VA backend driver
Leo Liu [Tue, 6 Sep 2022 00:02:41 +0000 (20:02 -0400)]
meson: add with_gallium_virgl to allow it as VA backend driver

So that no longer needs other driver such as radeonsi as backend
to enable VA.

Signed-off-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18424>

2 years agoanv: add a new NO_LOCAL_MEM allocation flag
Lionel Landwerlin [Fri, 2 Sep 2022 18:53:18 +0000 (21:53 +0300)]
anv: add a new NO_LOCAL_MEM allocation flag

We found a perf regression with 9027c5df4c51b ("anv: remove the
LOCAL_MEM allocation bit") which seems to be that we over subscribe
local memory, leading i915 to swap things in/out too much.

This change avoid putting buffers in local memory if they are not
allocated from a DEVICE_LOCAL heap.

Maybe we can revisit this later if i915 is better able to deal with
more buffers in local memory.

v2: Remove implicit_css from anv_bo when not in lmem (Ivan)

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 9027c5df4c51b ("anv: remove the LOCAL_MEM allocation bit")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7188
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18395>

2 years agoegl/kopper: Don't add EGL_SWAP_BEHAVIOR_PRESERVED_BIT configs
Adam Jackson [Tue, 23 Aug 2022 16:41:35 +0000 (12:41 -0400)]
egl/kopper: Don't add EGL_SWAP_BEHAVIOR_PRESERVED_BIT configs

It's strictly inferior to EGL_EXT_buffer_age so apps shouldn't bother to
begin with, and we don't communicate the surface preservation state to
the backend so we don't handle it correctly in any case.

Acked-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18214>

2 years agowsi/x11: Defer clearing image busy flag for non-shm upload
Adam Jackson [Mon, 22 Aug 2022 21:03:45 +0000 (17:03 -0400)]
wsi/x11: Defer clearing image busy flag for non-shm upload

The image is busy until xcb_put_image returns. This isn't a major worry
at the moment since we're doing the PutImage directly from
vkQueuePresent, but if we moved that to a worker thread the race window
would be a lot easier to hit.

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

2 years agoegl: Move an error check earlier in EGL_BUFFER_AGE_EXT query
Adam Jackson [Mon, 22 Aug 2022 19:46:42 +0000 (15:46 -0400)]
egl: Move an error check earlier in EGL_BUFFER_AGE_EXT query

I can't think of any good reason to call down to the driver and _then_
check whether your calling context was already bad.

Reviewed-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18214>

2 years agomesa: Remove PIPE_CAP_CS_DERIVED_SYSTEM_VALUES_SUPPORTED/lower_cs_derived.
Emma Anholt [Thu, 1 Sep 2022 05:37:29 +0000 (22:37 -0700)]
mesa: Remove PIPE_CAP_CS_DERIVED_SYSTEM_VALUES_SUPPORTED/lower_cs_derived.

We have fine NIR lowering for this (already called from mesa/st), no need
for a separate GLSL pass.

Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18361>

2 years agotu: Trivially expose VK_EXT_rasterization_order_attachment_access
Danylo Piliaiev [Mon, 5 Sep 2022 15:42:03 +0000 (18:42 +0300)]
tu: Trivially expose VK_EXT_rasterization_order_attachment_access

It is just a renamed VK_ARM_rasterization_order_attachment_access.

Zink depends on it to expose KHR_blend_equation_advanced_coherent

Passes GL tests via Zink:
 dEQP-GLES31.functional.blend_equation_advanced.*
 KHR-GLES31.core.blend_equation_advanced.*

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18420>

2 years agotu: Use newly obtained magic reg values
Danylo Piliaiev [Wed, 24 Aug 2022 12:09:08 +0000 (15:09 +0300)]
tu: Use newly obtained magic reg values

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18229>

2 years agofreedreno: Add all variable magic regs to device-info tables
Danylo Piliaiev [Wed, 24 Aug 2022 11:52:50 +0000 (14:52 +0300)]
freedreno: Add all variable magic regs to device-info tables

There are more magic regs which have different values between GPU
subgenerations than we specified.

The updated list and values where obtained by using libwrapfake
with v631 blob and dEQP-VK.draw.renderpass.basic_draw.draw.triangle_list.1
vk cts test.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18229>

2 years agofreedreno: Name more *_DBG_ECO_CNTL regs
Danylo Piliaiev [Fri, 26 Aug 2022 11:56:24 +0000 (14:56 +0300)]
freedreno: Name more *_DBG_ECO_CNTL regs

There is known pattern of *DBG_ECO_CNTL being right before
*_ADDR_MODE_CNTL, name such regs that we are sure about.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18229>

2 years agopvr: don't setup attachment tex state for images with input attachment bit unset
Frank Binns [Tue, 23 Aug 2022 10:46:56 +0000 (11:46 +0100)]
pvr: don't setup attachment tex state for images with input attachment bit unset

In this case the attachment tex state will be 0, which should make things easier
to debug.

Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18320>

2 years agopvr: cube map tex state packing fixes
Frank Binns [Tue, 23 Aug 2022 10:55:33 +0000 (11:55 +0100)]
pvr: cube map tex state packing fixes

A VK_ERROR_FORMAT_NOT_SUPPORTED error was being returned when setting up the
image view tex state for images with the VK_IMAGE_USAGE_STORAGE_BIT and/or
VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT bit(s) set due to missing handling in
pvr_pack_tex_state(). Resolve this by handling these cases, while taking the
opportunity to simplify how the tex type is determined when packing
TEXSTATE_IMAGE_WORD0.

It was also found that the depth field in TEXSTATE_IMAGE_WORD1 was being set up
incorrectly, as it was relying on the image depth being 0 for 1D and 2D images,
but the image depth will always be 1 in these cases.

Partial fix for dEQP-VK.image.qualifiers.volatile.cube.r32f. This now goes from
failing to seg faulting when VK_FORMAT_R32_SFLOAT is added to the format table,
as the test is now getting further.

Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18320>

2 years agopvr: set samplerAnisotropy to false
Frank Binns [Sat, 20 Aug 2022 18:04:12 +0000 (19:04 +0100)]
pvr: set samplerAnisotropy to false

This now matches up with the value being returned for maxSamplerAnisotropy,
which is the unsupported limit of 1.

Fixes dEQP-VK.info.device_properties.

Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18320>

2 years agopvr: Fix clang-format issue.
Rajnesh Kanwal [Tue, 6 Sep 2022 09:53:33 +0000 (10:53 +0100)]
pvr: Fix clang-format issue.

Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18436>

2 years agomesa/st: enable s3tc extensions with fallback
Erik Faye-Lund [Wed, 10 Aug 2022 06:59:28 +0000 (08:59 +0200)]
mesa/st: enable s3tc extensions with fallback

The VC4 and Lima Piglit failures seems to mostly fall in two camps:
1. The hardware lacks sRGB support, but the drivers decide to expose it
   nevertheless, with some varying level of emulation. This leads to some
   failures, probably because we're missing sRGB decoding somewhere.
2. The spec@ext_texture_compression_s3tc@compressedteximage fails,
   mostly due to the test not setting the mipfilter to nearest. With
   that fixed, the test passes on VC4, but still fails on Lima due to an
   a bit dodgy miplod bias in the driver.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Acked-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18180>

2 years agomesa/st: implement fallback for s3tc
Erik Faye-Lund [Wed, 10 Aug 2022 06:45:16 +0000 (08:45 +0200)]
mesa/st: implement fallback for s3tc

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Acked-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18180>

2 years agomesa/main: add _mesa_unpack_s3tc
Erik Faye-Lund [Wed, 10 Aug 2022 11:36:36 +0000 (13:36 +0200)]
mesa/main: add _mesa_unpack_s3tc

We treat sRGB formats as RGB, because we're unpacking to another sRGB
format.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Acked-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18180>

2 years agomesa: add format-helpers for s3tc
Erik Faye-Lund [Wed, 10 Aug 2022 06:27:19 +0000 (08:27 +0200)]
mesa: add format-helpers for s3tc

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Acked-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18180>

2 years agomesa/st: add context-flags for s3tc
Erik Faye-Lund [Wed, 10 Aug 2022 06:24:29 +0000 (08:24 +0200)]
mesa/st: add context-flags for s3tc

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Acked-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18180>

2 years agoutil: allow unpacking less than a block from dxt
Erik Faye-Lund [Mon, 22 Aug 2022 13:59:33 +0000 (15:59 +0200)]
util: allow unpacking less than a block from dxt

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Acked-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18180>

2 years agomesa/st: do not fallback to srgba formats for dxt
Erik Faye-Lund [Mon, 22 Aug 2022 14:59:19 +0000 (16:59 +0200)]
mesa/st: do not fallback to srgba formats for dxt

We don't do this for the non-sRGB DXT formats, and it doesn't really
make any sense when we're about to add fallback elsewhere.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Acked-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18180>

2 years agomesa/st: use _mesa_generate_mipmap for fallback-formats
Erik Faye-Lund [Fri, 2 Sep 2022 11:27:28 +0000 (13:27 +0200)]
mesa/st: use _mesa_generate_mipmap for fallback-formats

For fallback formats, we need to update both the compressed and
uncompressed images. Let's fall back to _mesa_generate_mipmap that
already handles this.

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Acked-by: Eric Engestrom <eric@igalia.com>
Fixes: e4ff42684b9 ("mesa/st: enable bptc extension with fallback")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18180>

2 years agoRevert "Revert "ci: set venus on lavapipe to manual due to flakes""
Erik Faye-Lund [Tue, 6 Sep 2022 11:47:39 +0000 (13:47 +0200)]
Revert "Revert "ci: set venus on lavapipe to manual due to flakes""

This reverts commit 55e99a22f31e8cd0d58a2e419cfad212bea78fe7.

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

2 years agov3dv: ref pipeline layout earlier during pipeline init
Iago Toral Quiroga [Tue, 6 Sep 2022 05:55:22 +0000 (07:55 +0200)]
v3dv: ref pipeline layout earlier during pipeline init

If we fail to init the pipeline the callee will then destroy it
and if we had assigned the layout to the pipeline it will try to
unref it, so make sure we ref it right after assigning it.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7206
Fixes: dEQP-VK.api.object_management.alloc_callback_fail_multiple.graphics_pipeline
Fixes: 14dab6b10c ('v3dv: ref/unref pipeline layout objects')
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18426>

2 years agoutil/u_trace: Add locking for ctx_list
Danylo Piliaiev [Fri, 2 Sep 2022 13:06:16 +0000 (16:06 +0300)]
util/u_trace: Add locking for ctx_list

It could be modified from several threads, make it safe.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18391>

2 years agovc4: drop dead qir_POW() helper
Eric Engestrom [Mon, 5 Sep 2022 13:49:52 +0000 (14:49 +0100)]
vc4: drop dead qir_POW() helper

Dead code since 226bd9294541f65c91ca ("vc4: Use NIR lowering for sRGB decode.")

Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18419>

2 years agov3dv: expose VK_EXT_border_color_swizzle
Iago Toral Quiroga [Mon, 5 Sep 2022 11:22:12 +0000 (13:22 +0200)]
v3dv: expose VK_EXT_border_color_swizzle

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18416>

2 years agov3dv: fix swap_rb and channel_reverse flags in image views
Iago Toral Quiroga [Mon, 5 Sep 2022 11:18:39 +0000 (13:18 +0200)]
v3dv: fix swap_rb and channel_reverse flags in image views

We were computing these from the final swizzle resulting from
combining the format swizzle and the view swizzle, but here we
want to use the format swizzle alone, which is the one we
use to define these properties in the format table.

Fixes CTS test fails with EXT_border_color_swizzle.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18416>

2 years agov3dv: expose VK_EXT_tooling_info
Iago Toral Quiroga [Mon, 5 Sep 2022 06:28:19 +0000 (08:28 +0200)]
v3dv: expose VK_EXT_tooling_info

There is a stub for this implemented in the common code we can use
which reports 0 tools.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18410>

2 years agoradeonsi: add and implement load_user_clip_plane abi
Qiang Yu [Fri, 8 Jul 2022 14:26:45 +0000 (22:26 +0800)]
radeonsi: add and implement load_user_clip_plane abi

This is used by NGG culling for legacy user clip plane clip
which only happens in VS.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17455>

2 years agoradeonsi: vs load input re-calculate vertex index after culling
Qiang Yu [Tue, 5 Jul 2022 07:15:16 +0000 (15:15 +0800)]
radeonsi: vs load input re-calculate vertex index after culling

After culling, vertices are repacked, we overwrite the original
vertex_id/instance_id, so vertex index for each thread need to
be re-calculated.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17455>

2 years agoradeonsi: use replaced values when present
Qiang Yu [Tue, 5 Jul 2022 03:35:09 +0000 (11:35 +0800)]
radeonsi: use replaced values when present

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17455>

2 years agoac/llvm: move culling replaced registers to abi
Qiang Yu [Tue, 5 Jul 2022 03:25:35 +0000 (11:25 +0800)]
ac/llvm: move culling replaced registers to abi

For RADV/Radeonsi llvm backend to use correct value after
culling.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17455>

2 years agoradeonsi: implement cull nir intrinsics
Qiang Yu [Tue, 7 Jun 2022 03:50:21 +0000 (11:50 +0800)]
radeonsi: implement cull nir intrinsics

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17455>

2 years agoradeonsi: implement nir_intrinsic_load_viewport_xy_scale_and_offset
Qiang Yu [Mon, 6 Jun 2022 11:00:34 +0000 (19:00 +0800)]
radeonsi: implement nir_intrinsic_load_viewport_xy_scale_and_offset

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17455>

2 years agoradeonsi: implement nir_intrinsic_load_half_line_width_amd
Qiang Yu [Mon, 6 Jun 2022 08:37:16 +0000 (16:37 +0800)]
radeonsi: implement nir_intrinsic_load_half_line_width_amd

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17455>

2 years agozink: lower discard/demote depending on derivatives
Erik Faye-Lund [Fri, 26 Aug 2022 11:24:28 +0000 (13:24 +0200)]
zink: lower discard/demote depending on derivatives

This should fix rendering in some games that incorrectly expect discard
to have demote behavior.

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

2 years agozink: expose demote when supported
Erik Faye-Lund [Fri, 26 Aug 2022 11:12:11 +0000 (13:12 +0200)]
zink: expose demote when supported

This enables GL_EXT_demote_to_helper_invocation on Zink.

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

2 years agozink: hook up demote extension
Mike Blumenkrantz [Wed, 17 Aug 2022 22:05:09 +0000 (18:05 -0400)]
zink: hook up demote extension

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18272>

2 years agozink: add ntv support for is_helper_invocation
Erik Faye-Lund [Tue, 30 Aug 2022 11:52:36 +0000 (13:52 +0200)]
zink: add ntv support for is_helper_invocation

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

2 years agozink: add spirv_builder support for is_helper_invocation
Erik Faye-Lund [Tue, 30 Aug 2022 11:52:05 +0000 (13:52 +0200)]
zink: add spirv_builder support for is_helper_invocation

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

2 years agozink: add ntv support for demote
Erik Faye-Lund [Thu, 25 Aug 2022 09:24:05 +0000 (11:24 +0200)]
zink: add ntv support for demote

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

2 years agozink: add spirv builder function for demote
Mike Blumenkrantz [Wed, 17 Aug 2022 22:05:21 +0000 (18:05 -0400)]
zink: add spirv builder function for demote

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18272>

2 years agov3dv/bo: reduce DEFAULT_MAX_BO_CACHE_SIZE to 64
Alejandro Piñeiro [Fri, 12 Aug 2022 01:03:15 +0000 (03:03 +0200)]
v3dv/bo: reduce DEFAULT_MAX_BO_CACHE_SIZE to 64

The best way to tune this value is to test Vulkan
applications. Current somewhat big value (512), was obtained by
testing only vkQuake2. Additionally at that time the bo cache was the
first performance oriented improvement we implemented.

After more improvements were included, and retested with more
applications, the conclusion is that we can reduce the value. More
info on the issue that closes.

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

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18398>

2 years agoAndroid.mk: Provide a custom entry name to ensure meson checks succeed
Alessandro Astone [Sun, 24 Jul 2022 19:10:41 +0000 (21:10 +0200)]
Android.mk: Provide a custom entry name to ensure meson checks succeed

When meson tests for the compability of some linker flags, not having
the default entry symbol "_start" defined makes the check fail for
a warning unrelated to the linker flag meson is testing.

Since these tests normally just try to compile a C program with a main,
use "main" as the ficticious entry point.

Specifically, this makes "-Wl,--build-id=sha1" recognised as valid
and allows its use for drivers that rely on it.

This is a temporary workaround that is required until Android.mk is
changed to support both shared libraries and executables.

Cc: "22.0" "22.1" "22.2" mesa-stable
Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17715>

2 years agoAndroid.mk: Filter out --build-id=md5 linker flag
Alessandro Astone [Sat, 23 Jul 2022 15:37:32 +0000 (17:37 +0200)]
Android.mk: Filter out --build-id=md5 linker flag

To avoid conflicts with meson-generated --build-id linker option

Cc: "22.0" "22.1" "22.2" mesa-stable
Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17715>

2 years agoutil: Fixes comment about debug_get_option
Yonggang Luo [Thu, 25 Aug 2022 01:28:15 +0000 (09:28 +0800)]
util: Fixes comment about debug_get_option

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18242>

2 years agoradv: Enable EXT_mesh_shader on RDNA2 with RADV_PERFTEST=ext_ms
Timur Kristóf [Thu, 20 Jan 2022 15:36:28 +0000 (16:36 +0100)]
radv: Enable EXT_mesh_shader on RDNA2 with RADV_PERFTEST=ext_ms

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Acked-by: Martin Roukala <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18367>

2 years agoradv: Implement EXT_mesh_shader draw calls.
Timur Kristóf [Mon, 28 Feb 2022 13:25:19 +0000 (14:25 +0100)]
radv: Implement EXT_mesh_shader draw calls.

There is a new packet DISPATCH_MESH_INDIRECT_MULTI which we use
for indirect mesh shader only draws. This packet allows using
a 3D dispatch (however firstTask doesn't work with this packet).

Otherwise everything else works the same way as
the NV_mesh_shader draw calls.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18367>

2 years agoac/nir/ngg: Add EXT_mesh_shader vertex/primitive count.
Timur Kristóf [Mon, 28 Feb 2022 13:24:17 +0000 (14:24 +0100)]
ac/nir/ngg: Add EXT_mesh_shader vertex/primitive count.

In EXT_mesh_shader the vertex and primitive counts are set using a
built-in SetMeshOutputsEXT function.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18367>

2 years agoac/nir/ngg: Add EXT_mesh_shader CullPrimitiveEXT output.
Timur Kristóf [Mon, 28 Feb 2022 19:12:00 +0000 (20:12 +0100)]
ac/nir/ngg: Add EXT_mesh_shader CullPrimitiveEXT output.

This is a per-primitive boolean output.
When set to 1, the primitive should be culled.

Implement this by using this boolean as the null primitive
flag for primitive exports.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18367>

2 years agoac/nir/ngg: Add EXT_mesh_shader primitive indices.
Timur Kristóf [Mon, 28 Feb 2022 08:15:44 +0000 (09:15 +0100)]
ac/nir/ngg: Add EXT_mesh_shader primitive indices.

In EXT_mesh_shader the indices output is an array of vectors
which is indexed by the primitive index.

(They practically behave like a per-primitive output, although
technically the spec does not treat them as per-primitive.)

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18367>

2 years agozink: track min_samples state for per sample shading
SoroushIMG [Sat, 27 Aug 2022 00:08:46 +0000 (01:08 +0100)]
zink: track min_samples state for per sample shading

Vulkan pipeline state sampleShadingEnable and minSampleShading are directly related to GL_SAMPLE_SHADING_ARB.
Track min_samples provided by st and include it in pipeline state.
This was seen as failures in cts cases where per sample shading along with sample interpolation qualifiers are tested:
dEQP-GL45-ES31.functional.shaders.multisample_interpolation.sample_qualifier.*

Cc: mesa-stable
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18314>

2 years agoRevert "ci: set venus on lavapipe to manual due to flakes"
Tomeu Vizoso [Mon, 5 Sep 2022 09:03:24 +0000 (11:03 +0200)]
Revert "ci: set venus on lavapipe to manual due to flakes"

Issue should be fixed now.

This reverts commit a03ce740bbbd2364e37bdd358d634b352ff515c7.

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

2 years agoci: Make sure that the Crosvm control socket has been removed
Tomeu Vizoso [Mon, 5 Sep 2022 09:01:00 +0000 (11:01 +0200)]
ci: Make sure that the Crosvm control socket has been removed

To avoid Crosvm bailing out at startup like this:

ERROR - dEQP error: [ERROR:src/main.rs:2826] invalid value "crosvm-14.sock": this socket path already exists

Closes: #7093

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

2 years agoac/surface: disallow 256KB swizzle modes on gfx11 APUs
Marek Olšák [Mon, 29 Aug 2022 04:21:44 +0000 (00:21 -0400)]
ac/surface: disallow 256KB swizzle modes on gfx11 APUs

It doesn't work.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18340>

2 years agoac/gpu_info: handle LPDDR4 and 5 in ac_memory_ops_per_clock
Marek Olšák [Mon, 29 Aug 2022 00:50:42 +0000 (20:50 -0400)]
ac/gpu_info: handle LPDDR4 and 5 in ac_memory_ops_per_clock

and update amdgpu_drm.h

Fixes: 50238f495869ce5 - amd/common: Remove redundant code for determining memory ops per clock
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7163

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18340>

2 years agozink: clamp miplodbias when creating sampler
Erik Faye-Lund [Mon, 29 Aug 2022 13:50:54 +0000 (15:50 +0200)]
zink: clamp miplodbias when creating sampler

The Vulkan spec states that it's illegal to pass a mipLodBias larger
than maxSamplerLodBias, but the gallium value here hasn't been clamped.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7140
Cc: mesa-stable
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18295>

2 years agohasvk: expose VK_EXT_depth_clamp_zero_one
Lionel Landwerlin [Fri, 2 Sep 2022 10:32:22 +0000 (13:32 +0300)]
hasvk: expose VK_EXT_depth_clamp_zero_one

Simple enough to expose on hasvk.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18372>

2 years agoanv: enable EXT_depth_clamp_zero_one
Lionel Landwerlin [Fri, 2 Sep 2022 10:30:40 +0000 (13:30 +0300)]
anv: enable EXT_depth_clamp_zero_one

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18372>

2 years agov3dv: switch to common code for command buffer lifecycles
Iago Toral Quiroga [Fri, 2 Sep 2022 09:32:59 +0000 (11:32 +0200)]
v3dv: switch to common code for command buffer lifecycles

This gives us the capacity to recycle command buffers in the pool.
Based on a similar change done by Jason to Anvil.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18388>