Commit Graph

201327 Commits

Author SHA1 Message Date
Tomson Chang 52289f4ab2 amd/vpelib: Fix color adjustment change detect hole
When color adjustment changed from custom values to default values, the
useColorAdj will be false and the code to update new stream ctx color adj
will be skipped, thus when the color adj changes to the same custom values
later, it will show as "not dirty", causing custom color adj not taking effect
unless its value changed.

We should always update the new steam ctx color adj no matter it is default or not.

Reviewed-by: Roy Chan <roy.chan@amd.com>
Acked-by: Alan Liu <haoping.liu@amd.com>
Signed-off-by: Tomson Chang <tomson.chang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31274>
2024-09-30 10:12:14 +00:00
Jude Shih dba0c98ca5 amd/vpelib: Dynamic Command List Expansion
1. Implement a vector like data structure to expand
command list memory dynamically.
2. The size will be doubled once we reach its capacity.
3. Make vector a generic util under utils folder.

Reviewed-by: Roy Chan <roy.chan@amd.com>
Reviewed-by: Jesse Agate <jesse.agate@amd.com>
Acked-by: Alan Liu <haoping.liu@amd.com>
Signed-off-by: Jude Shih <shenshih@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31274>
2024-09-30 10:12:14 +00:00
Roy Chan b2ce281319 amd/vpelib: fix zero input handling
[why]
Fix in 0 input stream, it would crash in accessing null param->streams.

[how]
- Only use stream_ctx->stream instead of param->stream in color
  handling.
- Revise the geometric downscaling support.

Reviewed-by: Tomson Chang <tomson.chang@amd.com>
Acked-by: Alan Liu <haoping.liu@amd.com>
Signed-off-by: Roy Chan <roy.chan@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31274>
2024-09-30 10:12:14 +00:00
Roy Chan acde345606 amd/vpelib: Optimize the CPU usage by caching all the LUT configs
[why]
The fix point conversion takes quite a bit of CPU time.
And if there are no changes, we don't need to convert all sw points
into hw points and generate the corresponding configs.

[how]
Introduce a config cache header so that all config caching handlings
can be done in the same way.

Luts won't be cached if it is in bypass mode, only cache when it is
non bypass and some dirty flag is set by the upper layer.
The config cache handling will re-apply the cached config if not
dirty and not in bypass mode.

Reviewed-by: Krunoslav Kovac <krunoslav.kovac@amd.com>
Acked-by: Alan Liu <haoping.liu@amd.com>
Signed-off-by: Roy Chan <roy.chan@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31274>
2024-09-30 10:12:14 +00:00
Jesse ee590ee91a amd/vpelib: Config Writer hook and CDC refinement
Generalize CDC and config writer hook.

Reviewed-by: Roy Chan <roy.chan@amd.com>
Acked-by: Alan Liu <haoping.liu@amd.com>
Signed-off-by: Jesse Agate <jesse.agate@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31274>
2024-09-30 10:12:14 +00:00
Rhys Perry 7f092cbd91 aco: workaround hazards in emit_long_jump
fossil-db (navi31):
Totals from 29 (0.04% of 79395) affected shaders:
CodeSize: 17612888 -> 17615096 (+0.01%)

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Backport-to: 24.2
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31316>
2024-09-30 09:04:35 +00:00
Rhys Perry 9fb97085d1 aco/tests: update assembler tests for llvm
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Backport-to: 24.2
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31316>
2024-09-30 09:04:35 +00:00
Kenneth Graunke 0b34a7aff0 nir: Don't generate single iteration loops to zero-initialize memory
If the stride we're adding to our loop counter is larger than the total
amount of shared local memory we're trying to initialize, we know the
loop will run at most one time.  So we can skip emitting a loop.

Loop unrolling appears to be unable to detect this currently.

Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31312>
2024-09-30 05:27:17 +00:00
Tapani Pälli c1a44e8d43 anv: force StackIDControl value for Wa_14021821874
This is also encouraged by another wa, Wa_14018813551.

Both workarounds state that StackIDControlOverride_RTGlobals should
always be set to 0 (i.e. 2k).

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/30937>
2024-09-30 07:33:37 +03:00
Mike Blumenkrantz 9b51cb05d2 ci: bump VVL to current week
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31432>
2024-09-29 22:26:46 +00:00
Pavel Ondračka cd40732b25 r300: get rid of unneeded CMP before KIL
NIR discard_if expects bools, therefore we end with extr CMP in
the end, however we can handle floats just fine (only with the
reversed logic, so it triggers for src < 0).

Shader-db RV530:
total instructions in shared programs: 120787 -> 120687 (-0.08%)
instructions in affected programs: 5559 -> 5459 (-1.80%)
helped: 102
HURT: 8
total temps in shared programs: 16770 -> 16764 (-0.04%)
temps in affected programs: 151 -> 145 (-3.97%)
helped: 8
HURT: 5
total cycles in shared programs: 181520 -> 181444 (-0.04%)
cycles in affected programs: 10932 -> 10856 (-0.70%)
helped: 101
HURT: 12

Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Filip Gawin <filip@gawin.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30967>
2024-09-29 14:13:50 +00:00
Pavel Ondračka 3075c8a29c r300: preserve NaNs and denormals for MIN/MAX/CMP/CND
Always use MAX instead of MAD for MOV and we use RM_OMOD_DISABLE
to prevent flushing denormals for MIN/MAX/CMP/CND and prevent
-NaN -> NaN conversion.
Inspired by patch from Filip Gawin.

Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Filip Gawin <filip@gawin.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30967>
2024-09-29 14:13:50 +00:00
Pavel Ondračka cb41864343 r300: use fake ADD instead of MOV for negative KIL source fixup
Just emit fake ADD + 0 instead, because we want to emit MAX for MOV in
the next commit and also use RC_OMOD_DISABLE so that we preserve denormals
and correctly handle negative NaNs. Using ADD here will mean we get
RC_OMOD_MUL_1 later which will convert -0 to 0 and  therefore KIL will
work correctly.

Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Filip Gawin <filip@gawin.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30967>
2024-09-29 14:13:50 +00:00
GKraats a95bd2dcf0 i915g: fix texture3d npot mipmaps
At i945_texture_layout_3d() util_next_power_of_two() is called,
which oversizes the npot-blocks for every level to get power of 2
for width and height. Hardware doesnot expect these oversized
npot-blocks. The call is removed.

Code is added to align allocation of npot-blocks correctly.

Also at i915_texture_layout_3d() the util_next_power_of_two() call
is removed. Besides the computation of block-allocation is changed,
because it still was using classic i915-coding.

Cc: mesa-stable

Signed-off-by: GKraats <vd.kraats@hccnet.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31057>
2024-09-29 12:58:02 +00:00
Mike Blumenkrantz 3178170516 ci: bump gl cts versions
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31118>
2024-09-29 12:18:49 +00:00
Kai Wasserbäch b53377b23b fix(FTBFS): build: link OpenCL target with dep_clang from top-level
The OpenCL target defined its own `dep_clang`, which was rather
incomplete, when compared to the version from the main `meson.build`
file.

This commit removes the custom version and relies on the main version of
`dep_clang` in the root level `meson.build`.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11945
Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31364>
2024-09-29 11:38:54 +00:00
Valentine Burley 4497ea2a31 ci: Build zink and llvmpipe in debian-no-libdrm
Enable build testing for zink and llvmpipe in the debian-no-libdrm job.
EGL is still excluded due to additional dependencies on libdrm.

Signed-off-by: Valentine Burley <valentine.burley@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31430>
2024-09-28 18:08:27 +00:00
Valentine Burley 83c2f30349 egl: Fix missing libdrm check
Guard the usage of DRM_PRIME_CAP_IMPORT and DRM_PRIME_CAP_EXPORT behind HAVE_LIBDRM.

Fixes: c20d6a9197 ("egl: make dmabuf/modifier display bools a bit more precise/intelligible")
Reviewed-by: Eric Engestrom <eric@igalia.com>
Signed-off-by: Valentine Burley <valentine.burley@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31430>
2024-09-28 18:07:01 +00:00
Martin Roukala (né Peres) a74ebffc6a zink/ci: bump the polaris10 timeout to 30 minutes
We are dangerously close to begin with, but having some failures makes
it go over the 20 minutes timeout by ~30s. Let's add 50% to be safe.

Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31415>
2024-09-28 07:37:11 +03:00
Martin Roukala (né Peres) dd27369522 zink/ci: document more radv flakes
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31415>
2024-09-28 07:37:11 +03:00
Martin Roukala (né Peres) e8cf44a71a radv/ci: document more vkcts flakes
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31415>
2024-09-28 07:37:11 +03:00
Mohamed Ahmed d5df263ac9 nvk: Enable VK_EXT_host_image_copy
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30044>
2024-09-28 02:46:28 +00:00
Mohamed Ahmed 5990de9182 nvk: Block off non-2D DRM format modifier images
Fixes: cd428e01d7 ("nvk: Advertise VK_EXT_image_drm_format_modifier")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30044>
2024-09-28 02:46:28 +00:00
Mohamed Ahmed 6c5420cd30 nvk: Add host copy functions
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30044>
2024-09-28 02:46:28 +00:00
Faith Ekstrand b99f28b7d6 nil: Add tiled memcpy helpers
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30044>
2024-09-28 02:46:28 +00:00
Mohamed Ahmed 1c131de30e nil: Add level_layer_size_B() helper
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30044>
2024-09-28 02:46:28 +00:00
Mohamed Ahmed 7314177245 nil: Expose px_to_B helpers to C
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30044>
2024-09-28 02:46:28 +00:00
Faith Ekstrand c6adb0ac68 nil: Add a couple Extent4D and Offset4D methods
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30044>
2024-09-28 02:46:28 +00:00
GKraats 6c84103276 X11: fix crash of gnome-shell if mesa is compiled with legacy-x11=dri2
X11 starts up if Mesa is compiled with legacy-x11=dri2 and shows
the desktop.
It crashes with segfault as soon as an application is started.
At src/egl/drivers/dri2/platform_x11.c function dri2_from_names
(at src/gallium/frontends/dri/dri2.c) should be called
with offset address instead of with offset value.

Signed-off-by: GKraats <vd.kraats@hccnet.nl>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31406>
2024-09-27 22:55:20 +00:00
Eric Engestrom 210345cf09 ci: fix windows container jobs being missing on forks
The `.common-rules` need to be executed first, before all the "does this
file exist? is it modified?" logic in the farm rules (and in
api/driver/etc. rules after).

The custom override in windows jobs was bypassing this, resulting in
windows container jobs something being missing, breaking the pipelines.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31390>
2024-09-27 22:06:12 +00:00
Faith Ekstrand 05ece3e219 vulkan: Use SEVERITY_WARNING_BIT for vk_error*()
Our usage of vk_error to expound on error messages returned by drivers
probably falls more into the warning category.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31292>
2024-09-27 21:28:17 +00:00
Faith Ekstrand 891d8be5ac nvk,nil: Replace gob_height_is_8 and is_tiled with a new GOBType enum
This gives us the possibility of describing other GOB formats in the
future.  This also cleans things up a bit as it replaces all of the uses
of GOB_WIDTH/DEPTH with an extent which we can change in the future.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31410>
2024-09-27 20:59:37 +00:00
Faith Ekstrand d885e2bf21 nvk: Assume a GOB height of 8 for copies
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31410>
2024-09-27 20:59:37 +00:00
Faith Ekstrand 62eccb66a6 nvk: Handle aspects in D32_S8_UINT copies
Fixes: 3572f5cd7e ("nvk: add support for D32_SFLOAT_S8_UINT")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31410>
2024-09-27 20:59:37 +00:00
Marek Olšák 246051ebc6 ac/gpu_info: print 32bpp modifiers
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31187>
2024-09-27 19:21:55 +00:00
Marek Olšák f7199b9971 ac/llvm: don't use the 64-bit umul_hi workaround with LLVM 19.1
It's fixed there.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31187>
2024-09-27 19:21:55 +00:00
Marek Olšák 89db355cc4 ac/llvm: use LLVM processor gfx942 for GFX940 when it's available
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31187>
2024-09-27 19:21:55 +00:00
Marek Olšák 163222abd0 ac/nir: set .image_dim and .image_array for all opcodes
for consistency

Reviewed-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31187>
2024-09-27 19:21:55 +00:00
Marek Olšák 14b576e023 ac: make sure VEGA20 and MI200 version ranges don't overlap with other chips
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31187>
2024-09-27 19:21:55 +00:00
Mike Blumenkrantz 64f3ef2ad7 lavapipe: EXT DGC
Acked-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31386>
2024-09-27 18:41:41 +00:00
Mike Blumenkrantz 8097a8e81e vk/runtime: add EXT DGC layout handling
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31386>
2024-09-27 18:41:41 +00:00
Connor Abbott b24c340cee freedreno/a6xx+: Add CP_CONTEXT_SWITCH_CNTL bitfields
Add missing bitfields necessary for preemption, taken from kgsl.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31422>
2024-09-27 17:28:35 +00:00
Guilherme Gallo d801c1101d ci/anv: Update xfiles
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31414>
2024-09-27 16:38:27 +00:00
Guilherme Gallo a748d38ec9 ci/anv: Introduce missing farm var for ADL jobs
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31414>
2024-09-27 16:38:27 +00:00
Guilherme Gallo a06102ca6c ci/intel: Rebalance jobs via parallel
Take advantage of 3 spare JSL in Collabora lab to load the balance of
those jobs:

job name	avg duation (min)

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
---		---
anv-jsl		15
anv-jsl-angle	20
iris-jsl-deqp	18

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31414>
2024-09-27 16:38:26 +00:00
Guilherme Gallo f25fb0c128 ci/amd: Rebalance jobs via DEQP_FRACTION
As we don't have capacity for more parallelism atm, increase the
fraction of the CTS for those jobs.

job name		average min

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
---			---
radv-stoney-angle	16
radv-stoney-vkcts	15

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31414>
2024-09-27 16:38:26 +00:00
Guilherme Gallo 82633b08e7 ci/amd: Rebalance radeonsi-stoney-gl:x86_64
It is taking 19 min on average to run this job.
As we don't have more capacity, introduce a fraction of 2 and create the
`full` version to be run on nightly pipelines.

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31414>
2024-09-27 16:38:26 +00:00
Guilherme Gallo f7d678a571 ci/freedreno: Add a618_gl_full
To cover up the new fraction in a618_gl job during nightly pipelines

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31414>
2024-09-27 16:38:26 +00:00
Guilherme Gallo 8786737c51 ci/freedreno: Rebalance jobs via fraction and parallel
job name	avg duration (min)
a618_vk		13
a660_gl		17
zink-tu-a618	18

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31414>
2024-09-27 16:38:26 +00:00
Guilherme Gallo 7a518a5bbf ci/freedreno: Replace 2 limozeen with kingoftown
By rebalancing the `a618_vk` job fraction from **2** to **3**, we have
freed up 2 `kingoftown` devices. These devices can now be reallocated to
the `a618_traces` and `a618_skqp` jobs to optimize resource utilization.

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31414>
2024-09-27 16:38:26 +00:00