Mary Guillemard
bacdf351f6
panvk: Disable integer array indices clamping
...
This is required to support VK_EXT_image_robustness properly as
otherwise the array index would be clamped to the array size on
TEX_FETCH and would not end up returning zeroes as expected by
the extension.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32331 >
2024-11-25 18:33:40 +00:00
Chia-I Wu
f9c39ceaf5
panvk: use u_foreach_bit to loop over mask bits
...
It is both faster and more readable.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32324 >
2024-11-25 18:07:10 +00:00
Rebecca Mckeever
412c286331
panvk: Enable multiplane images and image views
...
Signed-off-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Chia-I Wu <olvaffe@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31776 >
2024-11-25 17:34:35 +00:00
Rebecca Mckeever
9aa2c1ec56
panvk: Replace tab with spaces
...
Signed-off-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31776 >
2024-11-25 17:34:35 +00:00
Rebecca Mckeever
3295cb9700
panvk: Use vk_image::drm_format_mod instead of pan_image::layout.modifier
...
This will help prepare for multiplane, where panvk_image will have an array
of pan_image structs to represent the planes. The format modifier is the
same for all planes, so we can use vk_image::drm_format_mod.
Signed-off-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Chia-I Wu <olvaffe@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31776 >
2024-11-25 17:34:35 +00:00
Boris Brezillon
1289c5a30b
panvk: Fix panvk_plane_index() for D32_SFLOAT_S8_UINT
...
We currently support D32_S8 as a single-planar format on Bifrost, so
fix the panvk_plane_index() accordingly.
We will restore this once we move to multi-planar D32_S8, which should
happen soon.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31776 >
2024-11-25 17:34:35 +00:00
Erik Faye-Lund
ad8da772ab
docs: add missing panfrost extensions
...
We've supported GL_ARB_transform_feedback3 since 2019,
GL_ARB_draw_indirect and GL_ARB_texture_cube_map_array since 2021.
...you get the picture. There's more, and they've all been around for a
good while. But it seems we forgot to tell features.txt about them.
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32300 >
2024-11-25 18:19:58 +01:00
Erik Faye-Lund
75fbf492ac
docs: fixup a few mistakes with panfrost
...
Both of GL_OES_sample_shading and GL_OES_shader_multisample_interpolation
are enabled on panfrost when GL_OES_gpu_shader5 is enabled. And that's
the case on Bifrost and later, but not Midgard.
Let's fix up features.txt to match reality here.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32300 >
2024-11-25 18:19:58 +01:00
Erik Faye-Lund
d7342a0179
docs: refer to panfrost by version
...
The different Mali architecture versions are an easier way of reasoning
about what is and what isn't supported, so let's switch to that.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32300 >
2024-11-25 18:19:57 +01:00
Erik Faye-Lund
dc8c6d9978
docs: update GL_ARB_multi_draw_indirect support
...
This is always supported when GL_ARB_draw_indirect is supported, so
let's not needlessly repeat drivers here.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32300 >
2024-11-25 18:19:56 +01:00
Erik Faye-Lund
dcf380d1b6
docs: update GL_OES_shader_image_atomic support
...
This is always supported on GLES 3.1 now, so let's update features.txt
with that.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32300 >
2024-11-25 18:19:56 +01:00
Erik Faye-Lund
a9b662908c
docs: mark GL_ARB_get_program_binary as always supported
...
We always support the extension. Wether we support any formats or not
depends on one of two conditions:
1. If Mesa is built with shader-cache support or not, which is not a
driver decision.
2. If GL_ARB_gl_spirv is supported or not, which is covered elsewhere.
So there's no reason to list individual drivers here, as that doesn't
really change anything.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32300 >
2024-11-25 18:19:55 +01:00
Erik Faye-Lund
71b9848c07
docs: mark GL_ARB_shader_subroutine as always supported
...
This extension is always supported, no need to maintain a list of
drivers that support it.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32300 >
2024-11-25 18:19:55 +01:00
Eric R. Smith
3022258de5
panfrost: add panfrost support for NV15, NV16 and NV20
...
Update panfrost to add support for NV16 and for the 10 bit
NV15 and NV20 formats.
Signed-off-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31854 >
2024-11-25 13:04:19 +00:00
Eric R. Smith
f539763cfc
dri: fix NV15 and NV20 definitions to make sure they will be used
...
Although there are no DRI formats directly corresponding to 10bpp
planes (as used in e.g. NV15), some hardware can emulate NV15 with
R10_G10B10_420. Check for this in dri2_yuv_dma_buf_supported, so
that we can advertise support for these formats if available.
Signed-off-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31854 >
2024-11-25 13:04:19 +00:00
Eric R. Smith
1ea79ec164
egl, mesa: add support for NV15 and NV20 textures
...
Support external images with 10 bit YUV in NV15 and NV20 formats.
These are produced by some hardware decoders, so this will be
useful.
Signed-off-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31854 >
2024-11-25 13:04:19 +00:00
Eric R. Smith
440b69210a
dri, mesa: fix NV16 texture format
...
Support for NV16 was kind of half done, by declaring it to be
NV12. That didn't actually work though, so add some more stuff
to make it work.
Signed-off-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31854 >
2024-11-25 13:04:19 +00:00
Eric R. Smith
b6531e45ed
util: rename PIPE_FORMAT_Y8_U8V8_422_UNORM
...
Y8_U8V8_422_UNORM is more commonly known as NV16. There has been
a fourcc for NV16 for a while now, so let's rename it to be in
line with NV12 and similar formats.
Signed-off-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31854 >
2024-11-25 13:04:19 +00:00
Hans-Kristian Arntzen
fc9ae4b974
radv: Fix missing gang barriers for task shaders.
...
It's also possible to use ALL_GRAPHICS and PRE_RASTERIZATION as
alternatives.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32323 >
2024-11-25 12:37:47 +00:00
Georg Lehmann
2865dc5fa5
radv/ci: document test_shader_sm66_is_helper_lane as fixed
...
This reverts commit 480fcf7aff .
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32310 >
2024-11-25 11:50:27 +00:00
Georg Lehmann
5edae68966
nir/move_discards_to_top: don't move across is_helper_invocation
...
This was obviously broken because demote results in more helper invocations.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Fixes: b447f5049b ("nir: Add a discard optimization pass")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32310 >
2024-11-25 11:50:27 +00:00
Boris Brezillon
74f76f8df2
panvk/csf: Explain why the tiler is set to 0xdeadbeefdeadbeef
...
When simul_use=true, the tiler descriptors are allocated from
the descriptor ringbuf. We set state.gfx.render.tiler to a
non-NULL value to satisfy the is_tiler_desc_allocated() tests,
but we want it to point to a faulty address so we can easily
detect if it's used in the command stream/framebuffer
descriptors.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Chia-I Wu <olvaffe@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32213 >
2024-11-25 11:20:23 +00:00
Boris Brezillon
3d5d6327be
panvk/csf: Fix cross command buffer render pass suspend/resume
...
Fix cross command buffer render pass suspend/resume by
emitting a render context (tiler+framebuffer descriptors)
on suspend that we can re-use on resume.
This involves splitting the issue_fragment_jobs() logic to
decouple the framebuffer descriptor initialization and the
run_fragment emission. This also requires patching a few
places where we were testing the tiler/fbd values to
determine if we are in a render pass, which no longer works
when a render pass is resumed.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Chia-I Wu <olvaffe@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32213 >
2024-11-25 11:20:23 +00:00
Boris Brezillon
5a6e992048
panvk/csf: Keep a cache of the CS reg file at the panvk_queue level
...
This allows us to start from the HW reg file state instead of a
zero-initialized reg file.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Chia-I Wu <olvaffe@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32213 >
2024-11-25 11:20:23 +00:00
Boris Brezillon
b2bac439d5
pan/decode: Flush the dump file before crashing
...
Useful when debugging GPU faults.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Chia-I Wu <olvaffe@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32213 >
2024-11-25 11:20:23 +00:00
Pavel Ondračka
9838024547
r300: always transform sin/cos input for fs
...
We don't need to check anymore if this was already applied and it turned
out the check was not working properly in the first place.
The check for vs is kept in place, because that one still detects that
few wine shaders already have the sin/cos input in correct range.
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/32160 >
2024-11-25 10:59:38 +00:00
Marek Olšák
ec1a00f507
r300: don't lower sin/cos in finalize_nir
...
finalize_nir requires that calling it multiple times on the same shader
doesn't break it.
RV530 shader-db:
total instructions in shared programs: 132915 -> 132851 (-0.05%)
instructions in affected programs: 2016 -> 1952 (-3.17%)
helped: 16
HURT: 0
total temps in shared programs: 18238 -> 18232 (-0.03%)
temps in affected programs: 42 -> 36 (-14.29%)
helped: 6
HURT: 0
total cycles in shared programs: 197510 -> 197446 (-0.03%)
cycles in affected programs: 2102 -> 2038 (-3.04%)
helped: 16
HURT: 0
Reviewed-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/32160 >
2024-11-25 10:59:37 +00:00
Pavel Ondračka
d406dbbde9
r300: run nir_opt_algebraic in the backend
...
No effect in shader-db right now, but without it the next commit
leads to small regression in instruction numbers (0.03%) instead
of the small win we have now (-0.05%).
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/32160 >
2024-11-25 10:59:37 +00:00
Rhys Perry
63b0692eac
aco: don't use uniform continues if exec might be empty
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31143 >
2024-11-25 10:32:59 +00:00
Rhys Perry
aa0ede751d
aco/tests: add tests for empty exec masks
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31143 >
2024-11-25 10:32:59 +00:00
Rhys Perry
f35e229fae
aco: skip code if exec is empty
...
This is safer and potentially faster.
fossil-db (navi21):
Totals from 690 (0.87% of 79395) affected shaders:
Instrs: 4534778 -> 4535916 (+0.03%)
CodeSize: 25268516 -> 25272080 (+0.01%); split: -0.00%, +0.01%
Latency: 48482721 -> 48513907 (+0.06%); split: -0.00%, +0.07%
InvThroughput: 13213965 -> 13217828 (+0.03%); split: -0.00%, +0.03%
Copies: 432307 -> 432295 (-0.00%); split: -0.05%, +0.04%
Branches: 187305 -> 188249 (+0.50%)
VALU: 2904490 -> 2904508 (+0.00%); split: -0.00%, +0.00%
SALU: 674962 -> 675133 (+0.03%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31143 >
2024-11-25 10:32:59 +00:00
Rhys Perry
f00c3a14c0
aco: require WQM after demote in control flow
...
fossil-db (navi21):
Totals from 424 (0.53% of 79395) affected shaders:
Instrs: 404496 -> 404752 (+0.06%); split: -0.07%, +0.13%
CodeSize: 2150608 -> 2151616 (+0.05%); split: -0.05%, +0.09%
Latency: 9124298 -> 9115957 (-0.09%); split: -0.12%, +0.03%
InvThroughput: 1883570 -> 1883468 (-0.01%); split: -0.01%, +0.00%
VClause: 6832 -> 6830 (-0.03%)
SClause: 13801 -> 13778 (-0.17%); split: -0.17%, +0.01%
Copies: 26758 -> 26673 (-0.32%); split: -0.44%, +0.12%
Branches: 9819 -> 9567 (-2.57%)
PreSGPRs: 17902 -> 17934 (+0.18%)
SALU: 45407 -> 45906 (+1.10%); split: -0.01%, +1.11%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31143 >
2024-11-25 10:32:59 +00:00
Rhys Perry
8a175b02bc
aco: use repair pass for LCSSA workaround
...
This makes instruction selection simpler and fixes potential issues with
allocated_vec or the optimizer moving SGPR uses out of the loop.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31143 >
2024-11-25 10:32:59 +00:00
Rhys Perry
5de990f5a9
aco: add SSA repair pass
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31143 >
2024-11-25 10:32:58 +00:00
Roman Stratiienko
83b4b829fd
v3dv/android: Suppress AHB-related log spam
...
The VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID is handled
by the common code.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32314 >
2024-11-25 08:08:25 +00:00
Samuel Pitoiset
ba77b2d65d
radv: fix printing with RADV_DEBUG=psocachestats
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32254 >
2024-11-25 07:36:49 +00:00
Samuel Pitoiset
6c967c9bbe
radv: fix dumping the trap handler shader disassembly
...
This has been broken in the recent RADV_DEBUG=shaders refactoring.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32254 >
2024-11-25 07:36:49 +00:00
Samuel Pitoiset
5c3a757ba6
radv: add a pipeline helper to skip shaders cache
...
It's common for the three type of pipelines.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32254 >
2024-11-25 07:36:48 +00:00
Samuel Pitoiset
3f646d43dd
radv: fix dumping debug/perftest options when there are holes
...
Also fix the wrong assertion.
Fixes: 8c1e2ac03b ("radv: Refactor RADV_DEBUG=shaders to be a combination of other options.")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32276 >
2024-11-25 07:01:06 +00:00
Boris Brezillon
e0f48568c7
panfrost: Advertise support for AFBC(32x8,sparse,split)
...
Some MTK display controller drivers support only this AFBC modifier.
Give it a chance to use AFBC for scanout resources.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31948 >
2024-11-25 00:26:36 -05:00
Boris Brezillon
4af57952b1
panfrost: Add support for AFBC(split)
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31948 >
2024-11-25 00:26:26 -05:00
Boris Brezillon
762a0f4133
panfrost: Add the concept of render block
...
When dealing with AFBC render targets using wide blocks, the GPU needs to
keep rendering tiles that are a multiple of 16x16. This is described
as AFBC render block size, and adds extra constraints:
- render target buffers need to be aligned on 16 pixels in the vertical
direction, even if the AFBC super block size is 4 or 8 pixels.
- if the effective tile size is smaller than the render block size, we
should force a clean write and discard+ignore the CRC
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31948 >
2024-11-25 00:26:14 -05:00
Boris Brezillon
303acdef07
panfrost: Add a helper to expose the maximum effective tile size
...
On all previous GPUs, the effective tile size was limited to 16x16, but
it got increased on v10. Add an helper to query this maximum effective
tile size.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31948 >
2024-11-25 00:26:02 -05:00
Louis-Francis Ratté-Boulianne
a3c8258908
panfrost: Select the effective tile size as part of pan_fb_info
...
This allows using the tile size to make decisions not related to the
framebuffer descriptor. Mainly, for the near future, to decide
whether some tiling hierarchy levels should be disabled.
The color buffer allocation size is also calculated at the same time
as it's using common data underneath.
Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31948 >
2024-11-25 00:25:58 -05:00
Louis-Francis Ratté-Boulianne
eead8b6efd
panfrost: Split up allocation and packing of tiler descriptor
...
This is mostly useful so that we can set the hierarchy level mask
using information from the `pan_fb_info` structure that isn't filled
yet when the tiler descriptor is first allocated.
Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31948 >
2024-11-25 00:25:51 -05:00
Boris Brezillon
ca84b1e9b5
panfrost: Increase AFBC body alignment requirement on v6+
...
AFBC body is required to be aligned on 128 bytes on v6+ hardware.
Cc: mesa-stable
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31948 >
2024-11-25 00:25:05 -05:00
Timur Kristóf
45c523104a
ac/nir/ngg: Implement optional primitive compaction.
...
It's an experimental feature that we may enable later.
Instead of exporting NULL primitives, perform a compaction
on primitives after culling.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32290 >
2024-11-25 01:56:20 +01:00
Timur Kristóf
492d8f3778
ac/nir/ngg: Workgroup scan over two bools.
...
Implement two workgroup scans over two boolean values in parallel,
so that they can be done with very minimal ALU overhead.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32290 >
2024-11-25 01:56:08 +01:00
Timur Kristóf
78f77e161c
ac/nir/ngg: Pass wg_repack_result as pointer instead of returning it.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32290 >
2024-11-25 01:55:30 +01:00
Patrick Lerda
ac78692be4
r600: evergreen stencil/depth mipmap blit workaround
...
In certain cases, the hardware fails to properly process a mipmap level
of these special stencil and depth formats. This happens at width=16.
This change adds a software workaround.
Modifying the corresponding mipmap nblk_x, and the other related
values, could make the tests below to work. Anyway, this method
generates regressions.
This change was tested on palm and cayman and fixes the following tests:
spec/arb_framebuffer_object/framebuffer-blit-levels read stencil: fail pass
spec/arb_depth_buffer_float/fbo-clear-formats stencil/gl_depth32f_stencil8: fail pass
Cc: mesa-stable
Signed-off-by: Patrick Lerda <patrick9876@free.fr >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31957 >
2024-11-24 21:01:54 +00:00