Commit graph

181332 commits

Author SHA1 Message Date
Eric Engestrom
cc37af8fbc bin/gitlab_gql: resolve sha locally to be able to use things like HEAD
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26073>
2023-11-10 10:05:46 +00:00
Martin Roukala (né Peres)
781e1a34cf radv/ci: fix vkcts-navi21-valve execution
Fixes: 5e44cee47d ("ci: inject gfx-ci/linux S3 artifacts without rebuilding containers")
Suggested-by: David Heidelberg <david.heidelberg@collabora.com>
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26134>
2023-11-10 04:37:56 +00:00
Mauro Rossi
05fb6b9c7d Android.mk: be able to build radeonsi without llvm
Android.mk rules for radeonsi are updated according to commit
0a56417 "meson: be able to build radeonsi without llvm"

cflag -DFORCE_BUILD_AMDGPU is required when building radeonsi with llvm support
based on android-x86 downstream LLVM fork that follows the AOSP llvm build rules.

Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26049>
2023-11-10 01:28:16 +01:00
Connor Abbott
04ffef15da ir3/ra: Don't swap killed sources for early-clobber destination
We have an optimization to try to swap regular live intervals with
killed sources when evicting them fails in order to make a contiguous
space for the destination to fit in, but this doesn't work when the
destination is early-clobber.

Fixes
dEQP-GLES31.functional.synchronization.inter_invocation.image_atomic_read_write
on a650+.

Fixes: d4b5d2a ("ir3/ra: Use killed sources in register eviction")
Closes: #8886
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26004>
2023-11-09 21:27:10 +00:00
Eric Engestrom
aba837ef71 radv+zink/ci: add navi10 flakes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26135>
2023-11-09 20:59:36 +00:00
Eric Engestrom
5819e0a527 radv+zink/ci: add polaris10 flakes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26135>
2023-11-09 20:59:36 +00:00
Eric Engestrom
37c7ffb958 radv/ci: add polaris10 flakes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26135>
2023-11-09 20:59:36 +00:00
Eric Engestrom
3af19432e9 radv/ci: add vega10 flakes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26135>
2023-11-09 20:59:36 +00:00
Eric Engestrom
d42d2ee3a5 radv/ci: add navi21 flakes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26135>
2023-11-09 20:59:36 +00:00
Lionel Landwerlin
d4499c4cb2 isl: disable MCS compression on R9G9B9E5
Not supported according to the docs and will trigger an assert
isl_get_render_compression_format().

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26112>
2023-11-09 20:20:43 +00:00
Tele42
631dc5b5e6 drirc: enable vk_wsi_force_swapchain_to_current_extent for "The Talos Principle VR"
The Talos Principle VR shares the same engine quirk as its non-VR counterpart.

Backport-to: 23.2
Backport-to: 23.3

Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26047>
2023-11-09 19:42:07 +00:00
Connor Abbott
29400a56d5 tu: Fix getting VkDescriptorSetVariableDescriptorCountLayoutSupport
Fix the same mistake that 882fd3c5 fixed which we inherited from radv.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26069>
2023-11-09 19:06:04 +00:00
Paulo Zanoni
17e135d3d4 vulkan: fix potential memory leak in create_rect_list_pipeline()
I was playing around with possible improvements to STACK_ARRAY(), and
one of my experiments made gcc point us that we were not freeing
'stages'.

Fixes: 514c10344e ("vulkan/meta: Add a concept of rect pipelines")
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26041>
2023-11-09 18:22:36 +00:00
David Heidelberg
7d85656fa7 ci: tag sanity, rustfmt and clang-format job as a "placeholder" job
There is close to zero work needed to execute this job.

Should speed up the initial process of entering into pipeline tree
and also provide an opportunity for `aarch64` runners to engage sooner,
even when x86_64 machines are loaded.

Acked-by: Daniel Stone <daniels@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26125>
2023-11-09 17:30:07 +00:00
David Heidelberg
b89467b1a5 gitlab: make commit more commit-like formatted
Reviewed-by: Eric Engestrom <eric@igalia.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26125>
2023-11-09 17:30:07 +00:00
Dave Stevenson
4b9e80a925 gallium: Add udl (DisplayLink) to the list of kmsro drivers
The udl is a simple render only driver, so configure it
appropriately in gallium.

Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26129>
2023-11-09 16:57:08 +00:00
Dave Stevenson
720c829341 gallium: Add more TinyDRM drivers to the list of kmsro drivers
As a follow-up to
8cfc17bdda ("kmsro: Add the rest of the current set of tinydrm drivers.")
and
0a42d5b98b ("kmsro: add _dri.so to two of the kmsro drivers.")
add even more TinyDRM drivers that have been added to the kernel but not
to gallium.

Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26129>
2023-11-09 16:57:08 +00:00
Connor Abbott
b380363938 tu: Make sure copies to half-float formats are bit exact
We previously used the 2d path for single-sampled copies which seems to
canonicalize NaNs when the source format is a 16-bit floating point
format, likely because it implicitly converts to 32 bits. The current 3d
path also implicitly converts and has the same problem. Add a new shader
variant for half-float copies and switch to using it.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26042>
2023-11-09 16:24:45 +00:00
Danylo Piliaiev
3d3176aa17 tu/a7xx: Fix occlusion queries on pre-A740 GPUs
CP_EVENT_WRITE7::WRITE_SAMPLE_COUNT is supported only starting from
a740, previous GPUs use RB_SAMPLE_COUNT_ADDR.

See: https://github.com/yuzu-emu/yuzu/issues/11958

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26124>
2023-11-09 15:36:37 +00:00
Eric Engestrom
cca5a4191d ci: disable lima farm as it appears to be down
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26132>
2023-11-09 15:32:32 +00:00
Connor Abbott
8e7df505fc tu: Fix order of rasterizer_discard check
Don't check the rasterization state if it might be NULL.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26076>
2023-11-09 15:41:32 +01:00
Connor Abbott
40e74ed5d3 tu: Assume no raster-order attachment access with NULL DS/blend state
The spec isn't explicit on this point, but I believe the intent is that
if the state is NULL then we're supposed to behave as-if the flags field
is 0.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26076>
2023-11-09 15:41:32 +01:00
José Roberto de Souza
236da520f4 intel/common/xe: Re implement xe_gem_read_render_timestamp() with xe_gem_read_correlate_cpu_gpu_timestamp()
With the removal of DRM_IOCTL_XE_MMIO xe_gem_read_render_timestamp()
was always returning false but with DRM_XE_DEVICE_QUERY_ENGINE_CYCLES
it can be re implemented making use of
xe_gem_read_correlate_cpu_gpu_timestamp().

Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24591>
2023-11-09 13:22:49 +00:00
Lionel Landwerlin
feae70f608 intel/ds: use improved timestamp correlation if available
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24591>
2023-11-09 13:22:49 +00:00
Lionel Landwerlin
b2bf141b6a perfetto/pps-producer: add optimized cpu/gpu timestamp correlation support
The Intel Xe driver added the ability to do cpu/gpu timestamp
correlation giving a much better alignment of timestamps (we use to
have ~20us delta between the 2 samples, just because of the ioctl
barrier potentially sneaking in some work).

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24591>
2023-11-09 13:22:48 +00:00
José Roberto de Souza
fdec724bd1 anv: Make use of intel_gem_read_correlate_cpu_gpu_timestamp()
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24591>
2023-11-09 13:22:48 +00:00
José Roberto de Souza
01aafa14d4 anv: Reduce ifdefs in anv_GetCalibratedTimestampsEXT()
Add anv_get_default_cpu_clock_id() to return the default cpu clock
id to be used in the begin and end time captures of
anv_GetCalibratedTimestampsEXT().

Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24591>
2023-11-09 13:22:48 +00:00
José Roberto de Souza
ae0df368a8 intel/common: Add intel_gem_read_correlate_cpu_gpu_timestamp()
This function will make use of Xe DRM_XE_DEVICE_QUERY_ENGINE_CYCLES by
returning correlate CPU ang GPU timestamp to be used by Intel drives.
This correlate timestamps gives us more accuracy.

Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24591>
2023-11-09 13:22:48 +00:00
Eric Engestrom
b6dbbd3ff7 radeonsi/ci: document new failures and flakes
These seem to have appeared between cd0a01522f and 106acbbed9

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26126>
2023-11-09 11:14:14 +00:00
Friedrich Vock
02942d6e7e aco: Update printed block kinds
Two were missing.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26103>
2023-11-09 09:58:28 +00:00
Francisco Jerez
073b876539 intel/fs/xe2+: Don't special case SEL_EXEC in inferred_exec_pipe().
This is lowered to 32-bit integer execution type by the regioning
lowering pass now, so the existing special casing is redudant for
Gfx12 and buggy for Xe2+, since SEL_EXEC is now emitted without
lowering for 64-bit integers.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25514>
2023-11-08 23:17:42 -08:00
Francisco Jerez
23e14a6c27 intel/eu/xe2+: Add definition for size of GRF space on Xe2.
And use it in various places in the compiler that require knowledge
about the size of the register file.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25514>
2023-11-08 23:17:24 -08:00
Francisco Jerez
ff3814abdd intel/fs/xe2+: Handle extended math instructions as in-order in SWSB pass.
Extended math instructions are now synchronized as in-order
instructions like other ALU operations, which is more efficient than
the out-of-order tracking we had to do in previous generations, and
avoids false dependencies introduced due to SBID aliasing.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25514>
2023-11-08 23:17:12 -08:00
Francisco Jerez
5fb6760f11 intel/fs/xe2+: Teach SWSB pass about the behavior of double precision instructions.
Xe2 hardware has a "long" EU pipeline specifically for FP64
instructions, so these are handled as in-order instructions which
require RegDist synchronization.  64-bit integer instructions are now
handled by the normal integer pipeline, so the existing special-casing
inherited from ATS needs to be disabled.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25514>
2023-11-08 23:17:03 -08:00
Francisco Jerez
9e446c9282 intel/fs/xe2+: Add comment reminding us to take advantage of the 32 SBID tokens.
The additional SBID tokens will be useful when large GRF mode is implemented.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25514>
2023-11-08 23:16:54 -08:00
Francisco Jerez
15d6c6ab11 intel/eu/xe2+: Add support for 10-bit SWSB representation on Xe2+ platforms.
This implements the extended 10-bit encoding of the software
scoreboard information used by Xe2 platforms.  The new encoding is
different enough that there are few opportunities for sharing code
during translation to machine code, but the high-level tgl_swsb
representation remains roughly the same.

Among other changes the 10-bit SWSB format provides 5 bits worth of
SBID tokens (though they're only usable in large GRF mode) instead of
4 bits, the extended math pipeline is handled as an in-order (RegDist)
pipeline instead of as an out-of-order one, and the dual-argument
encodings support additional combinations of RegDist and SBID
synchronization modes.  A new encoding is introduced for preventing
the accumulator hardware scoreboard from being updated, but this is
currently not needed.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25514>
2023-11-08 23:12:32 -08:00
Caio Oliveira
40416850f1 intel/compiler: Re-enable opt_zero_samples() in many cases for Gfx12.5
The workaround applies specifically to Cube and Cube Arrays, so we can
still apply the optimization for the others.

Ideally we would like to pull opt_zero_samples logic into the lowering
sends -- to avoid adding a bit to communicate between passes.  However
the texture coordinates for the LOGICAL backend instructions, which
are a common target for the optimization, are combined into offsets over
a single VGRF, so we can't easily identify the constant cases.  The
copy-prop pass make this more visible for opt_zero_samples.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25742>
2023-11-09 03:56:28 +00:00
Caio Oliveira
daeab51a62 intel/compiler: Re-enable opt_zero_samples() for Gfx7+
Inadvertently, because of a sequence of changes elsewhere, this pass
ended up not having any effect:

- Before Gfx5 the optimization is not applicable.

- On Gfx5-6 it doesn't apply because it sampler operations don't
  currently use LOAD_PAYLOAD, but write the MOVs directly.  Not clear to
  me whether they ever did.

- On Gfx7+ it doesn't apply anymore because now the logical sampler
  operations are now lowered directly to SENDs, and the is_tex() check
  would skip them.

Since the LOAD_PAYLOAD implementation applies for Gfx7+ only, rework the
pass to work again by handling SEND instructions.  To make the pass
easier, the optimization will happen before opt_split_sends() so only
one LOAD_PAYLOAD needs to be cared for.

Update the code to accept BAD_FILE sources in addition to zeros, these
are added in some cases as padding and effectively are don't care
values, so we can assume them zeros.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25742>
2023-11-09 03:56:28 +00:00
Caio Oliveira
ef8553082e intel/compiler: Rework opt_split_sends to not rely/modify LOAD_PAYLOAD
This is a preparation to (re-)enable opt_zero_samples(), which will reduce
a SEND mlen before we split it.  When that happen, opt_split_sends()
won't be able to rely on the fact that mlen covers the entire
LOAD_PAYLOAD.

Since we are changing that, take the opportunity to also not modify the
existing LOAD_PAYLOAD, just create two new ones with the exact set of
sources.  This allows the pass to be further simplified by iterating
forward and not require live_variables analysis.

The helper function was added so can be used later for
opt_zero_samples().

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25742>
2023-11-09 03:56:28 +00:00
Caio Oliveira
e017bcae59 intel/compiler: Clarify the asserts in nir_load_workgroup_id lowering
For Task/Mesh WorkgroupID is now lowered to WorkgroupIndex by the
generic NIR pass, so we shouldn't hit this.  We can now simplify the
asserting code in emit_work_group_id_setup().

Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25977>
2023-11-08 17:18:36 -08:00
David Heidelberg
534323f2af ci/zink: disable nheko trace, as it sometimes crashes
See: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10099

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26119>
2023-11-09 00:28:59 +01:00
Rob Clark
fa7ec4226b Revert "ci/freedreno: disable antichambers trace"
This reverts commit f562e37c93.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26086>
2023-11-08 22:27:00 +00:00
Rob Clark
b1fc5390c6 freedreno/a6xx: Fix antichamber trace replay assert
This app is generating viewports with scale[0]==0, so that is not a good
condition for testing viewport validity.  It would result in skipping
the only viewport, and ending up with gb x/y being ~0.  Triggering an
assert in the register builder.

The main reason this was done previously was to avoid an assert in
fd_calc_guardband().  Lets just flip it around and return 0x1ff on
errors instead of asserting.  This also makes it more consistent with
the other error cases.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7628
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26086>
2023-11-08 22:27:00 +00:00
Georg Lehmann
b33aa7b01a aco: don't CSE v_permlane across exec
With bc=1 and fi=0 it needs to return 0 for inactive lanes.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26045>
2023-11-08 22:02:20 +00:00
Rob Clark
a9bdf58c36 freedreno/a6xx: Assume MOD_INVALID imports are linear
Without !25945 we must assume imports with invalid modifier are linear.
When both sides support metadata, we can promote the modifier.

Fixes: 33de58154f ("freedreno: Handle DRM_FORMAT_MOD_QCOM_TILED3 import")
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26115>
2023-11-08 19:12:47 +00:00
Caio Oliveira
f4601d82c1 intel/compiler: Remove unused parameter from brw_nir_analyze_ubo_ranges()
This parameter was used by i965 driver that is now gone.

Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25986>
2023-11-08 18:10:31 +00:00
Caio Oliveira
d2125dac85 intel/compiler: Take more precise params in brw_nir_optimize()
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25986>
2023-11-08 18:10:31 +00:00
Caio Oliveira
c4be90b4ba intel/compiler: Remove unused parameter from brw_nir_adjust_payload()
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25986>
2023-11-08 18:10:31 +00:00
Rohan Garg
a77ea9555a blorp: WA 16014538804 for DG2, MTL A0
Send empty/dummy PIPE_CONTROL after every third 3DPRIMITIVE command.

Signed-off-by: Rohan Garg <rohan.garg@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25039>
2023-11-08 11:00:55 +00:00
Rohan Garg
de6653dc5d anv: WA 16014538804 for DG2, MTL A0
Send empty/dummy PIPE_CONTROL after every third 3DPRIMITIVE command.

Signed-off-by: Rohan Garg <rohan.garg@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25039>
2023-11-08 11:00:55 +00:00