Commit Graph

190776 Commits

Author SHA1 Message Date
Konstantin Seurer 03483ecb11 radv: Destroy leaf_updateable_pipeline
The pipeline was never destroyed. Fixes an assert in ac_sqtt_finish.

Fixes: 217072d ("radv/rt: Force active leaves for every updateable accel struct")
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28557>
2024-04-10 08:23:14 +00:00
Georg Lehmann 702f40f415 aco: add ra test for hi v_interp_p2_f16
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28435>
2024-04-10 07:49:27 +00:00
Georg Lehmann e2cb9c57a2 aco: use v_interp_p2_f16 opsel
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28435>
2024-04-10 07:49:27 +00:00
Georg Lehmann d15ca421c4 aco/gfx9: all non legacy opsel instructions only write 16bits
This affects 16bit VOP3 instructions that were new on gfx9, like max3.

No Foz-DB changes on vega10.

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28435>
2024-04-10 07:49:27 +00:00
Georg Lehmann 18706947e8 aco/tests: add assembler tests for interp high_16bits
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28435>
2024-04-10 07:49:27 +00:00
Georg Lehmann 4b5016a537 aco: support high_16bits FS IO
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28435>
2024-04-10 07:49:27 +00:00
Georg Lehmann af199c6949 aco: swap opsel and wait_exp for vinterp
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28435>
2024-04-10 07:49:26 +00:00
Georg Lehmann 81a334a594 aco/assembler: add vintrp high_16bit support
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28435>
2024-04-10 07:49:26 +00:00
Georg Lehmann 893ee883fe aco: use v1 definition for v_interp_p1lv_f16
The result of the first interpolation step is always fp32.

Fixes: 1647e098e9 ("aco: implement 16-bit interp")
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28435>
2024-04-10 07:49:26 +00:00
Samuel Pitoiset 2526d1020b radv/rt: stop passing pCreateInfo to radv_ray_tracing_pipeline_cache_search()
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28645>
2024-04-10 06:38:38 +00:00
Samuel Pitoiset 5db1ce3733 radv/rt: handle creation feedback like graphics/compute pipelines
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28645>
2024-04-10 06:38:38 +00:00
Samuel Pitoiset c73e5e08e0 radv/rt: constify device in radv_init_rt_stage_hashes()
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28645>
2024-04-10 06:38:38 +00:00
Samuel Pitoiset 7bb437f3d6 radv: stop using a graphics pipeline for generating the graphics key
For future work.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28645>
2024-04-10 06:38:37 +00:00
Samuel Pitoiset 1b05570d6c radv: add skip_shaders_cache also for compute/rt pipelines
Similarly to graphics pipelines. For future work.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28645>
2024-04-10 06:38:37 +00:00
Samuel Pitoiset f6d9772010 radv: determine if the cache is disabled at device creation time
It's a cleanup but also for future work.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28645>
2024-04-10 06:38:37 +00:00
Tapani Pälli 0413729bc3 intel/compiler: add assert for Wa_22017182272
According to the workaround description:
   "For all Data Port messages, DP_FLUSH_TYPE should not be
    programmed to Discard."

This issue happens only with certain circumstances but as we are not
using discard, add assert and deal with it later if discard is taken in
to use.

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24422>
2024-04-10 06:03:58 +00:00
Tapani Pälli 7d4c23991a intel/blorp: remove unused blorp batch flag
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28623>
2024-04-10 05:38:24 +00:00
Yiwei Zhang c603dee104 venus: use STACK_ARRAY to simplify descriptor set update and push
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28563>
2024-04-10 01:01:37 +00:00
Yiwei Zhang 1521415092 venus: refactor descriptor set update and push
Split the write image counting out to a separate helper
vn_descriptor_set_count_write_image to prepare for STACK_ARRAY.

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28563>
2024-04-10 01:01:37 +00:00
Yiwei Zhang 563a61878c venus: drop vn_should_sanitize_descriptor_set_writes
The check won't reduce much of the overhead but also adds more when
something is to be fixed (mostly the case for push descriptor).

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28563>
2024-04-10 01:01:37 +00:00
Yiwei Zhang 21dee4d463 venus: misc set alloc and cleanup refactors
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28563>
2024-04-10 01:01:37 +00:00
Yiwei Zhang e488b2f85e venus: optimize mutable state restore
Summary:
1. skip zero count
2. no need to check last binding count on the restore path
3. flatten the helper to avoid a 2nd pass in free_descriptors

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28563>
2024-04-10 01:01:37 +00:00
Yiwei Zhang 799ac5d77b venus: set alloc to skip earlier for reserved and invalid bindings
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28563>
2024-04-10 01:01:37 +00:00
Yiwei Zhang 0f47d43eee venus: move async_set_allocation check outside helpers
This is to balance with other checks against it, and meanwhile making it
explicit that real descriptor free shouldn't call the free helper.

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28563>
2024-04-10 01:01:37 +00:00
Yiwei Zhang 7d5c046c80 venus: rely on enum vn_descriptor_type for internal trackings
then we don't have to convert at runtime for set allocations

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28563>
2024-04-10 01:01:37 +00:00
Jesse Natalie 2c1cb65949 d3d12: Include <shlobj.h> with lowercase name
The Windows SDK file is <ShlObj.h> but MinGW uses <shlobj.h>. Since
Linux is case-sensitive and Windows isn't, use the MinGW casing.

Fixes: 05b66efb ("d3d12: Add a debug flag for loading WinPixGpuCapturer.dll")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10970
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28635>
2024-04-09 20:30:13 +00:00
M Henning 1fb74672a9 nak: Use undef for unset FSOut components
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27742>
2024-04-09 20:13:16 +00:00
M Henning fdfccfa8fa nak: Set fewer bits in writes_color
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27742>
2024-04-09 20:13:16 +00:00
M Henning 078fe5454e nak: Fix ldg/stg/atomg encoding to use globalmem
Previously, we were encoding these as the generic pointer ld/st/atom,
which often works but would likely break if you happened to allocate
a page in the wrong spot.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28589>
2024-04-09 19:51:25 +00:00
Lucas Fryzek b4bf44a574 ci/lp: Remove ext buffer YUV tests from fails
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28612>
2024-04-09 19:13:34 +00:00
Lucas Fryzek 58b4bf04e4 lp: Wrap udmabuf usage in HAVE_LIBDRM ifdef
Fixes #10969 by ensuring umdabuf functionality is only used when libdrm
is available.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28612>
2024-04-09 19:13:34 +00:00
Chia-I Wu 18e6bb322e radv: fix 2d/3d image copy on compute queue
build_nir_itoi_compute_shader did not handle copies between 2D and 3D
images.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28605>
2024-04-09 18:15:41 +00:00
Samuel Pitoiset fdffa675f9 docs: mark VK_KHR_maintenance6 as DONE for RADV
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28654>
2024-04-09 16:53:13 +00:00
Eric R. Smith 4c12ac5f7c panfrost: fix polygon offset calculation for floating point Z
For fixed point Z the offset_units passed to glPolygonOffset
must be scaled by 2, and we do that. However, this scaling is not
needed for floating point output, and actually produces incorrect Z
values. The detailed description of the depth offset is in
e.g. section 13.7.2 of the OpenGL ES 3.2 spec. Note that equation (13.11)
has no factor of 2. That factor is what we get as the minimum
resolvable difference in a 24 bit fixed point format.

After this patch the output Z for a 32 bit floating point depth
buffer exactly match what the software renderer produces, and are extremely
close (off by 1 ULP) to the amdgpu hardware renderer; before the
patch they were significantly different.

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/28477>
2024-04-09 16:30:22 +00:00
Sil Vilerino 54ca0b3b21 d3d12/ci: Add vainfo with appverifier CI check
This trivially covers VA initialization/destruction path
is working with the d3d12 gallium driver, and also check
for leaks using appverifier.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28577>
2024-04-09 15:37:23 +00:00
Christian Gmeiner 5028a9ede3 ci/etnaviv: Do not skip tex-miplevel piglits
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Acked-by: David Heidelberg <david.heidelberg@collabora.com>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28631>
2024-04-09 12:55:21 +00:00
Zan Dobersek 85a8cc14c0 tu/query: improve CP_EVENT_WRITE7::ZPASS_DONE usage
The WRITE_SAMPLE_COUNT_DIFF attribute of CP_EVENT_WRITE7 calculates the
difference between the begin and end sample-count values, but it in fact
accumulates that difference in the desired location, so it's renamed
to reflect that.

When writing out the ending-point samples count for the occlusion query
through CP_EVENT_WRITE7::ZPASS_DONE, enable the SAMPLE_COUNT_END_OFFSET and
WRITE_ACCUM_SAMPLE_COUNT_DIFF attributes on the event struct and use the
address of the beginning-count value. The latter adjustment is necessary
since the difference will be written 8 bytes into the buffer and the
ending-count will be written 16 bytes into the buffer.

With the occlusion query result now being handily accumulated in the query
buffer as long as the hardware supports it, the occlusion_query_slot struct
is adjusted to reflect that. On pre-a740 hardware the difference is still
calculated and stored in the result location, whereas on newer hardware
CP_EVENT_WRITE7::ZPASS_DONE can do it for us.

Signed-off-by: Zan Dobersek <zdobersek@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28610>
2024-04-09 12:04:16 +00:00
Zan Dobersek 1df5ab2562 tu: RB_SAMPLE_COUNT_ADDR is also used on a7xx
Remove the 'A6XX' variant attribute from the RB_SAMPLE_COUNT_ADDR register
definition since this register is also used up to a730, being displaced
from a740 onwards by CP_EVENT_WRITE7::WRITE_SAMPLE_COUNT.

Signed-off-by: Zan Dobersek <zdobersek@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28610>
2024-04-09 12:04:16 +00:00
Zan Dobersek b2613ba0fb tu/autotune: use SAMPLE_COUNT_END_OFFSET when writing the ending sample count
Use the SAMPLE_COUNT_END_OFFSET attribute when writing out the sample count
at the end of ZPASS_DONE event, if the GPU version supports it. The write
is done 16 bytes into the specified iova address, which is already where
the tu_renderpass_samples struct on top of that address expects the end
value.

Signed-off-by: Zan Dobersek <zdobersek@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28610>
2024-04-09 12:04:16 +00:00
Lionel Landwerlin 85dd83aa46 anv: only check patch_control_points changes in runtime flush
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/28396>
2024-04-09 11:32:48 +00:00
David Heidelberg e2bcbcd24f r600: fix typos
No functional changes intended.

Acked-by: Gert Wollny <gert.wollny@collabora.com>
Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28395>
2024-04-09 08:56:08 +00:00
David Heidelberg fd3d125343 r600: add license information to the sfn_shader_gs.h
Fixes: 79ca456b48 ("r600/sfn: rewrite NIR backend")
Acked-by: Gert Wollny <gert.wollny@collabora.com>
Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28395>
2024-04-09 08:56:08 +00:00
David Heidelberg 722e5bf46f r600: add license info to the r600_opcodes.h
Fixes: a3a94554f5 ("r600g: split opcodes out and add wrapper around usage.")
Acked-by: Gert Wollny <gert.wollny@collabora.com>
Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28395>
2024-04-09 08:56:08 +00:00
David Heidelberg 0020dd85ee r600: add license header to r600_formats.h
The header was missing after the definitions were moved.

Fixes: 82114ac02a ("r600g: switch to a common formats.h file since they are in different regs")

Acked-by: Gert Wollny <gert.wollny@collabora.com>
Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28395>
2024-04-09 08:56:08 +00:00
David Heidelberg fb8cf56b75 r600: update licensing to SPDX header
Acked-by: Gert Wollny <gert.wollny@collabora.com>
Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28395>
2024-04-09 08:56:08 +00:00
David Heidelberg c423f48204 frontend/nine: fix typos
Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28232>
2024-04-09 10:30:40 +02:00
Axel Davy c6468f6547 frontend/nine: Reset should EndScene
This was reported by some users.

Cc: mesa-stable
Signed-off-by: Axel Davy <davyaxel0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28232>
2024-04-09 10:30:40 +02:00
Axel Davy d6044cf857 frontend/nine: Fix destruction race
As we were checking the bind count after decreasing the ref count,
we could hit a situation where the worker thread decreases the bind count
just after the ref count is decreased, but before the bind count is checked
which would lead to both threads calling the resource dtor.

Cc: mesa-stable
Signed-off-by: Axel Davy <davyaxel0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28232>
2024-04-09 10:30:40 +02:00
Axel Davy b4a14c7ebf frontend/nine: Fix missing light flag check
The constants for ff lights use the VIEW matrix,
thus we must update them if the matrix is dirty.

Cc: mesa-stable

Signed-off-by: Axel Davy <davyaxel0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28232>
2024-04-09 10:30:40 +02:00
Axel Davy d3cec6cdf1 frontend/nine: Fix programmable vs check
Checking if context->vs is set is not
equivalent to checking programmable vs

Cc: mesa-stable
Signed-off-by: Axel Davy <davyaxel0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28232>
2024-04-09 10:30:39 +02:00