Commit graph

189287 commits

Author SHA1 Message Date
Samuel Pitoiset
c63ac0521a radv: track all graphics shaders context registers
This should be similar to the previous ctx_cs logic that was
implemented in order to reduce context rolls but this also applies
to shader objects.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28983>
2024-05-14 15:32:08 +00:00
Samuel Pitoiset
db597d274b radv: add more radeon_opt_set_xxx variants
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28983>
2024-05-14 15:32:08 +00:00
Samuel Pitoiset
d5af67ea2c radv: add graphics shaders context registers that need to be tracked
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28983>
2024-05-14 15:32:07 +00:00
Samuel Pitoiset
9532b0f1b2 radv: emit graphics pipelines directly from the cmdbuf
This allows us to unify emitting monolithic graphics pipelines and
shader objects.

Though, this temporarily reduces performance in some games due to more
context rolls. But this will be fixed in the following commits by
using the recent mechanism to track context register writes.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28983>
2024-05-14 15:32:07 +00:00
Samuel Pitoiset
fca40bcce3 radv: make radv_conv_gl_prim_to_gs_out() a non-static function
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28983>
2024-05-14 15:32:07 +00:00
Rob Clark
d516721cd0 tu: Support VkExternalFormatANDROID
Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29090>
2024-05-14 14:53:45 +00:00
Rob Clark
29f5a78d16 tu: Skip YUV conversion for RGB formats
Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29090>
2024-05-14 14:53:45 +00:00
tarsin
99753001f3 turnip: Support AHardwareBuffer
Signed-off-by: tarsin <yuanqingxiang233@163.com>
[rob: various fixes for android-cts failures]

Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29090>
2024-05-14 14:53:45 +00:00
tarsin
4b024a15f2 turnip: Split tu_image_init to use layout setting logic separately
Signed-off-by: tarsin <yuanqingxiang233@163.com>
[rob: improve comments about modifier taking precedence over image
create flags, and fix bogus assert]

Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29090>
2024-05-14 14:53:45 +00:00
tarsin
ecd9ece9c1 turnip: Convert tu_device_memory to use vk_device_memory
Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29090>
2024-05-14 14:53:45 +00:00
Roman Stratiienko
1373b0966c turnip/android: Migrate to common ANB code
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com>
Tested-by: tarsin <yuanqingxiang233@163.com>
Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29090>
2024-05-14 14:53:45 +00:00
tarsin
e047d75a57 turnip: Change tu_image to use common initialization helpers
This change is required to enable common ANB functionality,
which the following patch adds.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29090>
2024-05-14 14:53:45 +00:00
Rob Clark
270ee65667 vulkan: Add helper to resolve Android external format
Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29090>
2024-05-14 14:53:45 +00:00
Rob Clark
12092d1ac7 vulkan: Don't request Ycbcr conversion for rgb
Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29090>
2024-05-14 14:53:45 +00:00
Rob Clark
b9bbeb77c7 vulkan/android: Add helper to probe AHB support
GetPhysicalDeviceImageFormatProperties() must that an image {format,
flags, usage} combo is unsupported if gralloc will not be able to
perform the allocation.  The practical way to test this is to do a
small test allocation.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29090>
2024-05-14 14:53:44 +00:00
Karol Herbst
be0a893a2e rusticl/spirv: enable more caps
Silences warnings about them.

Fixes: ba11b12a82 ("rusticl: Use the new spirv_capabilities struct")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29193>
2024-05-14 14:33:05 +00:00
Friedrich Vock
590ea76104 aco/spill: Insert p_start_linear_vgpr right after p_logical_end
If p_start_linear_vgpr allocates a VGPR that is already blocked, RA
will try moving the blocking VGPR somewhere else. If
p_start_linear_vgpr is inserted right before the branch, that move will
be inserted after exec has been overwritten, which might cause the move
to be skipped for some threads.

Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28041>
2024-05-14 13:54:34 +00:00
Friedrich Vock
84c1870b65 aco/tests: Insert p_logical_start/end in reduce_temp tests
Linear VGPR insertion will depend on a p_logical_end existing in the
blocks the VGPR is inserted in.

Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28041>
2024-05-14 13:54:34 +00:00
Mary Guillemard
02efe52aab panvk: Only clear UBOs descriptors when set isn't present
The layout for dyn UBOs changed but we were still cleaning right after
UBOs.

Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Fixes: 9c553bda9c ("panvk: Prepare dynamic buffer descriptors at bind time")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29191>
2024-05-14 13:31:06 +00:00
Konstantin Seurer
1f0f76dbdc radv/ci: Document recent flakes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29188>
2024-05-14 13:09:28 +00:00
Konstantin Seurer
9db41dfec5 radv/ci: Add back pipeline library flakes
The tests are still flaky.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29188>
2024-05-14 13:09:28 +00:00
Rhys Perry
cb81ec7a61 aco: don't count certain pseudo towards VMEM_STORE_CLAUSE_MAX_GRAB_DIST
fossil-db (navi31):
Totals from 1023 (1.29% of 79395) affected shaders:
MaxWaves: 29258 -> 29240 (-0.06%)
Instrs: 1134024 -> 1133163 (-0.08%); split: -0.10%, +0.02%
CodeSize: 5682108 -> 5678696 (-0.06%); split: -0.08%, +0.02%
VGPRs: 60248 -> 60272 (+0.04%); split: -0.08%, +0.12%
Latency: 3797510 -> 3792797 (-0.12%); split: -0.18%, +0.05%
InvThroughput: 781270 -> 781239 (-0.00%); split: -0.03%, +0.03%
VClause: 24701 -> 23976 (-2.94%); split: -3.55%, +0.61%
Copies: 75177 -> 75169 (-0.01%); split: -0.20%, +0.19%
VALU: 659939 -> 659962 (+0.00%); split: -0.02%, +0.02%
VOPD: 2040 -> 2009 (-1.52%); split: +0.29%, -1.81%

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/28948>
2024-05-14 12:30:54 +00:00
Eric Engestrom
34844deb3e ci: fix section_end in debian-build-testing
Fixes: d428cc1116 ("ci/debian-build-testing: drop extra nesting section")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29170>
2024-05-14 11:46:42 +00:00
David Heidelberg
d0c364a24b ci: drop unused piglit-test and integrate it into piglit-traces-test
No longer used. We don't use piglit directly, except for the traces.

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29170>
2024-05-14 11:46:42 +00:00
Eric Engestrom
a40345aaeb ci: reuse dead .vkd3d-proton-test to make vkd3d less radv-specific
Replace dead `script:` with `HWCI_TEST_SCRIPT`, and rename it to have
the `b2c-` prefix since it's no longer generic.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29170>
2024-05-14 11:46:41 +00:00
Eric Engestrom
68c09a00c8 mr-label-maker: mark *-vkd3d.txt files as CI results expectations files
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29170>
2024-05-14 11:46:41 +00:00
Eric Engestrom
9af82fc98f amd/ci: track changes to VKD3D_PROTON_RESULTS files
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29170>
2024-05-14 11:46:41 +00:00
Eric Engestrom
7dd2b9e11a ci: hardcode -vkd3d namespace for VKD3D_PROTON_RESULTS
This means we can rely on these files always having that name.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29170>
2024-05-14 11:46:41 +00:00
Eric Engestrom
c50f3d62b9 ci: drop default VKD3D_PROTON_RESULTS file name
Nobody uses that, and it doesn't make much sense to have a single file
used by everyone as each driver will have its own failures.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29170>
2024-05-14 11:46:41 +00:00
Marek Olšák
5502ecd771 util: shift the mask in BITSET_TEST_RANGE_INSIDE_WORD to be relative to b
so that users don't have to shift it at every use. It was supposed to be
like this from the beginning.

Fixes: fb994f44d9 - util: make BITSET_TEST_RANGE_INSIDE_WORD take a value to compare with

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29187>
2024-05-14 10:13:15 +00:00
Hans-Kristian Arntzen
6c3457033a radv: Implement VK_MESA_image_alignment_control
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Co-authored-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Co-authored-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29129>
2024-05-14 09:30:40 +00:00
Hans-Kristian Arntzen
14457b358f ac/surface: Add surface flags to prefer 4K and 64K alignment.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Co-authored-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Co-authored-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29129>
2024-05-14 09:30:40 +00:00
Hans-Kristian Arntzen
47044cb019 vulkan: Update XML and headers to 1.3.285.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29129>
2024-05-14 09:30:40 +00:00
Weifeng Liu
ea7880478e anv/anroid: Query gralloc for tiling mode
Tiled scan-out buffer works only for those platforms supporting
set_tiling/get_tiling ioctl, which is not used for newer platforms
(e.g., dGPU).  This change switch to querying modifier reliably with
gralloc API.

Signed-off-by: Weifeng Liu <weifeng.liu@intel.com>
Reviewed-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/29185>
2024-05-14 09:06:00 +00:00
Samuel Pitoiset
2097bec163 radv: fix the late scissor workaround for GFX9 since a recent refactoring
This was a typo.

Fixes: 92337aff03 ("radv: split cmdbuf dirty flags into dirty/dirty_dynamic")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11142
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29156>
2024-05-14 08:36:46 +00:00
Tapani Pälli
01608de875 iris: ForceZeroRTAIndexEnable if last geom stage does not write layer id
This matches anv and specification behavior, change makes us toggle the
field in tests/application that may use layered framebuffer but do not
assign any value to gl_Layer.

Example of such a test:
KHR-GL46.geometry_shader.layered_rendering_boundary_condition.layered_rendering_boundary_condition_no_default_layer

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29064>
2024-05-14 08:09:17 +00:00
Eric Engestrom
8c22112a7d util/format: add missing null check in util_format_is_srgb()
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11137
Fixes: ff6cf60cb8 ("gallium/util: add util_format_is_srgb() helper")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29160>
2024-05-14 07:16:02 +00:00
Dave Airlie
2f02af39b3 radv/video/encode: fix quality params on v2 hw.
This should have the extra dword as well.

Fixes: 54d499818c ("radv/video: add initial support for encoding with h264.")
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29098>
2024-05-14 05:45:57 +00:00
Alyssa Rosenzweig
d2cf17022d libagx: don't use get_group_id()
We don't want to see base_wg intrinsics.

Fixes: d22f936019 ("nir: remove workgroup_id_zero_base")
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29179>
2024-05-14 04:57:27 +00:00
Alyssa Rosenzweig
21f0b14844 libagx: add query copy kernel
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29179>
2024-05-14 04:57:27 +00:00
Alyssa Rosenzweig
13d875da32 libagx: use sub_group_scan_inclusive_add
now that the backend has a full subgroup impl.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29179>
2024-05-14 04:57:27 +00:00
Alyssa Rosenzweig
76bb81dd59 asahi: don't reserve extra UVS space for layer
it's a sysval now

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29179>
2024-05-14 04:57:27 +00:00
Alyssa Rosenzweig
48d16b3972 asahi: extend epilog key for force early frag handling
need to be extra careful around the sample mask.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29179>
2024-05-14 04:57:27 +00:00
Alyssa Rosenzweig
ee9dab83e7 asahi: don't ralloc in agx_fast_link
let the driver allocate upfront so we can suballoc etc.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29179>
2024-05-14 04:57:27 +00:00
Alyssa Rosenzweig
c1d68da5e2 asahi: plumb tri fan flatshading through common
not yet used in the GL driver but we should probably fix that.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29179>
2024-05-14 04:57:27 +00:00
Alyssa Rosenzweig
cad60ab4b1 asahi: extend varying linking for tri fan weirdness
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29179>
2024-05-14 04:57:27 +00:00
Alyssa Rosenzweig
d763ab2de0 asahi: don't allocate for ppp updates
let the driver.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29179>
2024-05-14 04:57:27 +00:00
Alyssa Rosenzweig
3eacd8a8b2 asahi: don't allocate varyings ourselves
let the driver do it.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29179>
2024-05-14 04:57:27 +00:00
Alyssa Rosenzweig
96521fbce3 asahi: use ppp_merge
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29179>
2024-05-14 04:57:27 +00:00
Alyssa Rosenzweig
59d2b7283c asahi: add agx_ppp_push_merged helper
convenient for ppp merge trickery.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29179>
2024-05-14 04:57:27 +00:00