Lionel Landwerlin [Wed, 27 Apr 2022 19:38:28 +0000 (22:38 +0300)]
Revert "anv: fix dynamic state emission"
This reverts commit
f348103fce4484b891a58bf3147b71e3a3558135. The
change was causing performance regressions.
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16220>
Lionel Landwerlin [Fri, 29 Apr 2022 20:08:42 +0000 (23:08 +0300)]
anv: add missing logic op set in pipeline dyn state
v2: add ANV_CMD_DIRTY_DYNAMIC_LOGIC_OP check (Tapani)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes:
75ad0e4b0874 ("anv: support blending logic op dynamic state")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16220>
Lionel Landwerlin [Thu, 28 Apr 2022 10:15:53 +0000 (13:15 +0300)]
anv: reset all dynamic state after secondary execution
We don't know in what state the secondary buffer will leave the HW
when it ends. It's easier to consider everything needs to be reemitted
for now.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16220>
Fabrice Fontaine [Sat, 21 Aug 2021 15:55:33 +0000 (17:55 +0200)]
src/util/futex.h: fix build on 32-bit architectures using 64-bit time_t
Fix the following build failure on 32-bit architectures using 64-bit
time_t (e.g. riscv32):
../src/util/futex.h: In function 'sys_futex':
../src/util/futex.h:39:19: error: 'SYS_futex' undeclared (first use in this function); did you mean 'sys_futex'?
39 | return syscall(SYS_futex, addr1, op, val1, timeout, addr2, val3);
| ^~~~~~~~~
| sys_futex
Fixes:
- http://autobuild.buildroot.org/results/
692700a5f967760a0b8cd358b1712f1d5a7b681e
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12496>
Marek Olšák [Mon, 25 Apr 2022 07:54:49 +0000 (03:54 -0400)]
radeonsi: remove si_create_surface_custom
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215>
Marek Olšák [Mon, 25 Apr 2022 07:52:59 +0000 (03:52 -0400)]
radeonsi: remove si_create_sampler_view_custom and related code
This was used for compressed and subsampled gfx copies.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215>
Marek Olšák [Mon, 25 Apr 2022 07:45:08 +0000 (03:45 -0400)]
radeonsi: remove compressed and subsampled gfx copy from resource_copy_region
This is unused because the compute copy is always used in these cases.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215>
Marek Olšák [Mon, 25 Apr 2022 10:44:25 +0000 (06:44 -0400)]
radeonsi: improve the subsampled copy_image calculation
This fixes a few cases for AMD_TEST=copyimage, but it's still pretty broken.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215>
Marek Olšák [Mon, 25 Apr 2022 07:31:50 +0000 (03:31 -0400)]
radeonsi: handle compressed formats in si_compute_copy_image
This fixes a lot of AMD_TEST=copyimage cases, but there are still some
failures.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215>
Marek Olšák [Mon, 25 Apr 2022 14:45:44 +0000 (10:45 -0400)]
radeonsi/ci: update sienna_cichlid results
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215>
Marek Olšák [Sun, 24 Apr 2022 11:37:50 +0000 (07:37 -0400)]
radeonsi/test_image_copy: test all formats
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215>
Marek Olšák [Sun, 24 Apr 2022 11:37:50 +0000 (07:37 -0400)]
radeonsi/test_image_copy: test mipmaps
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215>
Marek Olšák [Sun, 24 Apr 2022 11:37:50 +0000 (07:37 -0400)]
radeonsi/test_image_copy: test copying a block-compressed format
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215>
Marek Olšák [Sun, 24 Apr 2022 11:37:50 +0000 (07:37 -0400)]
radeonsi/test_image_copy: test all interesting texture targets
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215>
Marek Olšák [Sun, 24 Apr 2022 11:37:50 +0000 (07:37 -0400)]
radeonsi/test_image_copy: separate printing pipe_resource into a function
also print texture targets that are going to be tested
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215>
Marek Olšák [Sun, 24 Apr 2022 11:37:50 +0000 (07:37 -0400)]
radeonsi/test_image_copy: separate generating a random pipe_resource
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215>
Marek Olšák [Sun, 24 Apr 2022 11:19:13 +0000 (07:19 -0400)]
radeonsi/test_image_copy: simplify texture size generation
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215>
Marek Olšák [Sun, 24 Apr 2022 11:13:15 +0000 (07:13 -0400)]
radeonsi/test_image_copy: remove special SDMA codepaths
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215>
Marek Olšák [Sun, 24 Apr 2022 10:36:27 +0000 (06:36 -0400)]
radeonsi/test_image_copy: remove linear and power-of-two size testing
it doesn't add any value
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215>
Marek Olšák [Sun, 24 Apr 2022 10:20:14 +0000 (06:20 -0400)]
radeonsi/test_image_copy: remove whole image copies
it doesn't add any value
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215>
Marek Olšák [Sun, 24 Apr 2022 08:25:37 +0000 (04:25 -0400)]
radeonsi: rename si_test_blit -> si_test_image_copy_region
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215>
Marek Olšák [Mon, 25 Apr 2022 09:06:29 +0000 (05:06 -0400)]
radeonsi: don't expose formats that CB supports, but not shaders
e.g. R4G4B4A4_UINT
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215>
Marek Olšák [Mon, 25 Apr 2022 09:05:59 +0000 (05:05 -0400)]
radeonsi: assert format support in si_compute_copy_image
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215>
Marek Olšák [Mon, 25 Apr 2022 07:14:50 +0000 (03:14 -0400)]
radeonsi: cosmetic changes in si_compute_copy_image
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215>
Marek Olšák [Mon, 25 Apr 2022 04:04:41 +0000 (00:04 -0400)]
radeonsi: implement compute_copy_image between 1D_ARRAY and other texture types
And set more optimal compute block sizes.
The compute copy is required to preserve NaNs, so this fixes a lot of
AMD_TEST=copyimage cases.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215>
Marek Olšák [Mon, 25 Apr 2022 03:06:43 +0000 (23:06 -0400)]
radeonsi: add color buffer support for R9G9B9E5_FLOAT on gfx10.3
This was missed when we added gfx10.3.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215>
Marek Olšák [Mon, 25 Apr 2022 03:05:37 +0000 (23:05 -0400)]
radeonsi: add color buffer support for 2_10_10_10 pipe formats
The hw enum is reversed.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215>
Marek Olšák [Mon, 25 Apr 2022 02:19:39 +0000 (22:19 -0400)]
radeonsi: don't allow broken compute image copies into A8R8_UNORM
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215>
Marek Olšák [Mon, 25 Apr 2022 02:18:51 +0000 (22:18 -0400)]
radeonsi: don't report R64_*INT as a sampler format because it doesn't work
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215>
Marek Olšák [Sun, 24 Apr 2022 08:18:01 +0000 (04:18 -0400)]
radeonsi: add si_can_use_compute_blit
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215>
Marek Olšák [Sun, 24 Apr 2022 08:17:42 +0000 (04:17 -0400)]
radeonsi: code style fix
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215>
Marek Olšák [Thu, 28 Apr 2022 10:14:57 +0000 (06:14 -0400)]
radeonsi: simplify setting COMPUTE_PGM_RSRC2.SCRATCH_EN
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215>
Marek Olšák [Thu, 28 Apr 2022 10:01:15 +0000 (06:01 -0400)]
radeonsi: remove unused si_cs_shader_state::uses_scratch
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215>
Marek Olšák [Wed, 27 Apr 2022 06:30:49 +0000 (02:30 -0400)]
radeonsi: align the tessellation ring address to 2MB
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215>
Marek Olšák [Wed, 27 Apr 2022 06:30:00 +0000 (02:30 -0400)]
radeonsi: cleanup local includes
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215>
Marek Olšák [Wed, 27 Apr 2022 02:29:31 +0000 (22:29 -0400)]
radeonsi: always print the lower-case GPU name for radeonsi-run-tests.py
This fixes the GPU name detection in radeonsi-run-tests.py when
the marketing name is unknown.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215>
Marek Olšák [Mon, 25 Apr 2022 01:20:33 +0000 (21:20 -0400)]
ac,radeonsi: report SCALED formats as unsupported by samplers and color buffers
This was never exercised and it doesn't work.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215>
Marek Olšák [Mon, 25 Apr 2022 02:18:20 +0000 (22:18 -0400)]
ac: support GR channel order in ac_choose_spi_color_formats
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215>
Marek Olšák [Wed, 27 Apr 2022 03:22:40 +0000 (23:22 -0400)]
ac/llvm: don't set ac_dlc in visit_intrinsic
It's set by get_load_cache_policy later.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215>
Marek Olšák [Wed, 27 Apr 2022 03:21:08 +0000 (23:21 -0400)]
ac/llvm: set the correct cache policy for sparse buffer loads
The DLC bit was missing on gfx10.
Fixes:
6d5e26752c664c "ac/nir: implement sparse image/texture loads"
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215>
Marek Olšák [Thu, 28 Apr 2022 05:14:39 +0000 (01:14 -0400)]
ac: remove really_needs_scratch, parameter from ac_parse_shader_binary_config
it's always true
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215>
Marek Olšák [Wed, 27 Apr 2022 00:50:21 +0000 (20:50 -0400)]
ac/gpu_info: rework how num_se is derived
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215>
Alyssa Rosenzweig [Wed, 27 Apr 2022 18:59:41 +0000 (14:59 -0400)]
panfrost: Unit test "from legacy" helper
So we don't regress the UABI. This doesn't get much CI coverage otherwise.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16201>
Alyssa Rosenzweig [Wed, 27 Apr 2022 18:50:59 +0000 (14:50 -0400)]
panfrost: Unit test stride calculations
These have reasonable interpretations now, and the three row strides have been
deduplicated. So add stride expectations to our ASTC unit tests.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16201>
Alyssa Rosenzweig [Wed, 27 Apr 2022 18:09:01 +0000 (14:09 -0400)]
panfrost: Unify row stride and AFBC row stride
Row stride is defined in terms of header blocks for AFBC. Usually,
afbc.row_stride is used for AFBC images and row_stride for non-AFBC images;
however, the nonsense non-AFBC stride leaked into the UABI. So handle that in
the legacy conversion path and use a unified row stride (equal to
afbc.row_stride for AFBC images and row_stride otherwise).
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16201>
Alyssa Rosenzweig [Wed, 27 Apr 2022 16:12:05 +0000 (12:12 -0400)]
panfrost: Remove line_stride
There are no more users. This eliminates a class of issues.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16201>
Alyssa Rosenzweig [Wed, 27 Apr 2022 16:04:54 +0000 (12:04 -0400)]
lima,panfrost: Use row stride for tiling routines
This makes more sense.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Erico Nunes <nunes.erico@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16201>
Alyssa Rosenzweig [Wed, 27 Apr 2022 16:10:37 +0000 (12:10 -0400)]
panfrost: Use row_stride even for linear resources
In that case, they match up.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16201>
Alyssa Rosenzweig [Wed, 27 Apr 2022 15:48:47 +0000 (11:48 -0400)]
panfrost: Adapt get_param for row strides
Let's preserve the old behaviour -- this is UABI, we need to be bug for bug
compatible.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16201>
Alyssa Rosenzweig [Wed, 27 Apr 2022 15:37:40 +0000 (11:37 -0400)]
panfrost: Use row stride to calculate slice size
This expresses what's actually happening. Equivalent to the old calculation due
to some cancellation.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16201>
Alyssa Rosenzweig [Wed, 27 Apr 2022 15:24:57 +0000 (11:24 -0400)]
panfrost: Rename away from bytes_per_pixel
This name is wrong for block-compressed formats. The code worked out anyway, but
rename it for clarity.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16201>
Alyssa Rosenzweig [Wed, 27 Apr 2022 15:23:37 +0000 (11:23 -0400)]
panfrost: Use row stride for explicit layouts
Line strides don't make sense for linear images, so use row strides instead in
the API. Then update the layout code accordingly.
Note: we need to preserve the old UABI (bug for bug compatibility), so we still
use legacy strides externally. But now we use row strides internally, which is
better than using both everywhere.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16201>
Alyssa Rosenzweig [Wed, 27 Apr 2022 16:25:11 +0000 (12:25 -0400)]
panfrost: Add helpers to work with legacy strides
Unfortunately, the botched nonlinear "line strides" have become ingrained in the
UABI. We need to be work with them. Add safe helpers to convert to/from the
legacy strides.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16201>
Alyssa Rosenzweig [Wed, 27 Apr 2022 15:20:54 +0000 (11:20 -0400)]
panvk: Report row_stride in GetImageSubresourceLayout
...Rather than line_stride. For linear images, these are equivalent. For
nonlinear images, rowPitch is implementation-defined. So this isn't strictly a
bug fix, but it gets rid of the nonsense nonlinear line_stride.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16201>
Alyssa Rosenzweig [Wed, 27 Apr 2022 15:40:44 +0000 (11:40 -0400)]
panvk: Remove unused layout structs
PanVK switched to the common Panfrost layout code, but these duplicate structs
stuck around. Garbage collect them to prevent confusion.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16201>
Alyssa Rosenzweig [Wed, 27 Apr 2022 15:31:39 +0000 (11:31 -0400)]
pan/decode: Print row strides, not line strides
I.e. what's actually passed to the hardware, in case of compression or tiling.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16201>
Karmjit Mahil [Mon, 14 Feb 2022 14:27:33 +0000 (14:27 +0000)]
pvr: Add compute update kernel in vkCmdDispatch().
We upload a new data section whenever a patched variant is
needed. They will be freed at command buffer destruction since
the uploads are linked.
Co-authored-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com>
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16040>
Karmjit Mahil [Mon, 14 Feb 2022 14:13:19 +0000 (14:13 +0000)]
pvr: Add compute update shared kernel in vkCmdDispatch().
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16040>
Karmjit Mahil [Mon, 14 Feb 2022 13:49:30 +0000 (13:49 +0000)]
pvr: Add initial implementation of vkCmdDispatch().
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16040>
Karmjit Mahil [Thu, 24 Mar 2022 17:05:45 +0000 (17:05 +0000)]
pvr: Add PVR_WORKGROUP_DIMENSIONS define.
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16040>
Lionel Landwerlin [Tue, 3 May 2022 09:19:43 +0000 (12:19 +0300)]
anv: fix invalid utrace memcpy l3 config on gfx < 11
device->l3_config is only valid on Gfx11+
This only fixes using GPU_TRACE=1
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes:
02a4d622ed0 ("anv: expose a couple of emit helper to build utrace buffer copies")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16291>
Mike Blumenkrantz [Mon, 2 May 2022 15:15:40 +0000 (11:15 -0400)]
llvmpipe: disable compute statistics queries if queries are disabled
cc: mesa-stable
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16278>
Mike Blumenkrantz [Mon, 2 May 2022 15:14:26 +0000 (11:14 -0400)]
llvmpipe: remove misleading query comment
u_blitter already handles this
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16278>
Mike Blumenkrantz [Mon, 2 May 2022 15:14:06 +0000 (11:14 -0400)]
llvmpipe: disable statistic queries during draw if queries are disabled
cc: mesa-stable
fixes (zink):
spec@ext_transform_feedback@generatemipmap prims_generated
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16278>
Pierre-Eric Pelloux-Prayer [Fri, 29 Apr 2022 14:40:09 +0000 (16:40 +0200)]
radeonsi: generate unique shader name in si_get_nir_shader
This function modifies the NIR shader, so when using NIR_DEBUG=print and
nir_viewer all the variants are displayed using the original name.
With this change, we get the original shader (eg: GLSL3), and then each
variant gets its own name (GLSL3-xxxxxxxx) - and is displayed in its
own tab in nir_viewer.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16247>
Pierre-Eric Pelloux-Prayer [Fri, 29 Apr 2022 14:39:43 +0000 (16:39 +0200)]
radeonsi: don't always strip NIR debug infos
When using NIR_DEBUG=print, always having shader names help debugging.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16247>
Joshua Ashton [Wed, 16 Mar 2022 18:07:04 +0000 (18:07 +0000)]
aco: Use movk for AddressHi bits in vertex prolog
Eliminates a useless extra dword by transforming
s_mov_b32 s47, 0xffff8000 ;
beaf03ff ffff8000
to
s_movk_i32 s47, 0x8000 ;
b02f8000
which does the same thing.
Reviewed-By: Tatsuyuki Ishi <ishitatsuyuki@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15415>
Daniel Schürmann [Fri, 29 Apr 2022 15:05:10 +0000 (17:05 +0200)]
aco/ra: fix live-range splits of phi definitions
It could happen that at the time of a live-range split,
a phi was not yet placed in the new instruction vector,
and thus, instead of renamed, a new phi was created.
Fixes: dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i8vec2
Cc: mesa-stable
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16248>
Konstantin Seurer [Mon, 2 May 2022 07:33:45 +0000 (09:33 +0200)]
ac/nir: Do not set cursor in try_extract_additions
Fixes: 61ac5ac ("radv,ac/nir: lower global access to _amd global access intrinsics")
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16270>
Samuel Pitoiset [Fri, 29 Apr 2022 16:24:32 +0000 (18:24 +0200)]
radv: use 3D views for 3D internal operations on GFX6-8
Instead of binding 2D images views and relying on BASE_ARRAY.
This cleanups the internal driver operations for 3D.
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/16272>
Timothy Arceri [Thu, 28 Apr 2022 03:24:06 +0000 (13:24 +1000)]
nir: fix sorting before assigning varying driver locations
We need to make sure we also properly sort varyings sharing a single
slot otherwise we can end up assigning earlier components to the next
slot if we have already processed later components.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6392
Fixes:
1e93b0caa10d ("mesa/st: add support for NIR as possible driver IR")
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16208>
Emma Anholt [Thu, 28 Apr 2022 18:38:46 +0000 (11:38 -0700)]
util: Add some unit tests of the half-float conversions.
Make sure that we're handling nans/infs correctly, in particular only
generating quiet nans when given a quiet nan. This catches the previous
qNaN fix.
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16233>
Chia-I Wu [Thu, 28 Apr 2022 21:25:36 +0000 (14:25 -0700)]
util: Keep quiet NaNs quiet when converting to half float.
We don't want to be throwing exceptions and changing float values later by
emitting a signaling binary16 nan.
If we don't do this, then when we convert back to f32 in NIR constant
expression evaluation, the signaling NaN can end up giving NaN for
fmax(NaN, 0.0), instead of 0.0.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5933
Cc: mesa-stable
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16233>
Lionel Landwerlin [Fri, 22 Apr 2022 21:13:07 +0000 (00:13 +0300)]
iris: use new kernel uAPI to compute video memory
v2: Use os_get_available_system_memory() when kernel memory region
uAPI is not available (Lionel)
Cc: 22.1 <mesa-stable>
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-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/16210>
Jason Ekstrand [Wed, 27 Apr 2022 22:28:26 +0000 (17:28 -0500)]
panvk: Add address/range helpers for panvk_buffer
The range helper is taken from ANV; the gpu_ptr one is original. This
also fixes a few more bugs where we weren't adding offsets in properly.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16216>
Alyssa Rosenzweig [Wed, 27 Apr 2022 23:14:37 +0000 (19:14 -0400)]
panvk: Only write depth when depth test enabled
Fixes dEQP-VK.pipeline.depth.format.*_test_disabled.depth_write_enabled
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16283>
Alyssa Rosenzweig [Wed, 27 Apr 2022 19:44:38 +0000 (15:44 -0400)]
panvk: Lower image deref atomics
Fixes dEQP-VK.image.atomic_operations.*
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16283>
Alyssa Rosenzweig [Mon, 25 Apr 2022 21:40:34 +0000 (17:40 -0400)]
pan/bi: Handle texture offset + index
Fixes dEQP-VK.glsl.opaque_type_indexing.sampler.uniform.vertex.sampler1d
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16283>
Alyssa Rosenzweig [Mon, 25 Apr 2022 20:29:15 +0000 (16:29 -0400)]
panvk: Allocate stack for each thread
Rather than a single stack for all threads to share -- that can't work! :-) We
use the same helper that the GLES driver does. Fixes anything using scratch or
spilling, including:
dEQP-VK.glsl.indexing.varying_array.vec3_static_write_dynamic_read
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16283>
Alyssa Rosenzweig [Mon, 25 Apr 2022 20:07:12 +0000 (16:07 -0400)]
panvk: Lower global vars to local
Fixes dEQP-VK.glsl.indexing.varying_array.float_static_write_static_loop_read
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16283>
Yiwei Zhang [Fri, 29 Apr 2022 22:58:41 +0000 (22:58 +0000)]
venus: log performance envs upon instance creation with debug init
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Change-Id: I8db93d6de28ac6a727c10fbaca94cffac092f8ea
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16256>
Yiwei Zhang [Fri, 29 Apr 2022 21:08:55 +0000 (21:08 +0000)]
venus: add VN_RELAX_BASE_SLEEP_US env var for tuning cpu utils
Cap the minimum to the current base sleep us 10.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16256>
Rob Clark [Sat, 30 Apr 2022 17:22:31 +0000 (10:22 -0700)]
drm-shim: Cleanup on device file close
Avoid leaking memory when the device file is closed, dropping bo
references and freeing the shim_fd.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16250>
Rob Clark [Fri, 29 Apr 2022 16:20:07 +0000 (09:20 -0700)]
freedreno/drm-shim: Better iova handling
We actually want to use util_vma to handle this. But fortunately core
drm-shim alredy does this for mem offset, we can just delete a bunch of
code and re-use that.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16250>
Rob Clark [Fri, 29 Apr 2022 16:17:47 +0000 (09:17 -0700)]
drm-shim: Add error handling for bo_init()
Don't assert, return an error. If we are fuzzing something using
drm-shim, we want to be more like the kernel and return an error
for OoM situation, rather than falling over.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16250>
Rob Clark [Thu, 28 Apr 2022 22:36:54 +0000 (15:36 -0700)]
drm-shim: Better mmap offsets
Using the bo pointer address as the offset doesn't go over well when
someone is fuzzing you. But we already have the mem_addr, we can simply
use that instead.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16250>
Rob Clark [Wed, 27 Apr 2022 23:16:27 +0000 (16:16 -0700)]
freedreno/drm-shim: Robustify error handling
We can't be so sloppy if we are using drm-shim for fuzzing.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16250>
Rob Clark [Wed, 27 Apr 2022 21:54:58 +0000 (14:54 -0700)]
freedreno/drm-shim: Update to latest uapi version
Needed for fuzzing virgl drm native context.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16250>
Rob Clark [Wed, 27 Apr 2022 21:53:19 +0000 (14:53 -0700)]
drm-shim: Add GET_UNIQUE support
Needed by drmOpenWithType(), which is used by virgl drm native context.
(We want to use drm-shim for fuzzing.)
Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16250>
Iván Briano [Fri, 29 Apr 2022 21:54:46 +0000 (14:54 -0700)]
vulkan/wsi/wayland: Fix double free on error condition
If wsi_configure_native_image() fails, it will call
wsi_destroy_image_info() itself, so let's try to not call it again from
wsi_wl_swapchain_destroy().
Fixes the CTS tests:
dEQP-VK.wsi.wayland.swapchain.simulate_oom.*
Fixes:
b626a5be43d ("vulkan/wsi/wayland: Split image creation")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16257>
Lionel Landwerlin [Mon, 2 May 2022 13:32:36 +0000 (16:32 +0300)]
vulkan/runtime: 0-out pipeline cache object
I'm running into crashes because cache->cache_object is uninitialized.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes:
591da9877900 ("vulkan: Add a common VkPipelineCache implementation")
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16275>
Caio Oliveira [Sat, 12 Mar 2022 07:17:38 +0000 (23:17 -0800)]
intel/compiler: In XeHP prefer <1;1,0> regions before compacting
Ken performed some tests with shader-db to evaluate the effects
```
Across all 145,848 shaders generated, the results were:
Total bytes compacted before: 3,326,224
Total bytes compacted after: 60,963,280
```
Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15399>
Mike Blumenkrantz [Mon, 2 May 2022 15:34:08 +0000 (11:34 -0400)]
llvmpipe: add a ci flake
not able to repro locally
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16280>
Jesse Natalie [Wed, 27 Apr 2022 22:27:44 +0000 (15:27 -0700)]
d3d12: Destroy empty residency bo set during early-return
Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16182>
Jesse Natalie [Tue, 26 Apr 2022 19:49:03 +0000 (12:49 -0700)]
d3d12: Fix a couple over-releases from incorrect take-ownership flag
Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16182>
Jesse Natalie [Tue, 26 Apr 2022 19:48:20 +0000 (12:48 -0700)]
d3d12: Fix leaks in map with do-not-wait
Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16182>
Jesse Natalie [Tue, 26 Apr 2022 20:58:31 +0000 (13:58 -0700)]
d3d12: Use a pipe_reference in d3d12_bo
Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16182>
Jesse Natalie [Tue, 26 Apr 2022 23:24:04 +0000 (16:24 -0700)]
u_primconvert: Handle take_index_buffer_ownership
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16182>
Jesse Natalie [Tue, 26 Apr 2022 23:03:16 +0000 (16:03 -0700)]
u_primconvert: Refactor to remove recursion from util_primconvert_draw_vbo
This prevents having unused copies of pipe_draw_info and
pipe_draw_start_count_bias on the stack, and makes it easier to do
things once for a multi-draw, which will matter in the next patch.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16182>
Jesse Natalie [Tue, 26 Apr 2022 23:25:13 +0000 (16:25 -0700)]
u_debug_stack: Lock around stack dumps to prevent interleaving
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16182>