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>
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>
[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>
[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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>