José Roberto de Souza [Tue, 14 Mar 2023 20:27:53 +0000 (13:27 -0700)]
anv: Apply memory alignment requirements in Xe kmd
Without alignment vm bind will fail and during gem buffer creation
size also need to be aligned otherwise the range in vm bind can be
bigger than allocated size for smem.
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/21972>
José Roberto de Souza [Tue, 14 Mar 2023 20:25:50 +0000 (13:25 -0700)]
intel: Set mem_alignment in Xe kmd
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/21972>
José Roberto de Souza [Tue, 14 Mar 2023 19:37:57 +0000 (12:37 -0700)]
anv: Use intel_device_info memory alignment
It was also necessary to initialize mem_alignment in the tests
otherwise vma allocation would fail with stubs.
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/21972>
José Roberto de Souza [Tue, 14 Mar 2023 19:34:36 +0000 (12:34 -0700)]
intel: Move memory aligment information to intel_device_info
This same information is also used in ANV, so intel_device_info is
a better place to have it.
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/21972>
Eric Engestrom [Mon, 20 Mar 2023 14:16:26 +0000 (14:16 +0000)]
v3d/ci: add another depthstencil-default_fb-drawpixels-* to the flakes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22026>
Erik Faye-Lund [Thu, 16 Mar 2023 10:08:28 +0000 (11:08 +0100)]
ci: move docs-stuff out of root .gitlab-ci.yml
Unlike most other cases, we don't put the YAML-file in a ci-folder,
because we already have one for the CI-specific docs. So let's just
leave the YAML file directly in the docs-folder.
This should fix the problem that any docs-changes that touches the
CI-rules needs a full CI run just because of touching the root
.gitlab-ci.yml file. This causes needless friction and wastes CI
resources.
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21953>
Jarred Davies [Tue, 24 Jan 2023 20:42:03 +0000 (20:42 +0000)]
pvr: Add initial support for VK_FORMAT_S8_UINT
Signed-off-by: Jarred Davies <jarred.davies@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21594>
Jarred Davies [Thu, 19 Jan 2023 10:46:16 +0000 (10:46 +0000)]
pvr: Select a single aspect format for the texture state of DS image views
This change also means the texture state words will be based off of the
image view's format instead of the image's format.
Signed-off-by: Jarred Davies <jarred.davies@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21594>
Jarred Davies [Fri, 3 Mar 2023 12:01:19 +0000 (12:01 +0000)]
pvr: Add support for multiple emits from EOT program
Co-authored-by: Simon Perretta <simon.perretta@imgtec.com>
Signed-off-by: Jarred Davies <jarred.davies@imgtec.com>
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21596>
Jarred Davies [Wed, 1 Mar 2023 23:51:38 +0000 (23:51 +0000)]
pvr: Generate dummy emit for renders without any emits
Signed-off-by: Jarred Davies <jarred.davies@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21596>
Jarred Davies [Sun, 26 Feb 2023 08:10:37 +0000 (08:10 +0000)]
pvr: Generate EOT program at runtime
Also removes hardcoded EOT program.
Signed-off-by: Jarred Davies <jarred.davies@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21596>
Samuel Pitoiset [Tue, 14 Mar 2023 09:47:26 +0000 (10:47 +0100)]
radv: add helpers for destroying various pipeline types
Much cleaner than having a single function for everything.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21894>
Samuel Pitoiset [Mon, 20 Mar 2023 08:34:11 +0000 (09:34 +0100)]
radv: rename RADV_PIPELINE_LIBRARY to RADV_PIPELINE_RAY_TRACING_LIB
This seems more consistent with graphics pipeline libraries and it
avoids any confusion.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21894>
Collabora's Gfx CI Team [Mon, 20 Mar 2023 07:16:56 +0000 (07:16 +0000)]
Uprev Piglit to
60e7f0586bac0cfcfcb5871046e31ca2057a5117
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21640>
Eric Engestrom [Thu, 16 Mar 2023 09:38:38 +0000 (09:38 +0000)]
v3dv: use vk_get_physical_device_features
Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21959>
Eric Engestrom [Thu, 16 Mar 2023 09:38:38 +0000 (09:38 +0000)]
v3dv: reorder features as 1.0, 1.1, 1.2, 1.3
Easier to follow than 1.0, 1.3, 1.2, 1.1 :)
Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21959>
Eric Engestrom [Thu, 16 Mar 2023 09:38:38 +0000 (09:38 +0000)]
v3dv: use common GetPhysicalDeviceFeatures
Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21959>
Samuel Iglesias Gonsálvez [Mon, 20 Mar 2023 07:36:44 +0000 (07:36 +0000)]
docs/developers: Add Igalia as Mesa consultancy
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22020>
Eric Engestrom [Sun, 19 Mar 2023 21:26:40 +0000 (21:26 +0000)]
v3d: fix `dirty` bitset being too small to accept V3D_DIRTY_SSBO
Many of the `V3D_DIRTY_*` flags are above 32 bits, but for now the only
one used here is V3D_DIRTY_SSBO.
`shader->uniform_dirty_bits`, where `dirty` ends up, is already 64 bits.
Fixes:
45bb8f2957108056de10 ("broadcom: Add V3D 3.3 gallium driver called "vc5", for BCM7268.")
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22019>
Timothy Arceri [Fri, 17 Mar 2023 04:24:53 +0000 (15:24 +1100)]
util/00-mesa-defaults: add Akka Arrh workaround
Cc: mesa-stable
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21979>
volodymyr.o [Mon, 27 Feb 2023 13:19:30 +0000 (15:19 +0200)]
mesa ctx->API --> _mesa_is_foo(ctx)
replaces direct API checks with _mesa_is_...() checks
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8340
Signed-off-by: Volodymyr Obohzyn volodymyr.obozhyn@globallogic.com
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21556>
Brian Paul [Fri, 17 Mar 2023 20:23:29 +0000 (14:23 -0600)]
gallium/xlib: call fence_finish() in XMesaSwapBuffers()
Before we can present the buffer we need to wait for the fence to
finish. This fixes severe flickering of unfinished rendering in
many demos/tests. This has been broken for a while, I think.
Note, this is for the non-DRI / Xlib-based GLX.
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21993>
Oleksii Bozhenko [Fri, 17 Mar 2023 10:03:07 +0000 (12:03 +0200)]
ci: Uprev Piglit
Signed-off-by: Oleksii Bozhenko <oleksii.bozhenko@globallogic.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21810>
Oleksii Bozhenko [Thu, 9 Mar 2023 12:06:15 +0000 (14:06 +0200)]
glsl: fix gl_CullDistance lowering from float[8] to vec4[2]
Fixes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7152
Fixes:
ad355652c20b ("glsl: Extend lowering pass for gl_ClipDistance to support other arrays")
Signed-off-by: Oleksii Bozhenko oleksii.bozhenko@globallogic.com
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21810>
Mike Blumenkrantz [Thu, 16 Mar 2023 17:42:39 +0000 (13:42 -0400)]
zink: add debug markers for draws
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21962>
Mike Blumenkrantz [Thu, 16 Mar 2023 17:39:43 +0000 (13:39 -0400)]
zink: catch zs u_blitter ops for draw markers
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21962>
Mike Blumenkrantz [Thu, 16 Mar 2023 17:34:46 +0000 (13:34 -0400)]
zink: round geometry for u_blitter debug markers
this otherwise gets weird values
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21962>
Mike Blumenkrantz [Tue, 28 Feb 2023 20:15:09 +0000 (15:15 -0500)]
zink: implement unordered u_blitter calls
as long as a few bits of state are swapped around and none of the "main"
cmdbuf state is applied, it becomes possible to promote the entire
u_blitter operation to the unordered cmdbuf and execute it there as
a "transfer" operation that can continue to enable further reordering
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21906>
Mike Blumenkrantz [Tue, 28 Feb 2023 17:46:19 +0000 (12:46 -0500)]
zink: add zink_context::unordered_blitting to preserve unordered flags
not currently used but will be used to wrap u_blitter
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21906>
Mike Blumenkrantz [Fri, 17 Mar 2023 22:26:26 +0000 (18:26 -0400)]
zink: split out pipeline rp info update function
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21906>
Mike Blumenkrantz [Tue, 28 Feb 2023 19:37:46 +0000 (14:37 -0500)]
zink: manually apply barriers whenever zink_context::blitting is set
this simplifies some codepaths at runtime by short-circuiting some
of the more complex operations since it's already known in advance
exactly which images will be used for which purpose
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21906>
Mike Blumenkrantz [Sat, 18 Mar 2023 13:58:43 +0000 (09:58 -0400)]
zink: reset fb clears using the clears_enabled mask
iterating was fine before, but it will become problematic to reset
all the clears once they start being stashed for unordered ops
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21906>
Mike Blumenkrantz [Thu, 2 Mar 2023 17:12:32 +0000 (12:12 -0500)]
zink: add a dynamic render version of clear_texture hook
this avoids the (sizable) overhead of going through the previous path
with set_frame_buffer state et al, instead just firing off a quick
begin+end rendering with a clear
it's also easily reorderable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21906>
Mike Blumenkrantz [Sat, 18 Mar 2023 14:14:41 +0000 (10:14 -0400)]
zink: add a function for applying u_blitter barriers
this handles transitions for a sampler_view src -> framebuffer dst
operation
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21906>
Mike Blumenkrantz [Wed, 15 Mar 2023 18:04:32 +0000 (14:04 -0400)]
zink: end rp earlier in set_framebuffer_state
this way any barriers occuring from unbinds won't have to do rp calc
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21906>
Mike Blumenkrantz [Sat, 18 Mar 2023 12:41:00 +0000 (08:41 -0400)]
zink: double check layouts for possible feedback loop images
if a feedback loop hasn't yet been added for an image with both
descriptor and fb binds, queue a check for that to avoid mismatch
affects godot-tps-gles3-high.trace
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21906>
Mike Blumenkrantz [Fri, 17 Mar 2023 22:29:53 +0000 (18:29 -0400)]
zink: add some asserts for zs layout in dynamic render
assert all the things
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21906>
David Heidelberg [Sun, 26 Feb 2023 17:46:04 +0000 (18:46 +0100)]
meson: implement quirk for the compilation under armv7 GCC with LTO
Until https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108163 gets fixed.
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21554>
David Heidelberg [Sat, 18 Mar 2023 13:51:11 +0000 (14:51 +0100)]
ci: disable weston session timeout for llvmpipe
Fixes:
d57a4b57df5a ("ci: disable weston session timeout")
Cc: mesa-stable
Reviewed-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Martin Roukala <martin.roukala@mupuf.org>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22004>
David Heidelberg [Sat, 18 Mar 2023 13:49:59 +0000 (14:49 +0100)]
ci: distribute XDG_RUNTIME_DIR with setup-test-env script
Fixes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8615
Fixes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8646
Reviewed-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Martin Roukala <martin.roukala@mupuf.org>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22004>
Rob Clark [Mon, 31 Oct 2022 18:53:10 +0000 (11:53 -0700)]
freedreno+tu: Add a690 support
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21573>
Rob Clark [Fri, 24 Feb 2023 22:41:14 +0000 (14:41 -0800)]
freedreno+tu: Big GMEM support
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21573>
Rob Clark [Sun, 22 Jan 2023 18:57:30 +0000 (10:57 -0800)]
freedreno: Specify GMEM tile alignment per GPU
They differ presumably based on # of CCU/SP and DDR bus topology.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21573>
Bas Nieuwenhuizen [Fri, 17 Mar 2023 23:30:28 +0000 (00:30 +0100)]
Update my mailmap aliases
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21998>
Konstantin Seurer [Thu, 16 Mar 2023 20:19:45 +0000 (21:19 +0100)]
radv: Fix inserting stack_size into the cache
Fixes: 3e03fe4 ("radv/rt: move stack_sizes into radv_ray_tracing_module")
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21969>
Konstantin Seurer [Thu, 16 Mar 2023 20:04:37 +0000 (21:04 +0100)]
radv: Fix loading stack_size from the cache
Fixes: 3e03fe4 ("radv/rt: move stack_sizes into radv_ray_tracing_module")
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21969>
David Heidelberg [Fri, 17 Mar 2023 19:05:11 +0000 (20:05 +0100)]
ci/intel: add dEQP-EGL.functional.wide_color.window_fp16_default_colorspace flake
Occasionally flake since Wayland got enabled.
Acked-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21990>
David Heidelberg [Fri, 17 Mar 2023 19:01:31 +0000 (20:01 +0100)]
ci/traces: add two skips due to flakes
The unvanquished flaked time to time from beginning, minetest-v2 has
occasional 1 tiny change in the pixel.
Acked-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21990>
David Heidelberg [Fri, 17 Mar 2023 18:50:49 +0000 (19:50 +0100)]
ci/freedreno: add recent occasional flakes
Acked-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21990>
Mike Blumenkrantz [Wed, 1 Mar 2023 20:20:27 +0000 (15:20 -0500)]
zink: expand ZINK_DEBUG=sync to cover copy ops
useful for debugging
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21999>
Mike Blumenkrantz [Tue, 28 Feb 2023 11:41:52 +0000 (06:41 -0500)]
zink: add tracing for copy ops
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21999>
Iván Briano [Thu, 17 Mar 2022 02:26:54 +0000 (19:26 -0700)]
intel/fs: handle interpolation modes for at_sample and at_offset too
Fixes dEQP-VK.draw.*.linear_interpolation.*
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19647>
Tatsuyuki Ishi [Fri, 17 Mar 2023 14:02:50 +0000 (23:02 +0900)]
radv: Fix missing wait of GS copy shader upload for dmashaders.
Fixes:
0cde42a506f ("radv: Wait for shader uploads asynchronously.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21985>
Jesse Natalie [Fri, 17 Mar 2023 21:52:59 +0000 (14:52 -0700)]
dzn: Claim the arithmetic subgroup bit
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21996>
Jesse Natalie [Fri, 17 Mar 2023 21:52:45 +0000 (14:52 -0700)]
spirv2dxil: Handle arithmetic subgroup ops
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21996>
Jesse Natalie [Fri, 17 Mar 2023 21:52:27 +0000 (14:52 -0700)]
microsoft/compiler: Add a lowering pass for scan ops that aren't supported
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21996>
Jesse Natalie [Fri, 17 Mar 2023 21:52:11 +0000 (14:52 -0700)]
microsoft/compiler: Implement wave reduce/exclusive scan ops that are supported
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21996>
Marek Olšák [Wed, 15 Mar 2023 08:06:07 +0000 (04:06 -0400)]
radeonsi: remove unused vs_output_param_mask
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21920>
Marek Olšák [Wed, 15 Mar 2023 08:02:28 +0000 (04:02 -0400)]
ac/nir: use plural correctly in the ac_nir_export_parameters name
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21920>
Marek Olšák [Wed, 15 Mar 2023 07:54:48 +0000 (03:54 -0400)]
ac/nir: don't emit duplicated parameter exports
Can you spot the problem?
exp param0 v6, v5, v5, v5
exp param1 v7, off, off, off
exp param1 v7, off, off, off
radeonsi uses ac_nir_optimize_outputs to eliminate output stores with
identical SSA defs (i.e. duplicated), which then causes 2 outputs to
map to the same parameter export.
This is a regression. The old LLVM code was correctly emitting each
export only once. vs_output_param_mask was supposed to be used for
this instead of vs_output_param_offset.
Fixes:
80506be31bf3 - ac/nir/ngg,radv,radeonsi: nogs use ac_nir_export_(position|parameter)
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21920>
José Roberto de Souza [Tue, 14 Feb 2023 19:19:01 +0000 (11:19 -0800)]
iris: Move to iris_i915_batch.c code to destroy i915 context
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/21965>
José Roberto de Souza [Tue, 14 Feb 2023 19:13:20 +0000 (11:13 -0800)]
iris: Move to i915/iris_batch.c code to create and replace i915 context
Some helper functions in iris_bufmgr were also moved because the only
caller is in iris_i915_batch.
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/21965>
José Roberto de Souza [Fri, 11 Nov 2022 19:53:52 +0000 (11:53 -0800)]
iris: Store iris_context's priority
This way when replacing a broken context we don't need to ask to
kernel what is the priority of the context being replaced.
Also this will be necessary for Xe kmd as it don't have any uapi to
query engine priority.
While doing that also taking the oportunity to move more code from
iris_bufmgr.c/h that only has one caller.
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/21965>
Brian Paul [Fri, 17 Mar 2023 20:31:33 +0000 (14:31 -0600)]
llvmpipe: remove debug printf spam in lp_setup_wait_empty_scene()
Remove some stray debug code which spams the terminal.
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21994>
Martin Roukala (né Peres) [Fri, 17 Mar 2023 06:55:59 +0000 (08:55 +0200)]
ci/b2c: increase the console timeout to 4 minutes
When downloading new containers, we can often trip the 2 minutes
console activity timeout. This will be improved in the next b2c
version[1] but let's increase it until we address it.
[1] https://gitlab.freedesktop.org/mupuf/boot2container/-/issues/51
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21983>
Martin Roukala (né Peres) [Fri, 17 Mar 2023 06:52:40 +0000 (08:52 +0200)]
radv/ci: update VanGogh's expectations
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21983>
Eric Engestrom [Thu, 16 Mar 2023 07:51:57 +0000 (07:51 +0000)]
asahi: fix a few typos
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21947>
Kenneth Graunke [Wed, 15 Mar 2023 22:19:42 +0000 (15:19 -0700)]
st/mesa, iris: Add optional CPU-based ASTC void extent denorm flushing
Intel Gen9 GPUs have hardware ASTC support, but have a bug where they
don't handle denormalized values in void extent blocks correctly. This
isn't that hard to work around - on upload, we can detect such blocks,
and flush any denorms to zero. Because we're altering the data behind
the application's back, and applications can theoretically ask to
download the original unaltered image data, we unfortunately need to
maintain shadow copies of the data.
To make sure that we don't accidentally skip the void-extent flushing
via any fast-upload paths, and support download correctly, we plug this
into the st/mesa compressed texture format fallback paths, which store
a CPU copy of the original image data, and upload altered data.
This is unfortunately common code for what's likely to be a single
driver's issue (on a single generation), but it beats replicating an
entire framework we already have inside the driver.
Fixes dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr.*
using iris on Intel Gen9 GPUs.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4167
Reviewed-by: Emma Anholt <emma@anholt.net>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Acked-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21943>
Alyssa Rosenzweig [Fri, 10 Mar 2023 01:36:12 +0000 (20:36 -0500)]
ci: Enforce clang-format for asahi
Some drivers use clang-format exclusively. We would like to lint for correct
formatting in CI to catch style issues before they land, because mixing
clang-format and not clang-format within a codebase is a recipe for conflicts.
We don't expect this lint to ever fail in "normal" usage, since we expect
developers on these drivers to setup automatic formatting in their editor.
However, it can be useful as a failsafe or for drive-by contributors who don't
know the style guide.
Enable the linting for Asahi. We'll enable for Panfrost shortly, but Panfrost
isn't clang-format clean quite yet.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20553>
Alyssa Rosenzweig [Fri, 10 Mar 2023 01:35:10 +0000 (20:35 -0500)]
ci: Add clang-format to the amd64 container
We need clang-format available in order to check for formatting errors later.
Add it to the amd64 container only (this requires some shenigans to avoid
multi-arch conflicts).
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20553>
José Roberto de Souza [Tue, 14 Feb 2023 17:16:31 +0000 (09:16 -0800)]
iris: Implement gem_mmap() in Xe kmd backend
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/21937>
José Roberto de Souza [Tue, 14 Feb 2023 17:06:58 +0000 (09:06 -0800)]
iris: Implement gem_create() in Xe kmd backend
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/21937>
José Roberto de Souza [Tue, 14 Feb 2023 17:25:28 +0000 (09:25 -0800)]
iris: Implement the function to destroy VM in Xe
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/21937>
José Roberto de Souza [Tue, 14 Feb 2023 17:00:22 +0000 (09:00 -0800)]
iris: Implement the Xe version of iris_bufmgr_init_global_vm()
As Xe KMD requires VM, iris_bufmgr_init_global_vm() now is returing
a boolean telling if bufmgr creationg should continue or not.
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/21937>
José Roberto de Souza [Wed, 8 Mar 2023 17:22:34 +0000 (09:22 -0800)]
iris: Only mark buffer as exported if drmPrimeHandleToFD() succeed
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21966>
Rhys Perry [Thu, 16 Mar 2023 16:57:34 +0000 (16:57 +0000)]
aco: set needs_flat_scr=true for RT
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Fixes:
39c828cb9fd ("aco: remove aco::rt_stack variable")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21961>
Rhys Perry [Thu, 16 Mar 2023 16:47:16 +0000 (16:47 +0000)]
aco/gfx11: fix RT prolog scratch initialization
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Fixes:
6446b791681 ("aco: implement select_rt_prolog()")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21961>
Michel Dänzer [Fri, 10 Feb 2023 15:22:38 +0000 (16:22 +0100)]
ci: Enable LTO for fedora-release job
Requires -Wno-error=... to be passed to the linking stage.
NOTE: This does not imply that it's safe to enable LTO for Fedora
package builds yet. It just helps prevent moving further away from that
long term goal.
v2:
* Keep passing -Wno-error=array-bounds & -Wno-error=stringop-overread.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21781>
Michel Dänzer [Mon, 13 Feb 2023 15:08:11 +0000 (16:08 +0100)]
ci: Install procps-ng in Fedora image
For GCC LTO wrapper scripts.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21781>
Michel Dänzer [Mon, 13 Mar 2023 15:11:59 +0000 (16:11 +0100)]
ci: Drop ccache from Fedora image
It started hanging in F36 as well.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21781>
Michel Dänzer [Tue, 14 Mar 2023 08:38:18 +0000 (09:38 +0100)]
ci: Make ccache optional
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21781>
Michel Dänzer [Fri, 10 Feb 2023 15:09:01 +0000 (16:09 +0100)]
ci: Allow passing c{,pp}_link_args to meson
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21781>
Michel Dänzer [Fri, 10 Feb 2023 15:19:36 +0000 (16:19 +0100)]
ci: Pass -Werror to compiler linking stage for LTO
With LTO, some compiler warnings are generated only at the compiler's
linking stage. Therefore -Werror needs to be passed to the linking stage
as well for warnings to be turned into errors.
Meson should really do this when both werror and b_lto are enabled, but
meanwhile let's do it ourselves.
We can't just add -Werror to c{,pp}_link_args, because those are passed
for Meson's feature checks, some of which generate warnings, resulting
in false negatives. We use gcc/g++ wrapper scripts instead.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21781>
Michel Dänzer [Mon, 13 Mar 2023 16:03:20 +0000 (17:03 +0100)]
intel/vk/grl: Do not use no_override_init_args for C++
It's only valid for C code.
Avoids
cc1plus: error: command-line option '-Wno-override-init' is valid for C/ObjC but not for C++ [-Werror]
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21781>
Michel Dänzer [Tue, 7 Mar 2023 16:24:46 +0000 (17:24 +0100)]
ci: Split up -Werror workarounds for debian-mingw32-x86_64 job
Most of them are only needed for C++ code, one of them only for C.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21781>
Michel Dänzer [Tue, 7 Mar 2023 16:09:51 +0000 (17:09 +0100)]
ci: Remove some -Werror workarounds for debian-android job
No more corresponding warnings.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21781>
Michel Dänzer [Tue, 7 Mar 2023 17:21:57 +0000 (18:21 +0100)]
iris: Use ralloc_free for memory allocated with rzalloc
Pointed out by GCC with LTO:
../src/gallium/drivers/iris/iris_context.c: In function 'iris_create_context':
../src/gallium/drivers/iris/iris_context.c:304:7: error: 'free' called on pointer 'block_180' with nonzero offset 48 [-Werror=free-nonheap-object]
304 | free(ctx);
| ^
[...]
../src/gallium/drivers/iris/iris_context.c:313:7: error: 'free' called on pointer 'block_180' with nonzero offset 48 [-Werror=free-nonheap-object]
313 | free(ctx);
| ^
v2:
* Use ice pointer instead of ctx. (Karol Herbst)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21781>
Michel Dänzer [Tue, 7 Mar 2023 17:14:57 +0000 (18:14 +0100)]
crocus: Use ralloc_free for memory allocated with rzalloc
Pointed out by GCC with LTO:
../src/gallium/drivers/crocus/crocus_context.c: In function 'crocus_create_context':
../src/gallium/drivers/crocus/crocus_context.c:261:7: error: 'free' called on pointer 'block_174' with nonzero offset 48 [-Werror=free-nonheap-object]
261 | free(ctx);
| ^
v2:
* Use ice pointer instead of ctx. (Karol Herbst)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21781>
Michel Dänzer [Mon, 13 Feb 2023 18:03:15 +0000 (19:03 +0100)]
r600: Use container_of instead of direct pointer cast
Fixes strict aliasing violation:
In function 'r600_init_resource_fields',
inlined from 'r600_buffer_create' at ../src/gallium/drivers/r600/r600_buffer_common.c:578:2:
../src/gallium/drivers/r600/r600_buffer_common.c:139:48: warning: array subscript 'struct r600_texture[0]' is partly outside array bounds of 'unsigned char[264]' [-Warray-bounds]
139 | if ((res->b.b.target != PIPE_BUFFER && !rtex->surface.is_linear) ||
| ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../src/util/os_memory.h:37,
from ../src/util/u_memory.h:38,
from ../src/gallium/include/pipe/p_state.h:47,
from ../src/gallium/auxiliary/util/u_inlines.h:34,
from ../src/gallium/auxiliary/pipebuffer/pb_buffer.h:49,
from ../src/gallium/include/winsys/radeon_winsys.h:46,
from ../src/gallium/drivers/r600/r600_pipe_common.h:37,
from ../src/gallium/drivers/r600/r600_cs.h:33,
from ../src/gallium/drivers/r600/r600_buffer_common.c:27:
In function 'r600_alloc_buffer_struct',
inlined from 'r600_buffer_create' at ../src/gallium/drivers/r600/r600_buffer_common.c:576:34:
../src/util/os_memory_stdc.h:41:27: note: object of size 264 allocated by 'malloc'
41 | #define os_malloc(_size) malloc(_size)
| ^~~~~~~~~~~~~
../src/util/u_memory.h:46:24: note: in expansion of macro 'os_malloc'
46 | #define MALLOC(_size) os_malloc(_size)
| ^~~~~~~~~
../src/util/u_memory.h:54:41: note: in expansion of macro 'MALLOC'
54 | #define MALLOC_STRUCT(T) (struct T *) MALLOC(sizeof(struct T))
| ^~~~~~
../src/gallium/drivers/r600/r600_buffer_common.c:554:19: note: in expansion of macro 'MALLOC_STRUCT'
554 | rbuffer = MALLOC_STRUCT(r600_resource);
| ^~~~~~~~~~~~~
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21781>
Michel Dänzer [Tue, 14 Feb 2023 17:05:21 +0000 (18:05 +0100)]
nouveau: Make getSize return unsigned int
This matches the type of the underlying size member, and is consistent
with other getSize methods.
Avoids compiler warning with LTO enabled:
In member function '__ct ',
inlined from 'convertToSSA' at ../src/nouveau/codegen/nv50_ir_ssa.cpp:401:26,
inlined from 'convertToSSA' at ../src/nouveau/codegen/nv50_ir_ssa.cpp:310:28,
inlined from 'nv50_ir_generate_code' at ../src/nouveau/codegen/nv50_ir.cpp:1331:22:
../src/nouveau/codegen/nv50_ir_ssa.cpp:407:48: error: argument 1 value '
18446744073709551615' exceeds maximum object size
9223372036854775807 [-Werror=alloc-size-larger-than=]
407 | stack = new Stack[func->allLValues.getSize()];
| ^
/usr/include/c++/12/new: In function 'nv50_ir_generate_code':
/usr/include/c++/12/new:128:26: note: in a call to allocation function 'operator new []' declared here
128 | _GLIBCXX_NODISCARD void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc)
| ^
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21781>
Alejandro Piñeiro [Tue, 14 Mar 2023 11:34:31 +0000 (12:34 +0100)]
v3dv/debug: add debug option to disable TFU codepaths
This can have two main uses:
* If we suspect a problem with TFU copies, we can disable it and
check if other codepaths gets a test/app working.
* To test other codepaths, as in general, TFU is the preferred
option for copies.
Note that for now this is only for v3dv, as for v3d, mipmap generation
uses TFU without an alternative codepath.
With this option we also adds an assert if we try to submit a TFU job,
just in case we keep adding other methods that use TFU, and forget to
include the debug option there.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21952>
Mike Blumenkrantz [Mon, 13 Mar 2023 11:57:45 +0000 (07:57 -0400)]
zink: only flag rp info for updating on flush, don't actually update
this is more consistent with actual usage
also sanitize rp info on flush to ensure it isn't reused
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21800>
Mike Blumenkrantz [Wed, 8 Mar 2023 23:36:24 +0000 (18:36 -0500)]
aux/tc: rework inter-batch renderpass info handling
the tricky part of tracking renderpass info in tc is handling batch
flushing. there are a number of places that can trigger it, but
there are only two types of flushes:
* full flushes (all commands execute)
* partial flushes (more commands will execute after)
the latter case is the important one, as it effectively means that
the current renderpass info needs to "roll over" into the next one,
and it's really the next info that the driver will want to look at.
this is made trickier by there being no way (for the driver) to distinguish
when a rollover happens in order to delay beginning a renderpass for
further parsing
to solve this, add a member to renderpass info to chain the rolled-over info,
which tc can then process when the driver tries to wait. this works "most"
of the time, except when an app/test blows out the tc batch count, in which
case this pointer will be non-null, and it can be directly signaled as a less
optimized renderpass to avoid deadlocking
also sometimes a flush will trigger sub-flushes for buffer lists, so
add an assert to ensure nobody tries using this with driver_calls_flush_notify=true
Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21800>
Mike Blumenkrantz [Mon, 13 Mar 2023 11:52:35 +0000 (07:52 -0400)]
aux/tc: make some of the rp tracking api private
this enables some more under-the-hood changes without touching the header
that will force all of gallium to be recompiled
also update/clarify rules for using rp tracking; these haven't changed,
but the documentation was less clear before
Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21800>
Mike Blumenkrantz [Mon, 13 Mar 2023 11:41:33 +0000 (07:41 -0400)]
aux/tc: fix initial rp info allocation
this value is -1 by default, which means the initial allocation yields
9 info structs instead of 10 (though this has no bearing on functionality)
Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21800>
Mike Blumenkrantz [Mon, 13 Mar 2023 11:40:03 +0000 (07:40 -0400)]
aux/tc: add a function to reset rp info
drivers should be maintaining a local copy of the rp info, and this
provides a consistent way to reset that info if a renderpass is ended
early
Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21800>
Mike Blumenkrantz [Thu, 9 Mar 2023 12:37:02 +0000 (07:37 -0500)]
aux/tc: don't sync for get_sample_position
no drivers actually use the context for this, so a sync is pointless
Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21800>
Mike Blumenkrantz [Thu, 9 Mar 2023 12:18:23 +0000 (07:18 -0500)]
aux/tc: track the number of active queries
Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21800>
Mike Blumenkrantz [Wed, 8 Mar 2023 20:06:49 +0000 (15:06 -0500)]
aux/tc: fix renderpass splitting on flush
it's expected that a driver won't immediately trigger a deferred flush
if a fence is present, so don't split the renderpass in this case since
that breaks everything
Fixes:
07017aa137b ("util/tc: implement renderpass tracking")
Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21800>
Mike Blumenkrantz [Wed, 8 Mar 2023 20:06:10 +0000 (15:06 -0500)]
aux/tc: use a local 'deferred' variable in tc_flush()
no functional changes
Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21800>