Commit Graph

193463 Commits

Author SHA1 Message Date
Eric Engestrom
08c34b00df docs: update calendar for 24.2
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30664>
2024-08-14 19:09:02 +02:00
Karol Herbst
5d0c870c00 rusticl/mem: do not check against image base alignment for 1Dbuffer images
The CL cap in question is only valid for 2D images created from buffer.

Fixes: 20c90fed5a ("rusticl: added")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30655>
2024-08-14 15:33:01 +00:00
WANG Xuerui
cc2dbb8ea5 meson: Additionally probe -mtls-dialect=desc for TLSDESC support
Previously only `-mtls-dialect=gnu2` was probed, which was appropriate
for arm, x86 and x86_64, but not for newer architectures such as
aarch64, loongarch64 and riscv64 which all use `-mtls-dialect=desc`
instead. Because the driver option is not consistent across
architectures (and probably will not), try both variants and choose the
first one working.

While at it, rename "gnu2_*" variables to "tlsdesc_*" respectively, for
clarity.

Cc: mesa-stable
Reviewed-by: Icenowy Zheng <uwu@icenowy.me>
Reviewed-by: Yukari Chiba <i@0x7f.cc>
Reviewed-by: David Heidelberg <david@ixit.cz>
Signed-off-by: WANG Xuerui <git@xen0n.name>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30599>
2024-08-14 14:47:40 +00:00
WANG Xuerui
56f38672a2 meson: Force use of LLVM ORCJIT for hosts without MCJIT support
Although the ORCJIT codepath is fresh and relatively less tested, this
is still better than no llvmpipe at all for those newer architectures
that will not gain MCJIT support, such as LoongArch or RISC-V.

Fixes: 6f02ec5ed1 ("llvmpipe: add an implementation with llvm orcjit")
Reviewed-by: Icenowy Zheng <uwu@icenowy.me>
Reviewed-by: Yukari Chiba <i@0x7f.cc>
Reviewed-by: David Heidelberg <david@ixit.cz>
Signed-off-by: WANG Xuerui <git@xen0n.name>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30599>
2024-08-14 14:47:40 +00:00
Hans-Kristian Arntzen
5a97916fdc wsi/x11: Bump maximum number of outstanding COMPLETE events.
Fixes a "regression" where comically large FPS tests regressed.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Fixes: 19dba854 ("wsi/x11: Rewrite implementation to always use threads.")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30638>
2024-08-14 14:00:03 +00:00
David Rosca
214b6c3040 radeonsi/vcn: Only insert headers when requested for H264/5
Currently sequence headers (VPS, SPS, PPS) are always inserted
on each IDR frame and AUD is inserted on every frame, but this
should be decided by application what headers it wants.
AUD is optional and is almost never needed, in some cases sequence
headers also are not needed each IDR frame and currently this only
wastes bits.
With FFmpeg/GStreamer this changes AUD to not be inserted by default,
there is no change to sequence headers as those are already requested
to be inserted on each IDR.

Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30585>
2024-08-14 13:26:03 +00:00
David Rosca
c9ccce5271 frontends/omx: Request SPS PPS for IDR pictures
Also request AUD every frame to match old behavior.

Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30585>
2024-08-14 13:26:03 +00:00
David Rosca
31f6fe1356 frontends/va: Keep track if VPS/SPS/PPS/AUD was sent
FFmpeg sends AUD as part of VA_ENC_PACKED_HEADER_SEQUENCE and
VA_ENC_PACKED_HEADER_SLICE.
GStreamer sends it separately as VA_ENC_PACKED_HEADER_RAW_DATA.

It's now also needed to keep track what packed headers were enabled
to include VPS/SPS/PPS with VAEncSequenceParameterBuffer when sequence
packed headers are disabled.

Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30585>
2024-08-14 13:26:02 +00:00
David Rosca
ba1bc7c495 frontends/va: Don't check header type for packed header buffers
Applications should not send types that were not enabled when creating
config and even if they do it will not cause any unexpected issues.
Remove the checks as it is another place that would need to be
updated when adding support for new packed header types.

Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30585>
2024-08-14 13:26:02 +00:00
David Rosca
f8dcf15ed2 gallium: Add header_flags to pipe_h2645_enc_picture_desc
Indicates what headers should be inserted.
Move pipe_h265_enc_picture_desc metadata_flags into header_flags

Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30585>
2024-08-14 13:26:02 +00:00
Tapani Pälli
a43f18dd04 intel/dev: update mesa_defs.json from workaround database
Most importantly this enables 18038825448 for LNL.

Signed-off-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/30639>
2024-08-14 11:20:40 +00:00
Icenowy Zheng
e9fe18727e pvr: emit tpu_tag_cdm_ctrl in compute stream when present
An extra control register word, tpu_tag_cdm_ctrl, will be present when
TPU_DM_GLOBAL_REGISTERS feature is present.

Emit it when it's needed.

The document of this register is available, however I don't think any of
the bits are needed to be set for our current feature set, so just emit
0 now.

Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30552>
2024-08-14 18:07:41 +08:00
Icenowy Zheng
19bf1b661b pvr: add tpu_dm_global_registers feature
This corresponds to the RGX_FEATURE_TPU_DM_GLOBAL_REGISTERS in the DDK
kernel module source code, and will introduce one more control word to
compute command streams.

Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30552>
2024-08-14 18:07:24 +08:00
Icenowy Zheng
c6dafb5c1a pvr: enlarge transfer fw_stream buffer for multicore
The currently allocated transfer fw_stream buffer lacks the space for a
field that exists conditionally for multicore GPUs, frag_screen.

Enlarge the transfer fw_stream buffer for this field.

Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30543>
2024-08-14 09:48:38 +00:00
Antonio Ospite
2d2bc5b307 android: simplify building libgallium_dri on Android
The versioned libgallium library can be confusing on Android, and it is
probably not even needed there, so simplify the build on Android by
always build the unversioned `libgallium_dri.so` overriding the
`-Dunversion-libgallium=true` option added in
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30579

Remove also all the bits that deal with the versioned library which are
not needed anymore.

Fixes: 9568976c52 ("android: fix build in multiple ways")
Acked-by: Rob Clark <robdclark@gmail.com>
Reviewed-by: Mauro Rossi <issor.oruam@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30641>
2024-08-14 09:11:44 +00:00
Samuel Pitoiset
cf0884d161 radv/meta: create DGC prepare pipeline on-demand
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30640>
2024-08-14 08:48:53 +00:00
Samuel Pitoiset
3a4ce4a5a3 radv/meta: simplify initializing bufimage pipelines
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30640>
2024-08-14 08:48:53 +00:00
Samuel Pitoiset
586d6cb588 radv/meta: create cleari layouts on-demand
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30640>
2024-08-14 08:48:53 +00:00
Samuel Pitoiset
1dfb6e19d5 radv/meta: create itoi layouts on-demand
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30640>
2024-08-14 08:48:53 +00:00
Samuel Pitoiset
bd00446bb0 radv/meta: create btoi layouts on-demand
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30640>
2024-08-14 08:48:53 +00:00
Samuel Pitoiset
f1b8e7fa73 radv/meta: create itob layouts on-demand
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30640>
2024-08-14 08:48:53 +00:00
Samuel Pitoiset
db94ee1e64 radv/meta: create blit2d layouts on-demand
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30640>
2024-08-14 08:48:53 +00:00
Samuel Pitoiset
2352cb2244 radv/meta: remove unused parameter from some blit init functions
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30640>
2024-08-14 08:48:53 +00:00
Samuel Pitoiset
eabbd077cc radv/meta: simplify initializing DCC comp-to-single pipelines
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30640>
2024-08-14 08:48:53 +00:00
Samuel Pitoiset
9c591d0c27 radv/meta: rework creating blit pipelines
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30640>
2024-08-14 08:48:53 +00:00
Samuel Pitoiset
978599a052 radv/meta: simplify radv_meta_blit2d_normal_dst()
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30640>
2024-08-14 08:48:52 +00:00
Lucas Stach
c90e2bccf7 etnaviv: properly set PIPE_CAP_GRAPHICS
Only advertise graphics capabilities if the GPU isn't compute only.

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/30606>
2024-08-14 08:35:36 +00:00
Lucas Stach
8725ec90a3 etnaviv: hwdb: add COMPUTE_ONLY cap
Used to tell if the GPU core includes a graphics pipeline.

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/30606>
2024-08-14 08:35:36 +00:00
Daniel Schürmann
1d0a12438d aco/cssa: short-cut some trivial case
If a phi-operand is not flagged as kill, it cannot be coalesced
because it interferes with the live-out variable.
Also do the regClass check earlier.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30182>
2024-08-14 08:11:48 +00:00
Daniel Schürmann
d3e9aef5a2 aco/cssa: update RegisterDemand and validate live variable information
instead of recomputing it.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30182>
2024-08-14 08:11:48 +00:00
Daniel Schürmann
5a39cbdef6 aco: change signature of get_live_changes() and get_temp_registers()
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30182>
2024-08-14 08:11:48 +00:00
Daniel Schürmann
d494c2a741 aco/cssa: fix kill flags during lowering to CSSA
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30182>
2024-08-14 08:11:48 +00:00
Daniel Schürmann
541cfb21ba aco: don't attempt to spill dead phis
These don't affect register pressure.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30182>
2024-08-14 08:11:48 +00:00
Daniel Schürmann
e5d920e0b9 aco/scheduler: enable live variables validation when ACO_DEBUG=validate-livevars is set
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30182>
2024-08-14 08:11:48 +00:00
Daniel Schürmann
b0c8c5e42e aco: implement aco::validate_live_vars()
This is intended for passes which manually update live variables
and RegisterDemand, like e.g. the scheduler, and can be enabled
with ACO_DEBUG=validate-livevars.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30182>
2024-08-14 08:11:48 +00:00
Daniel Schürmann
c1a3330ac7 aco/reindex_ssa: free memory of previous live variable sets
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30182>
2024-08-14 08:11:47 +00:00
Samuel Pitoiset
d776f3d3f9 radv: allow VK_EXT_vertex_input_dynamic_state with DGC
It should be supported now.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29831>
2024-08-14 07:47:12 +00:00
Samuel Pitoiset
55b497ef19 radv: add support for dynamic vertex input state with DGC
DGC preprocessing is disabled for VBOs, so the dynamic vertex input
should always be initialized. Null VBO descriptors are slightly
different when used with dynamic VS inputs.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29831>
2024-08-14 07:47:12 +00:00
Samuel Pitoiset
d8861d52a2 radv: add a helper to set shader stage key robustness info
For future work.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30643>
2024-08-14 07:25:03 +00:00
Samuel Pitoiset
7a5b40a2ff radv: cleanup robustness with vk_pipeline_robustness_state_fill()
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30643>
2024-08-14 07:25:03 +00:00
Samuel Pitoiset
cdf21c5ce5 radv: fix handling view index from device index
This feature is marginal but VKCTS recently got coverage and most of
the implementations were broken, including RADV.

Fixes recent tests
dEQP-VK.pipeline.pipeline_library.graphics_library.misc.other.view_index_from_device_index_.*

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30642>
2024-08-14 06:54:03 +00:00
Faith Ekstrand
65f5364e47 ci: Add NVK to debian-arm64-build-test
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30618>
2024-08-14 03:45:09 +00:00
Faith Ekstrand
aa44a211d3 nak: Pass -C default-linker-libraries when building tests
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11632
Fixes: 4392a5922c ("nak: Add a framework for running hardware tests")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30618>
2024-08-14 03:45:09 +00:00
Caio Oliveira
e72bf2d02f intel: Add executor tool
Add a tool that programs the hardware the minimum amount to be
able to execute compute shaders and then executes a script that
can perform data manipulation and dispatch execution of the shaders
(written in Xe assembly).

The goal is to have a tool to experiment directly with certain
assembly instructions and the shared units without having to
instrument the drivers.

To make more convenient to write assembly, a few macros (indicated by
the @-symbol) will be processed into the full instruction.

For example, the script

```
  local r = execute {
    data={ [42] = 0x100 },
    src=[[
      @mov     g1      42
      @read    g2      g1

      @id      g3

      add(8)   g4<1>UD  g2<8,8,1>UD  g3<8,8,1>UD  { align1 @1 1Q };

      @write   g3       g4
      @eot
    ]]
  }

  dump(r, 4)
```

produces

```
  [0x00000000] 0x00000100 0x00000101 0x00000102 0x00000103
```

There's a help message inside the code that describes the script
environment and the macros for assembly sources.

Acked-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30062>
2024-08-14 03:03:46 +00:00
Caio Oliveira
6267585778 intel/brw: Also return the size of the assembled shader
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30062>
2024-08-14 03:03:46 +00:00
Caio Oliveira
f6e7d1dca2 meson: Update Lua dependency version to 5.3
Lua is used for unittests in Freedreno.  When this was added, 5.3 was too new,
now this version is available in debian stable (and oldstable). A notable
improvement in Lua 5.3 is better handling for integers. Note the wrap provided
in subprojects/ already uses 5.4.

Also move the dependency up so other tools/tests can use it.

Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Acked-by: Rob Clark <robclark@freedesktop.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30062>
2024-08-14 03:03:46 +00:00
Rob Clark
a5b103e4c1 freedreno/a6xx: Cleanup setup_slices()
We don't need to runtime dispatch btwn a6xx and a7xx versions of
setup_lrz().

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30649>
2024-08-14 02:19:55 +00:00
Rob Clark
a127a78548 freedreno: Re-enable LRZ for a7xx
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30649>
2024-08-14 02:19:55 +00:00
Rob Clark
141466eb27 freedreno/a6xx: Fix LRZ
LRZ fastclear offset can be greater than 16b.

Fixes: b1937f76ff ("freedreno/a6xx: Allocate lrcfc when needed for direction tracking")
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30649>
2024-08-14 02:19:55 +00:00
Rob Clark
4a59c319dc freedreno/decode: Dump register values on LRZ_CLEAR
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30649>
2024-08-14 02:19:55 +00:00