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>
Simon Zeni [Mon, 16 Aug 2021 14:44:25 +0000 (10:44 -0400)]
i915: remove use of backtrace and backtrace_symbols
The function `debug_backtrace` relied on glibc specific functions, and is
unused unless someone manually patches the source to set DEBUG_BACKTRACE_SIZE
Signed-off-by: Simon Zeni <simon@bl4ckb0ne.ca>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12108>
Nanley Chery [Wed, 21 Jul 2021 19:06:28 +0000 (12:06 -0700)]
anv/image: Don't assert that HiZ can be added
HiZ isn't yet enabled for Tile4/64.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12132>
Nanley Chery [Tue, 6 Apr 2021 18:45:22 +0000 (11:45 -0700)]
iris: Disable tiled memcpy for Tile4
ISL's tiled memcpy functions don't support it yet.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12132>
Jordan Justen [Wed, 17 Jun 2020 04:53:48 +0000 (21:53 -0700)]
iris: Disable the Y-tiled modifiers on XeHP+
I915_FORMAT_MOD_Y_TILED_CCS was already disabled for Xe+ due to a change
in the CCS layout. Disable the remaining Y-tiled modifiers since XeHP
lacks support for Y-tiling.
Rework:
* Nanley: Include Anuj's fix for the non-CCS modifiers.
* Nanley: Split out Anuj's fix into a separate if statement.
* Nanley: Rewrite commit message.
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12132>
Nanley Chery [Fri, 23 Jul 2021 23:37:47 +0000 (16:37 -0700)]
intel/isl: Disable I915_FORMAT_MOD_Y_TILED on XeHP+
XeHP lacks support for Y-tiling.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12132>
Nanley Chery [Mon, 28 Jun 2021 22:32:16 +0000 (15:32 -0700)]
intel: Add underscores to HALIGN and VALIGN enums
The HALIGN enums for XeHP already have underscores. Make the other
HALIGN and VALIGN enums conform.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12132>
Nanley Chery [Mon, 12 Nov 2018 21:59:06 +0000 (13:59 -0800)]
intel: Update surface states for XeHP alignments
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12132>
Nanley Chery [Thu, 29 Jul 2021 23:25:06 +0000 (16:25 -0700)]
intel/isl: Use a switch for HALIGN/VALIGN encoding
Avoid using a sparse and relatively large array for HALIGN encoding.
Additionally, this provides validation of the input alignment values.
Suggested-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12132>
Nanley Chery [Fri, 30 Jul 2021 17:50:59 +0000 (10:50 -0700)]
intel/isl: Fix halign/valign of uncompressed views
We're going to start asserting for valid halign/valign values during
surface state emission. Pre-SKL, isl_surf_get_uncompressed_surf creates
uncompressed surfaces with invalid halign/valign values - 1x1. Fix this
by replacing the call to isl_surf_get_image_surf with isl_surf_init,
passing in the uncompressed format up-front.
As we're no longer using isl_surf_get_image_surf, we also need to get
the x and y offset of the image ourselves. Instead of getting a
sample-based offset, then converting to elements later on, we use
isl_surf_get_image_offset_B_tile_el to get the offset in elements
up-front.
With the above two changes, the generic code after the else-block is no
longer needed for the single-layer-view code path. We move it and
specialize it to the if-block (which is executed SKL+ and handles
multi-layer views).
Cc: mesa-stable
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12132>
Nanley Chery [Fri, 30 Jul 2021 21:31:05 +0000 (14:31 -0700)]
intel/blorp: Fix Gfx7 stencil surface state valign
Stencil on Gfx7 has a vertical alignment element of 8, but the largest
its surface state can express is 4. Apply the Gfx6 solution of changing
the alignment in blorp_surf_retile_w_to_y.
Cc: mesa-stable
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12132>
Nanley Chery [Fri, 23 Jul 2021 16:02:06 +0000 (09:02 -0700)]
intel/blorp: Fix faked RGB image alignment on XeHP
On XeHP, NPOT and POT formatted surfaces will use different image
alignment units when emitting surface states. When BLORP fakes an RGB
image as RED, update the image alignment to prevent assert failures when
emitting surface states.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12132>
Nanley Chery [Mon, 12 Nov 2018 21:59:06 +0000 (13:59 -0800)]
intel: Support Tile4/64 in surface states
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12132>
Nanley Chery [Fri, 2 Nov 2018 21:47:37 +0000 (14:47 -0700)]
intel: Support Tile4/64 in depth/stencil state
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12132>
Nanley Chery [Fri, 2 Nov 2018 20:01:58 +0000 (13:01 -0700)]
intel/isl: Update tiling filter functions for XeHP
Enable the XeHP-specific tilings and restrict them to that platform.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12132>
Nanley Chery [Fri, 30 Jul 2021 00:04:14 +0000 (17:04 -0700)]
intel/isl: Use an allow-list in gfx6_filter_tiling
Try to avoid having to update isl_gfx6_filter_tiling when new tilings
are added for new platforms. Note that the allow-list uses
ISL_TILING_ANY_Y_MASK and thus assumes that no new Y-tilings will be
added in the future.
Suggested-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12132>
Nanley Chery [Fri, 30 Jul 2021 00:16:44 +0000 (17:16 -0700)]
intel/isl: Drop ISL_SURF_USAGE_DISPLAY_*_BIT
We haven't used these since their introduction.
Suggested-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12132>
Nanley Chery [Thu, 22 Jul 2021 22:11:01 +0000 (15:11 -0700)]
intel/isl: Drop extra assert on array_pitch_el_rows
ISL already asserts that the variable is a multiple of the tile height
via isl_assert_div.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12132>
Nanley Chery [Fri, 2 Nov 2018 20:01:58 +0000 (13:01 -0700)]
intel/isl: Size Tile64 surfaces with 4 dimensions
In order to size Tile64 surfaces correctly, make sure that the total
physical extent is arrayed. The code should handle 3D surfaces as well,
but is untested for now.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12132>
Nanley Chery [Mon, 12 Nov 2018 21:59:06 +0000 (13:59 -0800)]
intel/isl: Update image alignments on XeHP
Implement the new XeHP alignment rules for surface layout.
RENDER_SURFACE_STATE objects still need updating, but that's left for a
separate commit.
Rework:
* Nanley: Include Sagar's VALIGN fix for D16_UNORM.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12132>
Nanley Chery [Fri, 2 Nov 2018 20:01:58 +0000 (13:01 -0700)]
intel/isl: Define ISL_TILING_4/64 for XeHP
XeHP defines new tiling formats, Tile4 and Tile64. They are needed in
order to support depth/stencil surfaces and multisampling. Create new
ISL enums and define some initial tiling information in order to enable
them later on.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12132>
Nanley Chery [Tue, 23 Mar 2021 18:01:16 +0000 (11:01 -0700)]
intel/isl: Add msaa_layout param to isl_tiling_get_info
The additional parameter will be used by Tile64.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12132>
Jason Ekstrand [Wed, 21 Feb 2018 22:57:46 +0000 (14:57 -0800)]
intel/isl: Add more parameters to isl_tiling_get_info
They are not used yet but the layout of Yf and Ys tiles are dependent on
these parameters. While we're here, better document the function.
Rework:
* Nanley: Update crocus.
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12132>
Mike Blumenkrantz [Thu, 10 Jun 2021 10:34:10 +0000 (06:34 -0400)]
zink: only remove programs from hash tables on shader deletion if needed
Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12532>
Mike Blumenkrantz [Thu, 10 Jun 2021 10:31:42 +0000 (06:31 -0400)]
zink: set inlinable_uniforms_mask first when binding a shader
Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12532>
Mike Blumenkrantz [Thu, 10 Jun 2021 10:31:22 +0000 (06:31 -0400)]
zink: add some null checks for shader variant key generation
Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12532>
Mike Blumenkrantz [Thu, 10 Jun 2021 10:27:40 +0000 (06:27 -0400)]
zink: stop using dirty_shader_stages for shader binds
by only using this mask for variant updates, we can begin to do some
neat things
Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12532>
Mike Blumenkrantz [Thu, 10 Jun 2021 10:20:35 +0000 (06:20 -0400)]
zink: simplify a bitmask init
Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12532>
Mike Blumenkrantz [Thu, 10 Jun 2021 10:17:03 +0000 (06:17 -0400)]
zink: create compute programs on bind
this simplifies the launch_grid codepath and gets shader binds out
the shader update bitmask
Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12532>
Mike Blumenkrantz [Wed, 9 Jun 2021 23:38:27 +0000 (19:38 -0400)]
zink: avoid hashing shader stages multiple times for new gfx programs
Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12532>
Mike Blumenkrantz [Wed, 9 Jun 2021 23:14:35 +0000 (19:14 -0400)]
zink: split gfx shader cache based on stages present
this makes the pool of progs in a given hash smaller and also minimizes
the hashing required for a given program
Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12532>
Mike Blumenkrantz [Wed, 9 Jun 2021 23:14:26 +0000 (19:14 -0400)]
zink: track mask of bound gfx shader stages
Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12532>
Mike Blumenkrantz [Wed, 9 Jun 2021 22:42:26 +0000 (18:42 -0400)]
zink: inline program cache structs
derefs--
Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12532>
Mike Blumenkrantz [Wed, 25 Aug 2021 01:56:25 +0000 (21:56 -0400)]
zink: return early when getting resource modifer if no modifier is used
Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12534>
Mike Blumenkrantz [Wed, 25 Aug 2021 20:13:10 +0000 (16:13 -0400)]
zink: verify program key sizes before checking for default variant
currently keys for shaders are always the same size, but this will change
in the future, at which point the keysize becomes relevant
Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12547>
Michael Tang [Tue, 24 Aug 2021 02:00:55 +0000 (19:00 -0700)]
microsoft/compiler: Miscellaneous fixes from running clang-format
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12513>
Michael Tang [Tue, 24 Aug 2021 23:53:33 +0000 (16:53 -0700)]
microsoft/compiler: Emit a flat interpolation method for SV_SampleIndex
We do not want to set an interpolation method for vertex shader inputs.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12513>
Michael Tang [Tue, 24 Aug 2021 01:53:28 +0000 (18:53 -0700)]
microsoft/compiler: Set the SampleFrequency runtime metadata
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12513>
Michael Tang [Tue, 24 Aug 2021 01:48:50 +0000 (18:48 -0700)]
microsoft/compiler: More robustly handle setting Register=-1
This is the 'N/A mask' case in the DXIL disassembly.
This logic is taken from: https://github.com/microsoft/DirectXShaderCompiler/blob/
7c9e487afd17b7726229d8ceb3242a412134afe7/tools/clang/tools/dxcompiler/dxcdisassembler.cpp#L106
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12513>
Michael Tang [Tue, 24 Aug 2021 02:08:08 +0000 (19:08 -0700)]
microsoft/compiler: Add support for SV_SampleIndex intrinsic
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12513>
Alyssa Rosenzweig [Tue, 24 Aug 2021 20:44:28 +0000 (16:44 -0400)]
pan/bi: Fix format specifiers in disassembler
Flagged by cppcheck.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12530>
Alyssa Rosenzweig [Tue, 24 Aug 2021 20:41:27 +0000 (16:41 -0400)]
pan/bi: Remove unused clause_start field
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12530>
Alyssa Rosenzweig [Tue, 24 Aug 2021 20:40:54 +0000 (16:40 -0400)]
pan/bi: Assert l != NULL in bi_ra
Confuses cppcheck; indeed, the proof is confusing.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12530>
Alyssa Rosenzweig [Tue, 24 Aug 2021 20:40:35 +0000 (16:40 -0400)]
pan/bi: Simplify condition
Flagged by cppcheck.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12530>
Alyssa Rosenzweig [Tue, 24 Aug 2021 20:37:15 +0000 (16:37 -0400)]
panfrost: Remove unused functions
Flagged by cppcheck.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12530>
Alyssa Rosenzweig [Tue, 24 Aug 2021 18:41:14 +0000 (14:41 -0400)]
panfrost: Remove stale TODOs and XXXs
These don't meaningfully apply but their comments never got updated.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12530>