platform/upstream/mesa.git
2 years agocompiler/spirv: add a fail if tex instr coord components aren't dimensional enough
Mike Blumenkrantz [Sat, 11 Sep 2021 15:16:16 +0000 (11:16 -0400)]
compiler/spirv: add a fail if tex instr coord components aren't dimensional enough

this is really hard to pin down later on, so catch it here instead

gotta have those dimensions.

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12825>

2 years agoradv/ci: Fix the GPU_VERSION for polaris10
Charlie Turner [Mon, 13 Sep 2021 18:08:19 +0000 (19:08 +0100)]
radv/ci: Fix the GPU_VERSION for polaris10

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11426>

2 years agoradv/ci: Remove duplication in dEQP skip lists.
Charlie Turner [Mon, 14 Jun 2021 10:45:05 +0000 (11:45 +0100)]
radv/ci: Remove duplication in dEQP skip lists.

Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Martin Peres <martin.peres@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11426>

2 years agoci: Support per-driver skip lists.
Charlie Turner [Wed, 16 Jun 2021 14:59:15 +0000 (15:59 +0100)]
ci: Support per-driver skip lists.

In addition to a global skip list introduced in
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11333
(enabled by
https://gitlab.freedesktop.org/anholt/deqp-runner/-/merge_requests/4)
it is also useful to have a per-driver skip list in addition to a
per-gpu list. Now, there are multiple levels at which skips can be
specified, from least to most specific,

  - (deqp|piglit)-all-skips.txt :: affecting all tests
  - (deqp|piglit)-$(DRIVER_NAME|VK_DRIVER|GALLIUM_DRIVER)-skips.txt ::
  affecting the specified driver
  - (deqp|piglit)-$GPU_VERSION-skips.txt :: affecting a specific GPU

This idea could be useful for -fails.txt as well.

Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Martin Peres <martin.peres@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11426>

2 years agofreedreno, turnip: Disable 8bpp UBWC on a650
Connor Abbott [Mon, 13 Sep 2021 11:32:57 +0000 (13:32 +0200)]
freedreno, turnip: Disable 8bpp UBWC on a650

While it doesn't immediately hang like on a660, it seems to be buggy and
the blob disables it.

This fixes a bunch of r8_* dEQP-VK tests, which seem to pass
individually but don't work when run after other tests. For example this
fixes failures running dEQP-VK.pipeline.sampler.*.r8_uint*.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12830>

2 years agopanfrost/ci: Enable test runs on G72
Tomeu Vizoso [Fri, 10 Sep 2021 13:07:20 +0000 (15:07 +0200)]
panfrost/ci: Enable test runs on G72

Looks pretty stable now!

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12850>

2 years agoturnip/kgsl: fix compilation after perfetto introduction
Danylo Piliaiev [Mon, 13 Sep 2021 17:23:46 +0000 (20:23 +0300)]
turnip/kgsl: fix compilation after perfetto introduction

Perfetto isn't supported with kgsl at the moment. Make stubs for
missing functions.

Fixes: 3dd1bb6355743b95b54e205012b605662a7e1cc5 "turnip: implement basic perfetto support"
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5352

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12837>

2 years agoiris: Add some accessor wrappers for a few fields.
Kenneth Graunke [Thu, 22 Jul 2021 05:50:22 +0000 (22:50 -0700)]
iris: Add some accessor wrappers for a few fields.

In the future, we're going to have "real" BOs representing GEM objects,
and "slab allocated" BOs suballocated out of a larger BO.  Many fields
are properties of the real underlying BO, but we may still want to ask
about an arbitrary BO, and have the accessor chase answers down as
necessary.

Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12848>

2 years agoiris: Defer construction of the validation (exec_object2) list
Kenneth Graunke [Wed, 4 Aug 2021 18:05:13 +0000 (11:05 -0700)]
iris: Defer construction of the validation (exec_object2) list

When I wrote this code originally, I decided to try and construct the
validation list up front, rather than at submission time.  That worked
okay, but it's not really necessary.  It's a fair amount of data to
store (struct drm_i915_gem_exec_object2 is 56 bytes per object), when
we can easily construct it on the fly.

More importantly, with suballocation, batch->exec_bos[i] may have
multiple entries corresponding to a single validation list entry.
Rather than tracking two lists with an awkward mapping between them,
we choose to just store the BO list and generate the other on the fly.

Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12848>

2 years agoiris: Track written BOs via a bitfield rather than exec_object2 entries
Kenneth Graunke [Wed, 4 Aug 2021 17:47:36 +0000 (10:47 -0700)]
iris: Track written BOs via a bitfield rather than exec_object2 entries

When we start suballocating BOs, multiple logical BOs may map to the
same GEM object, and thus share a validation list entry.  However, we
want to track whether logical BOs are written, to avoid unnecessary
cross-batch data dependencies.

Just track that in a bitfield instead, where bit i corresponds to
batch->exec_bos[i].

Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12848>

2 years agoiris: Rewrite bo->index comment to refer to exec_bos[]
Kenneth Graunke [Wed, 4 Aug 2021 17:47:31 +0000 (10:47 -0700)]
iris: Rewrite bo->index comment to refer to exec_bos[]

batch->validation_list[] will be going away shortly, but exec_bos[]
will live on.  bo->index is the index into both lists, so we can just
refer to the one we're not about to delete.

Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12848>

2 years agocrocus/gen7: add missing IVB/GT2 geom shader workaround.
Dave Airlie [Tue, 14 Sep 2021 06:59:03 +0000 (16:59 +1000)]
crocus/gen7: add missing IVB/GT2 geom shader workaround.

Noticed this in passing.

Fixes: f3630548f1da ("crocus: initial gallium driver for Intel gfx 4-7")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12847>

2 years agozink: add some debug asserts to validate imageless framebuffer correctness
Mike Blumenkrantz [Thu, 2 Sep 2021 19:21:47 +0000 (15:21 -0400)]
zink: add some debug asserts to validate imageless framebuffer correctness

not sure if these matter enough to assert on but they're annoying to track down

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12843>

2 years agozink: update surface info when rebinding to storage
Mike Blumenkrantz [Thu, 2 Sep 2021 19:21:04 +0000 (15:21 -0400)]
zink: update surface info when rebinding to storage

fixes some validation for imageless framebuffer usage

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12843>

2 years agozink: force imageless fb rebind if rebinding an attachment
Mike Blumenkrantz [Thu, 2 Sep 2021 19:20:43 +0000 (15:20 -0400)]
zink: force imageless fb rebind  if rebinding an attachment

ensure that the STORAGE usage gets picked up here

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12843>

2 years agozink: be smarter about fb surface rebinds
Mike Blumenkrantz [Thu, 2 Sep 2021 18:17:47 +0000 (14:17 -0400)]
zink: be smarter about fb surface rebinds

the aspect info lets us avoid unnecessary comparisons

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12843>

2 years agozink: wrap framebuffer surfaces to preserve gallium expectations
Mike Blumenkrantz [Tue, 31 Aug 2021 15:33:26 +0000 (11:33 -0400)]
zink: wrap framebuffer surfaces to preserve gallium expectations

gallium needs pipe_surface::context to reflect the context used to create
the surface, but zink caches surfaces, so instead return a wrapper object
that can be destroyed without blowing up the stack

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12843>

2 years agozink: move surface and bufferview caches onto resources
Mike Blumenkrantz [Tue, 31 Aug 2021 13:57:30 +0000 (09:57 -0400)]
zink: move surface and bufferview caches onto resources

this makes the locking smaller in scope and also make the lookups faster
due to having smaller populations in the hash tables

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12843>

2 years agozink: add a resource reference for bufferviews
Mike Blumenkrantz [Tue, 31 Aug 2021 13:51:52 +0000 (09:51 -0400)]
zink: add a resource reference for bufferviews

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12843>

2 years agozink: assert surface geometry
Mike Blumenkrantz [Tue, 10 Aug 2021 14:41:24 +0000 (10:41 -0400)]
zink: assert surface geometry

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12843>

2 years agointel/isl: Enable MOCS 61 for external surfaces on TGL
Jordan Justen [Thu, 16 May 2019 23:24:18 +0000 (16:24 -0700)]
intel/isl: Enable MOCS 61 for external surfaces on TGL

Reworks:
 * Lionel/Francisco: Add comment

Cc: mesa-stable
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12292>

2 years agozink: unset src access in barriers if there's no src pipeline stages
Mike Blumenkrantz [Mon, 13 Sep 2021 18:25:43 +0000 (14:25 -0400)]
zink: unset src access in barriers if there's no src pipeline stages

this is a partial barrier, so having access of any kind is invalid

VUID-vkCmdPipelineBarrier-srcAccessMask-02815(ERROR / SPEC): msgNum: 618171435 - Validation Error: [ VUID-vkCmdPipelineBarrier-srcAccessMask-02815 ] Object 0: handle = 0x2834530, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID = 0x24d88c2b | vkCmdPipelineBarrier(): .pImageMemoryBarriers[0].srcAccessMask bit VK_ACCESS_TRANSFER_READ_BIT is not supported by stage mask (VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT). The Vulkan spec states: The srcAccessMask member of each element of pMemoryBarriers must only include access flags that are supported by one or more of the pipeline stages in srcStageMask, as specified in the table of supported access types (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-vkCmdPipelineBarrier-srcAccessMask-02815)
    Objects: 1
        [0] 0x2834530, type: 6, name: NULL
zink DEBUG: ERR: 'Validation Error: [ VUID-vkCmdPipelineBarrier-srcAccessMask-02815 ] Object 0: handle = 0x2834530, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID = 0x24d88c2b | vkCmdPipelineBarrier(): .pImageMemoryBarriers[0].srcAccessMask bit VK_ACCESS_TRANSFER_READ_BIT is not supported by stage mask (VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT). The Vulkan spec states: The srcAccessMask member of each element of pMemoryBarriers must only include access flags that are supported by one or more of the pipeline stages in srcStageMask, as specified in the table of supported access types (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-vkCmdPipelineBarrier-srcAccessMask-02815)'

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12845>

2 years agozink: unset barrier info if resource object no longer has usage after reset
Mike Blumenkrantz [Wed, 8 Sep 2021 19:25:42 +0000 (15:25 -0400)]
zink: unset barrier info if resource object no longer has usage after reset

this avoids spurious barriers

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12845>

2 years agozink: move barrier info to resource object struct
Mike Blumenkrantz [Wed, 8 Sep 2021 19:25:01 +0000 (15:25 -0400)]
zink: move barrier info to resource object struct

this is a bit more accurate

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12845>

2 years agozink: add return values for resource usage unsetting
Mike Blumenkrantz [Wed, 8 Sep 2021 19:21:52 +0000 (15:21 -0400)]
zink: add return values for resource usage unsetting

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12845>

2 years agoglsl: Assert that lower_blend_equation_advanced is only called for FS
Kenneth Graunke [Mon, 13 Sep 2021 22:05:09 +0000 (15:05 -0700)]
glsl: Assert that lower_blend_equation_advanced is only called for FS

It only makes sense to call this pass for fragment shaders, and the
first thing the pass does is read a FS-specific field out of a union,
so it isn't safe to call it for other shader stages.

We could make it early return, but instead we just assert, so that
drivers know to only call it when appropriate.

(A previous version of this patch, which early returned instead of
asserting, was Reviewed-by: Emma Anholt <emma@anholt.net> as well.)

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12839>

2 years agoi965: Only call lower_blend_equation_advanced for fragment shaders
Kenneth Graunke [Mon, 13 Sep 2021 22:47:47 +0000 (15:47 -0700)]
i965: Only call lower_blend_equation_advanced for fragment shaders

i965 called this pass unconditionally, while st/mesa only calls it for
fragment shaders.  It only makes sense to run for fragment shaders, and
the first thing the pass does is read a FS-specific field out of a
union.  This isn't safe for other stages.

Fixes about 20,630 test failures on i965 since 91dc863921a, which moved
the advanced_blend_modes field.  The field had previously been in a
union with no other fields, so it never aliased anything, and thus
worked, even if it was wrong.  That commit moved it to a union that had
fields for other stages, so it started reading garbage and trying to
lower advanced blending for other stages on i965.

Fixes: 91dc863921a ("mesa: Move the advanced blend bitmask to shader_info.")
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12839>

2 years agozink: fix some return values
Mike Blumenkrantz [Sat, 11 Sep 2021 15:57:37 +0000 (11:57 -0400)]
zink: fix some return values

the function used to return the layout directly

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12844>

2 years agozink: unconditionally support conditional rendering
Mike Blumenkrantz [Thu, 9 Sep 2021 18:02:16 +0000 (14:02 -0400)]
zink: unconditionally support conditional rendering

this lets drivers that don't support the vk ext provide support

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12801>

2 years agozink: fix dmabuf cap export
Mike Blumenkrantz [Fri, 10 Sep 2021 00:47:10 +0000 (20:47 -0400)]
zink: fix dmabuf cap export

this requires a lot more than just one extension

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11967>

2 years agozink: add dmabuf fd handling
Mike Blumenkrantz [Fri, 10 Sep 2021 00:46:07 +0000 (20:46 -0400)]
zink: add dmabuf fd handling

just gotta get it out of the underlying graphics layer

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11967>

2 years agozink: use foreign queue import for dmabufs
Mike Blumenkrantz [Fri, 10 Sep 2021 00:45:29 +0000 (20:45 -0400)]
zink: use foreign queue import for dmabufs

this is required to get image data

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11967>

2 years agozink: fix import pNext attachment during image creation
Mike Blumenkrantz [Fri, 10 Sep 2021 00:44:35 +0000 (20:44 -0400)]
zink: fix import pNext attachment during image creation

there's better checks for this now, so the weird pNext handling here
can be simplified

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11967>

2 years agozink: handle image creation for dmabufs
Mike Blumenkrantz [Fri, 10 Sep 2021 00:44:02 +0000 (20:44 -0400)]
zink: handle image creation for dmabufs

these use PREINIT layout

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11967>

2 years agozink: set a flag for dmabuf init
Mike Blumenkrantz [Fri, 10 Sep 2021 00:48:38 +0000 (20:48 -0400)]
zink: set a flag for dmabuf init

this will be useful for barrier handling

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11967>

2 years agozink: split import and export fd handle types
Mike Blumenkrantz [Fri, 10 Sep 2021 00:41:33 +0000 (20:41 -0400)]
zink: split import and export fd handle types

these can maybe be different

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11967>

2 years agozink: hook up VK_EXT_queue_family_foreign
Mike Blumenkrantz [Wed, 21 Apr 2021 20:26:12 +0000 (16:26 -0400)]
zink: hook up VK_EXT_queue_family_foreign

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11967>

2 years agozink: add dmabuf modifier query hooks for screen
Mike Blumenkrantz [Wed, 21 Apr 2021 18:00:57 +0000 (14:00 -0400)]
zink: add dmabuf modifier query hooks for screen

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11967>

2 years agozink: hook up dmabuf ext
Mike Blumenkrantz [Fri, 10 Sep 2021 00:36:41 +0000 (20:36 -0400)]
zink: hook up dmabuf ext

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11967>

2 years agointel/dg2: Add L3 configuration
Anuj Phogat [Tue, 2 Jun 2020 17:31:12 +0000 (10:31 -0700)]
intel/dg2: Add L3 configuration

Rework:
 * Jordan: Merge dg1/dg2 into empty_l3_list

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12711>

2 years agointel/dev: Add is_dg2 to devinfo
Jordan Justen [Mon, 9 Dec 2019 18:51:40 +0000 (10:51 -0800)]
intel/dev: Add is_dg2 to devinfo

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12711>

2 years agozink: use smallest int type possible for decompose shader key
Mike Blumenkrantz [Mon, 13 Sep 2021 13:30:21 +0000 (09:30 -0400)]
zink: use smallest int type possible for decompose shader key

this reduces the component key size for decomposition by up to 75%, down
to as low as 2 bytes, which is more optimal for both hashing and memcmp of
the key

it will become more useful as further changes are added to improve vertex format
support, enabling the keysize to remain relatively small

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12771>

2 years agozink: decompose vertex attribs into single components when not supported
Mike Blumenkrantz [Tue, 24 Aug 2021 20:01:56 +0000 (16:01 -0400)]
zink: decompose vertex attribs into single components when not supported

this avoids vbuf in a lot more cases on radv where 3component attribs aren't supported

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12771>

2 years agozink: add function for decomposing vertex format to single component
Mike Blumenkrantz [Mon, 13 Sep 2021 13:22:01 +0000 (09:22 -0400)]
zink: add function for decomposing vertex format to single component

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12771>

2 years agoradeonsi: fix DCC image stores with image descriptors in user SGPRs
Marek Olšák [Sat, 11 Sep 2021 01:47:04 +0000 (21:47 -0400)]
radeonsi: fix DCC image stores with image descriptors in user SGPRs

The bug workaround was not applied there.

Fixes: 34a2c753107 - radeonsi: enable DCC stores on gfx10.3 APUs for better performance

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12809>

2 years agodriconf: remove leftover code for allow_incorrect_primitive_id
Marek Olšák [Wed, 1 Sep 2021 08:50:03 +0000 (04:50 -0400)]
driconf: remove leftover code for allow_incorrect_primitive_id

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12809>

2 years agoradeonsi: copy a few nir_shader_compiler_options from RADV
Marek Olšák [Thu, 9 Sep 2021 17:13:21 +0000 (13:13 -0400)]
radeonsi: copy a few nir_shader_compiler_options from RADV

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12809>

2 years agoradeonsi: fix DCC image stores with display DCC
Marek Olšák [Fri, 10 Sep 2021 19:03:27 +0000 (15:03 -0400)]
radeonsi: fix DCC image stores with display DCC

Fixes: 34a2c753107 - radeonsi: enable DCC stores on gfx10.3 APUs for better performance

Tested-by: Joshua Ashton <joshua@froggi.es>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12809>

2 years agofix(clover/llvm): update code to build with recent versions of LLVM 14 (Git)
Kai Wasserbäch [Sat, 4 Sep 2021 12:01:39 +0000 (14:01 +0200)]
fix(clover/llvm): update code to build with recent versions of LLVM 14 (Git)

`hasAttribute()` in `llvm::AttributeList` is gone, use `hasParamAttr()` instead.

This fixes an FTBFS.

Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12826>

2 years agointel/devinfo: Add devinfo->max_scratch_ids
Jordan Justen [Wed, 8 Sep 2021 23:54:57 +0000 (16:54 -0700)]
intel/devinfo: Add devinfo->max_scratch_ids

This consolidates several duplicated pieces of code into devinfo.
max_scratch_ids is an array that provides the max number of threads
for the rendering and compute stages.

This fixes some exceptions missed by crocus for scratch ids on haswell
and cherryview.

It also fills out devinfo->max_scratch_ids properly for stages VS
through CS on Gfx12.5. But, functionally this should not make a
difference as Gfx12.5 already uses COMPUTE for all stages.

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12799>

2 years agointel: Move subslice_total into devinfo
Jordan Justen [Wed, 8 Sep 2021 23:20:24 +0000 (16:20 -0700)]
intel: Move subslice_total into devinfo

Reworks:
 * Move asserts for subslice_total into intel_device_info.c (s-b Ken)
 * Drop now unused intel_device_info_subslice_total (s-b Ken)
 * Add comment for subslice_total (Ken)

Suggested-by: Kenneth Graunke <kenneth@whitecape.org>
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12799>

2 years agovulkan/wsi/x11: add driconf option to not wait under Xwayland
Simon Ser [Tue, 7 Sep 2021 13:06:46 +0000 (15:06 +0200)]
vulkan/wsi/x11: add driconf option to not wait under Xwayland

By default, Mesa's X11 Vulkan WSI will wait for buffers to be ready
before submitting them to Xwayland when the swapchain is created
with the IMMEDIATE mode.

This is undesirable when the Wayland compositor already monitors
fences. A Wayland compositor may want to know the delay between
the buffer submition and the end of the GPU work, this is impossible
to measure if the WSI waits for the buffer to be ready before
submission.

Since most compositors don't monitor fences, let's introduce a driconf
option for this for now. We can reconsider once more compositors
have better support for fences.

Signed-off-by: Simon Ser <contact@emersion.fr>
Acked-by: Michel Dänzer <mdaenzer@redhat.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11290>

2 years agomesa: Move the advanced blend bitmask to shader_info.
Emma Anholt [Sat, 11 Sep 2021 00:06:43 +0000 (17:06 -0700)]
mesa: Move the advanced blend bitmask to shader_info.

For drivers that don't lower advanced blend to FBFETCH, we need the
bitmask to be in the NIR shader so that it gets carried over to TGSI
successfully.

Reviewed-by: Rob Clark <robdclark@chromium.org>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12813>

2 years agozink: fix ZINK_MAX_DESCRIPTORS_PER_TYPE to stop exploding the stack
Mike Blumenkrantz [Mon, 13 Sep 2021 11:49:54 +0000 (07:49 -0400)]
zink: fix ZINK_MAX_DESCRIPTORS_PER_TYPE to stop exploding the stack

this isn't the max per type, it's the max that can be used for a type,
which is the max used by a shader stage * the number of shader stages

Cc: mesa-stable
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12829>

2 years agofreedreno: Move a6xx specific screen init
Rob Clark [Sun, 12 Sep 2021 22:57:01 +0000 (15:57 -0700)]
freedreno: Move a6xx specific screen init

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12820>

2 years agofreedreno: Cleanup primtypes/primtypes_mask
Rob Clark [Sun, 12 Sep 2021 22:49:02 +0000 (15:49 -0700)]
freedreno: Cleanup primtypes/primtypes_mask

Move primtypes/primtypes_mask to screen to remove duplicated introduced
by 744ef862b8d30d2037b8826153d2d2366e99844b.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5299
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12820>

2 years agofreedreno: Remove unused function
Rob Clark [Sun, 12 Sep 2021 22:39:25 +0000 (15:39 -0700)]
freedreno: Remove unused function

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12820>

2 years agoradv: enable comp-to-single for MSAA images
Samuel Pitoiset [Fri, 20 Aug 2021 06:56:10 +0000 (08:56 +0200)]
radv: enable comp-to-single for MSAA images

This allows fast clears for concurrent MSAA images.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12483>

2 years agoradv: add MSAA support to the comp-to-single fast clear path
Samuel Pitoiset [Fri, 20 Aug 2021 06:55:46 +0000 (08:55 +0200)]
radv: add MSAA support to the comp-to-single fast clear path

Clearing the first sample is enough as long as CMASK is also cleared
to indicate that other samples are also cleared.

I verified that the first sample is always at the beginning of 256B
blocks.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12483>

2 years agoci/v3dv: update flakes
Juan A. Suarez Romero [Mon, 13 Sep 2021 10:46:07 +0000 (12:46 +0200)]
ci/v3dv: update flakes

dEQP-VK.api.external.fence.opaque_fd.signal_export_import_wait_permanent
became a flake in latest kernel (5.10.60-v8+)

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12832>

2 years agoci: Fix syntax error in radv fails files
Charlie Turner [Wed, 8 Sep 2021 17:34:00 +0000 (18:34 +0100)]
ci: Fix syntax error in radv fails files

Fixes instances of,

  Error: Failed to parse dEQP-VK.ssbo.phys.layout.random.8bit.all_per_block_buffers.46 as CSV test,status[,duration] or comment at line 1

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Martin Peres <martin.peres@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12777>

2 years agoci: Build libdrm earlier for x86_test-vk
Charlie Turner [Wed, 11 Aug 2021 08:17:46 +0000 (09:17 +0100)]
ci: Build libdrm earlier for x86_test-vk

VK-CTS v1.2.7.0 has buggy tests that only work if DRM support is
available for them (drm_files_exist). This isn't exposed in the Mesa
CI by other farms, because their infra installs libdrm-dev as part
of either rootfs generation for freedreno/broadcom or respective
container stages (for lava). In the case of radv, we directly use the
x86 Mesa testing containers, so we are the odd ones out here.

By moving the building of the custom libdrm above the building of
vk-gl-cts, it will compile in support required for this test to pass,
ensuring the x86_test-vk container has the right dependencies to match
the rest of the CI. Lava actually installs drm development files
twice, once from the Debian repos, which vk-gl-cts then compiles
against, and a second time from a tarball, which the tests will use at
runtime. Seemed a little cleaner to use the version of libdrm
specified in the Mesa CI, and hence used at both build time and
runtime.

A bug should be raised with the testsuite to avoid this in the future,
but we should probably have libdrm development files exposed for these
components anyway.

Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Reviewed-by: Martin Peres <martin.peres@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12777>

2 years agoradv: Expose a bufferImageGranularity of 1.
Bas Nieuwenhuizen [Wed, 8 Sep 2021 11:40:12 +0000 (13:40 +0200)]
radv: Expose a bufferImageGranularity of 1.

It shouldn't matter as image & buffer alignment are enough and we
don't need any alignment between the two.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5213
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12765>

2 years agobroadcom: add cl_nobin debug option
Juan A. Suarez Romero [Fri, 10 Sep 2021 11:08:22 +0000 (13:08 +0200)]
broadcom: add cl_nobin debug option

Dumps the command list, excluding the binary resources.

v2 (Juan):
 - Make this option independent from `cl`

v3 (Iago):
 - Rename option name
 - Fix style issues
 - Do not print BO ranges

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12803>

2 years agobroadcom/compiler: add V3D_DEBUG_NO_LOOP_UNROLL debug option
Juan A. Suarez Romero [Fri, 10 Sep 2021 10:31:35 +0000 (12:31 +0200)]
broadcom/compiler: add V3D_DEBUG_NO_LOOP_UNROLL debug option

Disables loop unrolling.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12803>

2 years agoac/llvm: fix build with LLVM 14
Samuel Pitoiset [Fri, 3 Sep 2021 07:24:35 +0000 (09:24 +0200)]
ac/llvm: fix build with LLVM 14

AttributeList::hasAttribute() has been replaced by
hasParamAttr()/hasRetAttr().

All supported LLVM versions have hasParamAttr().

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5320
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12715>

2 years agozink: use descriptor info for ubo hashing
Mike Blumenkrantz [Wed, 8 Sep 2021 19:19:56 +0000 (15:19 -0400)]
zink: use descriptor info for ubo hashing

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12824>

2 years agozink: remove zink_get_resource_for_descriptor()
Mike Blumenkrantz [Wed, 8 Sep 2021 19:13:27 +0000 (15:13 -0400)]
zink: remove zink_get_resource_for_descriptor()

this is no longer useful

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12824>

2 years agozink: remove bind_stages and bind_history from zink_resource
Mike Blumenkrantz [Fri, 3 Sep 2021 14:46:58 +0000 (10:46 -0400)]
zink: remove bind_stages and bind_history from zink_resource

these are no longer used

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12822>

2 years agozink: use more accurate generation for buffer barrier pipeline stages
Mike Blumenkrantz [Fri, 3 Sep 2021 14:45:09 +0000 (10:45 -0400)]
zink: use more accurate generation for buffer barrier pipeline stages

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12822>

2 years agozink: don't generate more pipeline stages if vertex bit is already set
Mike Blumenkrantz [Fri, 3 Sep 2021 14:38:54 +0000 (10:38 -0400)]
zink: don't generate more pipeline stages if vertex bit is already set

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12822>

2 years agozink: use bind_stages for pipeline barrier generation
Mike Blumenkrantz [Fri, 3 Sep 2021 14:36:26 +0000 (10:36 -0400)]
zink: use bind_stages for pipeline barrier generation

Fixes: be408865215 ("zink: emit descriptor barriers and references during bind")

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12822>

2 years agozink: remove ZINK_RESOURCE_USAGE_STREAMOUT
Mike Blumenkrantz [Fri, 3 Sep 2021 14:31:07 +0000 (10:31 -0400)]
zink: remove ZINK_RESOURCE_USAGE_STREAMOUT

we can use a bool flag for this instead to be more sensible

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12822>

2 years agozink: use better check for determining bufferview rebinds
Mike Blumenkrantz [Fri, 3 Sep 2021 14:25:57 +0000 (10:25 -0400)]
zink: use better check for determining bufferview rebinds

we have the bvci here so the actual buffer is still available

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12822>

2 years agozink: make a local screen var for buffer replace
Mike Blumenkrantz [Fri, 3 Sep 2021 14:20:45 +0000 (10:20 -0400)]
zink: make a local screen var for buffer replace

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12822>

2 years agozink: move batch ref when possible during buffer replacement
Mike Blumenkrantz [Fri, 3 Sep 2021 14:19:46 +0000 (10:19 -0400)]
zink: move batch ref when possible during buffer replacement

avoid atomics when possible

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12822>

2 years agozink: add a batch ref when replacing a buffer that has binds and usage
Mike Blumenkrantz [Thu, 2 Sep 2021 21:16:56 +0000 (17:16 -0400)]
zink: add a batch ref when replacing a buffer that has binds and usage

any resource with active binds will have exactly 1 ref for the bind, so
if it also has usage, it needs to be destroyed on the batch to avoid
early deletion while it's in use

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12822>

2 years agozink: add some asserts for buffer replacement
Mike Blumenkrantz [Fri, 3 Sep 2021 17:42:32 +0000 (13:42 -0400)]
zink: add some asserts for buffer replacement

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12822>

2 years agozink: replace a couple checks for bind counts with new inline
Mike Blumenkrantz [Fri, 3 Sep 2021 14:16:58 +0000 (10:16 -0400)]
zink: replace a couple checks for bind counts with new inline

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12822>

2 years agozink: add inline for checking whether a resource has any binds
Mike Blumenkrantz [Fri, 3 Sep 2021 14:15:14 +0000 (10:15 -0400)]
zink: add inline for checking whether a resource has any binds

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12822>

2 years agozink: set vbo resource usage on bind
Mike Blumenkrantz [Thu, 2 Sep 2021 21:16:18 +0000 (17:16 -0400)]
zink: set vbo resource usage on bind

this is more accurate and avoids setting usage on a batch that could be
flushed before draw

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12822>

2 years agoRevert "zink: ci updates"
Mike Blumenkrantz [Mon, 13 Sep 2021 02:37:03 +0000 (22:37 -0400)]
Revert "zink: ci updates"

This reverts commit 03489cf51902e776945df3f59cebd9565641cda6.

maybe not...

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12821>

2 years agozink: initialize zink_descriptor_layout_key::use_count on create
Mike Blumenkrantz [Thu, 2 Sep 2021 19:42:05 +0000 (15:42 -0400)]
zink: initialize zink_descriptor_layout_key::use_count on create

Fixes: 95fe2f7b829 ("zink: track active use counts for descriptor layouts")

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12821>

2 years agozink: export PIPE_SHADER_CAP_FP16_CONST_BUFFERS
Mike Blumenkrantz [Wed, 1 Sep 2021 13:36:26 +0000 (09:36 -0400)]
zink: export PIPE_SHADER_CAP_FP16_CONST_BUFFERS

this is now functional

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12823>

2 years agozink: add 8/16bit ubo handling
Mike Blumenkrantz [Wed, 8 Sep 2021 18:19:11 +0000 (14:19 -0400)]
zink: add 8/16bit ubo handling

left this out of the original 8/16bit storage implementation somehow,
but it didn't matter since nothing was doing 8/16bit ubo reads

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12823>

2 years agozink: clamp instance divisors to max value
Mike Blumenkrantz [Tue, 7 Sep 2021 22:05:02 +0000 (18:05 -0400)]
zink: clamp instance divisors to max value

better than exploding

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12756>

2 years agozink: remove batch params from barrier functions
Mike Blumenkrantz [Tue, 31 Aug 2021 18:57:48 +0000 (14:57 -0400)]
zink: remove batch params from barrier functions

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12770>

2 years agozink: remove unused barrier function
Mike Blumenkrantz [Tue, 31 Aug 2021 18:54:39 +0000 (14:54 -0400)]
zink: remove unused barrier function

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12770>

2 years agozink: remove batch params from resource copy functions
Mike Blumenkrantz [Tue, 31 Aug 2021 18:54:07 +0000 (14:54 -0400)]
zink: remove batch params from resource copy functions

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12770>

2 years agozink: remove batch params from renderpass functions
Mike Blumenkrantz [Tue, 31 Aug 2021 18:51:25 +0000 (14:51 -0400)]
zink: remove batch params from renderpass functions

this no longer makes sense to have

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12770>

2 years agozink: move resource unrefs to flush thread
Mike Blumenkrantz [Tue, 31 Aug 2021 20:42:17 +0000 (16:42 -0400)]
zink: move resource unrefs to flush thread

unrefs here (almost always) mean destruction, which means eating the cost
of the atomics for the unrefs and then also the destructors

instead, handle this at the end of the next submit from this batch, since the
submit thread is never as busy as the driver thread

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12759>

2 years agozink: ci updates
Mike Blumenkrantz [Thu, 9 Sep 2021 01:03:49 +0000 (21:03 -0400)]
zink: ci updates

I think these should be more reliable now

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12783>

2 years agozink: document ZINK_DESCRIPTORS env var
Mike Blumenkrantz [Wed, 8 Sep 2021 16:42:17 +0000 (12:42 -0400)]
zink: document ZINK_DESCRIPTORS env var

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12783>

2 years agozink: add "nofallback" descriptor mode
Mike Blumenkrantz [Wed, 8 Sep 2021 16:37:08 +0000 (12:37 -0400)]
zink: add "nofallback" descriptor mode

this disables lazy fallback and forces caching always

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12783>

2 years agozink: fall back to lazy descriptors if too many cache misses in a row
Mike Blumenkrantz [Wed, 8 Sep 2021 16:19:54 +0000 (12:19 -0400)]
zink: fall back to lazy descriptors if too many cache misses in a row

in the cases where it's not useful to cache for one reason or another, stop
trying to force it and just go with the flow

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12783>

2 years agozink: split out lazy set updating
Mike Blumenkrantz [Wed, 8 Sep 2021 16:14:17 +0000 (12:14 -0400)]
zink: split out lazy set updating

make this reusable

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12783>

2 years agozink: reorganize cached descriptor updating a bit
Mike Blumenkrantz [Wed, 8 Sep 2021 16:13:38 +0000 (12:13 -0400)]
zink: reorganize cached descriptor updating a bit

do per-set updates in each part to stop passing around arrays

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12783>

2 years agoci/v3dv: Update fails with multiview failing with points
Ella-0 [Thu, 2 Sep 2021 10:34:21 +0000 (10:34 +0000)]
ci/v3dv: Update fails with multiview failing with points

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12524>

2 years agov3dv: Implement VK_EXT_vertex_attribute_divisor
Ella-0 [Thu, 2 Sep 2021 10:30:52 +0000 (10:30 +0000)]
v3dv: Implement VK_EXT_vertex_attribute_divisor

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12524>

2 years agov3dv: Expose correct point size granularity
Ella-0 [Thu, 2 Sep 2021 10:28:09 +0000 (10:28 +0000)]
v3dv: Expose correct point size granularity

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12524>