platform/upstream/mesa.git
17 months agogallium: Drop Asahi-as-a-swrast hack
Alyssa Rosenzweig [Fri, 19 May 2023 19:35:30 +0000 (15:35 -0400)]
gallium: Drop Asahi-as-a-swrast hack

Now that we've dropped macOS support, these paths are deadcode.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23138>

17 months agodocs: update crosvm networking options
David Heidelberg [Fri, 19 May 2023 10:23:16 +0000 (12:23 +0200)]
docs: update crosvm networking options

Reviewed-by: Corentin Noël <corentin.noel@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22892>

17 months agoci/crosvm: update cmdline options
David Heidelberg [Sun, 7 May 2023 13:36:51 +0000 (15:36 +0200)]
ci/crosvm: update cmdline options

```
[WARN  crosvm::crosvm::cmdline] `--host-ip`, `--netmask`, and `--mac` are deprecated;
```

Reviewed-by: Corentin Noël <corentin.noel@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22892>

17 months agonir: Assert that we don't shrink bit-sizes in nir_lower_bit_size()
Kenneth Graunke [Fri, 19 May 2023 00:15:04 +0000 (17:15 -0700)]
nir: Assert that we don't shrink bit-sizes in nir_lower_bit_size()

The idea of this pass is to promote small bit-sizes to larger, supported
bit-sizes for certain operations.  It doesn't handle emulating large
bit-size operations on smaller bit-sizes; passes like nir_lower_int64
and nir_lower_doubles handle that.

So, assert that we aren't shrinking the bit-size, as this will almost
certainly produce incorrect results.

Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23123>

17 months agointel/compiler: Fix 64-bit ufind_msb, find_lsb, and bit_count
Kenneth Graunke [Fri, 19 May 2023 00:19:42 +0000 (17:19 -0700)]
intel/compiler: Fix 64-bit ufind_msb, find_lsb, and bit_count

We only support 32-bit versions of ufind_msb, find_lsb, and bit_count,
so we need to lower them via nir_lower_int64.

Previously, we were failing to do so on platforms older than Icelake
and let those operations fall through to nir_lower_bit_size, which
used a callback to determine it should lower them for bit_size != 32.
However, that pass only emulates small bit-size operations by promoting
them to supported, larger bit-sizes (i.e. 16-bit using 32-bit).  It
doesn't support emulating larger operations (i.e. 64-bit using 32-bit).

So nir_lower_bit_size would just u2u32 the 64-bit source, causing us to
flat ignore half of the bits.

Commit 78a195f252d (intel/compiler: Postpone most int64 lowering to
brw_postprocess_nir) provoked this bug on Icelake and later as well,
by moving the nir_lower_int64 handling for ufind_msb until late in
compilation, allowing it to reach nir_lower_bit_size which broke it.

To fix this, we always set int64 lowering for these opcodes, and also
correct the nir_lower_bit_size callback to ignore 64-bit operations.

Cc: mesa-stable
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23123>

17 months agonir: Add find_lsb lowering to nir_lower_int64.
Kenneth Graunke [Fri, 19 May 2023 10:53:07 +0000 (03:53 -0700)]
nir: Add find_lsb lowering to nir_lower_int64.

Some GPUs can only handle 32-bit find_lsb.

Cc: mesa-stable
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23123>

17 months agomicrosoft/compiler: Better and simpler bitcast reduction
Jesse Natalie [Tue, 16 May 2023 19:25:12 +0000 (12:25 -0700)]
microsoft/compiler: Better and simpler bitcast reduction

Using nir_gather_ssa_types works much better. There's 2 differences
compared to what I was doing before:
1. Multiple passes to allow data to propagate forward and backward
   through the whole shader.
2. Allowing a value to have indeterminate types due to having both
   int and float usages.

So this deletes some code and gets better results. Wish I'd known
this existed last week.

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

17 months agoiris: Fix return of xe_batch_submit() when exec fails
José Roberto de Souza [Fri, 19 May 2023 19:31:43 +0000 (12:31 -0700)]
iris: Fix return of xe_batch_submit() when exec fails

When intel_ioctl(DRM_IOCTL_XE_EXEC) fails it returns -1 sets errno
with the fail reason.
This fail reason is than is used to know if engine was banned in
context_or_engine_was_banned().

Not adding a fixes tag because Xe is not enabled by default.

Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23139>

17 months agoanv: Nuke ANV_BO_ALLOC_WRITE_COMBINE
José Roberto de Souza [Thu, 27 Apr 2023 16:50:39 +0000 (09:50 -0700)]
anv: Nuke ANV_BO_ALLOC_WRITE_COMBINE

In i915 if the device has local memory it can only mmap bo with
I915_MMAP_OFFSET_FIXED, so all this set of ANV_BO_ALLOC_WRITE_COMBINE
were useless.

In Xe KMD there is no way to change mmap mode for all GPUs types.

So we can nuke bo->map_wc, ANV_BO_ALLOC_WRITE_COMBINE and related
dead code.

No changes in behavior expected here.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22483>

17 months agoanv: Fix ANV_BO_ALLOC_NO_LOCAL_MEM flag
José Roberto de Souza [Thu, 27 Apr 2023 16:35:38 +0000 (09:35 -0700)]
anv: Fix ANV_BO_ALLOC_NO_LOCAL_MEM flag

VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT is also set in all memory types of
integrated GPUs.
This flag means that memory will be allocated in the most efficient
place for the GPU to access, which is true in integrated GPUs.

However, this was causing ANV_BO_ALLOC_WRITE_COMBINE to be set in
integrated GPUs in the block right below when allocating in the non-cached memory type.
But the comment only talks about lmem, so to still keep the write
combine behavior for iGPUs it was used VkMemoryPropertyFlags in mmap_calc_flags().

Additionally, this was causing anv_bo.has_implicit_ccs to always be
set, which could change the expected behavior of
anv_BindImageMemory2() in MTL.

Fixes: fbd32a04daf8 ("anv: add a third memory type for LLC configuration") added a new heap
Fixes: 582bf4d9f72f ("anv: flag BO for write combine when CPU visible and potentially in lmem")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22483>

17 months agoci/lava: Renable SSH sessions for panfrost jobs
Guilherme Gallo [Fri, 19 May 2023 14:18:00 +0000 (11:18 -0300)]
ci/lava: Renable SSH sessions for panfrost jobs

The devices' IP dictionary for sun50i and vim3 are fixed now.

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23137>

17 months agofreedreno: Add some A6/7xx registers
Konrad Dybcio [Mon, 8 May 2023 13:01:37 +0000 (15:01 +0200)]
freedreno: Add some A6/7xx registers

Can be found in recent downstream kernels.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22901>

17 months agoanv: assume context isolation support
Lionel Landwerlin [Wed, 17 May 2023 14:04:19 +0000 (17:04 +0300)]
anv: assume context isolation support

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7265
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23102>

17 months agoanv: defer binding table block allocation to when necessary
Lionel Landwerlin [Wed, 17 May 2023 12:48:55 +0000 (15:48 +0300)]
anv: defer binding table block allocation to when necessary

There are cases where we never need a binding table block, for example
compute only command buffers.

This has also the nice effect of not having
dEQP-VK.api.object_management.* tests allocate 1Gb of binding tables
which are staying around forever after you run those tests.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8806
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23079>

17 months agorusticl/types: fix clippy new() not returning Self
norablackcat [Fri, 19 May 2023 16:21:33 +0000 (10:21 -0600)]
rusticl/types: fix clippy new() not returning Self

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

17 months agorusticl/program: fix clippy cast to the same type
norablackcat [Fri, 19 May 2023 16:21:30 +0000 (10:21 -0600)]
rusticl/program: fix clippy cast to the same type

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

17 months agoCODEOWNERS: Update panfrost
Alyssa Rosenzweig [Thu, 18 May 2023 16:54:00 +0000 (12:54 -0400)]
CODEOWNERS: Update panfrost

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

17 months agopan/decode: Use common hexdump
Alyssa Rosenzweig [Wed, 17 May 2023 21:30:33 +0000 (17:30 -0400)]
pan/decode: Use common hexdump

Deduplicate the one I took from asahi.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Acked-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23088>

17 months agoasahi: Use common hexdump utility
Alyssa Rosenzweig [Wed, 17 May 2023 21:29:59 +0000 (17:29 -0400)]
asahi: Use common hexdump utility

We just moved it into common.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Acked-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23088>

17 months agoutil: Add common hex dump utility
Alyssa Rosenzweig [Wed, 17 May 2023 21:29:44 +0000 (17:29 -0400)]
util: Add common hex dump utility

Useful for debugging.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Acked-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23088>

17 months agodzn: Skip a few deqp tests which are prone to timeout
Guilherme Gallo [Fri, 19 May 2023 13:03:08 +0000 (10:03 -0300)]
dzn: Skip a few deqp tests which are prone to timeout

Some dozen-deqp tests have timed out in a different pipeline. You can
find more information at
https://gitlab.freedesktop.org/mesa/mesa/-/jobs/42064254.

It appears that the execution of gstreamer on the same Windows runners
simultaneously is causing those particular tests to exceed their
allotted time and fail.

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22870>

17 months agoci/lava: Force LAVA panfrost jobs to use UART
Guilherme Gallo [Thu, 18 May 2023 15:15:27 +0000 (12:15 -0300)]
ci/lava: Force LAVA panfrost jobs to use UART

To ensure proper SSH functioning, the device IP should be added to the
LAVA device dictionary by setting device_ip. LAVA will then map the
value to lava-target-ip.

meson-g12b-a311d-khadas-vim3-cbg-4 has an IP in the dictionary, while
sun50i-h6-pine-h64-cbg-1 and meson-g12b-a311d-khadas-vim3-cbg-2 do not.

Since some devices are not yet properly configured, and device tag
fixing is not an option here, let's temporarily switch to a job
definition based on UART, until it gets fixed.

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22870>

17 months agoci/lava: Raise the post test metadata gathering retry count
Guilherme Gallo [Thu, 18 May 2023 11:44:25 +0000 (08:44 -0300)]
ci/lava: Raise the post test metadata gathering retry count

In some devices, it takes a few dozens of seconds to LAVA post process
the job and give final metadata related to the job.
It is worth to wait a little more (up to 30 sec) to make structured log
data more accurate.

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22870>

17 months agoci/lava: Tweak http-download timeout in SSH based jobs
Guilherme Gallo [Thu, 18 May 2023 01:14:46 +0000 (22:14 -0300)]
ci/lava: Tweak http-download timeout in SSH based jobs

Found a problem with a radv-raven job [1], which took too long to boot
due to a possibly network problem.
If we set a reasonable timeout in the file download related action and
enable LAVA retries in deploy action, we can retry the job if it times
out without the need of re-queuing it.

[1] https://gitlab.freedesktop.org/gallo/mesa/-/jobs/41942090#L227

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22870>

17 months agoci/lava: Hide JWT block during YAML dump
Guilherme Gallo [Wed, 17 May 2023 04:12:28 +0000 (01:12 -0300)]
ci/lava: Hide JWT block during YAML dump

Make hide_sensitive_data work in a block fashion, not only hiding the
JWT line, since these tokens are huge, it may break the line when it
extrapolates the YAML dump width.

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22870>

17 months agoci/lava: Only check for the first section marker
Guilherme Gallo [Fri, 28 Apr 2023 06:02:14 +0000 (03:02 -0300)]
ci/lava: Only check for the first section marker

Some LAVA signals have similar log outputs and the regex associated with
the log section may conflict. Use the policy of the first regex as the
chosen one, otherwise one line may produce two Gitlab sections in a row.

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22870>

17 months agoci/lava: Distinguish test suites in DUT vs Docker
Guilherme Gallo [Thu, 27 Apr 2023 21:48:53 +0000 (18:48 -0300)]
ci/lava: Distinguish test suites in DUT vs Docker

Test suite in the dut is just running SSH server and waiting for the
docker container to start the SSH session. So it can take all the test
cases accumulated duration, not just the init-stage1.sh part anymore.

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22870>

17 months agoci/lava: Add bridge function for job definition
Guilherme Gallo [Fri, 5 May 2023 11:57:32 +0000 (08:57 -0300)]
ci/lava: Add bridge function for job definition

To use the supported job definition depending on some Mesa CI job
characteristics.

The strategy here, is to use LAVA with a containerized SSH session to
follow the job output, escaping from dumping data to the UART, which
proves to be error prone in some devices.

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22870>

17 months agoci/lava: Add SSH job definition
Guilherme Gallo [Tue, 25 Apr 2023 02:44:56 +0000 (23:44 -0300)]
ci/lava: Add SSH job definition

Create a separate job definition that runs the job via SSH session.
The DUT test only sets up the SSH server via dropbear, and another
deployed docker runner in LAVA dispatcher access the DUT via SSH with
pseudo-terminal to propagate the logs in real time.

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22870>

17 months agoci/lava: Add SSH support in rootfs
Guilherme Gallo [Tue, 4 Apr 2023 01:05:21 +0000 (22:05 -0300)]
ci/lava: Add SSH support in rootfs

We need SSH servers running inside the DUTs to establish a new channel
of communication between LAVA dispatcher and the DUT, to be able to
workaround UART hanging issue that are occurring in some chromeos
devices.

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22870>

17 months agoci: Use absolute paths in init-stage2.sh
Guilherme Gallo [Thu, 27 Apr 2023 21:45:40 +0000 (18:45 -0300)]
ci: Use absolute paths in init-stage2.sh

Add absolute path for:
- zramctl, maybe `/sbin/` is not in the PATH
- intel-gpu-freq.sh, as this script CWD may be run outside `/`

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22870>

17 months agoci/lava: Fix last section in job submitter
Guilherme Gallo [Thu, 27 Apr 2023 21:47:24 +0000 (18:47 -0300)]
ci/lava: Fix last section in job submitter

It only happens after the LogFollower cleanup (__exit__ method)

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22870>

17 months agoci/lava: Bypass arg list to print_log function
Guilherme Gallo [Mon, 15 May 2023 22:39:00 +0000 (19:39 -0300)]
ci/lava: Bypass arg list to print_log function

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22870>

17 months agomesa/program_cache: remove unused shader-cache functions
Erik Faye-Lund [Fri, 28 Apr 2023 09:04:32 +0000 (11:04 +0200)]
mesa/program_cache: remove unused shader-cache functions

These are no longer in use, so let's get rid of them.

Reviewed-by: Adam Jackson <ajax@redhat.com>
Acked-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22755>

17 months agomesa/main: compile ff_fragment_shader as c-code
Erik Faye-Lund [Fri, 28 Apr 2023 09:21:30 +0000 (11:21 +0200)]
mesa/main: compile ff_fragment_shader as c-code

The reason this used to be C++ code, was because it needed ir_builder.
We no longer need that, so let's move this to C-code instead. This makes
some details a bit more straight-forward.

Reviewed-by: Adam Jackson <ajax@redhat.com>
Acked-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22755>

17 months agomesa/main: ff-fragshader to nir
Erik Faye-Lund [Tue, 18 Apr 2023 20:05:28 +0000 (22:05 +0200)]
mesa/main: ff-fragshader to nir

There's little point in emitting GLSL IR for the fixed-function fragment
shaders, when we can emit NIR directly instead.

This simplifies things a bit, and makes the fixed-function vertex and
fragment shaders look a lot more alike.

The reason the old code did the splats, was that TEXENV_SRC_ZERO and
TEXENV_SRC_ONE returned scalars. I decided to keep it vector, and let
the nir optimization passes clean this up instead when needed, as that
keeps the code a bit more straight forward.

Reviewed-by: Adam Jackson <ajax@redhat.com>
Acked-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22755>

17 months agocompiler/nir: move find_state_var to common code
Erik Faye-Lund [Thu, 4 May 2023 06:20:41 +0000 (08:20 +0200)]
compiler/nir: move find_state_var to common code

We're about to need this in another place, so let's move it to common
nir code, and clean up the name a bit.

Acked-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22755>

17 months agomesa/st: allow using nir for ff-fragment shaders
Erik Faye-Lund [Tue, 18 Apr 2023 20:05:28 +0000 (22:05 +0200)]
mesa/st: allow using nir for ff-fragment shaders

This is similar to what we do for ff-vertex shaders.

Reviewed-by: Adam Jackson <ajax@redhat.com>
Acked-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22755>

17 months agomesa/st: refactor st_translate_fragment_program
Erik Faye-Lund [Fri, 28 Apr 2023 10:58:26 +0000 (12:58 +0200)]
mesa/st: refactor st_translate_fragment_program

This makes it look more like st_translate_vertex_program, which is doing
the same thing for vertex-shaders.

Reviewed-by: Adam Jackson <ajax@redhat.com>
Acked-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22755>

17 months agomesa/main: clean up white-space in ff_fragment_shader.cpp
Erik Faye-Lund [Mon, 17 Apr 2023 21:47:23 +0000 (23:47 +0200)]
mesa/main: clean up white-space in ff_fragment_shader.cpp

We're about to change this, so let's clean this up first!

Reviewed-by: Adam Jackson <ajax@redhat.com>
Acked-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22755>

17 months agomeson: remove needless c++17-overrides
Erik Faye-Lund [Tue, 16 May 2023 09:15:32 +0000 (11:15 +0200)]
meson: remove needless c++17-overrides

C++17 is the project-wide default since f9057cea517 ("fix(FTBFS):
meson: raise C++ standard to C++17"), so let's drop these local
overrides.

Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23048>

17 months agopvr: fix array overflow in pvr_device_tile_buffer_ensure_cap()
Frank Binns [Wed, 17 May 2023 14:53:32 +0000 (15:53 +0100)]
pvr: fix array overflow in pvr_device_tile_buffer_ensure_cap()

The function didn't properly handle the case where the requested capacity was
less than the existing capacity. This led to the loop limit being some huge
number and it writing past the end of the 'buffers' array.

Partially fixes:
  dEQP-VK.renderpass.suballocation.multisample_resolve.r16g16b16a16_unorm
    .max_attachments_8_samples_2

The test no longer hangs, but segfaults instead.

Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23104>

17 months agoradv: reserve cmdbuf space in radv_flush_gfx2ace_semaphore()
Samuel Pitoiset [Tue, 16 May 2023 12:38:55 +0000 (14:38 +0200)]
radv: reserve cmdbuf space in radv_flush_gfx2ace_semaphore()

Fixes an assertion with test_amplification_shader in vkd3d-proton.

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

17 months agoci: rework vkd3d-proton runner and fix detecting failures
Samuel Pitoiset [Tue, 16 May 2023 11:37:41 +0000 (13:37 +0200)]
ci: rework vkd3d-proton runner and fix detecting failures

The script returned 0 (aka succcess) for assertions or segmentation
faults. Found this after introducing a regression that caused a
segfault in vkd3d with vk-cts-image but not with Mesa CI.

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

17 months agoci: stop using the hang-detection tool for vkd3d-proton
Samuel Pitoiset [Tue, 16 May 2023 12:53:19 +0000 (14:53 +0200)]
ci: stop using the hang-detection tool for vkd3d-proton

It's no longer used for deqp-runner as well, and it's not really
useful for us because we can detect GPU hangs differently. It also
prevents returning the error code from vkd3d-proton.

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

17 months agoci,radv: use drm-shim instead of the null winsys for radv-fossils
Samuel Pitoiset [Wed, 17 May 2023 06:39:23 +0000 (08:39 +0200)]
ci,radv: use drm-shim instead of the null winsys for radv-fossils

Only RADV uses fossilize-runner.sh, so hardcoding LD_PRELOAD is fine.

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

17 months agoci: build drm-shim in debian-testing
Samuel Pitoiset [Wed, 17 May 2023 07:30:48 +0000 (09:30 +0200)]
ci: build drm-shim in debian-testing

This will be needed by RADV for using AMDGPU drm-shim.

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

17 months agoamd/drm-shim: update README about which file to modify
Samuel Pitoiset [Wed, 17 May 2023 07:53:48 +0000 (09:53 +0200)]
amd/drm-shim: update README about which file to modify

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

17 months agoamd/drm-shim: add bonaire
Samuel Pitoiset [Wed, 17 May 2023 08:13:14 +0000 (10:13 +0200)]
amd/drm-shim: add bonaire

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

17 months agoamd/drm-shim: add pitcairn
Samuel Pitoiset [Wed, 17 May 2023 08:06:22 +0000 (10:06 +0200)]
amd/drm-shim: add pitcairn

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

17 months agoamd/drm-shim: add navi21
Samuel Pitoiset [Wed, 17 May 2023 07:52:35 +0000 (09:52 +0200)]
amd/drm-shim: add navi21

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

17 months agoanv/ci: Add tests for video formats to the failing tests.
Hyunjun Ko [Tue, 16 May 2023 08:45:03 +0000 (17:45 +0900)]
anv/ci: Add tests for video formats to the failing tests.

This should be removed once the issue is resolved.
(https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/4280)

Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22202>

17 months agoanv: enable the video h265 decode extension.
Hyunjun Ko [Thu, 30 Mar 2023 07:42:02 +0000 (16:42 +0900)]
anv: enable the video h265 decode extension.

Currently tested on CometLake(gen9) and AlderLake(gen12)

Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22202>

17 months agoanv: support HEVC 10-bit decoding
Hyunjun Ko [Mon, 15 May 2023 08:40:15 +0000 (17:40 +0900)]
anv: support HEVC 10-bit decoding

Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22202>

17 months agoanv/image: get width/height for each plane of a surface for video decoding.
Hyunjun Ko [Tue, 11 Apr 2023 01:39:53 +0000 (10:39 +0900)]
anv/image: get width/height for each plane of a surface for video decoding.

This is especially for p010 format, which isn't supported for YCbCr
conversion yet.

Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22202>

17 months agoanv: support P010 format for video 10-bit hevc decoding
Hyunjun Ko [Fri, 7 Apr 2023 01:26:12 +0000 (10:26 +0900)]
anv: support P010 format for video 10-bit hevc decoding

Only for video 10-bit hevc decoding, so shouldn't enable such as YCbCr
conversion.

v1. Fix to avoid YCbCr CTS tests for this format.
( Lionel Landwerlin <lionel.g.landwerlin@intel.com> )

v2. Add a flag can_video so we could handle supported video formats
neatly.
( Lionel Landwerlin <lionel.g.landwerlin@intel.com> )

Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22202>

17 months agoanv: add initial video decode support for h265
Hyunjun Ko [Thu, 30 Mar 2023 06:56:08 +0000 (15:56 +0900)]
anv: add initial video decode support for h265

Tested on CometLake(gen9) and AlderLake(gen12)

Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22202>

17 months agoanv/image: allow VK_IMAGE_CREATE_ALIAS_BIT with a private binding.
Hyunjun Ko [Wed, 12 Apr 2023 05:24:44 +0000 (14:24 +0900)]
anv/image: allow VK_IMAGE_CREATE_ALIAS_BIT with a private binding.

when the image is for video decoding.

Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22202>

17 months agoanv/image: allocate mv storage buffers for h265
Hyunjun Ko [Fri, 24 Mar 2023 05:24:10 +0000 (14:24 +0900)]
anv/image: allocate mv storage buffers for h265

Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22202>

17 months agoanv/image: Add a surface usage bit for video decoding
Hyunjun Ko [Tue, 11 Apr 2023 01:38:10 +0000 (10:38 +0900)]
anv/image: Add a surface usage bit for video decoding

Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22202>

17 months agovulkan/video: add h265 reference structures and relevant util functions.
Hyunjun Ko [Thu, 23 Mar 2023 05:12:27 +0000 (14:12 +0900)]
vulkan/video: add h265 reference structures and relevant util functions.

Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22202>

17 months agovulkan/video: add to parse h265 slice.
Hyunjun Ko [Thu, 23 Mar 2023 05:09:24 +0000 (14:09 +0900)]
vulkan/video: add to parse h265 slice.

Vulkan spec doesn't provide any interface for slice decoding while some
devices may require them. So we need to keep this inside.

Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22202>

17 months agoutil/vl: initialize data/end pointers.
Hyunjun Ko [Tue, 16 May 2023 02:20:58 +0000 (11:20 +0900)]
util/vl: initialize data/end pointers.

Since this util moved to public place it turned out it could cause
a build error on current CI like the following:

../src/util/vl_vlc.h:225:52: error: 'vlc.data' may be used uninitialized in this function [-Werror=maybe-uninitialized]
  225 |    assert(vl_vlc_valid_bits(vlc) >= num_bits || vlc->data >= vlc->end);
      |                                                    ^~
../src/util/vl_vlc.h:225:65: error: 'vlc.end' may be used uninitialized in this function [-Werror=maybe-uninitialized]
  225 |    assert(vl_vlc_valid_bits(vlc) >= num_bits || vlc->data >= vlc->end);
      |                                                                 ^~

Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22202>

17 months agointel/genxml: add a command VD_CONTROL_STATE to gen12/125
Hyunjun Ko [Wed, 26 Apr 2023 00:51:54 +0000 (09:51 +0900)]
intel/genxml: add a command VD_CONTROL_STATE to gen12/125

It's essentially needed to execute hevc decoding on gen12.

Note that we set HCP by default.
 - Command OpCode : VDENC(1), HCP(7), AVP(3)
 - SubOpcode      : HCP(10), VDENC(11)

Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22202>

17 months agointel/genxml: align some fields on gen9/11/12/125 with media driver.
Hyunjun Ko [Mon, 24 Apr 2023 01:49:30 +0000 (10:49 +0900)]
intel/genxml: align some fields on gen9/11/12/125 with media driver.

Most of them are length of each instruction and the rest are
some corrections on specific gens.

v1. Added a default value to DWordLength of each instruction.
( Lionel Landwerlin <lionel.g.landwerlin@intel.com> )

Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22202>

17 months agointel/genxml: conform some fields to each other gen.
Hyunjun Ko [Fri, 21 Apr 2023 02:16:08 +0000 (11:16 +0900)]
intel/genxml: conform some fields to each other gen.

There are same fields across gens but the existing xmls are not exactly same,
which needs to be fixed.

Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22202>

17 months agointel/genxml: fix num bits of some MOCS fields
Hyunjun Ko [Fri, 21 Apr 2023 01:52:06 +0000 (10:52 +0900)]
intel/genxml: fix num bits of some MOCS fields

Actually the first bit is a bit of protected mask (or reserved)
and the next 6 bits are for MOCS but they are being handled together
currently in isl_device_setup_mocs. So we need to fix some MOCS fields
defined as 6 bits to 7 bits.

Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22202>

17 months agoamd/registers: update pitch definitions in descriptors
Marek Olšák [Mon, 15 May 2023 05:27:14 +0000 (01:27 -0400)]
amd/registers: update pitch definitions in descriptors

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

17 months agoac/surface: add ac_surf_config::is_array
Marek Olšák [Mon, 15 May 2023 05:25:43 +0000 (01:25 -0400)]
ac/surface: add ac_surf_config::is_array

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

17 months agoac/surface: fix overridden linear pitch for CPU access
Marek Olšák [Mon, 15 May 2023 05:15:24 +0000 (01:15 -0400)]
ac/surface: fix overridden linear pitch for CPU access

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

17 months agoac/surface: validate overridden pitch for all chips
Marek Olšák [Mon, 15 May 2023 05:12:55 +0000 (01:12 -0400)]
ac/surface: validate overridden pitch for all chips

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

17 months agoac/surface: define LINEAR_PITCH_ALIGNMENT
Marek Olšák [Mon, 15 May 2023 05:10:43 +0000 (01:10 -0400)]
ac/surface: define LINEAR_PITCH_ALIGNMENT

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

17 months agoac/surface: clean up and move the PIPE_CONFIG helper to ac_surface.c
Marek Olšák [Mon, 15 May 2023 05:07:28 +0000 (01:07 -0400)]
ac/surface: clean up and move the PIPE_CONFIG helper to ac_surface.c

This will be used by following commits.

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

17 months agoradeonsi: fix image size calculation in fast clear
Marek Olšák [Mon, 15 May 2023 18:26:08 +0000 (14:26 -0400)]
radeonsi: fix image size calculation in fast clear

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

17 months agoradeonsi: fix sparse image address calculation for large images by using uint64_t
Marek Olšák [Mon, 15 May 2023 16:02:38 +0000 (12:02 -0400)]
radeonsi: fix sparse image address calculation for large images by using uint64_t

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

17 months agoradeonsi: fix image address calculation for large images by using uint64_t
Marek Olšák [Mon, 15 May 2023 16:02:38 +0000 (12:02 -0400)]
radeonsi: fix image address calculation for large images by using uint64_t

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

17 months agoradeonsi: fix SDMA image address calculation for large images by using uint64_t
Marek Olšák [Mon, 15 May 2023 16:01:52 +0000 (12:01 -0400)]
radeonsi: fix SDMA image address calculation for large images by using uint64_t

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

17 months agoradv: fix SDMA image address calculation for large images by using uint64_t
Marek Olšák [Mon, 15 May 2023 16:01:52 +0000 (12:01 -0400)]
radv: fix SDMA image address calculation for large images by using uint64_t

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

17 months agoradv: fix sparse image address calculation for large images by using uint64_t
Marek Olšák [Mon, 15 May 2023 16:00:29 +0000 (12:00 -0400)]
radv: fix sparse image address calculation for large images by using uint64_t

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

17 months agoac/surface: fix address calculation for large images by using uint64_t
Marek Olšák [Mon, 15 May 2023 15:59:43 +0000 (11:59 -0400)]
ac/surface: fix address calculation for large images by using uint64_t

also rename gfx9_surf_level -> gfx9_surf_meta_level

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

17 months agoradeonsi: fix uses_instanceid for merged mono shader stage
Qiang Yu [Thu, 18 May 2023 12:15:17 +0000 (20:15 +0800)]
radeonsi: fix uses_instanceid for merged mono shader stage

prev_shader.info.uses_instanceid is set by si_nir_lower_vs_inputs()
when attribute divisor is used.

Fixes: 894d92995cd ("radeonsi: monolithic VS emit prolog in nir directly")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9042
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/23101>

17 months agorusticl/device: add cl_khr_integer_dot_product ext
norablackcat [Thu, 18 May 2023 14:05:55 +0000 (08:05 -0600)]
rusticl/device: add cl_khr_integer_dot_product ext

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

17 months agorusticl/kernel: remove nir_lower_pack pass
norablackcat [Thu, 18 May 2023 14:05:44 +0000 (08:05 -0600)]
rusticl/kernel: remove nir_lower_pack pass

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

17 months agorusticl/clc add integer_dot_prod feature macros
norablackcat [Thu, 18 May 2023 14:05:08 +0000 (08:05 -0600)]
rusticl/clc add integer_dot_prod feature macros

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

17 months agorusticl/api: add integer_dot_product api
norablackcat [Thu, 18 May 2023 14:04:12 +0000 (08:04 -0600)]
rusticl/api: add integer_dot_product api

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

17 months agorusticl/types add ::new for cl_dev_idp_accel_props
norablackcat [Thu, 18 May 2023 14:03:29 +0000 (08:03 -0600)]
rusticl/types add ::new for cl_dev_idp_accel_props

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

17 months agoanv: drop duplicate checks when setting the compressed bit
Rohan Garg [Thu, 27 Apr 2023 14:45:39 +0000 (16:45 +0200)]
anv: drop duplicate checks when setting the compressed bit

We need compression tracking for full resolves and at the moment only
CCS_E has full resolves.

Signed-off-by: Rohan Garg <rohan.garg@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22737>

17 months agoaco/optimizer: allow DPP to use VOP3 on GFX11
Georg Lehmann [Tue, 16 May 2023 15:55:57 +0000 (17:55 +0200)]
aco/optimizer: allow DPP to use VOP3 on GFX11

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

17 months agoaco: use can_use_input_modifiers helper
Georg Lehmann [Tue, 16 May 2023 15:26:21 +0000 (17:26 +0200)]
aco: use can_use_input_modifiers helper

Foz-DB GFX1100:
Totals from 80 (0.06% of 132657) affected shaders:
CodeSize: 504500 -> 503660 (-0.17%)
Instrs: 95033 -> 94824 (-0.22%)
Latency: 629695 -> 629235 (-0.07%)
InvThroughput: 97105 -> 97008 (-0.10%)
VClause: 1779 -> 1777 (-0.11%)
Copies: 3233 -> 3236 (+0.09%); split: -0.03%, +0.12%

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

17 months agoaco: use get_operand_size for dpp opt
Georg Lehmann [Tue, 16 May 2023 15:10:57 +0000 (17:10 +0200)]
aco: use get_operand_size for dpp opt

This matters now that v_fma_mixlo_f16/v_fma_mixhi_f16 can use dpp.

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

17 months agoaco: add helper function for can_use_input_modifiers
Georg Lehmann [Tue, 16 May 2023 15:02:45 +0000 (17:02 +0200)]
aco: add helper function for can_use_input_modifiers

Some instructions have restrictions that can't be expressed with the bitfield.

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

17 months agoaco/ra: use fmac with DPP/opsel on GFX11
Georg Lehmann [Tue, 16 May 2023 14:32:28 +0000 (16:32 +0200)]
aco/ra: use fmac with DPP/opsel on GFX11

Foz-DB GFX1100:
Totals from 2 (0.00% of 132657) affected shaders:
CodeSize: 8764 -> 8732 (-0.37%)

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

17 months agoaco/ra: use smaller operand stride for VOP3P with DPP
Georg Lehmann [Sat, 13 May 2023 11:00:04 +0000 (13:00 +0200)]
aco/ra: use smaller operand stride for VOP3P with DPP

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

17 months agoaco: add withoutVOP3 helper
Georg Lehmann [Sat, 13 May 2023 09:40:35 +0000 (11:40 +0200)]
aco: add withoutVOP3 helper

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

17 months agoaco/gfx11: use fmamk/fmaak with opsel
Georg Lehmann [Sat, 13 May 2023 09:25:11 +0000 (11:25 +0200)]
aco/gfx11: use fmamk/fmaak with opsel

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

17 months agoaco: introduce helper to swap valu operands with modifiers
Georg Lehmann [Thu, 18 May 2023 08:54:45 +0000 (10:54 +0200)]
aco: introduce helper to swap valu operands with modifiers

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

17 months agogitlab-ci: add capture for i915 error state
Lionel Landwerlin [Wed, 17 May 2023 19:41:51 +0000 (22:41 +0300)]
gitlab-ci: add capture for i915 error state

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: David Heidelberg <david.heidelberg@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23099>

17 months agoci/venus: add missing flakes
David Heidelberg [Thu, 18 May 2023 14:23:54 +0000 (16:23 +0200)]
ci/venus: add missing flakes

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

17 months agoci/gtest-runner: fix results reporting
David Heidelberg [Sun, 7 May 2023 00:46:30 +0000 (02:46 +0200)]
ci/gtest-runner: fix results reporting

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

17 months agoci/amd: add radeonsi-raven-va-full job to cover all VA-API tests
David Heidelberg [Sun, 7 May 2023 00:24:22 +0000 (02:24 +0200)]
ci/amd: add radeonsi-raven-va-full job to cover all VA-API tests

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