Commit Graph

192697 Commits

Author SHA1 Message Date
Guilherme Gallo
ff18d1ec23 bin/ci: crnm: Fix pipeline monitoring skipping
We stop monitoring pipeline changes when we find out that the target job
is already running, or is in a complete state.

But when we `--force-manual` we should consider that the job is not
complete and we should iterate a little more in the monitor pipeline
stage until it gets ready for trace following.

Closes: #11552

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30361>
2024-07-29 18:04:21 +00:00
Guilherme Gallo
3975366a88 bin/ci: crnm: Deal with created status
Jobs that we want to run can get the `created` status when its
dependencies are still running.

So let's gather this information and ensure that we will wait these jobs
to reach the `manual` or `running` status before jumping to monitor
target jobs trace.

Closes: #11517

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30361>
2024-07-29 18:04:21 +00:00
Mike Blumenkrantz
87ce0ce0b1 Revert "vl/dri3: use loader's dri3 init code and delete everything else"
This reverts commit 586d0c4a9b.

Fixes: 586d0c4a9b ("vl/dri3: use loader's dri3 init code and delete everything else")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30415>
2024-07-29 12:33:03 -04:00
Karol Herbst
dc2755a4f8 rusticl/spirv: protect against 0 length in slice::from_raw_parts
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11584
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30410>
2024-07-29 13:38:29 +00:00
Karol Herbst
81f75e2a2d rusticl/api: protect against 0 length in slice::from_raw_parts
Fixes: 84d16045d0 ("rusticl/api: add param to query which contains application provided values")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30410>
2024-07-29 13:38:29 +00:00
Karol Herbst
ad6fb3406b rusticl/program: protect against 0 length in slice::from_raw_parts
Fixes: e028baa177 ("rusticl/program: implement clCreateProgramWithBinary")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30410>
2024-07-29 13:38:28 +00:00
Karol Herbst
7a8b1dc6e5 rusticl: fix clippy lint having bounds defined in multiple places
Fixes: 734352ddfb ("rusticl/program: some boilerplate code for SPIR-V support")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30410>
2024-07-29 13:38:28 +00:00
David Rosca
eb1f64a01e radeonsi/vcn: Fix MB/CTB calculation for slice encoding
We only support equal MB/CTB per slice (with last slice possibly
smaller) and this is not possible to fully describe with libva slice
structure constraints.
Report that we support arbitrary macroblocks per slice, verify if the
slice structure requested by application can be used, otherwise
divide the slices equally to achieve the requested number of slices.
Also stop reporting power of two structure support, as that implies
different size for each slice which cannot be supported.

This fixes issue where slice encoding is not available at all with some
applications (only supporting arbitrary macroblocks) or the number of slices
being different from the requested number.

Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30363>
2024-07-29 13:14:22 +00:00
Zan Dobersek
36a13d2b3b freedreno: fix a7xx perfcntr countables
During development of the freedreno's Perfetto producer for a7xx platforms
it was found that the lists of perfcntr countables that were initially
imported were not correct.

The lists are now updated, with the updated countables matching the
countables used in the official profiler tool's counters. While the
Perfetto producer work is still ongoing the fixed lists should already be
useful through fdperf.

Signed-off-by: Zan Dobersek <zdobersek@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30406>
2024-07-29 12:38:03 +00:00
Danylo Piliaiev
d60ae64527 tu/a750: Allow mutable images to have UBWC with all compatible formats
A750+ added a special flag that allows HW to correctly interpret UBWC, including
UBWC fast-clear when casting image to a different format permitted by Vulkan.
So it's possible to have UBWC enabled for image that has e.g. R32_UINT and
R8G8B8A8_UNORM in the mutable formats list.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30370>
2024-07-29 10:59:26 +00:00
Eric Engestrom
6a9676b79c ci/prepare-artifacts: check if we're about to overwrite ci config/expectations files
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30384>
2024-07-29 10:11:31 +00:00
Eric Engestrom
197701b860 ci/prepare-artifacts: use find's -exec instead of iterating over its output with xargs
Also, split the `/ci/` part out to simplify the filename checks.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30384>
2024-07-29 10:11:31 +00:00
Eric Engestrom
1f70af7e9f bin/ci: update python-gitlab to 4.x
Quite a few fixes that we want were in the 4.x releases, so let's bump it.

See the list of breaking changes here:
https://python-gitlab.readthedocs.io/en/stable/changelog.html#v4-0-0-2023-10-17

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30019>
2024-07-29 10:08:01 +00:00
Eric Engestrom
d055edac11 docs/meson: add missing newline at the begining of code-block
Fixes: 324de97f48 ("docs: Add required dependencies to meson.rst")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30405>
2024-07-29 10:02:49 +00:00
Iago Toral Quiroga
66de8b4b5c v3d: add a faster TLB blit path
Our current TLB path would case a job writing to the blit source
to be flushed, causing the TLB store which we would then reload
from memory to do the blit, which is not optimal. With this path,
if the job that writes the blit source has not been flushed, we
will configure it to also do the blit to the destination. This will
avoid the expensive TLB load for the blit and, if glInvalidateFramebuffer
has been used on the blit source, possibly the TLB store as well for
the job writing the blit source.

Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30322>
2024-07-29 09:42:03 +00:00
Iago Toral Quiroga
9a9f281251 v3d: support blitting straight from tile buffer
This allows us to handle blitting (including MSAA resolve) directly
from the tile buffer to memory. We will use this soon to provide a
faster implementation of TLB blits.

Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30322>
2024-07-29 09:42:02 +00:00
Iago Toral Quiroga
9fbb11505a v3d: move TLB blit checks to a helper
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30322>
2024-07-29 09:42:02 +00:00
Eric Engestrom
ff58f0afbe rpi4/ci: mark fs variant of arb_texture_buffer_object as flaky too
See eg.:
https://gitlab.freedesktop.org/mesa/mesa/-/jobs/61482695
https://gitlab.freedesktop.org/mesa/mesa/-/jobs/61594844

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30404>
2024-07-29 10:06:10 +02:00
Jianxun Zhang
c5ee7e9bdc anv: Disable legacy CCS setup in binding (xe2)
The condition of flat ccs and vram_only checker causes different
aux usage at binding stage. The current design is reusing CCS_E
on Xe2, so we want both Xe2 integrated and discreted GPUs behave
the same way.

Xe2 shouldn't need any special setup of CCS in the loop.

Backport-to: 24.2
Signed-off-by: Jianxun Zhang <jianxun.zhang@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30111>
2024-07-29 01:42:27 +00:00
Jianxun Zhang
e054068787 anv: Disable compression on legacy modifiers (xe2)
On pre-Xe2 platforms, the compression on these modifiers that
don't support compression are enabled. The compressed will be
resolved when needed. On Xe2+ we haven't support explicit
resolve, so all the paths to resolves are prohibited now. But
the code is still doing it, causing an assertion failure:

Fixes: vkcube
src/intel/vulkan/anv_private.h:5467:
anv_image_get_fast_clear_type_addr: Assertion
`device->info->ver < 20' failed.

Backport-to: 24.2
Signed-off-by: Jianxun Zhang <jianxun.zhang@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30111>
2024-07-29 01:42:27 +00:00
Jianxun Zhang
6b4def143c iris: Fix an assertion failure with compressed format
Fixes: ext_texture_array-compressed teximage pbo -fbo -auto

src/gallium/drivers/iris/iris_state.c:3142: iris_create_surface:
Assertion `res->aux.usage == ISL_AUX_USAGE_NONE' failed

Suggested by Nanley Chery <nanley.g.chery@intel.com>

Backport-to: 24.2
Signed-off-by: Jianxun Zhang <jianxun.zhang@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30111>
2024-07-29 01:42:26 +00:00
Jianxun Zhang
49c91a4ea0 anv: Fix assertion failures on BMG (xe2)
Fixes: beb0ea2469 ("anv: Disable tracking fast clear and aux state (xe2)")

crucible run func.first

dEQP-VK.api.copy_and_blit.core.image_to_image.
all_formats.color.2d_to_2d.a1r5g5b5_unorm_pack16.
r16_uint.optimal_optimal

dEQP-VK.pipeline.monolithic.multisample.misc.clear_attachments.
r8g8b8a8_unorm_r16g16b16a16_sfloat_r16g16b16a16_sint_d32_sfloat_
s8_uint.16x.ds_resolve_sample_zero.whole_framebuffer

src/intel/vulkan/anv_private.h:5491:
anv_image_get_compression_state_addr: Assertion
`device->info->ver < 20' failed.

Backport-to: 24.2
Signed-off-by: Jianxun Zhang <jianxun.zhang@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30111>
2024-07-29 01:42:26 +00:00
Timothy Arceri
a629d829dc glsl: make use of new tex src deref intrinsic
The bindless spec has no language requiring functions params to be
defined as bindless so we need to be able to look at the values being
passed to functions to decide if they are bindless or not. This
intrinsic allows us to wait until function inlining is complete to make
this assessment.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11535
Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30315>
2024-07-29 00:06:10 +00:00
Timothy Arceri
017770ff14 nir: add nir_tex_src_{sampler,texture}_deref_intrinsic
To be used as a placeholder until after function inlining so we can
replace function params with bindless handles if needed.

Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30315>
2024-07-29 00:06:10 +00:00
Timothy Arceri
ef13ff00d1 nir: create validate_tex_src_texture_deref() helper
Will be used in a following patch.

Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30315>
2024-07-29 00:06:10 +00:00
Faith Ekstrand
3631196414 nvk: Disable sparse D32S8 cubes pre-Turing
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402>
2024-07-28 21:49:20 +00:00
Faith Ekstrand
ec7924ab90 nvk: Default to NAK on Maxwell+
We're now at parity with the old compiler and better.  We also support
way more features on NAK than with codegen.  No reason not to use NAK
by default at this point.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402>
2024-07-28 21:49:20 +00:00
Faith Ekstrand
13cc4e48d1 nak/sm50: Set f2f.high
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402>
2024-07-28 21:49:20 +00:00
Faith Ekstrand
7b84319ec4 nak: Manually flush denorms for nir_op_fquantize2f16 pre-Volta
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402>
2024-07-28 21:49:20 +00:00
Faith Ekstrand
315e8d6faa nak: Disallow isetp.x pre-Volta
Fixes: a33507d621 ("nak/sm50: Set the .x bit for isetp")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402>
2024-07-28 21:49:20 +00:00
Faith Ekstrand
c695fd7cd2 nak: Rework isetp64 on sm50 again
Unlike on Volta, isetp.x on Maxwell seems to take the accumulator into
account and I don't know exactly how.  Fortunately, we can avoid it by
emitting a different 3 instructions.  The result is actually a good bit
simpler.

Fixes: efd86d6daa ("nak/builder: Fix isetp64 for pre-Volta")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402>
2024-07-28 21:49:20 +00:00
Faith Ekstrand
3d4a4a68a0 nak: Non-constant offsets are allowed on patch loads
Fixes: 37a38f6744 ("nak/sm50: Add support for OpAL2P")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402>
2024-07-28 21:49:20 +00:00
Faith Ekstrand
72eb0b6c13 nak: Add tests for OpPSetP
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402>
2024-07-28 21:49:20 +00:00
Faith Ekstrand
29f909513b nak: Add a PredSetOp::eval() helper
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402>
2024-07-28 21:49:20 +00:00
Faith Ekstrand
76e66beb5a nak: pre-Volta uses r0 to output the final GS handle
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402>
2024-07-28 21:49:20 +00:00
Faith Ekstrand
63db105014 nak: Rename OpFSOut to OpRegOut
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402>
2024-07-28 21:49:20 +00:00
Faith Ekstrand
0b4bfefd6f nak/nir: Preserve rounding modes in split_64bit_conversions()
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402>
2024-07-28 21:49:20 +00:00
Faith Ekstrand
ec84d7ce74 nak: Add tests for OpPopC and enable SrcMod::BNot
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402>
2024-07-28 21:49:20 +00:00
Faith Ekstrand
27ee9027da nak: Use OpFoldData::get_u32_bnot_src() more places
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402>
2024-07-28 21:49:20 +00:00
Faith Ekstrand
1a6ca8e601 nak/sm50: Set the not bit for OpLop2::srcs[0]
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402>
2024-07-28 21:49:20 +00:00
Faith Ekstrand
61076b04a7 nak: Add tests for OpIAdd2 and OpIAdd2X
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402>
2024-07-28 21:49:20 +00:00
Faith Ekstrand
aa87c9c96d nak/hw_tests: Use better test values for iadd tests
This new helper makes sure we return some particularly interesting
numbers which may hit edge cases in the hardware and/or folding code.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402>
2024-07-28 21:49:20 +00:00
Faith Ekstrand
6291440ee7 nak/hw_tests: Respect src_mod and src_swizzle in op auto-tests
Instead of replacing the whole source, just replace the src_ref so we
maintain the modifier.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402>
2024-07-28 21:49:20 +00:00
Faith Ekstrand
f557423467 nak: Add source and destination types for carry values
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402>
2024-07-28 21:49:20 +00:00
Faith Ekstrand
eb5f333606 nak: Assert no overflow when legalizing iadd with too many ineg modifiers
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402>
2024-07-28 21:49:20 +00:00
Faith Ekstrand
96812f6b72 nak: Add tests for OpFlo
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402>
2024-07-28 21:49:20 +00:00
Faith Ekstrand
10701ac331 nak/hw_tests: Explicitly test equal cases in test_isetp64
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402>
2024-07-28 21:49:20 +00:00
Faith Ekstrand
957e7b3451 nak: Lower iadd64(x, -y) to isub64(x, y) in NIR
This is easier than optimizing in the back-end and lets us use 2
instructions for an isub64 rather than 4.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402>
2024-07-28 21:49:20 +00:00
Faith Ekstrand
8646ae7e23 nak/builder: Allow source modifiers in ineg64()
This lets us implement ineg64(x) as iadd64(0, -x, 0) and also reduces
the number of cases in iadd64() itself.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402>
2024-07-28 21:49:20 +00:00
Faith Ekstrand
7f0b8a82d0 nak: Add tests for nak_builder::ineg64
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402>
2024-07-28 21:49:20 +00:00