Lucas Stach
83c40aa3f4
ci/etnaviv: update expectation after piglit uprev
...
7e82c59fa4
("Uprev Piglit to dd6f7eaf82e8dd442da28b346c236141cbcce0b1") pulled
in fixes to the testsuite, which makes two more tests pass on GC2000.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Acked-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28744 >
2024-04-15 14:08:00 +02:00
Eric R. Smith
e3d123b7a6
panfrost: fix a GPU/CPU synchronization problem
...
Remove a premature optimization. When PIPE_MAP_DISCARD_WHOLE_RESOURCE
is set we were setting create_new_bo, and then if that was set we skipped
a set of tests which if passed would cause a panfrost_flush_writer.
In fact we need that flush in some cases (e.g. when any batch is
reading the resource). Moreover, we should sometimes copy the resource
(set the copy_resource flag) and that again was being skipped if
create_new_bo was initially true due to PIPE_MAP_DISCARD_WHOLE_RESOURCE
being set.
Cc: mesa-stable
Signed-off-by: Eric R. Smith <eric.smith@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28406 >
2024-04-15 10:52:52 +00:00
Lucas Stach
87bfad9efa
etnaviv: rs: treat depth-only clear to X8Z24 surfaces as full clear
...
X8Z24 surfaces have a don't care stencil channel, which is okay to be
cleared together with the depth channel. Set the depth clear bits
accordingly to allow those clears to use the fast-clear path when
only depth is to be cleared. This change aligns the RS with the BLT
ZS clear path.
Fixes: df63f188e8
("etnaviv: fix separate depth/stencil clears")
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28696 >
2024-04-15 10:24:22 +00:00
Lucas Stach
fc0d65e54f
etnaviv: ci: update expectation with fixed depth/stencil clears
...
Now that we properly switch between fast/regular clears for depth/stencil
surfaces as needed and fixed the resulting corner-case issues, there are
two more passing dEQP tests.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28696 >
2024-04-15 10:24:22 +00:00
Lucas Stach
f69794b503
etnaviv: split TS and non-TS RS clear commands
...
Currently both TS and non-TS paths use the same place to store the compiled
RS commands to clear the surface. In the TS case the commands only initialize
the TS buffer, while the non-TS commands clear the whole buffer. The
assumption here is that a TS enabled surface will only ever be fast cleared,
which doesn't hold anymore, now that we can fall back to slow clears on TS
enabled depth/stencil buffers.
The fallback to a slow clear will overwrite the stored RS commands with a
full buffer clear. If we can transition to a fast clear later, the commands
to initialize the TS buffer will not be regenerated and a full buffer clear
will be submitted instead. In addition to the performance degradation, it
will also leave TS in an inconsistent state, as the TS buffer will not be
initialized, but the TS state still gets marked as valid.
To avoid this confusion and not introduce any more state tracking to remember
the target of the clear commands and regenerate TS clears if needed, simply
split the storage for compiled TS and non-TS clear commands.
Fixes: df63f188e8
("etnaviv: fix separate depth/stencil clears")
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28696 >
2024-04-15 10:24:22 +00:00
Lucas Stach
06ce243a73
etnaviv: trigger TS derivation after slow clear
...
Now that we switch dynamically between fast (TS) and slow (regular)
clears on TS enabled surfaces, we must trigger reevaluation of the
current TS state also after a slow clear, as otherwise the PE might
continue to use the invalidated TS state.
Fixes: df63f188e8
("etnaviv: fix separate depth/stencil clears")
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28696 >
2024-04-15 10:24:22 +00:00
Martin Krastev
f2f486a7eb
svga/ci: disable vmware farm
...
Farm is going down for network maintenance.
Signed-off-by: Martin Krastev <martin.krastev@broadcom.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28737 >
2024-04-15 09:18:00 +00:00
Samuel Pitoiset
502f0091de
radv/rt: stop computing unused hash for the traversal shader
...
This isn't used at all.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28711 >
2024-04-15 08:49:21 +00:00
Samuel Pitoiset
9a5016d54d
radv/rt: use radv_pipeline_hash_shader_stage()
...
It should be equivalent.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28711 >
2024-04-15 08:49:21 +00:00
Christian Gmeiner
12059eedfe
etnaviv: Drop not needed check if seamless cube map is supported
...
With commit f2506780c8
("mesa/st: Only set seamless for GLES3") ss->seamless_cube_map
should behave as wanted. For GLES2 it can only be set when PIPE_CAP_SEAMLESS_CUBE_MAP_PER_TEXTURE
is supported.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28669 >
2024-04-15 08:29:02 +00:00
Konstantin Seurer
429f953d8f
Revert "gallivm/ssbo: mask offset with exec_mask instead of building the 'if'"
...
mem_access_base_pointer loads memory (the descriptor) and therefore
needs to be guarded. Fixes
dEQP-VK.spirv_assembly.instruction.terminate_invocation.terminate.no_null_pointer_load.
Fixes: fc8a83c
("gallivm/ssbo: mask offset with exec_mask instead of building the 'if'")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28614 >
2024-04-15 07:53:39 +00:00
Samuel Pitoiset
4586451b2d
radv: add missing SQTT markers when an indirect indexed draw is used with DGC
...
Since DGC preprocessing for IBO is supported, the driver generates
an indexed indirect draw but SQTT markers were missing and this
introduced complete non-sense in RGP captures.
Fixes: e59a16bbb8
("radv: use an indirect draw when IBO isn't updated as part of DGC")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28710 >
2024-04-15 07:22:49 +00:00
David Rosca
4a19047d32
radv/video: Select temporal layer when encoding each frame
...
This makes the rate control per temporal layer work.
Fixes: 54d499818c
("radv/video: add initial support for encoding with h264.")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28734 >
2024-04-15 09:58:19 +10:00
David Rosca
3393e56373
radv/video: Set VBV buffer size and level
...
Fixes: 54d499818c
("radv/video: add initial support for encoding with h264.")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28734 >
2024-04-15 09:58:17 +10:00
David Rosca
8875a79513
radv/video: Set correct bitstream buffer size
...
Fixes
dEQP-VK.video.encode.h264_i_p_not_matching_order
dEQP-VK.video.encode.h265_i_p_not_matching_order
Fixes: 54d499818c
("radv/video: add initial support for encoding with h264.")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28734 >
2024-04-15 09:58:14 +10:00
David Rosca
5df45c0f99
radv/video: Fix setting slice QP
...
constantQp will be 0 according to spec for any rate control method
other than NONE, so it should only be used with NONE rate control and
not when default rate control (which is internally NONE) is used.
Also it shouldn't override min/max QP.
Fixes: 54d499818c
("radv/video: add initial support for encoding with h264.")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28734 >
2024-04-15 09:57:49 +10:00
Timur Kristóf
2b1031ec10
nir/opt_varyings: Add workaround for RADV mesh shader multiview.
...
The layer output is added in ac_nir_lower_ngg which is called
later than this pass; prevent deleting layer input from FS here.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28685 >
2024-04-14 19:51:12 +00:00
Timur Kristóf
91dd9c35be
nir/opt_varyings: Fix relocate_slot so it doesn't mix up 32-bit and 16-bit I/O.
...
Previously, nir_opt_varyings was unable to distinguish between
a fully occupied 32-bit flat input and the low part of a 16-bit
flat input, and would assign them the same slot, thereby messing
up both I/O slots in the process.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28685 >
2024-04-14 19:51:12 +00:00
Timur Kristóf
7e43c2d08f
nir/opt_varyings: Debug print during relocate_slot.
...
VERY useful when debugging issues with this pass.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28685 >
2024-04-14 19:51:11 +00:00
Timur Kristóf
bf2227d0d0
nir/opt_varyings: Only propagate constant MS outputs, not other uniforms.
...
Due to how mesh shaders work, we'll need a workgroup divergence
pass in order to really prove that an output is uniform.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28685 >
2024-04-14 19:51:11 +00:00
Timur Kristóf
5dd1461ca4
nir/opt_varyings: Add early return when producer stage is task.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28685 >
2024-04-14 19:51:11 +00:00
Timur Kristóf
a083a25a80
nir/opt_varyings: Fix explicit and per-vertex FS inputs.
...
Fixes: 772149b15a
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28685 >
2024-04-14 19:51:11 +00:00
Timur Kristóf
586acb47c8
nir/opt_varyings: Support per-primitive I/O.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28685 >
2024-04-14 19:51:11 +00:00
Timur Kristóf
21ff2907c7
nir/opt_varyings: Allow optimizing primitive ID for MS -> FS.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28685 >
2024-04-14 19:51:11 +00:00
Timur Kristóf
8792098772
nir/lower_io_to_scalar: Support per-primitive outputs.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28685 >
2024-04-14 19:51:11 +00:00
Timur Kristóf
38bd578029
nir/lower_io_to_scalar: Support explicit (and per-vertex) FS inputs.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28685 >
2024-04-14 19:51:11 +00:00
Timur Kristóf
433fe2022c
nir/gather_info: Clear per-primitive I/O masks at the beginning.
...
Fixes: b085248819
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28685 >
2024-04-14 19:51:11 +00:00
Timur Kristóf
28c0f6f369
nir/recompute_io_bases: Fix per-primitive inputs.
...
This was a mistake, the decision shouldn't be based on shader info.
Fixes: 8a24610477
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28685 >
2024-04-14 19:51:11 +00:00
Timur Kristóf
723b3d354e
nir/print: Print per-primitive and explicit strict IO info.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28685 >
2024-04-14 19:51:11 +00:00
Konstantin Seurer
566174785c
lavapipe: Explicitely support ycbcr formats
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28697 >
2024-04-14 17:32:56 +00:00
Konstantin Seurer
8f5fb4e095
lavapipe: Handle multiple planes in GetDescriptorEXT
...
Fixes: a13a07d
("lavapipe: add descriptor sets bindings for planar images")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28697 >
2024-04-14 17:32:56 +00:00
Konstantin Seurer
c48d6097cd
lavapipe: Do nort use NIR_PASS during lowering
...
NIR_DEBUG=clone,serialize replaces the whole shader which invalidates
the build state.
Fixes: d99e95e
("lavapipe: Implement VK_KHR_ray_tracing_pipeline")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28716 >
2024-04-14 16:58:52 +00:00
Konstantin Seurer
4335d006a7
lavapipe: Implement ray_tracing_maintenance1 queries
...
Fixes: 1f729d9
("lavapipe: Implement KHR_ray_tracing_maintenance1")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28716 >
2024-04-14 16:58:52 +00:00
Konstantin Seurer
a26f96ed3d
lavapipe: Handle accel struct queries in handle_copy_query_pool_results
...
Fixes: 897ccbd
("lavapipe: Implement VK_KHR_acceleration_structure")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28716 >
2024-04-14 16:58:52 +00:00
Pavel Ondračka
6cc780173a
r300/ci: failures list update
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28726 >
2024-04-13 17:22:56 +00:00
Marek Olšák
fe35a8b00e
nir: change "user_data_amd" sysval from 4 to 8 components
...
so that we can pass more fast constants to compute shaders (without
reading memory in the shader).
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28606 >
2024-04-13 16:45:08 +00:00
Marek Olšák
c1f750eed9
nir: add nir_intrinsic_optimization_barrier_sgpr_amd
...
for radeonsi
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28606 >
2024-04-13 16:45:08 +00:00
Marek Olšák
6426f6de6a
nir: allow FP16 in nir_format_linear_to_srgb
...
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28606 >
2024-04-13 16:45:08 +00:00
Marek Olšák
281e08714e
nir: add more build helpers
...
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28606 >
2024-04-13 16:45:08 +00:00
M Henning
b681677f7d
nak: Rewrite union_find and use it in repair_ssa
...
The new UnionFind is safe code, is generic over the element type, and
uses constant stack space.
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27454 >
2024-04-13 15:55:44 +00:00
M Henning
b5f4c54d0d
nak: Remove old union_find implementation
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27454 >
2024-04-13 15:55:44 +00:00
David Heidelberg
7101ed7f88
ci: temporarily disable Android test builds
...
We need to figure out:
a) how to download the images
b) where to host them (1G+)
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
b9c80ee59e
etnaviv: drm: Remove fallback value for ETNA_GPU_NUM_CONSTANTS
...
The kernel commit a8c21a5451d8 ("drm/etnaviv: add initial etnaviv DRM driver") has this
fallback logic already.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
57a662fc4c
etnaviv: Copy values from etna_core_info
...
There is no need to query them again.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
e60e045b89
etnaviv: drm: Fill limits
...
Note: etna_gpu_get_param(..) will only fail if a wrong enum etna_param_id
param value is passed.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
def32f8668
etnaviv: hwdb: Fill limits
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
b68e868d31
etnaviv: common: Add some limit values
...
These are loosely based on struct etna_specs.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
ef19966e38
etnaviv: common: Add enum etna_core_type
...
We support the following two core types: GPU and NPU.
Both are using the 3d pipe to submit work so the only way to
differentiate is the nn core count.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
aaccc25a4d
etnaviv: drm: Make use of hwdb
...
If the kernel provides correct ID values query the hwdb.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
2192e620bb
etnaviv: hwdb: Add etna_query_feature_db(..)
...
This function is used to
- find a database entry
- fill our etna_device_info struct
If no database entry is found we just return false.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00