platform/upstream/mesa.git
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>

2 years agov3d: Don't handle PIPE_SPRITE_COORD_UPPER_LEFT twice
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>

2 years agov3d/compiler: Handle point_coord_upper_left
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>

2 years agoradv: Fix DCC image store check
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>

2 years agoradeonsi: don't use NGG passthrough if culling is possible for better perf
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>

2 years agoradeonsi: add AMD_DEBUG=ib to print IBs
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>

2 years agoradeonsi: don't emit PA_SU_POLY_OFFSET_CLAMP if it has no effect
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>

2 years agoradeonsi: remove a few fields from si_state_rasterizer
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>

2 years agoradeonsi: enable shader-based prim culling with polygon mode
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>

2 years agowinsys/amdgpu: include CS ioctl overhead in RADEON_NOOP
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>

2 years agoradeonsi: skip setting some PGM_HI registers by switching to 32-bit addresses
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>

2 years agoradeonsi: strengthen the VGT_FLUSH condition in begin_new_gfx_cs
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>

2 years agoradeonsi: reduce the frequency of switching GS fast launch on/off
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>

2 years agowinsys/amdgpu: precompute amdgpu_ib_max_submit_dwords
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>

2 years agoradeonsi: remove the primitive discard compute shader
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>

2 years agoradeonsi: correct index_bias_varies usage
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>

2 years agoradeonsi: don't update shaders if only the vertex element count changes
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>

2 years agoradeonsi: accurately check if instance divisors need a VS update
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>

2 years agoradeonsi: ignore the vertex element count in si_shader_selector_key_vs
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>

2 years agoradeonsi: don't set prefer_mono for fetched instance divisors
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>

2 years agolima: Add a noop drm-shim
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>

2 years agoaco/ra: Fix potential out-of-bounds array accesses.
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>

2 years agoaco: Add some useful info to the README for debugging.
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>

2 years agoci: Put all container related jobs in a single stage
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>

2 years agoci: Stop adding link to tracie dashboard
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>

2 years agoci: Uprev piglit to 99be1b06ff36
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>

2 years agogitlab-ci: Implement a simple timeout detection for LAVA jobs
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>

2 years agogitlab-ci: Add sleep for every `scheduler.jobs.logs` call
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>

2 years agoturnip: support tracing of gmem/sysmem load/store/clears
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>

2 years agou_trace: pass command stream through tracing functions
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>

2 years agoturnip/perfetto: reusable command buffers support
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>

2 years agou_trace: helpers for tracing tiling GPUs and re-usable VK cmdbuffers
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>

2 years agoturnip: implement basic perfetto support
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>

2 years agoutil/u_trace: auto-generation of serialization funcs for tracepoints
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>

2 years agoutil/u_trace: make u_trace usable for other than gallium drivers
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>

2 years agoir3: Add bar to beginning of HS with tess_use_shared
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>

2 years agopanvk: Disable the BO cache
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>

2 years agopanvk: Only set PAN_DBG_TRACE if PANVK_DEBUG_TRACE is set
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>

2 years agopanvk: Don't take a BO reference when binding memory to an image
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>

2 years agopanvk: Initialize clear values to zero when load_op != OP_CLEAR
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>

2 years agopanvk: Fix a BO leak in panvk_pool_alloc_backing()
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>

2 years agopanvk: Reset panvk_pool->transient_bo in panvk_pool_reset()
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>

2 years agopanvk: Close the panfrost device in the panvk_physical_device_init() error path
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>

2 years agopanvk: Don't allocate an array of blend constants
Boris Brezillon [Mon, 6 Sep 2021 14:10:41 +0000 (16:10 +0200)]
panvk: Don't allocate an array of blend constants

Those are shared by all render targets.

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>

2 years agopanvk: Clamp blend constants before copying them to the cmdbuf state
Boris Brezillon [Mon, 6 Sep 2021 13:35:17 +0000 (15:35 +0200)]
panvk: Clamp blend constants before copying them to the cmdbuf state

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>

2 years agopanvk: Narrow the allow-forward-pixel-kill condition
Boris Brezillon [Mon, 6 Sep 2021 10:16:41 +0000 (12:16 +0200)]
panvk: Narrow the allow-forward-pixel-kill condition

Setting it to info->fs.can_fpk is wrong. Let's mimic the gallium driver
here.

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>

2 years agopanvk: Fix chan_size calculation in panvk_emit_blend()
Boris Brezillon [Mon, 6 Sep 2021 10:13:34 +0000 (12:13 +0200)]
panvk: Fix chan_size calculation in panvk_emit_blend()

Only the first channel was taken into account.

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>

2 years agopanvk: Don't advertise min/max filter
Boris Brezillon [Tue, 7 Sep 2021 12:20:37 +0000 (14:20 +0200)]
panvk: Don't advertise min/max filter

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>

2 years agopanvk: We don't support linear filtering on integer formats
Boris Brezillon [Fri, 3 Sep 2021 10:06:01 +0000 (12:06 +0200)]
panvk: We don't support linear filtering on integer formats

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>

2 years agopanvk: Only advertise MSAA-4
Boris Brezillon [Fri, 3 Sep 2021 15:00:53 +0000 (17:00 +0200)]
panvk: Only advertise MSAA-4

We'll see if we want to support MSAA 8 and 16 later. MSAA 2 is not
supported.

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>

2 years agopanvk: Fix blend descriptor emission
Boris Brezillon [Mon, 30 Aug 2021 08:37:47 +0000 (10:37 +0200)]
panvk: Fix blend descriptor emission

Got the round_to_fb_precision wrong when rebasing the the per-gen XML
changes. Fix it now.

Fixes: 792a0ab0b146 ("panvk: Prepare per-gen split")
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>

2 years agopanvk: Don't use pan_is_bifrost()
Boris Brezillon [Tue, 7 Sep 2021 11:18:26 +0000 (13:18 +0200)]
panvk: Don't use pan_is_bifrost()

Leftovers from the per-gen XML transition patch.

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>

2 years agobroadcom/compiler: force a last thrsw for spilling
Juan A. Suarez Romero [Wed, 8 Sep 2021 08:04:45 +0000 (10:04 +0200)]
broadcom/compiler: force a last thrsw for spilling

As we don't know if we are going to have spilling or not, emit always a
last thrsw at the end of the shader.

If later we don't have spillings and we don't need that last thrsw, we
remove it and switch back to the previous one.

This way we ensure all the spilling happens always before the last
thrsw.

v2 (Juan):
 - Rework the code to force a last thrsw and remove later if no spilling

v3:
 - Merge functionality inside vir_emit_last_thrsw (Iago)
 - Add vir_restore_last_thrsw (Juan)

v4 (Iago):
 - Fix/add new comments
 - Rename variables/parameters

v5 (Iago):
 - Fix comments
 - Add assertion

Cc: mesa-stable
Fixes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4760
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/12322>

2 years agobroadcom: make vir_emit_last_thrsw() private
Juan A. Suarez Romero [Wed, 8 Sep 2021 08:02:26 +0000 (10:02 +0200)]
broadcom: make vir_emit_last_thrsw() private

This function is only used in v3d_nir_to_vir(), so make it private.

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/12322>

2 years agoa4xx/computerator: add initial backend
Ilia Mirkin [Thu, 9 Sep 2021 01:39:56 +0000 (21:39 -0400)]
a4xx/computerator: add initial backend

This backend provides very basic a4xx support. It's enough to run
kernels with explicit stg/etc ops, but not with stgb/ldgb type access.
There is no perfcounter support hooked up yet either.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12784>

2 years agoa4xx: add some better documentation for compute registers
Ilia Mirkin [Thu, 9 Sep 2021 01:37:06 +0000 (21:37 -0400)]
a4xx: add some better documentation for compute registers

These were driven by seeing 0x1c (and other) values set by blob, as well
as comparing to equivalent a3xx documentation.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12784>

2 years agoanv: No need to lower to A64 messages for 64-bit atomics
Sagar Ghuge [Tue, 31 Aug 2021 02:00:50 +0000 (19:00 -0700)]
anv: No need to lower to A64 messages for 64-bit atomics

With LSC support, we can do 64-bit atomics with A32/64 messages.

Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com>
Suggested-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12566>

2 years agointel/compiler: Add support to handle 64-bit atomics with A32 messages
Sagar Ghuge [Tue, 31 Aug 2021 01:59:51 +0000 (18:59 -0700)]
intel/compiler: Add support to handle 64-bit atomics with A32 messages

v1: (Jason)
- Fix parentheses

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

2 years agoanv: Advertise support for shaderBufferFloat64AtomicMinMax
Sagar Ghuge [Thu, 26 Aug 2021 17:19:59 +0000 (10:19 -0700)]
anv: Advertise support for shaderBufferFloat64AtomicMinMax

v1:
- Just check has_lsc (Jason)

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

2 years agointel/compiler: Add 64-bit A64 float logical opcode support
Sagar Ghuge [Thu, 26 Aug 2021 17:13:34 +0000 (10:13 -0700)]
intel/compiler: Add 64-bit A64 float logical opcode support

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