Commit Graph

178604 Commits

Author SHA1 Message Date
Samuel Pitoiset 4192e01dcc radv: always write the sample positions when a new descriptor BO is created
This was completely broken, for example in the following scenario:
- submits something which needs sample positions (this creates a new
descriptor BO with sample positions)
- submits something which needs the tess rings (this creates a new
descriptor BO with tess rings but without sample positions, ie.
add_sample_positions would be FALSE)
- submits something which needs sample positions again (this won't
create a new descriptor BO because it incorrectly remembered that
sample positions were set)

Fix this by always writing the sample positions.

This should fix the following flakes:
- dEQP-VK.fragment_shading_barycentric.*.weights.pipeline_topology_dynamic.msaa_interpolate_at_sample.*
- dEQP-VK.pipeline.fast_linked_library.multisample_interpolation.sample_interpolate_at_distinct_values.*
- dEQP-VK.pipeline.fast_linked_library.multisample_interpolation.sample_interpolation_consistency.*
- dEQP-VK.draw.renderpass.linear_interpolation.*
- dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.linear_interpolation.*

These flakes were extremely hard to reproduce!

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25529>
2023-10-06 12:09:46 +00:00
Lionel Landwerlin 596b438936 intel/ds: track acceleration RT commands
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25570>
2023-10-06 11:10:12 +00:00
Lionel Landwerlin 3e8d2617e1 anv: use buffer pools for BVH build buffers
Private memory for BVH builds doesn't need to be mapped on the host,
it's purely for use by the GPU. So it can be put into a different
buffer pool that can put into VRAM only buffers.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25570>
2023-10-06 11:10:12 +00:00
Lionel Landwerlin bab344645f anv: move bo_pool allocation flags to init caller
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25570>
2023-10-06 11:10:12 +00:00
Lionel Landwerlin 787c29f2fc anv: reduce working temporary memory for BVH builds
Part of the memory allocated (private) is a temporary working buffer
for the GRL kernels. Once the build operation is done, the buffer
becomes unused.

Rather than allocate a new buffer each time, reuse the current last
allocated one if its size fits the next build operation.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25570>
2023-10-06 11:10:11 +00:00
Eric Engestrom 2d3ab674ee ci: drop unused ephemeral packages in alpine image
There's nothing between installing these packages and removing them that
uses them, so let's just drop them.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25546>
2023-10-06 10:09:31 +00:00
Caio Oliveira 81bc09bf97 intel/fs: Tweak default case of fs_inst::size_read()
In the default case, there's a special case with a few conditions.
Prefer the cheapest conditions first, so we can take advantage of
short-circuiting.

Effect is a small but still significant reduce in shader compilation
times, as can be seen by:

- Fossil replay for Rise of the Tomb Raider

```
Difference at 95.0% confidence
	-0.433333 +/- 0.028609
	-1.42556% +/- 0.0941163%
	(Student's t, pooled s = 0.0337886)
```

- Fossil replay for Batman Arkham City

```
Difference at 95.0% confidence
	-8.84 +/- 0.146083
	-1.65932% +/- 0.0274207%
	(Student's t, pooled s = 0.125423)
```

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25549>
2023-10-06 09:16:56 +00:00
Mike Blumenkrantz 06816cccb9 zink: don't check submit count for unflushed usage
unflushed usage is unflushed regardless of the submit count and is
critical for detecting multi-context synchronization

fixes Wolfenstein: The New Order load screen deadlock

Fixes: db12b881c7 ("zink: track/check submit info on resource batch usage")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25572>
2023-10-06 05:30:22 +00:00
Mike Blumenkrantz 548d088c26 egl/wayland: return sooner from swrast_update_buffers() if zink
Fixes: 0f50cc03ef0 ("egl/wayland: don't block in swrast when updating buffers for zink")

Acked-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24700>
2023-10-06 04:53:40 +00:00
Mike Blumenkrantz 8aa43d70e1 egl/wayland: don't block in swrast when updating buffers for zink
this is broken, let vulkan wsi handle buffer management

Fixes: 74451ed3f0 ("egl/wayland: wait for compositor to release shm buffers")

Acked-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24700>
2023-10-06 04:53:40 +00:00
Mike Blumenkrantz e213623a8c Revert "egl/wayland: Add image loader extension for swrast"
This reverts commit 45b9b0ba32.

Acked-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24700>
2023-10-06 04:53:40 +00:00
Emma Anholt 4b9c3c76d0 ci/hasvk: Add a bunch of new CTS border color fails.
pretty sure this is from new coverage since the CTS uprev..

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25574>
2023-10-06 04:06:29 +00:00
Emma Anholt 762210e224 ci/crocus: Add known piglit flakes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25574>
2023-10-06 04:06:29 +00:00
Emma Anholt c6788a1616 ci/etnaviv: return gl-1.4-tex1d-2dborder as a known flake
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25574>
2023-10-06 04:06:29 +00:00
Simon Zeni 2d09ae30e1 nouveau/winsys: use mmap instead of mmap64 in nouveau_bo
The function `mmap64` is part of the large file extension and should not be
called directly. Instead `mmap` should be use and let the system use the
correct interface.

Signed-off-by: Simon Zeni <simon.zeni@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25569>
2023-10-06 03:39:14 +00:00
Chia-I Wu dcb764b0f0 radv: hard code format features for emulated formats
The format features are known.  No need to rely on
radv_is_sampler_format_supported which will not work for ASTC.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25071>
2023-10-06 00:55:18 +00:00
Chia-I Wu 99e54c39f6 radv: simplify view format override for emulated formats
Override the view format to the format of plane 1 when the view format
is also emulated.  There is no functional change.

v2: check iview->vk.format directly (@yogeshmohan)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25071>
2023-10-06 00:55:18 +00:00
Chia-I Wu 55b7d6e5a3 radv: add radv_is_format_emulated
This is a cleanup with no functional change.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25071>
2023-10-06 00:55:18 +00:00
Chia-I Wu 9eda61c931 vulkan/runtime, radv: remove 1D support from ETC2 emulation
The nir code deos not support 1D.  There is also no point in supporting
1D ETC2 images.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25071>
2023-10-06 00:55:18 +00:00
Chia-I Wu fb40fb595b vulkan/runtime: fix a harmless typo for ETC2 emulation
Init input_img_3d correctly.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25071>
2023-10-06 00:55:18 +00:00
Chia-I Wu 9c98be7115 vulkan/runtime: fix image type check for ETC2 emulation
There was a typo causing the wrong push constant to be loaded.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25071>
2023-10-06 00:55:18 +00:00
Chia-I Wu afdbeaf1b4 radv: use vk_tecompress_etc2 from the runtime
There are some minor differences

 - fix incorrectly use of device->meta_state.resolve_compute.p_layout
 - when on_demand is true, the creation of ds and pipeline layouts are
   also deferred
 - unlike radv_meta_get_view_type, vk_texcompress_etc2_image_view_type
   returns 1d/2d array image views

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25071>
2023-10-06 00:55:18 +00:00
Chia-I Wu 0337b5d8c4 vulkan/runtime: add a helper for ETC2 emulation
This is based on radv's ETC2 emulation.  There is no real change to the
generated NIR shader.

v2: rename vk_texcompress_etc2_image_format to vk_texcompress_etc2_emulation_format
    update the comments

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25071>
2023-10-06 00:55:18 +00:00
Danylo Piliaiev 7caf3e70a1 tu: Fix VK_FORMAT_A8_UNORM_KHR using UBWC when !has_8bpp_ubwc
Fixes hangs in Anno 1800 with DXVK 2.3

Fixes: 302907e347
("tu: Expose VK_KHR_maintenance5")

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25567>
2023-10-05 22:36:06 +00:00
Konstantin Seurer ac838c1c5c mesa: Fix glBegin/End when LINE_LOOP is not supported
Emits the first vertex inside glEnd.

cc: mesa-stable

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25346>
2023-10-05 21:52:37 +00:00
Georg Lehmann 7b4f0e714c aco/gfx11: support vinterp as fma_mix
Totals from 718 (0.94% of 76572) affected shaders:
Instrs: 657897 -> 654219 (-0.56%)
CodeSize: 3471668 -> 3457352 (-0.41%); split: -0.41%, +0.00%
VGPRs: 34200 -> 34164 (-0.11%)
Latency: 11687698 -> 11677030 (-0.09%); split: -0.10%, +0.00%
InvThroughput: 1455371 -> 1451537 (-0.26%); split: -0.26%, +0.00%
VClause: 7598 -> 7600 (+0.03%)
SClause: 18293 -> 18241 (-0.28%); split: -0.44%, +0.15%
Copies: 34641 -> 34644 (+0.01%); split: -0.05%, +0.06%

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25220>
2023-10-05 20:02:53 +00:00
Georg Lehmann 7d7657ef74 aco: support v_fma_f32_dpp as fma_mix
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25220>
2023-10-05 20:02:53 +00:00
Georg Lehmann 5e9fad48bf aco/gfx11: apply clamp/omod to vinterp
Totals from 2504 (3.27% of 76572) affected shaders:
MaxWaves: 74098 -> 74106 (+0.01%)
Instrs: 1829278 -> 1823427 (-0.32%); split: -0.32%, +0.00%
CodeSize: 9775908 -> 9759308 (-0.17%); split: -0.18%, +0.01%
Latency: 13494107 -> 13485390 (-0.06%); split: -0.10%, +0.04%
InvThroughput: 2052428 -> 2048724 (-0.18%); split: -0.18%, +0.00%
VClause: 26637 -> 26640 (+0.01%); split: -0.04%, +0.05%
SClause: 62027 -> 61988 (-0.06%); split: -0.14%, +0.08%
Copies: 73776 -> 73815 (+0.05%); split: -0.07%, +0.12%
PreVGPRs: 84403 -> 84397 (-0.01%)

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25220>
2023-10-05 20:02:53 +00:00
Marek Olšák 7196b5318d Revert "ac/gpu_info: replace ib_alignment with per-IP IB base and size alignments"
This reverts commit b6f435888b.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25558>
2023-10-05 19:12:29 +00:00
Marek Olšák 5f42a21dad Revert "ac/gpu_info: pad IBs according to ib_size_alignment"
This reverts commit 4f660f9937.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25558>
2023-10-05 19:12:29 +00:00
Marek Olšák 29f9c49228 Revert "winsys/amdgpu: pad gfx and compute IBs with a single NOP packet"
This reverts commit 43e7285069.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25558>
2023-10-05 19:12:29 +00:00
Marek Olšák 461cb2fd77 Revert "radv: fix alignment of DGC command buffers"
This reverts commit b01e874234.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25558>
2023-10-05 19:12:29 +00:00
Marek Olšák 94f117ec9b Revert "radv/amdgpu: fix alignment of command buffers"
This reverts commit 4bc58c9f11.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25558>
2023-10-05 19:12:29 +00:00
Marek Olšák b4be110333 Revert "ac/gpu_info: override ib_size_alignment for VCN_DEC and JPEG"
This reverts commit 867a995ce7.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25558>
2023-10-05 19:12:29 +00:00
David Heidelberg 194bcef733 ci/bare-metal: drop unused imports, sort, use SPDX license
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25285>
2023-10-05 17:10:20 +00:00
David Heidelberg daf1df9b70 ci/bare-metal: correct workaround for R8152 issue while retrieving TFTP data
1. Move block used for detecting R8152 problems to the bootloader
phase where it belongs. Also remove requirement to 100 failures and just
retry immediatelly.

2. Consider job failed after 10 errors, not 100. From the logs on
   cheza-14, ~ 30 errors is enough to fail.

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25285>
2023-10-05 17:10:20 +00:00
Erik Faye-Lund 9c2212f9b3 docs/panfrost: use math-role to denote powers of two
We do this elsewhere in the article, so let's be consistent here.

Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24921>
2023-10-05 15:49:46 +00:00
Erik Faye-Lund 80e8c78fed docs/panfrost: use code-blocks with wrapping for long blocks
This makes it a lot easier to read the code-blocks, because we don't
*always* need to scroll.

Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24921>
2023-10-05 15:49:46 +00:00
Erik Faye-Lund 3e27d8f2d4 docs/panfrost: link to lima
In the age of the internet, we can use hyperlinking to content instead
of just telling users about something! Let's do that here as well!

Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24921>
2023-10-05 15:49:46 +00:00
Samuel Pitoiset 2e5d2df362 radv/ci: cleanup list of expected failures for NAVI10/NAVI21/VEGA10
These are flakes, not failures. Remove them from the list of expected
failures to avoid confusion.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25557>
2023-10-05 15:08:37 +00:00
Samuel Pitoiset 0c4b4000aa radv/ci: remove no longer existing test for VANGOGH
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25557>
2023-10-05 15:08:37 +00:00
Samuel Pitoiset be32502979 radv: fix synchronization with emulated GS primitives/invocations queries
Move emitting the EOP even which writes the availability bit after the
GDS copy to ensure it's available.

This should fix all GS primitives/invocations flakes in CI.

Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25457>
2023-10-05 14:17:56 +00:00
Samuel Pitoiset f2819c3870 radv/ci: exclude dEQP-VK.texture.explicit_lod.2d.sizes.128x128_* for all jobs
These tests usually take more than 20s to finish which is slow.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25556>
2023-10-05 12:34:59 +00:00
Samuel Pitoiset aabf53ce6b radv/ci: remove duplicate skipped tests for RAVEN/STONEY
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25556>
2023-10-05 12:34:59 +00:00
Georg Lehmann 34d8fa6185 aco/gfx11: optimize dual source export
We can combine dpp with the v_cndmask_b32.

Foz-DB Navi31:
Totals from 222 (0.28% of 79330) affected shaders:
Instrs: 564392 -> 563373 (-0.18%); split: -0.19%, +0.01%
CodeSize: 2867040 -> 2864728 (-0.08%); split: -0.09%, +0.01%
Latency: 4278957 -> 4275199 (-0.09%); split: -0.09%, +0.00%
InvThroughput: 586636 -> 585824 (-0.14%); split: -0.14%, +0.00%
SClause: 20210 -> 20211 (+0.00%); split: -0.02%, +0.02%
Copies: 39763 -> 39778 (+0.04%); split: -0.13%, +0.17%
PreVGPRs: 13924 -> 13922 (-0.01%)

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25541>
2023-10-05 10:37:34 +00:00
Ganesh Belgur Ramachandra e3e47aa96e radeonsi: "clear_12bytes_buffer" shader in nir
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25221>
2023-10-05 09:43:11 +00:00
Ganesh Belgur Ramachandra 3f44a8321f radeonsi: "clear_render_target_1d_array" shader in nir
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25221>
2023-10-05 09:43:11 +00:00
Ganesh Belgur Ramachandra d0b14c56ea radeonsi: "clear_render_target" shader in nir
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25221>
2023-10-05 09:43:11 +00:00
Marek Olšák 9f569acf20 ac/surface: don't require exact pitch for gfx6-8 tiled imports
It was reported that it broke Stoney. Something probably uses a suboptimal
pitch, like minigbm.

Fixes: 7d066330e0 - ac/surface: relax custom pitch requirements to any multiple of 256B on gfx10.3+

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25540>
2023-10-05 07:27:02 +00:00
Marek Olšák 340218c51e radeonsi: upload shaders via a staging buffer so as not to map VRAM directly
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25494>
2023-10-04 23:53:19 -04:00