Erik Faye-Lund [Fri, 27 Aug 2021 08:32:41 +0000 (10:32 +0200)]
Revert "zink: always init bordercolor value for sampler"
This reverts commit
336dea90f09c5cefc46de5240da28950fdca0723.
This change was incorrect for two reasons:
1. We already initialize this field on line 334
2. Unconditionally setting this to
VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK breaks rendering with e.g
opaque white borders, because we've already matched those to a
non-custom enum value first.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12591>
Lepton Wu [Sat, 14 Aug 2021 22:52:47 +0000 (15:52 -0700)]
i965: Enable RGBX8888_SRGB format.
This is required by Android. Some Android games like nier reincarnation
show a black screen without this.
Signed-off-by: Lepton Wu <lepton@chromium.org>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12393>
Timur Kristóf [Tue, 24 Aug 2021 06:57:39 +0000 (08:57 +0200)]
aco: Consider maximum number of workgroups per CU/WGP on Navi.
No Fossil DB changes.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12517>
Timur Kristóf [Tue, 24 Aug 2021 06:44:54 +0000 (08:44 +0200)]
aco: Consider LDS usage by PS inputs in MaxWaves calculation.
Before PS waves are launched, PS inputs are moved from PC to LDS
and the corresponding part of the PC is deallocated.
Each PS input occupies 3 * vec4 (3 * 16 = 48 bytes) of LDS space.
See Figure 10.3 in the GCN3 ISA manual.
These limit occupancy the same way as other stages' LDS usage does.
Note that PS can request additional LDS space via EXTRA_LDS_SIZE,
so that also must be taken into account here.
No Fossil DB changes.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12517>
Mike Blumenkrantz [Fri, 6 Aug 2021 14:54:05 +0000 (10:54 -0400)]
zink: remove extra program ref from cached descriptor updates
this happens in draw/compute now
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12582>
Mike Blumenkrantz [Fri, 6 Aug 2021 14:52:25 +0000 (10:52 -0400)]
zink: avoid pulling in unused push descriptors for cached ubo0
instead of just reading the template bufferinfo data, ensure that only
buffers which will be read are added to the set to avoid stale cache entries
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12582>
Tomeu Vizoso [Fri, 27 Aug 2021 14:55:22 +0000 (16:55 +0200)]
iris/ci: Correctly set freq governors to max
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12598>
Tomeu Vizoso [Fri, 27 Aug 2021 14:55:07 +0000 (16:55 +0200)]
freedreno/ci: Correctly set freq governors to max
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12598>
Boris Brezillon [Fri, 27 Aug 2021 11:00:20 +0000 (13:00 +0200)]
panvk: Fix panvk_copy_fb_desc()
We should not skip the copy when the batch is attached a framebuffer
descriptor, quite the opposite. Let's drop the check instead of reversing
it since we are guaranteed to have an FB attached when
panvk_copy_fb_desc() is called.
Fixes: 792a0ab0b146 ("panvk: Prepare per-gen split")
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12590>
Boris Brezillon [Fri, 27 Aug 2021 08:30:38 +0000 (10:30 +0200)]
panvk: Make the per-arch static lib depend on panvk_entrypoints.h
The panvk_entrypoints.h header is included by all panvk_vX_xxx.c
source files, without this dependency the build can fail.
Fixes: 792a0ab0b146 ("panvk: Prepare per-gen split")
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Tested-by: Fabio Pedretti <pedretti.fabio@gmail.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12590>
Mike Blumenkrantz [Mon, 2 Aug 2021 17:44:30 +0000 (13:44 -0400)]
zink: more effectively utilize batch_usage for query destruction
there's no need to track the number of batches that a query is referenced on,
as all the tracking is already done by the batch_usage mechanism, so this
can be simplified to manage destruction based on whether batch_usage exists
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12578>
Mike Blumenkrantz [Mon, 2 Aug 2021 14:52:20 +0000 (10:52 -0400)]
zink: don't try to sync previous timestamp query qbo values
this makes no sense, so don't explode the qbo by trying
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12578>
Mike Blumenkrantz [Mon, 2 Aug 2021 14:51:15 +0000 (10:51 -0400)]
zink: move time query ending out to zink_end_query
time queries only need to be ended when the api ends them, not per-cmdbuf
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12578>
Mike Blumenkrantz [Mon, 2 Aug 2021 16:01:54 +0000 (12:01 -0400)]
zink: improve threadsafe qbo access
these should be staging resources since they're being read from often,
and this allows dropping the UNSYNCHRONIZED flag from map since it should
be inferred
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12578>
Mike Blumenkrantz [Tue, 15 Jun 2021 15:52:20 +0000 (11:52 -0400)]
zink: make zink_gfx_pipeline_state::vertices_per_patch a bitfield
this is clamped to MAX_PATCH_VERTICES
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12586>
Mike Blumenkrantz [Tue, 15 Jun 2021 15:52:08 +0000 (11:52 -0400)]
zink: repack zink_gfx_pipeline_state
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12586>
Mike Blumenkrantz [Tue, 15 Jun 2021 15:35:02 +0000 (11:35 -0400)]
zink: convert rasterizer pipeline components to bitfield
this reduces the hashed pipeline key size by 53 bits
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12586>
Mike Blumenkrantz [Thu, 15 Jul 2021 13:20:27 +0000 (09:20 -0400)]
zink: steal a bit from rast_samples in pipeline state
zink only handles values up to 64, so this still has an extra bit
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12586>
Mike Blumenkrantz [Fri, 18 Jun 2021 16:47:29 +0000 (12:47 -0400)]
zink: add clip_halfz to rasterizer hw state
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12586>
Mike Blumenkrantz [Tue, 15 Jun 2021 14:23:38 +0000 (10:23 -0400)]
zink: repack zink_rasterizer_hw_state
this is now 11 bits
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12586>
Mike Blumenkrantz [Tue, 15 Jun 2021 13:51:13 +0000 (09:51 -0400)]
zink: zero viewport and scissor count in pipeline with dynamic state1
this is illegal
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12586>
Mike Blumenkrantz [Tue, 15 Jun 2021 13:50:26 +0000 (09:50 -0400)]
zink: move viewport count into dynamic state1 part of pipeline hash
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12586>
Mike Blumenkrantz [Tue, 15 Jun 2021 13:47:50 +0000 (09:47 -0400)]
zink: move dynamic state1 pipeline members into substruct
this is a bit easier to manage
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12586>
Boris Brezillon [Tue, 18 May 2021 14:03:29 +0000 (16:03 +0200)]
panfrost: v7 does not support RGB32_UNORM textures
Cc: mesa-stable
Fixes: c6bdd976e611 ("panfrost: Split out v6/v7 format tables")
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12588>
Yevhenii Kharchenko [Mon, 22 Feb 2021 22:15:15 +0000 (00:15 +0200)]
iris: fix layer calculation for TEXTURE_3D ReadPixels() on mip-level>0
Fixes assert when ReadPixels() called to read from FBO to
GL_PIXEL_PACK_BUFFER, on mip-level > 0, since num_layers
wasn't properly calculated with mip-level.
v2: patched 'iris_create_sampler_view' function instead of
'resolve_sampler_views'. Just like it was suggested in this
function's comment.
The logic of fix is similar to one in 'update_image_surface' function
of i965 driver, which is introduced in commit
f9fd0cf4790cb2a530e75d1a2206dbb9d8af7cb2.
With a slight change: setting array_len=1, like it was done in
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5808 ,
since minifying depth fails KHR-GLES2.texture_3d.filtering tests.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4145
Fixes: 3c979b0e ('iris: add some draw resolve hooks')
Signed-off-by: Yevhenii Kharchenko <yevhenii.kharchenko@globallogic.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9253>
Samuel Pitoiset [Thu, 26 Aug 2021 09:00:33 +0000 (11:00 +0200)]
radv: remove unecessary radv_finishme() for invalid color formats
Something really bad happen (likely driver bug) if this is triggered.
Replace with some assertions to catch an eventual issue in debug build.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12556>
Samuel Pitoiset [Thu, 26 Aug 2021 08:56:04 +0000 (10:56 +0200)]
radv: remove useless check about number of samples in the HW resolve path
Although this can likely hang, this is invalid and should be caught
by the validation layers. There is many ways to hang the GPU with VK,
this check alone is useless.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12556>
Samuel Pitoiset [Thu, 26 Aug 2021 08:54:53 +0000 (10:54 +0200)]
radv: remove outdated radv_finishme() in the HW resolve path
Resolving layered MSAA images is actually implemented by the HW
resolve path but never used because the driver uses the compute path.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12556>
Mike Blumenkrantz [Fri, 11 Jun 2021 15:20:30 +0000 (11:20 -0400)]
zink: set primitive restart with extended dynamic state2
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12585>
Mike Blumenkrantz [Fri, 11 Jun 2021 14:04:24 +0000 (10:04 -0400)]
zink: bump dynamic pipeline state count
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12585>
Mike Blumenkrantz [Fri, 11 Jun 2021 14:04:17 +0000 (10:04 -0400)]
zink: template for VK_EXT_extended_dynamic_state2
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12585>
Mike Blumenkrantz [Fri, 11 Jun 2021 14:03:59 +0000 (10:03 -0400)]
zink: hook up VK_EXT_extended_dynamic_state2
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12585>
Mike Blumenkrantz [Mon, 14 Jun 2021 18:24:32 +0000 (14:24 -0400)]
zink: no-op prim changes for pipeline recalc
this is no longer part of pipeline hash since we're using dynamic state
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12585>
Mike Blumenkrantz [Mon, 14 Jun 2021 18:23:05 +0000 (14:23 -0400)]
zink: consolidate pipeline hash tables
with dynamic prim type, pipelines can now be grouped by base prim type
instead of requiring a different pipeline for overall prim type
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12585>
Mike Blumenkrantz [Mon, 14 Jun 2021 18:21:39 +0000 (14:21 -0400)]
zink: use dynamic prim type
this is part of dynamic state but wasn't used since it required
actual work to effectively make use of it
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12585>
Mike Blumenkrantz [Fri, 16 Jul 2021 13:44:51 +0000 (09:44 -0400)]
zink: batch mem barrier hooks
memory barriers are redundant, so batch them and apply based on actual
usage to be slightly more efficient
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12576>
Mike Blumenkrantz [Thu, 15 Jul 2021 18:26:04 +0000 (14:26 -0400)]
zink: slim down streamout component of mem barrier hook
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12576>
Mike Blumenkrantz [Thu, 15 Jul 2021 14:42:39 +0000 (10:42 -0400)]
zink: remove query flush from memory barrier hook
qbos are separate buffers with their own barriers, so this just stalls
pointlessly
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12576>
Mike Blumenkrantz [Fri, 11 Jun 2021 13:50:09 +0000 (09:50 -0400)]
zink: use ctx gfx prim mode for draw comparisons
just being consistent
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12572>
Mike Blumenkrantz [Fri, 25 Jun 2021 13:32:44 +0000 (09:32 -0400)]
zink: init ctx->gfx_prim_mode to nonzero value to trigger pipeline changes
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12572>
Mike Blumenkrantz [Fri, 11 Jun 2021 13:32:35 +0000 (09:32 -0400)]
zink: reorder gfx program/pipeline/descriptor binds if dynamic state is present
this enables deferring the heavy lifting until the rest of the state updates are
done
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12572>
Mike Blumenkrantz [Wed, 28 Jul 2021 19:09:11 +0000 (15:09 -0400)]
zink: remove extra unsetting of ctx->vertex_state_changed
this is already managed in zink_get_gfx_pipeline
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12572>
Mike Blumenkrantz [Thu, 10 Jun 2021 12:17:33 +0000 (08:17 -0400)]
zink: pass current program's shader array, not ctx array
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12572>
Mike Blumenkrantz [Thu, 10 Jun 2021 12:17:09 +0000 (08:17 -0400)]
zink: remove attachment count from pipeline hash
this is redundant
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12572>
Mike Blumenkrantz [Thu, 10 Jun 2021 10:43:34 +0000 (06:43 -0400)]
zink: declare ctx var during blend state bind
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12572>
Mike Blumenkrantz [Tue, 10 Aug 2021 14:17:39 +0000 (10:17 -0400)]
zink: assert precise queries are occlusion queries
this should always be the case
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12583>
Mike Blumenkrantz [Tue, 10 Aug 2021 14:16:15 +0000 (10:16 -0400)]
zink: require occlusionQueryPrecise for occlusion queries
ensure this is present to avoid driver explosions
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12583>
Mike Blumenkrantz [Mon, 21 Jun 2021 13:53:35 +0000 (09:53 -0400)]
zink: always init bordercolor value for sampler
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12574>
Mike Blumenkrantz [Thu, 15 Jul 2021 12:33:23 +0000 (08:33 -0400)]
zink: implement PIPE_QUERY_GPU_FINISHED
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12573>
Ella-0 [Mon, 2 Aug 2021 22:13:25 +0000 (22:13 +0000)]
v3dv: Implement VK_EXT_pipeline_creation_feedback
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12371>
Erik Faye-Lund [Wed, 25 Aug 2021 12:16:52 +0000 (14:16 +0200)]
microsoft/compiler: trivial fixes to error-handling
We're really bad at making sure we report errors when we fail to
allocate memory. This makes us a bit better...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12541>
Erik Faye-Lund [Wed, 25 Aug 2021 12:22:04 +0000 (14:22 +0200)]
microsoft/compiler: return errors from get_n_src
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12541>
Erik Faye-Lund [Wed, 25 Aug 2021 09:45:13 +0000 (11:45 +0200)]
microsoft/compiler: remove needless error-returns
There's no root error-conditions in this code, just code that assumes
they exist and tries to handle them.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12541>
Filip Gawin [Wed, 25 Aug 2021 21:19:36 +0000 (23:19 +0200)]
nir: fix ifind_msb_rev by using appropriate type
As you can see comparion "x < 0" doesn't make
sense if x is unsigned.
Fixes: a5747f8a ("nir: add opcodes for *find_msb_rev and lowering ")
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12548>
Filip Gawin [Tue, 24 Aug 2021 19:28:19 +0000 (21:28 +0200)]
nir: fix shadowed variable in nir_lower_bit_size.c
Fixes: 6d792989924 ("nir/lower_bit_size: fix lowering of {imul,umul}_high")
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12527>
Yiwei Zhang [Sun, 22 Aug 2021 22:26:54 +0000 (22:26 +0000)]
venus: conditionally enable async descriptor set allocation
When VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT is not used to
create the pool, set allocation is guaranteed to not return
VK_ERROR_FRAGMENTED_POOL, and we can safely move set allocation to async
after doing resource tracking in the driver.
Enable after fully tested with assert(false) in the failure case.
Tested with:
- dEQP-VK.api.descriptor*
- dEQP-VK.api.object_management.*
- dEQP-VK.binding_model.descriptor*
- dEQP-VK.descriptor_indexing.*
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Ryan Neph <ryanneph@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12501>
Yiwei Zhang [Fri, 20 Aug 2021 21:50:14 +0000 (21:50 +0000)]
venus: check descriptor allocations against pool resource
Only kick in when async_set_allocation is enabled.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Ryan Neph <ryanneph@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12501>
Yiwei Zhang [Wed, 25 Aug 2021 01:17:58 +0000 (01:17 +0000)]
venus: descriptor set to track descriptor count of last binding
Track the descriptor count to be used instead of the variable descriptor
count to avoid duplicate checks in later accounting.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Ryan Neph <ryanneph@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12501>
Yiwei Zhang [Fri, 20 Aug 2021 18:53:04 +0000 (18:53 +0000)]
venus: descriptor pool to track pool state
It also tracks whether async set allocation is enabled.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Ryan Neph <ryanneph@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12501>
Yiwei Zhang [Tue, 24 Aug 2021 20:57:23 +0000 (20:57 +0000)]
venus: layout to track variable descriptor count binding info
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Ryan Neph <ryanneph@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12501>
Yiwei Zhang [Fri, 20 Aug 2021 18:57:43 +0000 (18:57 +0000)]
venus: descriptor layout to track more binding infos
Rename existing max_binding to last_binding to be consistent.
1. layout to track last binding index
2. binding to track descriptor type
3. binding to track descriptor count
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Ryan Neph <ryanneph@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12501>
Yiwei Zhang [Sat, 21 Aug 2021 00:27:04 +0000 (00:27 +0000)]
venus: add vn_descriptor_set_layout_init
Just a refactoring without functional changes.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Ryan Neph <ryanneph@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12501>
Yiwei Zhang [Fri, 20 Aug 2021 21:06:25 +0000 (21:06 +0000)]
venus: refactor failure path for sets allocation
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Ryan Neph <ryanneph@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12501>
Sergii Melikhov [Wed, 25 Aug 2021 12:13:21 +0000 (15:13 +0300)]
dri2: Fix Null pointer dereferences
Fix defect reported by Coverity Scan CID-
1490794
Fixes: 0d42033b26 ("glx/dri2: Require the driver to support v4 of __DRI_DRI2")
Signed-off-by: Sergii Melikhov <sergii.v.melikhov@globallogic.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12563>
Christian Gmeiner [Wed, 23 Jun 2021 05:58:01 +0000 (07:58 +0200)]
etnaviv: remove primconvert
This is no longer used.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12516>
Christian Gmeiner [Wed, 23 Jun 2021 05:56:43 +0000 (07:56 +0200)]
etnaviv: export supported prim types
This is now handled by gallium, so the related codepaths can be dropped.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12516>
Juan A. Suarez Romero [Thu, 26 Aug 2021 08:36:48 +0000 (10:36 +0200)]
broadcom/qpu: remove duplicated opcode variable
`opcode` is wrote twice.
Fixes CID
1490798: Incorrect expression (EVALUATION_ORDER).
Fixes: 8a5f2228dbb ("broadcom/qpu: add new lookup opcode description helper")
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12554>
Timur Kristóf [Wed, 11 Aug 2021 08:09:04 +0000 (10:09 +0200)]
aco: Use workgroup size from input shader info.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12321>
Timur Kristóf [Wed, 11 Aug 2021 06:53:55 +0000 (08:53 +0200)]
radv: Remove superfluous workgroup size calculations.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12321>
Timur Kristóf [Wed, 11 Aug 2021 06:54:28 +0000 (08:54 +0200)]
radv: Calculate workgroup sizes in radv_pipeline.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12321>
Timur Kristóf [Wed, 11 Aug 2021 06:57:04 +0000 (08:57 +0200)]
ac: Calculate workgroup sizes of HW stages that operate in workgroups.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12321>
Samuel Pitoiset [Wed, 25 Aug 2021 12:36:30 +0000 (14:36 +0200)]
ci: update the list of skipped tests for Fiji/RADV
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12553>
Tomeu Vizoso [Mon, 5 Jul 2021 08:00:54 +0000 (10:00 +0200)]
panvk: Initialize timestamp for disk cache
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12552>
Boris Brezillon [Fri, 7 May 2021 10:33:14 +0000 (12:33 +0200)]
panfrost: Make pan_blit() return the tiler job pointer
The Vulkan driver needs to patch job headers when re-issueing a command
buffer. Return the tiler job pointer to allow that.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12552>
Boris Brezillon [Tue, 1 Jun 2021 08:18:00 +0000 (10:18 +0200)]
panfrost: Fix pan_blit_ctx_init() when start > end
This can happen when one wants to obtain a mirrored view. We need
to make sure the min <= max before emitting the viewport.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12552>
Boris Brezillon [Fri, 6 Aug 2021 09:21:14 +0000 (11:21 +0200)]
panfrost: Prepare indirect draw helpers to per-gen XML
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12551>
Boris Brezillon [Fri, 6 Aug 2021 09:05:13 +0000 (11:05 +0200)]
panfrost: Prepare indirect dispatch helpers to per-gen XML
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12551>
Boris Brezillon [Wed, 7 Jul 2021 14:19:16 +0000 (16:19 +0200)]
panvk: Prepare per-gen split
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12551>
Boris Brezillon [Mon, 23 Aug 2021 13:37:37 +0000 (15:37 +0200)]
panfrost: Only emit special attribute buffer entries on pre-v6 hardware
There's no special attributes on Bifrost.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12551>
Boris Brezillon [Fri, 6 Aug 2021 12:16:18 +0000 (14:16 +0200)]
panfrost: Move panfrost_modifier_to_layout() to pan_texture.c
This function is not used outside pan_texture.c.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12551>
Boris Brezillon [Wed, 4 Aug 2021 10:28:48 +0000 (12:28 +0200)]
panfrost: Get rid of all _packed structs in pan_context.h
Such that pan_context.h remains generic even after the per-gen XML
switch.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12551>
Boris Brezillon [Wed, 4 Aug 2021 10:23:02 +0000 (12:23 +0200)]
pan/gen_pack: Add parens around packed1/2 vars in pan_merge()
This way we can pass *desc instead of (*desc).
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12551>
Boris Brezillon [Wed, 4 Aug 2021 09:25:26 +0000 (11:25 +0200)]
panfrost: Add generic mappings for the gen-specific tiler descriptor macros
This way the transition to per-gen XML files gets simpler.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12551>
Boris Brezillon [Fri, 6 Aug 2021 10:30:04 +0000 (12:30 +0200)]
panfrost: Get rid of the mali_xxx enum redefinitions
The gen_macros.h header should include the common header file when
PAN_ARCH is undefined, thus making those redefinitions useless.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12551>
Boris Brezillon [Wed, 4 Aug 2021 08:41:54 +0000 (10:41 +0200)]
panfrost: s/[idep_]midgard_pack/[idep_]pan_packers/
We will soon have per-gen pack headers. Let's rename the meson variables
to reflect that.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12551>
Boris Brezillon [Fri, 6 Aug 2021 10:24:09 +0000 (12:24 +0200)]
panfrost: Stop including midgard_pack.h directly
Include gen_macros.h instead so we can smoothly transition to per-gen
XMLs.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12551>
Boris Brezillon [Wed, 28 Jul 2021 09:15:31 +0000 (11:15 +0200)]
pan/gen_macros: Include midgard_pack.h from gen_macros.h
This way we will only have a single entry point, thus making the
transition to per-gen XML files easier.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12551>
Boris Brezillon [Wed, 28 Jul 2021 09:13:39 +0000 (11:13 +0200)]
pan/gen_macros: Map {TEXTURE,SAMPLER} to the arch-specific descriptor
This will ease the transition to per-arch XML files. While at it, patch
pan_cmdstream.c to use this new macro and avoid an #if section.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12551>
Boris Brezillon [Wed, 28 Jul 2021 09:12:23 +0000 (11:12 +0200)]
pan/gen_macros: Move the TEXTURE definition to gen_macros.h
So we can use the same trick in panvk.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12551>
Boris Brezillon [Wed, 28 Jul 2021 09:09:49 +0000 (11:09 +0200)]
panfrost: Move the polygon list init logic to pan_cmdstream.c
This logic is Midgard specific and we need move the
panfrost_scoreboard_initialize_tiler() call to a per-arch file so
we can make panfrost_scoreboard_initialize_tiler a per-arch function.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12551>
Boris Brezillon [Wed, 28 Jul 2021 09:03:13 +0000 (11:03 +0200)]
pan/gen_pack: Add pan_size() and pan_align() macros
And replace all references to MALI_xxx_{LENGTH,ALIGN} by
pan_{size,alignment}(xxx) calls so we can give generic alias to
midgard/bifrost specific descriptors.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12551>
Boris Brezillon [Thu, 5 Aug 2021 08:04:56 +0000 (10:04 +0200)]
panvk: Add missing midgard_pack dependency
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12551>
Boris Brezillon [Wed, 28 Jul 2021 09:01:22 +0000 (11:01 +0200)]
pan/gen_pack: Generalize the PREFIX() trick
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12551>
Marcin Ślusarz [Tue, 24 Aug 2021 08:50:42 +0000 (10:50 +0200)]
intel/compiler: INT DIV function does not support source modifiers
BSpec says that for all generations.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5281
CC: mesa-stable
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12518>
Timur Kristóf [Mon, 23 Aug 2021 22:27:58 +0000 (00:27 +0200)]
radeonsi: Change GS vertex offset arguments to use gs_vtx_offset array.
This makes RadeonSI behave like RADV, and hence makes it possible to
use the NIR based ESGS I/O lowering and NGG lowering.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12511>
Timur Kristóf [Tue, 24 Aug 2021 06:20:32 +0000 (08:20 +0200)]
radv, ac, aco: Use indices 0-2 of gs_vtx_offset argument array on GFX9+.
Previously, indices 0, 2, 4 were used.
This worked, but it was somewhat unintuitive.
This commit changes it to use indices 0, 1, 2 instead, which
makes the code easier to understand.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12511>
Ilia Mirkin [Thu, 19 Aug 2021 21:59:18 +0000 (17:59 -0400)]
glsl: fix explicit-location ifc matching in presence of array types
We were treating each field as if it took up a single slot. However
that's not the case. And with strict matching (GLSL 4.20+ / ES 3.1+) we
would end up not matching identical interfaces.
Fixes: c4545676d7 ("glsl/linker: fix location aliasing checks for interface variables")
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12479>
Simon Zeni [Mon, 16 Aug 2021 15:24:08 +0000 (11:24 -0400)]
meson: stop searching for execinfo
Signed-off-by: Simon Zeni <simon@bl4ckb0ne.ca>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12108>
Simon Zeni [Mon, 16 Aug 2021 15:23:01 +0000 (11:23 -0400)]
util/u_debug_symbol: remove debug_symbol_name_glibc and execinfo dependency
Signed-off-by: Simon Zeni <simon@bl4ckb0ne.ca>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12108>
Simon Zeni [Mon, 16 Aug 2021 15:17:06 +0000 (11:17 -0400)]
glapi/gl_gentable.py: drop call to backtrace on no op
The function uses glibc specific functions
Signed-off-by: Simon Zeni <simon@bl4ckb0ne.ca>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12108>