Commit graph

167950 commits

Author SHA1 Message Date
Alyssa Rosenzweig
d7f0804a47 nir/format_convert: handle clamping smaller bit sizes
asahi will pass in 16bits, works fine if we convert before clamping. note we
don't try to be clever and make a smaller immediate because it would require
extra logic for negatives to make sure we don't have garbage in upper bits
(nir_validate checks that). do the simple, obviously correct thing.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26440>
2023-12-04 15:41:19 +00:00
Lionel Landwerlin
33fd93f3b1 intel/tools: hang viewer/editor
Acked-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21167>
2023-12-04 14:51:29 +00:00
Lionel Landwerlin
1e17c2219a intel/error_decode: map i915 gfx12.5 register names to our names
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21167>
2023-12-04 14:51:29 +00:00
Lionel Landwerlin
a2a2624a8f intel/aubinator_error_decode: bump max buffers to 1024
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21167>
2023-12-04 14:51:29 +00:00
Lionel Landwerlin
df77e6da82 intel: add error2hangdump tool
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21167>
2023-12-04 14:51:29 +00:00
Lionel Landwerlin
a496abf177 intel/hang_replay: add the ability to pass the context image to sim-drm
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21167>
2023-12-04 14:51:29 +00:00
Lionel Landwerlin
03712579b0 intel/tools: add hang_replay tool
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21167>
2023-12-04 14:51:29 +00:00
David Heidelberg
2143e2abbb Revert "ci/freedreno: disable a660 as it's down now"
Fixed.

This reverts commit 5161af7df70001ac1bb71f332c7bac180c3e25d1.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26497>
2023-12-04 12:52:48 +00:00
Friedrich Vock
d6d68ceda1 radv: Enable compute dispatch tunneling
Compute tunneling can considerably lower the latency of high-priority
compute work. Enabling it is beneficial in cases where high-priority
work is dispatched while the GPU is already busy with other work (e.g.
rendering on GFX). This is the case in VR compositors that dispatch
latency-sensitive compositing work to ACE while GFX is busy rendering
the next frame.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26462>
2023-12-04 12:32:47 +00:00
Eric Engestrom
b3ab233ff7 pvr: update symbols that have become aliases for newer ones
All of these have been renamed in the spec (usually by being promoted);
renamed them in our code too.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26486>
2023-12-04 12:16:06 +00:00
Erik Faye-Lund
d8d49ad034 meson: work around meson 0.62 issue
Ubuntu 22.04 LTS has Meson 0.62, but recent versions of mesa fails to
build there due to an issue with using wayland-protocols from wrapdb,
that wasn't fixed until Meson 0.63. Luckily the problem is easy to
work around, so let's just do that.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10232
Fixes: 5fe5c3e223 ("meson: add wayland-protocols from meson wrapdb")
Tested-by: Eero Tamminen <eero.t.tamminen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26446>
2023-12-04 11:41:37 +00:00
Pierre-Eric Pelloux-Prayer
5119e0adc3 egl/wayland: set the correct modifier for the linear_copy image
linear_copy_display_gpu_image is created using DRM_FORMAT_MOD_LINEAR,
so use createImageFromDmaBufs3 to be able to pass the modifier when
importing it on the render GPU.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9282
Reviewed-by: Simon Ser <contact@emersion.fr>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26337>
2023-12-04 11:03:41 +00:00
Eric Engestrom
778000ec7f radv: update symbols that have become aliases for newer ones
All of these have been renamed in the spec (usually by being promoted);
renamed them in our code too.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26490>
2023-12-04 10:45:48 +00:00
Felix bridault
059391b631 radv: use 32bit va range for sparse descriptor buffers
Fixes: 5c5735fd68 ("radv: advertise VK_EXT_descriptor_buffer")
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26482>
2023-12-04 09:59:29 +00:00
Samuel Pitoiset
9027c6d8ca radv: adjust assertions for multi-layer resolves with the HW/FS paths
Only compute supports layers.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26316>
2023-12-04 08:12:16 +00:00
Samuel Pitoiset
70556739e0 radv: only re-initialize DCC for one level for the HW resolve path
The source image can only have one level, so only level in the
destination image needs to be re-initialized.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26316>
2023-12-04 08:12:16 +00:00
Samuel Pitoiset
91aaf0c663 radv: remove unused layers support for the HW/FS resolve paths
The driver always fallbacks to the compute resolve path when either
the source or destination images have layers.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26316>
2023-12-04 08:12:16 +00:00
Samuel Pitoiset
aae2595390 radv: stop performing redundant resolves with the HW resolve path
This path was quadratic...
Found by inspection.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26316>
2023-12-04 08:12:16 +00:00
Samuel Pitoiset
e425f92f3e radv: simplify creating image views for src resolve images
The Vulkan spec says:

"If samples is not VK_SAMPLE_COUNT_1_BIT, then imageType must be
 VK_IMAGE_TYPE_2D, flags must not contain
 VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT, mipLevels must be equal to 1..."

So, the source image is always 2D with no mipmaps.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26316>
2023-12-04 08:12:16 +00:00
Eric Engestrom
38ce0c1747 v3dv: drop duplicate flag
`VK_PIPELINE_STAGE_2_TRANSFER_BIT` is the old name for
`VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT` which is already on the next
line; drop the duplicate.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26485>
2023-12-04 04:13:39 +00:00
Eric Engestrom
1e03ac324f v3dv: update symbols that have become aliases for newer ones
All of these have been renamed in the spec (usually by being promoted);
renamed them in our code too.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26485>
2023-12-04 04:13:39 +00:00
David Heidelberg
78bb77e41b ci/freedreno: disable a660 as it's down now
Let's prevent unpleasant morning workday surprises.

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26488>
2023-12-03 22:19:19 +01:00
Eric Engestrom
2cdebf51fd amd/ci: radeonsi is gl, not vk
Fixes: cf323446e7 ("amd/ci: run gl(es) cts & piglit on radeonsi on vangogh")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26478>
2023-12-03 13:57:38 +00:00
Eric Engestrom
ed53147a7f turnip: fix typo in comment
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26477>
2023-12-03 09:19:13 +00:00
M Henning
0e1bee73eb nak: Call nir_opt_shrink_vectors
This can shrink loads and stores in some cases.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26347>
2023-12-03 04:15:39 +00:00
M Henning
d2657dbd21 nak: Call nir_opt_combine_barriers
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26347>
2023-12-03 04:15:39 +00:00
M Henning
1a1c81987d nak: Call nir_opt_load_store_vectorize
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26347>
2023-12-03 04:15:39 +00:00
M Henning
b6c949917d nak: Provide robustness info to postprocess_nir
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26347>
2023-12-03 04:15:39 +00:00
M Henning
7adb40cfaa nvk: Fix descriptor alignment offset
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26347>
2023-12-03 04:15:39 +00:00
M Henning
b565b42991 nak: Use nir_combined_align
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26347>
2023-12-03 04:15:39 +00:00
M Henning
6797b6ba45 nak: Request alignment that matches the load width
Previously, this callback could try to set the requested alignment to
NIR_ALIGN_MUL_MAX, which would then overflow the u16 value in the
struct. We don't actually need that much alignment though, and this
value only really matters if we needed to increase alignment anyway.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26347>
2023-12-03 04:15:39 +00:00
Eric Engestrom
402210034b radv/ci: add navi21-aco flake
Failed once in https://gitlab.freedesktop.org/mesa/mesa/-/jobs/52219125
but passed in the automatic retry.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26467>
2023-12-02 09:33:46 +00:00
Faith Ekstrand
6e2a7689b3 nak: Drop a bunch of SET_REFERENCE from the pre-Turing paths
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26408>
2023-12-02 03:05:09 +00:00
Faith Ekstrand
e0c2244ea9 nvk: Drop MME_DMA_SYSMEMBAR before indirect draw/dispatch
This reverts commit 3d3641e446.  We're now
doing this as part of CmdWaitEvents and CmdPipelineBarrier().

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26408>
2023-12-02 03:05:09 +00:00
Faith Ekstrand
3a38526ff8 nvk: Drop unnecessary per-draw/dispatch cache maintenance
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26408>
2023-12-02 03:05:09 +00:00
Faith Ekstrand
e1c1cdbd5f nvk: Implement vkCmdPipelineBarrier2 for real
We also need to plumb all the same logic into event handling.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26408>
2023-12-02 03:05:09 +00:00
Faith Ekstrand
e962430e6f nvk: Rework transform feedback stalling
Instead of doing a compute shader invalidate, use SET_REFERENCE to force
a command streamer stall.  Also, emit a SYSMEMBAR before reading XFB
offsets through the MME.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26408>
2023-12-02 03:05:08 +00:00
Faith Ekstrand
ee22aa27b5 nvk: Move Begin/EndTransformFeedback to nvk_cmd_draw.c
There's nothing generic about this so it should go in the 3D-specific
file.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26408>
2023-12-02 03:05:08 +00:00
Caio Oliveira
d96705e4b8 iris/xe2+: Use Region-based Tessellation redistribution
Update to recommended value from BSpec for xe2.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26438>
2023-12-02 02:22:07 +00:00
Caio Oliveira
f5d15d6a06 anv/xe2+: Use Region-based Tessellation redistribution
Update to recommended value from BSpec for xe2.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26438>
2023-12-02 02:22:07 +00:00
Jordan Justen
05632fc9eb intel/genxml: Update 3DSTATE_TE for xe2
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26438>
2023-12-02 02:22:07 +00:00
Marcin Ślusarz
878ca75335 anv: fix minSubgroupSize for xe2
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26437>
2023-12-02 01:55:26 +00:00
Faith Ekstrand
00e88584af vulkan: Add helpers for access flags
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26407>
2023-12-01 17:59:51 +00:00
Faith Ekstrand
44add595af vulkan: Add helpers for pipeline stage flags
This adds hand-written helpers for detecting if a set of stage flags
contains shaders as well as expand helpers that properly handle
TOP/BOTTOM_OF_PIPE_BIT.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26407>
2023-12-01 17:59:51 +00:00
Faith Ekstrand
fe12c1c29e vulkan: Add some auto-generated synchronization helpers
These are helpful for drivers to implement synchronization rules

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26407>
2023-12-01 17:59:51 +00:00
Faith Ekstrand
9ad51980de vulkan: Move vk_synchronization2 to vk_synchronization
I'm about to add more stuff that isn't really for sync2 so it makes
sense to give it a slightly more generic name.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26407>
2023-12-01 17:59:50 +00:00
Faith Ekstrand
2538354850 nvk: Stop initializing the 2D engine
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26441>
2023-12-01 17:10:29 +00:00
Faith Ekstrand
85fd85f950 nvk: Use the copy engine for NVK_DEBUG=zero_memory
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26441>
2023-12-01 17:10:29 +00:00
Faith Ekstrand
74b083ef75 nvk: Use the copy engine for CmdFillBuffer
The copy engine is a lot simpler than the 2D engine.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26441>
2023-12-01 17:10:29 +00:00
Mary Guillemard
771bf5aaa3 nak: Fix NAK_ATTR_CLIP_CULL_DIST_7 wrong value
Fixes: d4d7f26151 ("nak: Add enums for sysvals and attributes")

Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26452>
2023-12-01 16:40:24 +00:00