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
Faith Ekstrand
73384c626d
nak: SrcMod::INeg cannot be folded
...
The only reason why this hasn't been causing us problems before is
because the only use of ineg in an iadd with a carry-out is ineg64 and
that's basically guaranteed to be folded in NIR because it's unary.
However, if we want to be able to use SrcMod::INeg more, we need to be
more careful about it.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402 >
2024-07-28 21:49:20 +00:00
Faith Ekstrand
c2b5d7ca41
nak/sm50: Add execution delays for more ops
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402 >
2024-07-28 21:49:20 +00:00
Faith Ekstrand
ce91e8875a
nak: OpKill also needs a delay on Maxwell
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402 >
2024-07-28 21:49:20 +00:00
Faith Ekstrand
c8eb8f946a
nak: Add an optimization for CRS ops
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402 >
2024-07-28 21:49:19 +00:00
Faith Ekstrand
1cf945a5d1
nak: Add target labels to CRS pop instructions
...
This makes them easier to read.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402 >
2024-07-28 21:49:19 +00:00
Faith Ekstrand
9bbc692064
nak/nir: Rework CRS handling
...
THe new code tracks the whole call/return stack. This means we know the
size of the stack at all times. It also means that we can detect a
bunch of potential error cases.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402 >
2024-07-28 21:49:19 +00:00
Faith Ekstrand
cb5e10d0aa
nak/nir: Add a few more NIR helpers
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402 >
2024-07-28 21:49:19 +00:00
Faith Ekstrand
f66ca6edc3
nak/nir: Fix the reverse execlist iterator
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402 >
2024-07-28 21:49:19 +00:00
Faith Ekstrand
d19ea8524b
nvk: Take CRS into account when allocating the SLM area
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402 >
2024-07-28 21:49:19 +00:00
Faith Ekstrand
b78f7d208b
nak: Plumb through the call/return stack size
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402 >
2024-07-28 21:49:19 +00:00
Faith Ekstrand
3e935df2b0
nak: Move the runner into the main nak crate
...
This makes the meson a bit simpler since we can just conditionally build
it based on #[cfg(test)] instead of breaking it into a separate library.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402 >
2024-07-28 21:49:19 +00:00
Rob Clark
ad90bf0500
freedreno/a6xx: Initial a7xx support
...
Passing all of deqp-gles*
LRZ is still causing some artifacts in games so it is disabled for now.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30304 >
2024-07-28 18:25:18 +00:00