Gert Wollny [Thu, 31 Mar 2022 07:23:36 +0000 (09:23 +0200)]
virgl: Don't support QUADS natively
Using quads leads to a rather expensive buffer readback when quads
are stored in display lists, so avoid them altogether.
Closes: #5825
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Italo Nicola <italonicola@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15683>
Iago Toral Quiroga [Fri, 1 Apr 2022 06:37:34 +0000 (08:37 +0200)]
broadcom/compiler: always enable per-quad on spill operations
This ensures that any channels used for helper invocations are
also spilled/filled correctly.
Alternatively, we could recursively track all temps that get
involved in computing values that are then used in explicit
(dfdx,dfdy) or implicit (texture coordinates for mipmap or
anisotropic filtering, etc) derivatives, and only enable
per-quad on these (or disable spilling of any of these
values).
Fixes:
dEQP-VK.graphicsfuzz.cov-dfdx-dfdy-after-nested-loops
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15705>
Samuel Pitoiset [Wed, 30 Mar 2022 11:24:47 +0000 (13:24 +0200)]
radv: enable VK_EXT_separate_stencil_usage
This extension has been promoted to Vulkan 1.2 which means it has been
silently enabled when we implemented Vulkan 1.2.
Enable it explicitely to make mesamatrix happy and also for consistency.
This extension was designed for potential performance improvements of
MSAA depth/stencil images but it's currently a no-op in RADV.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15665>
Samuel Pitoiset [Mon, 28 Mar 2022 13:54:12 +0000 (15:54 +0200)]
radv: use the common vk_framebuffer
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15612>
Samuel Pitoiset [Thu, 17 Mar 2022 12:03:07 +0000 (13:03 +0100)]
radv: remove now unused radv_cmd_buffer_{begin,end}_render_pass()
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15612>
Samuel Pitoiset [Wed, 16 Mar 2022 16:52:35 +0000 (17:52 +0100)]
radv: convert the meta clear path to dynamic rendering
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15612>
Samuel Pitoiset [Thu, 17 Mar 2022 09:28:55 +0000 (10:28 +0100)]
radv: convert the meta blit path to dynamic rendering
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15612>
Samuel Pitoiset [Thu, 17 Mar 2022 08:51:07 +0000 (09:51 +0100)]
radv: convert the meta resolve HW path to dynamic rendering
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15612>
Samuel Pitoiset [Thu, 17 Mar 2022 10:47:35 +0000 (11:47 +0100)]
radv: convert the meta resolve depth/stencil FS path to dynamic rendering
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15612>
Samuel Pitoiset [Mon, 29 Nov 2021 10:48:40 +0000 (11:48 +0100)]
radv: convert the meta resolve color FS path to dynamic rendering
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15612>
Samuel Pitoiset [Wed, 16 Mar 2022 16:38:27 +0000 (17:38 +0100)]
radv: convert the meta blit 2d path to dynamic rendering
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15612>
Samuel Pitoiset [Wed, 24 Nov 2021 09:52:07 +0000 (10:52 +0100)]
radv: convert the meta fast clear flush path to dynamic rendering
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15612>
Samuel Pitoiset [Wed, 16 Mar 2022 15:07:58 +0000 (16:07 +0100)]
radv: convert the meta depth decompression path to dynamic rendering
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15612>
Samuel Pitoiset [Mon, 28 Mar 2022 12:00:43 +0000 (14:00 +0200)]
radv: rework the workaround that disables DCC for incompatible copies
Rely on the image view to avoid using an extra structure for the
render pass. This will allow to convert the meta operations to
dynamic rendering.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15612>
Yonggang Luo [Tue, 29 Mar 2022 22:10:25 +0000 (06:10 +0800)]
util: Getting u_debug.h not depends on pipe/*
Move pipe_debug_type into u_debug.h
Move pipe_debug_callback into u_debug.h
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15657>
Yonggang Luo [Wed, 30 Mar 2022 20:23:56 +0000 (04:23 +0800)]
util: Rename PIPE_DEBUG_TYPE to UTIL_DEBUG_TYPE
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15657>
Yonggang Luo [Wed, 30 Mar 2022 20:23:16 +0000 (04:23 +0800)]
util: Rename pipe_debug_type to util_debug_type
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15657>
Yonggang Luo [Wed, 30 Mar 2022 22:58:36 +0000 (06:58 +0800)]
pipe: place `struct util_debug_callback` at the proper place in p_context.h
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15657>
Yonggang Luo [Wed, 30 Mar 2022 20:22:26 +0000 (04:22 +0800)]
util: Rename pipe_debug_callback to util_debug_callback
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15657>
Yonggang Luo [Wed, 30 Mar 2022 20:21:45 +0000 (04:21 +0800)]
util: Rename pipe_debug_message to util_debug_message
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15657>
Mike Blumenkrantz [Mon, 28 Mar 2022 21:41:12 +0000 (17:41 -0400)]
lavapipe: set LVP_POISON_MEMORY for ci
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15620>
Mike Blumenkrantz [Mon, 28 Mar 2022 21:41:05 +0000 (17:41 -0400)]
zink: set LVP_POISON_MEMORY for ci
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15620>
Mike Blumenkrantz [Mon, 28 Mar 2022 21:39:08 +0000 (17:39 -0400)]
lavapipe: add an env var to enable poisoning memory allocations
it's not random, but it's definitely not zero or any other expected
value, which means it's going to break anything that was passing due to lucky
uninitialized values
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15620>
Dave Airlie [Sun, 27 Mar 2022 23:20:27 +0000 (09:20 +1000)]
llvmpipe: fix nr_sampler_view in key creation.
This was doing MAX2() but nr_sampler_views hasn't been initialised
yet.
Fixes: 690cc3bb803a ("llvmpipe: overhaul fs/cs variant keys to be simpler.")
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15603>
Dave Airlie [Mon, 28 Mar 2022 06:08:21 +0000 (16:08 +1000)]
zink/query: rewrite the query handling code to pass validation.
The current code was allowing multiple query pools of the same type to be
active on the same commmand buffer which creates validation warnings.
Restructure the query handling, so the query pools are allocated on the
context on first use, then have queries allocate query_id from those pools.
This approach creates a new start dynamic array that contains each time a
vulkan query is started for a gallium query, and holds the flags for it rather
than storing them in a massive array.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15702>
Dave Airlie [Mon, 28 Mar 2022 05:16:10 +0000 (15:16 +1000)]
zink/query: only reset the range of queries in use.
This reduces the amount of resetting needed.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15702>
Dave Airlie [Mon, 28 Mar 2022 04:44:47 +0000 (14:44 +1000)]
zink/query: refactor get_query_result to map upfront.
This maps upfront and processes the results in a clearer way.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15702>
Dave Airlie [Mon, 28 Mar 2022 04:30:59 +0000 (14:30 +1000)]
zink/query: use a single query pool for XFB queries.
There is no need to use a separate pool for each AFAIK.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15702>
Dave Airlie [Mon, 28 Mar 2022 04:11:53 +0000 (14:11 +1000)]
zink: refactor out number of vk queries per gallium query helper
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15702>
Dave Airlie [Mon, 28 Mar 2022 01:59:00 +0000 (11:59 +1000)]
zink/query: collapse the xfb_query_pool array into the normal one.
This makes things a bit easier to follow.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15702>
Dave Airlie [Mon, 28 Mar 2022 01:45:23 +0000 (11:45 +1000)]
zink/query: consolidate xfb_buffers into one array.
This makes the code more complex than needed, just use on buffers
array.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15702>
Dave Airlie [Tue, 31 Mar 2020 06:02:08 +0000 (16:02 +1000)]
Reinstate: llvmpipe: allow vertex processing and fragment processing in parallel
This reinstates patch:
ec8104c6b227421b3a21e9c0652e3050066bb169
llvmpipe: allow vertex processing and fragment processing in parallel
For now unknown reasons bisecting an error had lead to this patch, but
the actual bug was in virglrendrerer and the accoring feature was now only
enabled with https://gitlab.freedesktop.org/mesa/mesa/-/issues/6130
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6130
Original patch was
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15684>
Georg Lehmann [Thu, 31 Mar 2022 19:32:41 +0000 (21:32 +0200)]
radv: Enable global bo list if 1.2 features are used.
These features require the global bo list and the existing code only checked
if the extensions which were promoted to 1.2 are enabled.
Found by inspection.
Cc: mesa-stable
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15701>
Ian Romanick [Wed, 30 Mar 2022 23:36:06 +0000 (16:36 -0700)]
nir: intel/compiler: Lower TXD on array surfaces on DG2+
DG2 can only do sample_d and sample_d_c on 1D and 2D surfaces. Cube
maps and 3D surfaces were already handled, but 1D array and 2D array
surfaces were not.
Fixes the following Vulkan CTS failures on DG2:
dEQP-VK.glsl.texture_functions.texturegradclamp.isampler1darray_fragment
dEQP-VK.glsl.texture_functions.texturegradclamp.isampler2darray_fragment
dEQP-VK.glsl.texture_functions.texturegradclamp.sampler1darray_fixed_fragment
dEQP-VK.glsl.texture_functions.texturegradclamp.sampler1darray_float_fragment
dEQP-VK.glsl.texture_functions.texturegradclamp.sampler2darray_fixed_fragment
dEQP-VK.glsl.texture_functions.texturegradclamp.sampler2darray_float_fragment
dEQP-VK.glsl.texture_functions.texturegradclamp.usampler1darray_fragment
dEQP-VK.glsl.texture_functions.texturegradclamp.usampler2darray_fragment
The Fixes: tag below is a bit misleading. This commit adds another
lowering, similar to the one in the Fixes: commit, that probably should
have been added at the same time. I just want to make sure this commit
gets applied everywhere that commit was also applied.
Fixes: 635ed58e527 ("intel/compiler: Lower txd for 3D samplers on XeHP.")
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15681>
Chad Versace [Mon, 28 Mar 2022 19:51:03 +0000 (12:51 -0700)]
intel/tools: Fix build without drivers
If Meson was configured with -Dtools=intel but all Intel drivers were
disabled, then Meson silently refused to build the tools.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15617>
Rajnesh Kanwal [Wed, 30 Mar 2022 18:42:20 +0000 (19:42 +0100)]
vulkan: Move common format function to vulkan/util/vk_format.h
Moving duplicate vk_format helper functions to common
vulkan/util/vk_format.h and also renaming
vk_format_get_component_size_in_bits to match how amd and
freedreno name the same function. Not moving this function
to common code as freedreno's implementation is a bit different.
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15696>
Rajnesh Kanwal [Thu, 31 Mar 2022 14:16:48 +0000 (15:16 +0100)]
amd: Use common u_format.h implementation for vk_format_get_component_bits.
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15696>
Karmjit Mahil [Fri, 25 Feb 2022 09:29:57 +0000 (09:29 +0000)]
pvr: Fix seg fault in vkAllocateDescriptorSets().
In cases when no immutable samplers were present but sampler
descriptor set layout bindings were, a seg fault was being caused
by an attempt to get the immutable sampler from within the
immutable sampler array while the array was not allocated.
This commit also remove the binding type check since only those
specific types can have immutable samplers. The check is covered
by the descriptor set layout creation and assignment of
has_immutable_samplers.
This commit also makes the immutable samplers const, since they're
meant to be immutable.
This commit also adds has_immutable_samplers field to descriptor
set layout. Previously to check whether immutable
samplers were present or not you'd check for the layout binding's
descriptor count to be 0 and the immutable sampler offset to be 0.
This doesn't tell you everything. If you have a descriptor of the
appropriate type (VK_DESCRIPTOR_TYPE_{COMBINED_,}IMAGE_SAMPLER).
So descriptor count of >1. The offset can be 0 if you don't have
immutable sampler, or have them at the beginning of the immutable
samplers array. So you can't determine if you really have immutable
samplers or not. One could attempt to perform a NULL check on the
array but this would not work in cases where you have following set
layout bindings with immutable samplers as the array stores the
whole layout's immutable samplers.
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15688>
Frank Binns [Wed, 30 Mar 2022 08:06:38 +0000 (09:06 +0100)]
pvr: fix clang unused function warning
../src/imagination/vulkan/pds/pvr_pds.c:230:31: warning: unused function 'pvr_pds_encode_doutv' [-Wunused-function]
static ALWAYS_INLINE uint32_t pvr_pds_encode_doutv(uint32_t cc,
^
Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15689>
Mike Blumenkrantz [Thu, 31 Mar 2022 13:42:24 +0000 (09:42 -0400)]
zink: remove radv cwrite driver workaround
seems good
fixes #6185
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15695>
Bas Nieuwenhuizen [Thu, 17 Mar 2022 02:34:23 +0000 (03:34 +0100)]
radv: Fix vk_queue_to_radv for radv_image_queue_family_mask.
radv_image_queue_family_mask was still using queue family index values
for the special cases, while being passes a radv_queue_family enum.
This adds the bits to the enum and vk_queue_to_radv so we can implement
radv_image_queue_family_mask completely in terms of the enum.
Fixes: 1ec4e568 ("radv: abstract queue family away from queue family index.")
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15423>
Adam Jackson [Wed, 30 Mar 2022 14:24:25 +0000 (10:24 -0400)]
dri: Remove the megadriver compat stub
This is for compatibility with loaders that don't know about
__DRI_DRIVER_GET_EXTENSIONS. xserver has supported that since 1.15.0,
which is almost nine years old now.
While we're about it, fix a comment in meson.build that used to be about
megadrivers to reflect reality.
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15649>
Adam Jackson [Wed, 30 Mar 2022 14:19:56 +0000 (10:19 -0400)]
dri: Remove the globalDriverAPI hacks
We now know that we always have access to the appropriate driver
extensions, so we can get the right __DriverAPIRec from the vtable.
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15649>
Adam Jackson [Wed, 30 Mar 2022 14:11:04 +0000 (10:11 -0400)]
dri: Fill in the driver extensions for the legacy createNewScreen paths
The inner routine is going to want access to the driver extensions, but
the legacy paths only give you the loader extensions.
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15649>
Adam Jackson [Tue, 29 Mar 2022 21:07:34 +0000 (17:07 -0400)]
dri: Implement __DRI_DRIVER_VTABLE
We're going to switch to using this instead of doing all these weird
globalDriverAPI hacks, which are fragile and weird.
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15649>
Adam Jackson [Tue, 29 Mar 2022 17:36:37 +0000 (13:36 -0400)]
dri: Fold away some unused indirection in __DriverAPIRec
The context-related API doesn't vary between dri2 and drisw.
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15649>
Boris Brezillon [Mon, 28 Mar 2022 07:39:20 +0000 (09:39 +0200)]
dzn: Properly support static blend constants
The current code was assuming blend constants to be passed dynamically,
which is wrong. Let's handle both the dynamic and static cases.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15608>
Boris Brezillon [Mon, 28 Mar 2022 07:36:29 +0000 (09:36 +0200)]
dzn: Fix alpha blend factor translation
When VK_BLEND_FACTOR_xxx_COLOR is passed to an alpha equation what we
really want is the alpha component replicated on the RGBA channels,
which has dedicated enums in D3D12. Let's make sure we use the right
definition depending on the equation we're translating.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15608>
Samuel Pitoiset [Tue, 29 Mar 2022 16:48:34 +0000 (18:48 +0200)]
radv: suspend/resume queries during internal driver operations
Pipeline statistics and occlusion queries shouldn't be enabled for
internal driver operations like clears. Transform feedback queries
don't have to be suspended because the driver doesn't use streamout.
This fixes a bunch of Zink failures.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15660>
Erik Faye-Lund [Tue, 29 Mar 2022 10:38:46 +0000 (12:38 +0200)]
vbo/dlist: do not try to pad an empty draw
In the case where u_index_generator returns zero new vertices, we never
filled tmp_indices before trying to duplicate the last veretx. This
causes us to read unitialized memory.
This fixes a Valgrind issue triggering in glxgears on Zink:
---8<---
==296461== Invalid read of size 2
==296461== at 0x570F335: compile_vertex_list (vbo_save_api.c:733)
==296461== by 0x570FEFB: wrap_buffers (vbo_save_api.c:1021)
==296461== by 0x571050A: upgrade_vertex (vbo_save_api.c:1134)
==296461== by 0x571050A: fixup_vertex (vbo_save_api.c:1251)
==296461== by 0x57114D1: _save_Normal3f (vbo_attrib_tmp.h:315)
==296461== by 0x10B750: ??? (in /usr/bin/glxgears)
==296461== by 0x10A2CC: ??? (in /usr/bin/glxgears)
==296461== by 0x4B3F30F: (below main) (in /usr/lib/libc.so.6)
==296461== Address 0x11ca23de is 2 bytes before a block of size 1,968 alloc'd
==296461== at 0x4845899: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==296461== by 0x570E647: compile_vertex_list (vbo_save_api.c:604)
==296461== by 0x570FEFB: wrap_buffers (vbo_save_api.c:1021)
==296461== by 0x571050A: upgrade_vertex (vbo_save_api.c:1134)
==296461== by 0x571050A: fixup_vertex (vbo_save_api.c:1251)
==296461== by 0x57114D1: _save_Normal3f (vbo_attrib_tmp.h:315)
==296461== by 0x10B750: ??? (in /usr/bin/glxgears)
==296461== by 0x10A2CC: ??? (in /usr/bin/glxgears)
==296461== by 0x4B3F30F: (below main) (in /usr/lib/libc.so.6)
---8<---
Fixes: dcbf2423d28 ("vbo/dlist: add vertices to incomplete primitives")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15633>
Samuel Pitoiset [Wed, 30 Mar 2022 12:31:35 +0000 (14:31 +0200)]
radv: save/restore the stencil write mask during internal driver operations
The slow depth/stencil clear path would overwrite the stencil write
mask otherwise.
This fixes few Zink failures.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15667>
Pierre-Eric Pelloux-Prayer [Mon, 28 Mar 2022 09:17:58 +0000 (11:17 +0200)]
ac: remove LLVM 4.0 workaround
This was added to fix https://bugs.freedesktop.org/show_bug.cgi?id=97988 but
has been fixed in LLVM since.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15559>
Pierre-Eric Pelloux-Prayer [Thu, 24 Mar 2022 16:17:17 +0000 (17:17 +0100)]
radeonsi: drop LLVM global instruction selector
I'm not sure if this is really used by anyone?
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15559>
Pierre-Eric Pelloux-Prayer [Thu, 24 Mar 2022 16:16:49 +0000 (17:16 +0100)]
docs: document useful radeonsi env variables
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15559>
Pierre-Eric Pelloux-Prayer [Thu, 24 Mar 2022 16:06:36 +0000 (17:06 +0100)]
drirc: enable radeonsi_zerovram for Black Geyser
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6180
Cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15559>
Boris Brezillon [Mon, 28 Mar 2022 07:41:17 +0000 (09:41 +0200)]
dzn: Make a bunch of functions private
Looks like some functions that should have been marked static when
transitioning from C++ methods to plain C where forgotten. Let's fix that
now.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15607>
Boris Brezillon [Mon, 28 Mar 2022 07:46:54 +0000 (09:46 +0200)]
dzn: Remove the dzn_cmd_exec_functions file
That's a leftover from a previous version of the secondary command
buffer implementation.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15607>
Boris Brezillon [Mon, 28 Mar 2022 08:05:22 +0000 (10:05 +0200)]
dzn: Add Missing return type to dzn_translate_sampler_filter()
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15607>
Yonggang Luo [Sat, 26 Mar 2022 02:31:50 +0000 (10:31 +0800)]
ci: Improve vs2019 mesa_build.ps1 for remove the need of cmd.exe
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15595>
Yonggang Luo [Sun, 27 Mar 2022 02:55:18 +0000 (10:55 +0800)]
vulkan/microsoft: Remove `override_options: ['cpp_std=c++latest']` option for visual studio
The project no longer uses c++20 features
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15595>
Daniel Schürmann [Mon, 14 Mar 2022 12:56:12 +0000 (13:56 +0100)]
aco/ra: fix stride check on subdword parallelcopies for create_vector
On GFX6/7, info.rc is in full dwords.
Fixes: 9476986e6f6fe49ef8bc511f4ebeca4232263888 ('aco/ra: special-case get_reg_for_create_vector_copy()')
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15393>
Samuel Pitoiset [Fri, 18 Mar 2022 12:49:44 +0000 (13:49 +0100)]
radv: lower has_multiview_view_index in NIR
This lowering is done in a new NIR pass where the layer is written
before emit_vertex_with_counter for geometry shaders and after the
position for other vertex stages.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15456>
Samuel Pitoiset [Wed, 30 Mar 2022 08:28:56 +0000 (10:28 +0200)]
radv: drop EXT or KHR suffixes for stuff promoted in Vulkan 1.3
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15663>
Yiwei Zhang [Wed, 30 Mar 2022 01:10:05 +0000 (01:10 +0000)]
virgl: fake modifier plane count query support
dri2_create_image_from_fd might pass host modifier. Before virgl
consumes modifier info from the guest side, fake the support so that the
image creation can still proceed instead of bailing.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15658>
Jason Ekstrand [Thu, 24 Mar 2022 23:17:16 +0000 (18:17 -0500)]
vulkan: Allow the driver to manually enable threaded submit
This is useful for drivers that wish to be able to block inside their
vk_queue::driver_submit hook.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15566>
Jason Ekstrand [Thu, 24 Mar 2022 22:49:19 +0000 (17:49 -0500)]
vulkan: Replace various uses of device->timeline_mode
What we really care about is if we're DEFERRED so we need to do a flush
and if there can be any other threads we might race against. We don't
really care about the timeline mode itself.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15566>
Jason Ekstrand [Thu, 24 Mar 2022 22:46:11 +0000 (17:46 -0500)]
vulkan/queue: Rework vk_queue_submit()
Instead of basing everything on the timeline mode, base it on the submit
mode of the queue. This makes a lot more sense since it's what we
really care about anyway.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15566>
Jason Ekstrand [Thu, 24 Mar 2022 22:33:57 +0000 (17:33 -0500)]
vulkan/queue: Rework submit thread enabling
Now that we have a threading mode in the device, we can set that based
on the environment variable instead of delaying it to submit time. This
allows us to avoid the static variable trickery we use to avoid reading
environment variables over and over again. We also move the enabling of
the submit thread up a level or two and give it a bit more obvious
condition.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15566>
Jason Ekstrand [Thu, 24 Mar 2022 22:05:08 +0000 (17:05 -0500)]
vulkan/queue: Add a submit mode enum
This encapsulates all three possible submit modes: immediate, deferred,
and threaded. It's more clear than the has_thread boolean combined with
device-level checks.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15566>
Emma Anholt [Mon, 28 Mar 2022 23:04:57 +0000 (16:04 -0700)]
glsl: Delete dont_lower_swz path of lower_quadop_vector.
This was last used with Mesa classic, in _mesa_ir_link_shader().
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15623>
Emma Anholt [Mon, 28 Mar 2022 22:57:32 +0000 (15:57 -0700)]
glsl: Delete unused EmitNoPow path.
This was last used with i915c, now lower_fpow covers this class of
lowering.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15623>
Jason Ekstrand [Wed, 30 Mar 2022 16:49:41 +0000 (11:49 -0500)]
vulkan: Add more VU comments to justify framebuffer asserts
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15674>
Mike Blumenkrantz [Wed, 30 Mar 2022 15:56:50 +0000 (11:56 -0400)]
zink: update radv ci baseline
just rebased cts locally and this is what popped out
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15672>
Alyssa Rosenzweig [Sun, 13 Mar 2022 21:27:28 +0000 (17:27 -0400)]
panfrost: Add Valhall compressed formats
We need to map to the interchange format, since there is no longer a pixel
format for the memory layout. Use this new format table on v9.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15586>
Alyssa Rosenzweig [Thu, 3 Feb 2022 16:08:16 +0000 (11:08 -0500)]
panfrost: Restrict Z/S formats for Valhall
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15586>
Alyssa Rosenzweig [Fri, 21 Jan 2022 17:48:53 +0000 (12:48 -0500)]
panfrost: Handle Valhall IDVS in job_uses_tiling
Valhall-style IDVS uses a distinct job type which has to be handled separately.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15586>
Alyssa Rosenzweig [Sun, 9 Jan 2022 21:17:49 +0000 (16:17 -0500)]
panfrost: Disable AFBC on Valhall
Doesn't work yet. Kick the can down the road; I'd like to get textures
and FBOs working at all before worrying about compressing them.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15586>
Alyssa Rosenzweig [Wed, 23 Mar 2022 21:19:36 +0000 (17:19 -0400)]
pan/bi: Preload r60/r61 for MSAA + blend shader
This is the sort of leakiness I hate about blend shaders. MSAA + blend shader is
somewhat obscure but gets hit in the CTS.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15586>
Alyssa Rosenzweig [Wed, 23 Mar 2022 15:31:43 +0000 (11:31 -0400)]
pan/bi: Use ID accessors for LEA_ATTR
This is more portable.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15586>
Alyssa Rosenzweig [Tue, 21 Dec 2021 22:06:05 +0000 (17:06 -0500)]
pan/bi: Split out load/store to thread storage
We need a slightly different idiom on Valhall, so let's first split the
helpers for encapsulation.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15586>
Alyssa Rosenzweig [Wed, 23 Mar 2022 16:04:41 +0000 (12:04 -0400)]
pan/bi: Use nir_tex_instr_has_implicit_derivative
Rather tracking it ourselves. Slightly shorter.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15586>
Alyssa Rosenzweig [Tue, 27 Jul 2021 18:18:53 +0000 (14:18 -0400)]
pan/bi: Call Valhall backend passes on v9
These are required to lower the IR into something suitable for Valhall
packing.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15586>
Alyssa Rosenzweig [Sat, 5 Mar 2022 01:19:23 +0000 (20:19 -0500)]
pan/bi: Fix write_mask size
We really need to stop tying the IR to Bifrost...
Fixes: 3c817ed511c ("pan/bi: Model Valhall texture instructions")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15586>
Alyssa Rosenzweig [Fri, 18 Mar 2022 17:39:02 +0000 (13:39 -0400)]
pan/bi: Add .shadow modifier to TEX_GATHER
Although TEX_GATHER looks like TEX_FETCH, it does support shadow comparators
like TEX_SINGLE. Model this in the IR so we can use it.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15586>
Rajnesh Kanwal [Tue, 22 Mar 2022 15:33:46 +0000 (15:33 +0000)]
pvr: Check if the buffer/image was bound before unbinding.
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15641>
Rohan Garg [Wed, 30 Mar 2022 12:39:10 +0000 (14:39 +0200)]
anv: Drop dead code in anv_UpdateDescriptorSets
Signed-off-by: Rohan Garg <rohan.garg@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15666>
Omar Akkila [Tue, 29 Mar 2022 02:23:23 +0000 (22:23 -0400)]
ci: cherry-pick deqp fix for zlib dependency
Zlib was bumped to 1.2.12 breaking links to the previous 1.2.11.
Unfortunately, no tag currently carries the fix so cherry-pick it for
now.
Signed-off-by: Omar Akkila <omar.akkila@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15626>
Omar Akkila [Tue, 29 Mar 2022 02:59:11 +0000 (22:59 -0400)]
ci: uprev vkd3d-proton to v2.6
GitHub has deprecated the git:// protocol and no longer
accepts them. One of them vkd3d-proton's dependencies 'dxil-spirv'
was still using git:// for its submodules up until v2.6 where it
now uses https:// instead.
Signed-off-by: Omar Akkila <omar.akkila@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15626>
Omar Akkila [Tue, 29 Mar 2022 01:40:35 +0000 (21:40 -0400)]
ci: uprev Fossilize
Fossilize used the git:// protocol for fetching submodules
but as of January 11, 2022, GitHub has tempirarily disabled
acceptance of the Git protocol until March 15, 2022 whereby
it will be permanantly disabled.
This patch uprevs to the Fossilize commit that switches
submodule URLs to https:// instead. Otherwise, we would get
an error stating that "The unauthenticated git protocol on
port 9418 is no longer supported." when trying to clone
submodules.
See https://github.blog/2021-09-01-improving-git-protocol-security-github
for more info.
Signed-off-by: Omar Akkila <omar.akkila@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15626>
Lionel Landwerlin [Mon, 28 Mar 2022 14:17:57 +0000 (17:17 +0300)]
intel/clc: fix missing pointer write
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 346a7f14fba0 ("intel/compiler: Add code for compiling CL-style SPIR-V kernels")
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15611>
Samuel Pitoiset [Tue, 29 Mar 2022 06:48:33 +0000 (08:48 +0200)]
radv: fix mismatch between radv_GetPhysicalDeviceMemoryProperties*()
This fixes a regression with
dEQP-VK.api.info.get_physical_device_properties2.memory_properties.
This test expects the unused array elements to be untouched.
Fixes: 87b65af43e2 ("radv: Use common GetPhysicalDeviceMemoryProperties")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15629>
Corentin Noël [Tue, 29 Mar 2022 13:50:08 +0000 (15:50 +0200)]
nir_to_tgsi: Require the block index to always be populated
In some cases like when using `NIR_DEBUG=serialize`, impl->num_blocks is 0
which leads to assertions error in the blocklist. Make sure to require the
num_blocks to be populated.
Fixes: 74c02d99b224fbc02132b54bf23e6ac1e117d805
Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15640>
Mike Blumenkrantz [Wed, 9 Mar 2022 17:10:09 +0000 (12:10 -0500)]
mesa/st: don't add pointsize to ES programs if it already exists
an obvious missed case from the previous series, but there's no need
to-readd an output if it already exists here
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15590>
Mike Blumenkrantz [Fri, 25 Mar 2022 22:14:14 +0000 (18:14 -0400)]
mesa/st: rework pointsize constant uploads
this now has a flag that is toggled when the last vertex stage changes,
and this will trigger the appropriate updates during state validation
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15590>
Mike Blumenkrantz [Mon, 28 Mar 2022 21:10:11 +0000 (17:10 -0400)]
mesa/st: always flag last vertex stage constants for upload on pointsize change
if the driver requires pointsize uploads, the pointsize has to actually be uploaded
whenever the pointsize changes
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15590>
Mike Blumenkrantz [Mon, 28 Mar 2022 21:08:30 +0000 (17:08 -0400)]
mesa/st: rework atom flagging when pointsize changes
if the driver requires pointsize uploads, only flag the last vertex
stage for updates, not all vertex stages
this should be functionally equivalent but without the unnecessary overhead
of also scanning the other stages
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15590>
Mike Blumenkrantz [Tue, 22 Mar 2022 22:05:35 +0000 (18:05 -0400)]
zink: add driver workaround for broken EXT_depth_clip_control
for #6186
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15513>
Mike Blumenkrantz [Thu, 24 Mar 2022 13:04:14 +0000 (09:04 -0400)]
llvmpipe: handle sampling from 2d views of 3d images
this is seldom used but is required by KHR_gl_texture_3D_image
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15583>
Mike Blumenkrantz [Fri, 25 Mar 2022 22:11:54 +0000 (18:11 -0400)]
zink: force push descriptors cache update if hashing detects changes
this was previously only forced if the program pointer changed,
but programs can be freed and reused, and these are definite cases
where the last set cannot be reused, so jam it in
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15591>
Mike Blumenkrantz [Tue, 22 Mar 2022 20:25:11 +0000 (16:25 -0400)]
lavapipe: enforce monotonic timeline incrementing
maybe just being overly paranoid, but make sure that the timeline id
gets compared while the lock is held in every scenario
cc: mesa-stable
Reviewed-by: Omar Akkila <omar.akkila@collabora.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15453>