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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Ella-0 [Thu, 2 Sep 2021 17:08:43 +0000 (17:08 +0000)]
v3d: Don't handle PIPE_SPRITE_COORD_UPPER_LEFT twice
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12524>
Ella-0 [Thu, 2 Sep 2021 10:23:21 +0000 (10:23 +0000)]
v3d/compiler: Handle point_coord_upper_left
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12524>
Joshua Ashton [Fri, 10 Sep 2021 21:05:06 +0000 (22:05 +0100)]
radv: Fix DCC image store check
Doesn't seem to be causing any issues right now but could with modifiers potentially.
Matches what is in RadeonSI where the comment is also shamelessly stolen from.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12811>
Marek Olšák [Wed, 25 Aug 2021 19:47:20 +0000 (15:47 -0400)]
radeonsi: don't use NGG passthrough if culling is possible for better perf
Switching NGG passthrough on/off decreases performance because it causes
context rolls.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12812>
Marek Olšák [Sat, 21 Aug 2021 22:01:49 +0000 (18:01 -0400)]
radeonsi: add AMD_DEBUG=ib to print IBs
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12812>
Marek Olšák [Sat, 21 Aug 2021 18:21:24 +0000 (14:21 -0400)]
radeonsi: don't emit PA_SU_POLY_OFFSET_CLAMP if it has no effect
this is more efficient even
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12812>
Marek Olšák [Sat, 21 Aug 2021 18:19:32 +0000 (14:19 -0400)]
radeonsi: remove a few fields from si_state_rasterizer
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12812>
Marek Olšák [Sat, 21 Aug 2021 18:00:01 +0000 (14:00 -0400)]
radeonsi: enable shader-based prim culling with polygon mode
Polygon mode should have no effect on culling, so keep it enabled.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12812>
Marek Olšák [Thu, 19 Aug 2021 19:44:55 +0000 (15:44 -0400)]
winsys/amdgpu: include CS ioctl overhead in RADEON_NOOP
submit an empty IB instead of skipping the ioctl
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12812>
Marek Olšák [Wed, 18 Aug 2021 17:37:38 +0000 (13:37 -0400)]
radeonsi: skip setting some PGM_HI registers by switching to 32-bit addresses
Other registers benefit from consecutive register offsets for the smallest
command buffer size.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12812>
Marek Olšák [Wed, 18 Aug 2021 15:12:30 +0000 (11:12 -0400)]
radeonsi: strengthen the VGT_FLUSH condition in begin_new_gfx_cs
Cc: mesa-stable
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12812>
Marek Olšák [Wed, 18 Aug 2021 15:14:26 +0000 (11:14 -0400)]
radeonsi: reduce the frequency of switching GS fast launch on/off
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12812>
Marek Olšák [Wed, 11 Aug 2021 16:23:05 +0000 (12:23 -0400)]
winsys/amdgpu: precompute amdgpu_ib_max_submit_dwords
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12812>
Marek Olšák [Wed, 11 Aug 2021 17:31:19 +0000 (13:31 -0400)]
radeonsi: remove the primitive discard compute shader
It doesn't always work, it's only useful on gfx9 and older, and it's too
complicated.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4011
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12812>
Marek Olšák [Tue, 10 Aug 2021 23:39:04 +0000 (19:39 -0400)]
radeonsi: correct index_bias_varies usage
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12812>
Marek Olšák [Tue, 10 Aug 2021 09:09:41 +0000 (05:09 -0400)]
radeonsi: don't update shaders if only the vertex element count changes
Only check if the relevant fields changed.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12812>
Marek Olšák [Tue, 10 Aug 2021 09:08:23 +0000 (05:08 -0400)]
radeonsi: accurately check if instance divisors need a VS update
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12812>
Marek Olšák [Tue, 10 Aug 2021 08:55:08 +0000 (04:55 -0400)]
radeonsi: ignore the vertex element count in si_shader_selector_key_vs
It's always at least num_inputs, so just use num_inputs.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12812>
Marek Olšák [Tue, 10 Aug 2021 08:35:04 +0000 (04:35 -0400)]
radeonsi: don't set prefer_mono for fetched instance divisors
It's not necessary because the overhead is very low and the comment isn't
true anymore. (the divisions are fast now)
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12812>
Icecream95 [Mon, 6 Sep 2021 08:10:56 +0000 (20:10 +1200)]
lima: Add a noop drm-shim
Hard-code Mali450 with six cores for now, matching the hardware I
have.
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com>
Reviewed-by: Erico Nunes <nunes.erico@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12737>
Daniel Schürmann [Thu, 2 Sep 2021 13:42:56 +0000 (15:42 +0200)]
aco/ra: Fix potential out-of-bounds array accesses.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12748>
Timur Kristóf [Tue, 7 Sep 2021 11:41:22 +0000 (13:41 +0200)]
aco: Add some useful info to the README for debugging.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12748>
Michel Dänzer [Thu, 9 Sep 2021 10:26:39 +0000 (12:26 +0200)]
ci: Put all container related jobs in a single stage
GitLab 14.2 supports dependencies between jobs in the same stage.
Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12790>
Tomeu Vizoso [Mon, 6 Sep 2021 07:02:11 +0000 (09:02 +0200)]
ci: Stop adding link to tracie dashboard
Besides the sed being broken for some trace names, now we have all
needed information in the artifacts so the dashboard isn't needed.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12675>
Tomeu Vizoso [Wed, 1 Sep 2021 14:08:10 +0000 (16:08 +0200)]
ci: Uprev piglit to
99be1b06ff36
Brings in these changes:
99be1b06ff36 framework/replay: Display the image differences if any
3074b9c72b3d glsl-predication-on-large-array: Test predication on values from large array
c97da22d35b4 cmake: Fix gbm test compiling
0cbccd68c3c1 piglit: Find our data directory when we're invoked through a symlink
4eb71fc10bbe arb_sso: add test that has explicit locations and array fields in ifc
fa9c82380273 glsl-1.30: test shadow var in a switch
aa7f042b0417 glsl-1.30: add tests for incorrect "compare to 0" optimizations
60138ef32ec1 add explicit tests for GetFragDataLocation/Index(gl_Frag*)
4a8806696b90 egl: add test for EGL_KHR_display_reference
d6b7053b4e52 glsl-1.30: test that switch expression is evaluated once
8023a3c945c3 arb_shader_storage_buffer_object: Require extension on the new test
8820cac60827 pbobench: Fix sometimes-uninitialized warning.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12675>
Guilherme Gallo [Fri, 10 Sep 2021 15:58:27 +0000 (12:58 -0300)]
gitlab-ci: Implement a simple timeout detection for LAVA jobs
* Retry twice if the job does not generates logs for 5 minutes.
* Only active the timeout detection when the job starts.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12808>
Guilherme Gallo [Sat, 4 Sep 2021 00:59:12 +0000 (21:59 -0300)]
gitlab-ci: Add sleep for every `scheduler.jobs.logs` call
Add a time.sleep call between proxy.scheduler.jobs.logs calls, since
they do not block. This will relieve some request pressure on LAVA
dispatchers.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12797>
Danylo Piliaiev [Fri, 16 Jul 2021 15:52:31 +0000 (18:52 +0300)]
turnip: support tracing of gmem/sysmem load/store/clears
Now we support per-tile tracing.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Hyunjun Ko <zzoon@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10969>
Danylo Piliaiev [Fri, 16 Jul 2021 13:30:22 +0000 (16:30 +0300)]
u_trace: pass command stream through tracing functions
Allows writing timestamps into different command streams.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10969>
Danylo Piliaiev [Mon, 7 Jun 2021 10:16:25 +0000 (13:16 +0300)]
turnip/perfetto: reusable command buffers support
The limitation is that the reusable command buffer should be created
when perfetto is already connected in order to write timestamps.
Otherwise such cmd buffer won't be traces.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Hyunjun Ko <zzoon@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10969>
Danylo Piliaiev [Fri, 16 Jul 2021 12:01:20 +0000 (15:01 +0300)]
u_trace: helpers for tracing tiling GPUs and re-usable VK cmdbuffers
Re-usable command buffer could be resubmitted any number of times,
but tracepoints are written once. u_trace_clone_append allows
copying tracepoints and copying timestamps if GPU doesn't support
writing timestamps into indirect address.
The case of tiling GPUs is similar, command stream for draws is
resubmitted for each tile.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10969>
Danylo Piliaiev [Mon, 24 May 2021 16:54:47 +0000 (19:54 +0300)]
turnip: implement basic perfetto support
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Hyunjun Ko <zzoon@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10969>
Danylo Piliaiev [Tue, 25 May 2021 15:16:07 +0000 (18:16 +0300)]
util/u_trace: auto-generation of serialization funcs for tracepoints
Add ability to auto-generate:
- printing of args for "GPU_TRACE=1", still could be overriden with
tp_print.
- population of extra data for perfetto event.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10969>
Danylo Piliaiev [Mon, 24 May 2021 09:11:46 +0000 (12:11 +0300)]
util/u_trace: make u_trace usable for other than gallium drivers
With little modifications u_trace could be usable for Vulkan drivers.
Beside removing dependencies on gallium, the other notable change is
the passing of opaque flush_data pointer via u_trace_flush. There
is data which becomes available only at this point which other drivers
may want to pass.
For example Vulkan drivers would want to pass at least submission id
(for perfetto) and a sync object to wait on in u_trace_read_ts.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10969>
Connor Abbott [Thu, 9 Sep 2021 12:16:08 +0000 (14:16 +0200)]
ir3: Add bar to beginning of HS with tess_use_shared
This matches the blob. In theory, this is necessary only because the
VS/HS workgroup can now span more than one wave and a patch may be
assigned to different waves in the VS and HS. However I've seen it fix
tests where the entire draw should fit in one wave, so there may some
other sort of waiting this does or the HW dispatch may be inefficient
sometimes.
Fixes
EQP-VK.tessellation.user_defined_io.per_patch.vertex_io_array_size_implicit.*
when run immediately after
dEQP-VK.tessellation.invariance.outer_triangle_set.quads_fractional_even_spacing
or when all of dEQP-VK.tessellation.* is run in sequence on a650.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12791>
Boris Brezillon [Mon, 6 Sep 2021 14:29:48 +0000 (16:29 +0200)]
panvk: Disable the BO cache
This makes it easier to debug memory leaks, and we probably want to
rely on vulkan caches anyway, so let's just disable the BO cache.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12762>
Boris Brezillon [Mon, 6 Sep 2021 14:27:21 +0000 (16:27 +0200)]
panvk: Only set PAN_DBG_TRACE if PANVK_DEBUG_TRACE is set
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12762>
Boris Brezillon [Mon, 6 Sep 2021 14:23:08 +0000 (16:23 +0200)]
panvk: Don't take a BO reference when binding memory to an image
Memory is never unbound, and vulkan mandates that the memory stays around
for the image lifetime, unless another chunk of memory is bound to this
image. Let's keep things simple and don't take a reference on the BO
we bind to an image, this way, the memory gets released as soon as
vkFreeMemory() is called.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12762>
Boris Brezillon [Mon, 6 Sep 2021 14:18:45 +0000 (16:18 +0200)]
panvk: Initialize clear values to zero when load_op != OP_CLEAR
This is easier to detect when something goes wrong with this default
initialization in place.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12762>
Boris Brezillon [Mon, 6 Sep 2021 14:16:51 +0000 (16:16 +0200)]
panvk: Fix a BO leak in panvk_pool_alloc_backing()
When picking a BO from a BO pool, we need to add it to the memory pool
otherwise it gets lost when the memory pool is reset/destroyed.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12762>
Boris Brezillon [Mon, 6 Sep 2021 14:14:37 +0000 (16:14 +0200)]
panvk: Reset panvk_pool->transient_bo in panvk_pool_reset()
Fixes a use-after-free issue.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12762>
Boris Brezillon [Mon, 6 Sep 2021 14:12:08 +0000 (16:12 +0200)]
panvk: Close the panfrost device in the panvk_physical_device_init() error path
Otherwise some resources stay around.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12762>