Commit Graph

177110 Commits

Author SHA1 Message Date
Pavel Ondračka c8ef840081 r300: remove ntr_tgsi_usage_mask
This is just u_bit_consecutive for non-64bit.

Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Filip Gawin <filip.gawin@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23437>
2023-08-21 20:10:39 +00:00
Pavel Ondračka e81c64f2fa r300: remove unused integer support in ntr
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Filip Gawin <filip.gawin@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23437>
2023-08-21 20:10:39 +00:00
Pavel Ondračka fcefbf9599 r300: remove irrelevant opcodes in ntr
Remove anything unsupported by the hardware, including the 64bit
variants.

Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Filip Gawin <filip.gawin@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23437>
2023-08-21 20:10:39 +00:00
Pavel Ondračka 98ae4efcec r300: remove unused intrinsics in ntr
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Filip Gawin <filip.gawin@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23437>
2023-08-21 20:10:39 +00:00
Pavel Ondračka 553c1d33dd r300: add lower_sqrt to nir option
This is now by default for ntt, but we will get rid of the default
definitions soon.

Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Filip Gawin <filip.gawin@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23437>
2023-08-21 20:10:39 +00:00
Pavel Ondračka ed8b7eaec9 r300: copy ntt to r300 compiler
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Filip Gawin <filip.gawin@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23437>
2023-08-21 20:10:39 +00:00
Tatsuyuki Ishi 6c5512568b radv/amdgpu: Do not pass in a BO handle when clearing PRT VA region.
This field is invalid to access for virtual BOs.

Fixes: a931d5a4a4 ("radv/winsys: clear the PRT VA range when destroying a virtual BO")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24805>
2023-08-21 17:24:35 +00:00
M Henning 2b78fe5b95 nv/codegen: Delete OP_POW
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24796>
2023-08-21 15:34:14 +00:00
M Henning 4ac1f4bf7d nv50_ir_from_nir: Use nir's lower_fpow
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24796>
2023-08-21 15:34:14 +00:00
George Ouzounoudis eb5cabf3ae nouveau/codegen: Add a 4th optimization level for MemoryOpts
MemoryOpt optimization pass makes some tests in NVK fail. Until its
fixed in codegen or implemented on NIR instead, move it to a 4th level.
This affects the GL driver as well, but less often.

Fixes dEQP-VK.pipeline.monolithic.dynamic_control_points.change_output*

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24705>
2023-08-21 14:26:34 +00:00
Konstantin Seurer 2943bc34e9 radv: Remove leaf_args::dst_offset
We can use first_id instead.

Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24756>
2023-08-21 12:45:06 +00:00
Konstantin Seurer 90a24c7cb3 radv: Add internal_nodes_offset to scratch_layout
It shouldn't be a part of bvh_state.

Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24756>
2023-08-21 12:45:06 +00:00
Samuel Pitoiset 85cc70a629 zink/ci: update list of expected failures for NAVI10
This matches recent VanGogh CI list changes.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24807>
2023-08-21 12:12:22 +00:00
Erik Faye-Lund db8e49682d docs: expand mobile-menu without js
Without javascript support, a user can't expand the menu. So let's
leave it always-expanded in that case.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24721>
2023-08-21 12:03:20 +00:00
Samuel Pitoiset b8b42be555 radv/amdgpu: add support for submitting external IBs with the chained path
External IBs are currently only used for DGC. With the chained path,
these IBs will only be used to workaround missing IB2 packet on the
compute queue, which is rare enough to care about chaining inside CS.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24207>
2023-08-21 10:52:13 +00:00
Samuel Pitoiset 33f584f033 radv/amdgpu: allow to execute external IBs on the compute queue
IB2 isn't supported on ACE, so external IBs should be submitted as IB1.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24207>
2023-08-21 10:52:13 +00:00
Samuel Pitoiset e3fae01730 Revert "radv/amdgpu: skip adding per VM BOs for sparse during CS BO list build"
This reverts commit 51caece74c.

Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24774>
2023-08-21 09:42:51 +00:00
Samuel Pitoiset f67eb9ce07 Revert "radv/amdgpu: workaround a kernel bug when replacing sparse mappings"
This workaround was added temporarily but it can actually cause
stuttering in some games like Forza Horizon 5.

The kernel fix
(https://lists.freedesktop.org/archives/amd-gfx/2023-June/094648.html)
landed in some stable kernels (5.15.121+, 6.1.40+ and 6.4.5+). Sadly,
older stable kernels don't have it, so you might experiment random GPU
hangs in games that use sparse mapping. Please ensure your kernel is
up-to-date for the best experience.

This reverts commit 9b00867327.

Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9443
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24774>
2023-08-21 09:42:51 +00:00
Christian Gmeiner 9153dc327f etnaviv: unbreak cmdline compiler
Fixes the following assert:
  etnaviv_compiler: ../src/compiler/glsl_types.cpp:1219: static const glsl_type* glsl_type::get_array_instance(const glsl_type*, unsigned int, unsigned int): Assertion `glsl_type_users > 0' failed.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24753>
2023-08-21 05:13:16 +00:00
Eric Engestrom 953ac9da79 v3d/qpu: fix type of function argument
Fixes: 05c7d9715b ("broadcom: Add V3D 3.3 QPU instruction pack, unpack, and disasm.")
Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24787>
2023-08-20 04:58:17 +00:00
Eric Engestrom 8a1f3d0d73 v3dv: fix shader stage name in error message
Fixes: 60145629a2 ("v3dv: initial CreateGraphicsPipeline/DestroyPipeline implementation")
Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24787>
2023-08-20 04:58:17 +00:00
Eric Engestrom ae0cb0b998 v3dv: fix copy/pasted type of sample
And use the type in functions instead of a generic `uint32_t` to make it
easier to notice the wrong type.

Fixes: 47e02a2ef1 ("v3dv: add a fast path for vkCmdClearAttachments")
Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24787>
2023-08-20 04:58:17 +00:00
Eric Engestrom 4dc0cb1ebe v3dv: fix VK_PIPELINE_ROBUSTNESS_{BUFFER,IMAGE}_BEHAVIOR_DEVICE_DEFAULT_EXT copy/paste typo
Fixes: 24d9a80247 ("v3dv: implement VK_EXT_pipeline_robustness")
Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24787>
2023-08-20 04:58:16 +00:00
Bas Nieuwenhuizen c2d3d655b8 docs: Add documentation for gpuvis.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22505>
2023-08-20 00:49:38 +02:00
Bas Nieuwenhuizen 4eb57ab97a vulkan: Add CPU tracing for vkWaitForFences.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22505>
2023-08-19 23:10:37 +02:00
Bas Nieuwenhuizen d980f311b7 egl,venus,vulkan,turnip,freedreno: Update CPU trace init to init more than perfetto.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22505>
2023-08-19 23:09:45 +02:00
Bas Nieuwenhuizen 11198951e6 util/perf: Add gpuvis integration.
Initial integration, still needs the init functions to be changed
across the codebase.

For the context usage https://github.com/mikesart/gpuvis/pull/82 is
needed to display it correctly in gpuvis.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22505>
2023-08-19 23:09:45 +02:00
Marek Olšák ff3db3e6cf radeonsi: fix templated si_draw_rectangle callback for Navi14
Navi14 is the only gfx10 chip that doesn't enable NGG.

Fixes: cd7e20f513 ("radeonsi: specialize si_draw_rectangle using a C++ template")

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24759>
2023-08-19 19:36:56 +00:00
Marek Olšák 1a2c12937d radeonsi/gfx11: pass attribute ring addr via SGPR instead of memory for blits
This removes the scalar memory load from blit vertex shaders.

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24759>
2023-08-19 19:36:56 +00:00
Marek Olšák bfdff13f91 radeonsi: don't pass gl_Layer to PS for blit shaders
This will be required by the next commit to prevent hangs. See the comment.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24759>
2023-08-19 19:36:56 +00:00
Marek Olšák 59e49cc6ab radeonsi: simplify/merge emit_shader_ngg functions
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24759>
2023-08-19 19:36:56 +00:00
Marek Olšák 1c82067b60 radeonsi: improve the heuristic when to use Wave32 for compute shaders
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24759>
2023-08-19 19:36:56 +00:00
Marek Olšák 7f25f30443 radeonsi: rename uses_subgroup_info to uses_tg_size
that's the name of the SGPR

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24759>
2023-08-19 19:36:56 +00:00
Marek Olšák e359254a19 radeonsi: allow setting any index in radeon_set_sh_reg_idx
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24759>
2023-08-19 19:36:56 +00:00
Marek Olšák 905a00f10a ac/surface: add radeon_surf::u::gfx9::uses_custom_pitch
so that we don't try to guess when the pitch is overridden

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24759>
2023-08-19 19:36:56 +00:00
Marek Olšák 9eb00f612a ac/surface: trivial non-functional changes
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24759>
2023-08-19 19:36:56 +00:00
Marek Olšák 40b426c8f9 ac: add a standalone IB parser program
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24759>
2023-08-19 19:36:56 +00:00
Marek Olšák 229833d118 ac: update gfx11 shadowed register tables
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24759>
2023-08-19 19:36:55 +00:00
Marek Olšák 176ef72ff5 ac: improve the IB parser
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24759>
2023-08-19 19:36:55 +00:00
Marek Olšák 05e7bf471c ac: change offsets of DMA_DATA dwords to prevent reg offset conflicts
Use non-multiples of 4.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24759>
2023-08-19 19:36:55 +00:00
Marek Olšák 8e4ba537a1 ac: minor updates to packet documentation and definitions
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24759>
2023-08-19 19:36:55 +00:00
Marek Olšák bc44121444 ac: document ac_shader_args::gs_vtx_offset
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24759>
2023-08-19 19:36:55 +00:00
Marek Olšák a2bf30961f ac: implement AMD_FORCE_FAMILY properly, remove SI_FORCE_FAMILY
This sets radeon_info for the forced family correctly.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24759>
2023-08-19 19:36:55 +00:00
Marek Olšák 5d19a0a19b Revert "ac: don't call ac_query_pci_bus_info from ac_query_gpu_info"
This reverts commit a48642400b.

Instead, add a new parameter require_pci_bus_info to control the behavior.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24759>
2023-08-19 19:36:55 +00:00
Marek Olšák b02b43eef1 ac/gpu_info: add the /dev/dri/ filename into radeon_info
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24759>
2023-08-19 19:36:55 +00:00
Marek Olšák 1ac379c4a0 nir/algebraic: collapse ALU opcodes sourcing NaN
Undef will be replaced by NaN whenever it leads to elimination of FP
instructions. This implements the elimination part.

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24792>
2023-08-19 14:18:52 -04:00
Marek Olšák ee225e31c1 nir: fix constant evaluation of fddx/fddy sourcing Inf & NaN constant
A derivative of NaN is NaN.

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24792>
2023-08-19 14:18:52 -04:00
Timur Kristóf 8780f66c3a nir/opt_dead_cf: Remove if branches with undef condition.
Treat them as if the undef were false.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24792>
2023-08-19 14:18:52 -04:00
Alyssa Rosenzweig 558e36f641 nir/passthrough_gs: Fix array size
Triangle strips with adjacency have 6 vertices input, so we need an array big
enough for all 6 vertices to avoid overflow. Fixes passthrough GS generated for
KHR-GLES31.core.draw_indirect.basic-mode-*-triangle*adj*.

Fixes: ea14579f3d ("nir: handle primitives with adjacency")
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24780>
2023-08-19 17:13:49 +00:00
Alyssa Rosenzweig fe4208ed4c nir/passthrough_gs: Correctly set vertices_in
If the input primitive has adjacency, the output primitive will have fewer
vertices than the input. For example, if we input TRIANGLE_STRIPS_ADJACENCY, we
need to set vertices_in = 6 even though we'll output TRIANGLE_STRIPS with
vertices_out = 3. Respect that, in order to correctly handle adjacency inputs.

Fixes: ea14579f3d ("nir: handle primitives with adjacency")
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24780>
2023-08-19 17:13:49 +00:00