Corentin Noël [Tue, 14 Feb 2023 09:48:18 +0000 (10:48 +0100)]
ci/venus: Skip tests risking out of memory issues
These two dEQP tests:
* dEQP-VK.api.object_management.max_concurrent.graphics_pipeline
* dEQP-VK.api.object_management.max_concurrent.compute_pipeline
Require a lot of memory and might kill crosvm or the renderer server because of EOM
issues. Skip them for now.
Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21306>
Samuel Pitoiset [Fri, 10 Feb 2023 09:33:28 +0000 (10:33 +0100)]
radv: ignore registering pipeline libaries with SQTT
They aren't executable pipelines and they might not contain all
shader stages.
This fixes a crash when generating RGP captures with GPL.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21235>
Erik Faye-Lund [Thu, 9 Feb 2023 08:06:53 +0000 (09:06 +0100)]
zink: remove incorrect trailing comma
A trailing comma in a list is not valid JSON. Let's drop it.
Fixes:
f7b2dbb2bdc ("zink: relax bresenhamLines requirement for non-strictLine drivers")
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21211>
Erik Faye-Lund [Tue, 1 Nov 2022 14:58:28 +0000 (15:58 +0100)]
zink: correct companies in requirements
These contributors don't work for Zink itself, but various companies
who's working on Zink. Add the correct ones.
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21211>
Michel Dänzer [Fri, 10 Feb 2023 10:56:45 +0000 (11:56 +0100)]
ci: Enable the hasvk Vulkan driver in the fedora-release job
To match the Fedora packaging.
While at it, sort the Vulkan drivers alphabetically.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21236>
Michel Dänzer [Fri, 10 Feb 2023 10:55:43 +0000 (11:55 +0100)]
ci: Enable i915 Gallium driver in fedora-release job
To match the Fedora packaging.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21236>
Michel Dänzer [Fri, 10 Feb 2023 10:54:04 +0000 (11:54 +0100)]
ci: Re-enable intel-clc in fedora-release job
Fedora 36 has new enough llvm-spirv-translator.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21236>
Michel Dänzer [Thu, 9 Feb 2023 16:41:25 +0000 (17:41 +0100)]
ci: Update Fedora image to 36
Fedora 34 is EOL.
With Fedora 37, ccache hangs in a futex syscall in CI for some reason,
so let's go with 36 for now.
v2:
* No need to add -Wno-error=stringop-overflow anymore.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21236>
Michel Dänzer [Mon, 13 Feb 2023 11:54:12 +0000 (12:54 +0100)]
clover: Reserve vector memory in make_text_section
This isn't strictly required, but it works around
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100366 , and it might
avoid a memory reallocation.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21236>
Michel Dänzer [Thu, 9 Feb 2023 17:27:23 +0000 (18:27 +0100)]
anv/grl: Use union for reinterpreting integer as float
Fixes strict aliasing violations flagged by GCC 12:
../src/intel/vulkan/grl/include/GRLOCLCompatibility.h: In function ‘float as_float(uint32_t)’:
../src/intel/vulkan/grl/include/GRLOCLCompatibility.h:182:13: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
182 | return *reinterpret_cast<float*>(&i);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/intel/vulkan/grl/include/GRLOCLCompatibility.h: In function ‘float3 as_float3(int3)’:
../src/intel/vulkan/grl/include/GRLOCLCompatibility.h:187:13: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
187 | return *reinterpret_cast<float3*>(&i3);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/intel/vulkan/grl/include/GRLOCLCompatibility.h:187:13: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
../src/intel/vulkan/grl/include/GRLOCLCompatibility.h: In function ‘float4 as_float4(int4)’:
../src/intel/vulkan/grl/include/GRLOCLCompatibility.h:192:13: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
192 | return *reinterpret_cast<float4*>(&i4);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/intel/vulkan/grl/include/GRLOCLCompatibility.h:192:13: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
Fixes:
5f948503e40c ("anv: Import GRL")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21236>
Mike Blumenkrantz [Sat, 28 Jan 2023 12:50:42 +0000 (07:50 -0500)]
zink: set ZINK_DESCRIPTORS=db for radv jobs
there's no testing for this in ci, and radv has a unique heap/memory
setup which catches allocation regressions
Reviewed-by: Martin Roukala <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20968>
Marcin Ślusarz [Mon, 30 Jan 2023 16:18:04 +0000 (17:18 +0100)]
anv: enable task redistribution
Disabling is no longer needed after "intel/compiler/mesh: use
slice id of task urb handles in mesh shaders".
This reverts commit
4eaecd79657f0cd99f6536fd55a7a14958d6624b.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7141
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21007>
Marcin Ślusarz [Mon, 30 Jan 2023 16:09:26 +0000 (17:09 +0100)]
intel/compiler/mesh: use slice id of task urb handles in mesh shaders
When mesh shader is spawned on a different slice than the originating
task shader, then input task urb handle can come from a different
slice, so masking this information off will load data from the current
slice, instead of the one where real data are.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21007>
Lionel Landwerlin [Tue, 31 Jan 2023 21:15:11 +0000 (22:15 +0100)]
anv: implement VK_EXT_vertex_input_dynamic_state
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21026>
Lionel Landwerlin [Tue, 31 Jan 2023 18:55:59 +0000 (19:55 +0100)]
anv: move 3DSTATE_VERTEX_ELEMENT emission to dynamic path
Prep work for VK_EXT_vertex_input_dynamic_state
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21026>
Lionel Landwerlin [Tue, 31 Jan 2023 19:09:36 +0000 (20:09 +0100)]
anv: remove copied information from runtime graphics state
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21026>
Marcin Ślusarz [Fri, 27 Jan 2023 14:58:35 +0000 (15:58 +0100)]
anv: fix how unset gl_Viewport & gl_Layer are handled in mesh case
See also:
c6f69eea6ac ("anv/pipeline: Properly handle unset gl_Layer and gl_ViewportIndex")
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17620>
Marcin Ślusarz [Fri, 15 Jul 2022 09:53:39 +0000 (11:53 +0200)]
intel/compiler: replace gl_Layer & gl_ViewportIndex by 0 in fs if ms doesn't write it
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17620>
Samuel Pitoiset [Wed, 8 Feb 2023 10:38:25 +0000 (11:38 +0100)]
radv: disable DCC for mipmaps on GFX11
It seems broken but can't really figure out why and DCC levels aren't
interleaved on GFX11. Skipping DCC initialization for levels seems to
also fix it but seems safer to disable completely, as a hotfix.
Fixes DCC issues with Hi-Fi Rush, Sonic Frontiers, Hogwarts Legacy
and probably more.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8230
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21186>
Emma Anholt [Mon, 13 Feb 2023 21:10:40 +0000 (13:10 -0800)]
ci/etnaviv: Update deqp xfails for gc2000.
More of a mixed bag here than gc7000, but at least the status is stable
in the last 3 nightly runs.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21294>
Emma Anholt [Mon, 13 Feb 2023 21:07:11 +0000 (13:07 -0800)]
ci/etnaviv: Drop stale xfails from gc7000.
These have passed in 3/3 of the last nightly runs. Congrats, etnaviv!
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21294>
Emma Anholt [Mon, 13 Feb 2023 20:08:57 +0000 (12:08 -0800)]
ci/radv: Add a skip for navi21-llvm for a test that consistently timeouts.
I had seen this in my last round of work, but forgot to git add the skips
file.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21294>
Mike Blumenkrantz [Mon, 13 Feb 2023 21:43:21 +0000 (16:43 -0500)]
zink: verify compressed format layer count when creating surfaces
this is illegal for some cases, and mesa/st is equipped to handle
per-layer copying here
fixes #8283
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21292>
Mike Blumenkrantz [Mon, 13 Feb 2023 19:56:06 +0000 (14:56 -0500)]
zink: don't handle mutable init on surface creation with tc enabled
using the cmdbuf during this call is illegal and causes desync, thus
the initialization has to be deferred until the surface is bound
fixes #7579
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21292>
Mike Blumenkrantz [Mon, 13 Feb 2023 19:55:31 +0000 (14:55 -0500)]
zink: const-ify a surface param
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21292>
Mike Blumenkrantz [Mon, 13 Feb 2023 19:55:14 +0000 (14:55 -0500)]
zink: break out pipe_surface init for new surface creation
no functional changes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21292>
Mike Blumenkrantz [Mon, 13 Feb 2023 19:53:43 +0000 (14:53 -0500)]
zink: account for null surface when trying to retain clears on fb bind
not currently possible but will be soon
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21292>
Mike Blumenkrantz [Mon, 13 Feb 2023 19:52:57 +0000 (14:52 -0500)]
zink: only try for a fb rebind if fb binds exist in rebind_image()
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21292>
Mike Blumenkrantz [Mon, 13 Feb 2023 19:52:33 +0000 (14:52 -0500)]
zink: fix indentation of rebind_image()
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21292>
Dave Airlie [Tue, 14 Feb 2023 00:58:45 +0000 (10:58 +1000)]
crocus: switch gen4/5 tiling flags to follow suggestions.
Fixes:
6043f66dd332 ("crocus: disable Y tiling for render targets properly.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21300>
Eric Engestrom [Mon, 13 Feb 2023 22:12:04 +0000 (22:12 +0000)]
broadcom/ci: mark test as flaky
It passed once here: https://gitlab.freedesktop.org/gdevi/mesa/-/jobs/
36317041
Signed-off-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21295>
Emma Anholt [Mon, 13 Feb 2023 21:20:22 +0000 (13:20 -0800)]
Revert "freedreno/a5xx: Fix clip_mask"
This reverts commit
2dfebf34874b5365156d254c2c1ba2ecc5262deb.
It causes GPU hangs in piglit tests like
spec@glsl-1.20@execution@clipping@vs-clip-vertex-enables, for reasons I'm
totally unclear on. The commit was not necessary, because the frontend
lowering already handles disabled clip planes by storing 0.0 to the
corresponding clipdist array element in that shader variant. Add a note
to that effect.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21298>
Emma Anholt [Mon, 13 Feb 2023 20:13:32 +0000 (12:13 -0800)]
ci/freedreno: Update manual-run xfails for a530.
While I'm having a hard time stabilizing most of the test list on this HW
due to the clip-enable GPU hangs leaking into random other tests, these
have been consistent in the last 4 runs.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21298>
Giancarlo Devich [Thu, 9 Feb 2023 23:26:00 +0000 (15:26 -0800)]
d3d12: Don't clear d3d12_shader_key
The shader key structure is quite large and memsetting it to zero to be
able to create or often simply find an existing shader is responsible
for a large portion of CPU usage during benchmarks.
This change is more surgical about what, when, and how things get
cleared.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21247>
Giancarlo Devich [Fri, 10 Feb 2023 23:30:09 +0000 (15:30 -0800)]
nir: Check sampler_binding is valid when lowering tex shadow
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21247>
Giancarlo Devich [Thu, 9 Feb 2023 23:22:51 +0000 (15:22 -0800)]
d3d12: Add unions to encompass shader key stage vars, use in hashing
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21247>
Giancarlo Devich [Thu, 9 Feb 2023 20:34:17 +0000 (12:34 -0800)]
d3d12: Use varying comparison function for TESS stage key compare
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21247>
Alan Coopersmith [Fri, 3 Feb 2023 21:12:38 +0000 (13:12 -0800)]
util/disk_cache: Handle OS'es without d_type in struct dirent
Needed to build on Solaris
Fixes:
f58e6fee745 ("util/disk_cache: delete more cache items in one go when full")
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21110>
Mike Blumenkrantz [Wed, 8 Feb 2023 20:36:51 +0000 (15:36 -0500)]
zink: always use NEAREST for zs blits
LINEAR is illegal, and swapping filtering at this point still
seems to be conformant given questionable GL spec requirements for
LINEAR zs filtering
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21203>
Konstantin Seurer [Sat, 14 Jan 2023 12:38:09 +0000 (13:38 +0100)]
radv/rra: Hide deferred accel struct data destruction behind an env var
Keeping around copies of the BVHs in CPU memory can cause issues with
Applications creating a large amount of acceleration structures (Control).
This commit adds back the old path of copying acceleration structures
while still keeping the deferred, possibly more accurate path around.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20700>
Konstantin Seurer [Sat, 14 Jan 2023 12:20:05 +0000 (13:20 +0100)]
radv/rra: Find copy memory index when initializing the trace state
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20700>
Lionel Landwerlin [Mon, 13 Feb 2023 07:18:28 +0000 (09:18 +0200)]
anv/hasvk: handle a SAMPLED_READ/STORAGE_READ access flags
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21277>
SoroushIMG [Mon, 13 Feb 2023 14:38:26 +0000 (14:38 +0000)]
zink: free resource objects' views array during destruction
since the array is not ralloc managed, it has be explicitly freed.
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21285>
SoroushIMG [Sun, 12 Feb 2023 17:13:48 +0000 (17:13 +0000)]
zink: stop creating pipeline library cache for non-optimal_key drivers
currently the nin-optimal codepath doesn't use this at all and this just
leaks memory due to not handling non-tcs generated shaders.
Fixes:
487ac6dbd60 ("zink: implement cross-program pipeline library sharing")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21285>
SoroushIMG [Sun, 12 Feb 2023 17:05:15 +0000 (17:05 +0000)]
zink: allocate program shader caches from the program's mem ctx
these will now be freed when the program itself is freed.
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21285>
SoroushIMG [Sun, 12 Feb 2023 00:36:29 +0000 (00:36 +0000)]
zink: fix compute shader leaks
Compute program owns the nir and zink shaders now and must free them
too when destroyed.
Fixes:
4cb4bb555e7 ("zink: create compute programs from compute shaders directly")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21285>
Michel Zou [Fri, 10 Feb 2023 16:46:46 +0000 (17:46 +0100)]
ci/mingw: drop useless -Wno-error flags
Will prevent merging incorrect code like in #8260
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21244>
Chia-I Wu [Sat, 11 Feb 2023 00:39:46 +0000 (16:39 -0800)]
radv: fix a hang with binning on CHIP_RENOIR
Using (6, 16) for (context_states_per_bin, persistent_states_per_bin)
causes gpu hang in RDR2 benchmark on CHIP_RENOIR. Follow radeonsi and
use (3, 8) instead.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21254>
osy [Mon, 19 Dec 2022 02:29:50 +0000 (18:29 -0800)]
virgl: enable timer queries only if host supports it
Timer queries is tied to GL_ARB_timer_query/GL_EXT_disjoint_timer_query
support on the host. We have a flag that detects this so lets use it.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20380>
Alyssa Rosenzweig [Sat, 21 Jan 2023 21:25:13 +0000 (16:25 -0500)]
pan/decode: Add support for decoding CSF
Add support to pandecode for Mali architecture v10, featuring the new command
stream frontend (CSF). This replaces the "job chain" with a new Command
Execution Unit (CEU) that runs a domain-specific assembly language. That
requires us to refactor pandecode substantially, splitting out JM-only code from
shared JM/CSF common code, and adding new CSF-only decode routines to
disassemble and interpret CSF command streams and pretty-printing the
data structures hit.
This is of course impossible to do properly, since the CEU is pretty easily
Turing-complete and hence subject to the halting problem. But we implement some
simple heuristics to follow jumps that are just good enough for the simple
command streams emitting by both the DDK and Panfrost.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20837>
Alyssa Rosenzweig [Sat, 11 Feb 2023 03:12:26 +0000 (22:12 -0500)]
panfrost: Fix some fields in v10.xml
Correct some errors from the file's initial check in, as we're about to add
corresponding pandecode changes for the file.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20837>
Alyssa Rosenzweig [Sun, 12 Feb 2023 17:19:58 +0000 (12:19 -0500)]
asahi: Implement indirect draws
Passes dEQP-GLES31.functional.draw_indirect.*
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21273>
Alyssa Rosenzweig [Sun, 12 Feb 2023 17:14:13 +0000 (12:14 -0500)]
asahi: Refactor index buffer upload for indirect
We need to avoid the reference to draws->count when indirect draws are used, as
it is not available CPU side.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21273>
Alyssa Rosenzweig [Sun, 12 Feb 2023 17:22:47 +0000 (12:22 -0500)]
asahi: Remove default=true on index list values
These will cause issues with indirect draws.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21273>
Alyssa Rosenzweig [Tue, 7 Feb 2023 18:27:08 +0000 (13:27 -0500)]
panvk: Disable SNORM rendering
Driver isn't ready for this yet.
7f98a9ba2bd ("panfrost: Implement
GL_EXT_render_snorm on Bifrost+") caused piles of tests to go from NotSupported
-> Fail, so let's functionally revert that.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21257>
Alyssa Rosenzweig [Tue, 7 Feb 2023 18:23:54 +0000 (13:23 -0500)]
panvk: Fix varying linking
Since
2316b80d77e ("panfrost: Don't use nir_variable to link varyings"), we can
only get correct type information from the fragment shader inputs (not the
vertex shader output). Fixes piles of CTS regressions.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21257>
Alyssa Rosenzweig [Tue, 7 Feb 2023 17:18:35 +0000 (12:18 -0500)]
panvk: Take lock when tracing
We're not supposed to call the GENX(pandecode_jc) routines (e.g.
pandecode_jc_v7), since it's an internal interface that expects the caller to
take a lock first. Instead we're supposed to call the non-GenXML pandecode_jc
entrypoint which does the locking properly. Fixes assertion failures when
tracing with recent pandecode:
deqp-vk: ../src/util/simple_mtx.h:142: simple_mtx_assert_locked: Assertion `mtx->val' failed.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21257>
Karol Herbst [Mon, 5 Sep 2022 15:22:56 +0000 (17:22 +0200)]
rusticl/program: enable spirv
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19008>
Karol Herbst [Mon, 13 Feb 2023 11:04:10 +0000 (12:04 +0100)]
rusticl/kernel: fix clGetKernelInfo CL_KERNEL_ATTRIBUTES for non source programs
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19008>
Marcin Ślusarz [Mon, 13 Feb 2023 09:09:35 +0000 (10:09 +0100)]
anv: bump ANV_MAX_QUEUE_FAMILIES
Now it's possible to overflow anv_physical_device.queue.families
and anv_device.decoder.
CID: 1520852
Fixes:
056b0cb87f2 ("anv: add video engine support in various places")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21278>
Yusuf Khan [Fri, 28 Oct 2022 06:58:29 +0000 (01:58 -0500)]
nvc0/nv50: support and enable EXT_memory_object*
Passes the ext_external_objects-memory-object-api-errors piglit:
./bin/ext_external_objects-memory-object-api-errors
Mesa: User error: GL_INVALID_VALUE in glTexStorageMem1DEXT(memory=0)
PIGLIT: {"subtest": {"1D texture" : "pass"}}
Mesa: User error: GL_INVALID_VALUE in glTexStorageMem2DEXT(memory=0)
PIGLIT: {"subtest": {"2D texture" : "pass"}}
Mesa: User error: GL_INVALID_VALUE in glTexStorageMem3DEXT(memory=0)
PIGLIT: {"subtest": {"3D texture" : "pass"}}
Mesa: User error: GL_INVALID_VALUE in glTextureStorageMem1DEXT(memory=0)
PIGLIT: {"subtest": {"1D texture direct state access" : "pass"}}
Mesa: User error: GL_INVALID_VALUE in glTexureStorageMem2DEXT(memory=0)
PIGLIT: {"subtest": {"2D texture direct state access" : "pass"}}
Mesa: User error: GL_INVALID_VALUE in glTextureStorageMem3DEXT(memory=0)
PIGLIT: {"subtest": {"3D texture direct state access" : "pass"}}
Mesa: User error: GL_INVALID_VALUE in glTexStorageMem2DMultisampleEXT(memory=0)
PIGLIT: {"subtest": {"2D texture ms" : "pass"}}
Mesa: User error: GL_INVALID_VALUE in glTexStorageMem3DMultisampleEXT(memory=0)
PIGLIT: {"subtest": {"3D texture ms" : "pass"}}
Mesa: User error: GL_INVALID_VALUE in glTextureStorageMem2DMultisampleEXT(memory=0)
PIGLIT: {"subtest": {"2D texture ms direct state access" : "pass"}}
Mesa: User error: GL_INVALID_VALUE in glTextureStorageMem3DMultisampleEXT(memory=0)
PIGLIT: {"subtest": {"3D texture ms direct state access" : "pass"}}
Mesa: User error: GL_INVALID_VALUE in glBufferStorageMemEXT(memory == 0)
PIGLIT: {"subtest": {"buffer storage" : "pass"}}
Mesa: User error: GL_INVALID_VALUE in glNamedBufferStorageMemEXT(memory == 0)
PIGLIT: {"subtest": {"buffer storage direct state access" : "pass"}}
Mesa: User error: GL_INVALID_ENUM in glGetUnsignedBytevEXT(pname=0xffffffff)
PIGLIT: {"subtest": {"unsigned-byte-v-bad-enum" : "pass"}}
Mesa: User error: GL_INVALID_ENUM in glGetUnsignedBytei_vEXT(pname=0xffffffff)
PIGLIT: {"subtest": {"unsigned-byte-i-v-bad-enum" : "pass"}}
Mesa: User error: GL_INVALID_VALUE in glGetUnsignedBytei_vEXT(pname=GL_DEVICE_UUID_EXT)
PIGLIT: {"subtest": {"unsigned-byte-i-v-bad-value" : "pass"}}
Signed-off-by: Yusuf Khan <yusisamerican@gmail.com>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19405>
Alyssa Rosenzweig [Sun, 12 Feb 2023 01:20:39 +0000 (20:20 -0500)]
asahi: Add XML for VDM memory barriers
We'll use these in our implementation of transform feedback.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21272>
Alyssa Rosenzweig [Sat, 11 Feb 2023 22:39:37 +0000 (17:39 -0500)]
asahi: Add XML for indirect draws
Nice and simple.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21272>
Alyssa Rosenzweig [Sat, 11 Feb 2023 21:12:04 +0000 (16:12 -0500)]
asahi: Add XML for indirect dispatch
This splits up the CDM commands into their subparts, after which
indirect dispatch is straightforward.
Also fix the pipeline bits.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21272>
Alyssa Rosenzweig [Thu, 9 Feb 2023 19:50:26 +0000 (14:50 -0500)]
asahi: Submit batches that don't touch RTs
If there is any draw, we should submit in case there are active queries,
fragment shader side effects, etc. Together with previous commit fixes
no_attachment framebuffers.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21267>
Alyssa Rosenzweig [Thu, 9 Feb 2023 19:48:47 +0000 (14:48 -0500)]
agx: Write sample mask even with no colour output
Needed for discard to work properly, which has visible side effects with
occlusion queries. Fixes no_attachment framebuffers together with the next
commit.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21267>
Alyssa Rosenzweig [Fri, 10 Feb 2023 03:58:59 +0000 (22:58 -0500)]
agx: Implement load_helper_invocation
Passes dEQP-GLES31.functional.shaders.helper_invocation.*
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21265>
Alyssa Rosenzweig [Fri, 10 Feb 2023 22:21:17 +0000 (17:21 -0500)]
agx: Remove bogus gl_Position assertion
It is reasonable not to write gl_Position in a transform feedback program.
Fixes rendering of the apitrace of Domekeeper in #7798.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21266>
Alyssa Rosenzweig [Thu, 9 Feb 2023 20:06:04 +0000 (15:06 -0500)]
agx: Fix AGX_MAX_CF_BINDINGS
Potentially could be larger with aliasing of component offsets, though that
would be silly.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21266>
Alyssa Rosenzweig [Thu, 9 Feb 2023 20:05:40 +0000 (15:05 -0500)]
agx: Respect component in frag load_input
Fixes fails in dEQP-GLES31.functional.separate_shader.random.*.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21266>
Alyssa Rosenzweig [Thu, 9 Feb 2023 20:01:12 +0000 (15:01 -0500)]
agx: Remove unused AGX_MAX_VARYINGS
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21266>
Mike Blumenkrantz [Sun, 12 Feb 2023 21:58:19 +0000 (16:58 -0500)]
zink: also replace hash_entry::key when replacing separable program
this otherwise still points to the separable program's shader array
and will access freed memory
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21246>
Mike Blumenkrantz [Sun, 12 Feb 2023 21:46:40 +0000 (16:46 -0500)]
zink: calloc separable program zink_gfx_library_key struct
this matches other zink_gfx_library_key allocations
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21246>
Mike Blumenkrantz [Fri, 10 Feb 2023 21:02:03 +0000 (16:02 -0500)]
zink: implement a scaling descriptor buffer size
previously descriptor buffers were sized to allow for 25,000 descriptors
this is a great number.
but in some scenarios it's overkill, and it's theoretically possible that
it might be underkill in others (citation needed), so add some handling
for both cases to save small amounts of vram on average and not crash
in the distant future when hypercomputers try running drawoverhead
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21246>
Mike Blumenkrantz [Fri, 10 Feb 2023 21:00:16 +0000 (16:00 -0500)]
zink: store base descriptor size on the screen
useful to have this around for reuse
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21246>
Mike Blumenkrantz [Fri, 10 Feb 2023 20:40:44 +0000 (15:40 -0500)]
zink: ensure db is bound before separate shader update
seems unlikely but who knows
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21246>
Mike Blumenkrantz [Fri, 10 Feb 2023 20:34:45 +0000 (15:34 -0500)]
zink: move db_bound to batch descriptor data
this is where descriptor stuff goes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21246>
Mike Blumenkrantz [Fri, 10 Feb 2023 20:32:46 +0000 (15:32 -0500)]
zink: move zink_batch_state::db_bound reset to zink_batch_descriptor_reset()
descriptor code goes in descriptor file
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21246>
Mike Blumenkrantz [Fri, 10 Feb 2023 20:02:29 +0000 (15:02 -0500)]
zink: rename a struct member for clarity
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21246>
Mike Blumenkrantz [Fri, 10 Feb 2023 18:31:51 +0000 (13:31 -0500)]
zink: add an io assignment pass for separate shaders
usually this is handled by zink_compiler_assign_io() for full pipelines,
where locations are compacted and variables are eliminated, but separate
shaders still need to have "correct" locations set, which can be achieved
by relying on 'location' instead of the (failed) attempt by the frontend
to set 'driver_location' with nir_assign_io_var_locations()
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21246>
Mike Blumenkrantz [Fri, 10 Feb 2023 14:49:58 +0000 (09:49 -0500)]
zink: use a single descriptor buffer for all non-bindless types
the descriptor count (buffer size) calculated for buffers was based
on drawoverhead throughput, which is the fastest descriptors can be changed
at the cpu level. these cases demonstrate the maximum speed that ANY
descriptor can be changed, which means that changing multiple types in
a given cmdbuf will, at best, be the same throughput
thus, instead of allocating a separate buffer for each type, only a single
buffer needs to be allocated, and all descriptors can be bound to this buffer
this should reduce descriptor vram usage by ~80%
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21246>
Mike Blumenkrantz [Fri, 10 Feb 2023 15:29:45 +0000 (10:29 -0500)]
zink: rework separate shader descriptor iterating
using the shader struct members is a bit more natural here and
avoids some confusion when one of the stages has no descriptors
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21246>
Mike Blumenkrantz [Fri, 10 Feb 2023 15:42:24 +0000 (10:42 -0500)]
zink: flag gfx programs as removed-from-cache by default
this fixes some desync where async programs are destroyed before being
added to the cache
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21246>
Mike Blumenkrantz [Fri, 10 Feb 2023 15:41:50 +0000 (10:41 -0500)]
zink: assert that the found program matches the expected one in shader_free
avoid bugs
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21246>
Mike Blumenkrantz [Fri, 10 Feb 2023 15:01:40 +0000 (10:01 -0500)]
zink: don't fetch/update pipeline cache for separate shader programs
this is illegal
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21246>
Mike Blumenkrantz [Fri, 10 Feb 2023 14:36:30 +0000 (09:36 -0500)]
zink: fix descriptor pool free iterating
these arrays are sparsely allocated, and using pop() on them will
fail to access some elements
Fixes:
cf7c17a7af3 ("zink: rework descriptor pool overflow")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21246>
Mike Blumenkrantz [Fri, 10 Feb 2023 14:01:48 +0000 (09:01 -0500)]
zink: sync LTO compiles for GPL pipelines on shader free
this avoids invalid access
affects:
KHR-Single-GL46.arrays_of_arrays_gl.InteractionStorageBuffers2
Fixes:
41ffb15de56 ("zink: implement async gfx precompile")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21246>
Mike Blumenkrantz [Fri, 10 Feb 2023 13:32:49 +0000 (08:32 -0500)]
zink: allocate all batch command buffers in one call
just simpler
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21246>
Lionel Landwerlin [Fri, 10 Feb 2023 20:04:57 +0000 (22:04 +0200)]
intel/dev: add a default urb value for intel_stub_gpu on dg2
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/21249>
Samuel Pitoiset [Fri, 10 Feb 2023 10:37:31 +0000 (11:37 +0100)]
radv simplify compiling graphics shaders with a mask of active NIR stages
Instead of recomputing the same bitfield everywhere.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21237>
Samuel Pitoiset [Fri, 10 Feb 2023 10:21:28 +0000 (11:21 +0100)]
radv: only initialize shader arguments for the active stages
Other stages don't need to be initialized.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21237>
Samuel Pitoiset [Fri, 10 Feb 2023 10:32:07 +0000 (11:32 +0100)]
radv: use last_vgt_api_stage for determining the last stage with XFB
It's shorter and cleaner.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21237>
Mike Blumenkrantz [Thu, 9 Feb 2023 22:20:54 +0000 (17:20 -0500)]
zink: add a local is_compute var for set_shader_images
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21229>
Mike Blumenkrantz [Thu, 9 Feb 2023 22:20:06 +0000 (17:20 -0500)]
zink: pull out image descriptor updating in set_shader_images
no functional changes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21229>
Mike Blumenkrantz [Thu, 9 Feb 2023 22:15:50 +0000 (17:15 -0500)]
zink: rework set_shader_images() hook
this makes the code more methodical, readable, and correct, fixing a
number of issues along the way:
* inaccurate write_bind_count incrementing
* inaccurate barrier_access write unsetting
* inefficient partial rebinds
* leaking texel buffers
also add some comments to make this clearer
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21229>
Mike Blumenkrantz [Thu, 9 Feb 2023 21:10:56 +0000 (16:10 -0500)]
zink: unref image buffer descriptors on unbind
Fixes:
7ab5c5d36d2 ("zink: use EXT_descriptor_buffer with ZINK_DESCRIPTORS=db")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21229>
Mike Blumenkrantz [Thu, 9 Feb 2023 20:59:04 +0000 (15:59 -0500)]
zink: remove stale comment
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21229>
Mike Blumenkrantz [Thu, 9 Feb 2023 20:53:32 +0000 (15:53 -0500)]
zink: unset gfx shader read when unbinding shader images
this otherwise will never be unset
Fixes:
50e764fa50d ("zink: track gfx/compute descriptor barrier info")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21229>
Mike Blumenkrantz [Thu, 9 Feb 2023 20:20:27 +0000 (15:20 -0500)]
zink: rename some variables in zink_set_shader_images()
this is more consistent with set_sampler_views
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21229>
Samuel Pitoiset [Fri, 10 Feb 2023 17:08:53 +0000 (18:08 +0100)]
radv: fix importing retained NIR shaders when a lib uses the RETAIN bit
Fixes couple of GPL regressions with VKCTS, I thought this was test
bugs but it's valid behaviour as long as the libary uses
VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21245>