platform/upstream/mesa.git
2 years agopan/bi: Use a dynarray for predecessors
Alyssa Rosenzweig [Tue, 19 Apr 2022 22:58:27 +0000 (18:58 -0400)]
pan/bi: Use a dynarray for predecessors

This is deterministic, unlike a set. Note we need the extra dereferencing to
keep the macro safe, simple, and standards compliant:

1. Nesting two for-loops would cause break/continue to fail.
2. Declaring variables outside the loop would pollute the namespace.
3. Declaring an anonymous struct is not conformant and doesn't compile in clang.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16279>

2 years agopan/bi: Use worklist for scoreboard analysis
Alyssa Rosenzweig [Tue, 19 Apr 2022 18:08:44 +0000 (14:08 -0400)]
pan/bi: Use worklist for scoreboard analysis

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16279>

2 years agopan/bi: Use bi_worklist for post-RA liveness
Alyssa Rosenzweig [Tue, 19 Apr 2022 18:06:09 +0000 (14:06 -0400)]
pan/bi: Use bi_worklist for post-RA liveness

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16279>

2 years agopan/bi: Use bi_worklist for liveness
Alyssa Rosenzweig [Tue, 19 Apr 2022 18:04:20 +0000 (14:04 -0400)]
pan/bi: Use bi_worklist for liveness

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16279>

2 years agopan/bi: Use bi_worklist in analyze_helper_requirements
Alyssa Rosenzweig [Tue, 19 Apr 2022 17:35:19 +0000 (13:35 -0400)]
pan/bi: Use bi_worklist in analyze_helper_requirements

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16279>

2 years agopan/bi: Add u_worklist wrapper macros
Alyssa Rosenzweig [Tue, 19 Apr 2022 18:00:10 +0000 (14:00 -0400)]
pan/bi: Add u_worklist wrapper macros

..expanding to bi_block.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16279>

2 years agopan/bi: Count blocks
Alyssa Rosenzweig [Tue, 19 Apr 2022 18:00:01 +0000 (14:00 -0400)]
pan/bi: Count blocks

For u_worklist.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16279>

2 years agopan/bi: Rename bi_block->name to bi_block->index
Alyssa Rosenzweig [Tue, 19 Apr 2022 17:59:31 +0000 (13:59 -0400)]
pan/bi: Rename bi_block->name to bi_block->index

This is consistent with nir_block and (IMO) less confusing.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16279>

2 years agodocs: explain state emission in Anv
Lionel Landwerlin [Fri, 29 Apr 2022 21:16:20 +0000 (00:16 +0300)]
docs: explain state emission in Anv

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>

2 years agoanv: remove static_state_mask
Lionel Landwerlin [Thu, 28 Apr 2022 07:54:27 +0000 (10:54 +0300)]
anv: remove static_state_mask

This is now unnecessary. Either an instruction is never dynamic and
it's emitted in genX_pipeline.c or it can be and it's emitted in
genX_cmd_buffer.c/gfx8_cmd_buffer/gfx7_cmd_buffer.c

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>

2 years agoanv: don't emit 3DSTATE_VF_TOPOLOGY in pipeline batch
Lionel Landwerlin [Thu, 28 Apr 2022 08:35:35 +0000 (11:35 +0300)]
anv: don't emit 3DSTATE_VF_TOPOLOGY in pipeline batch

v2: drop primitive_topology = 0xffffffff (Tapani)

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>

2 years agoanv: don't emit 3DSTATE_DEPTH_BOUNDS in pipeline batch
Lionel Landwerlin [Thu, 28 Apr 2022 07:42:44 +0000 (10:42 +0300)]
anv: don't emit 3DSTATE_DEPTH_BOUNDS in pipeline batch

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>

2 years agoanv: don't emit 3DSTATE_BLEND_STATE_POINTERS in pipeline batch
Lionel Landwerlin [Wed, 27 Apr 2022 21:12:52 +0000 (00:12 +0300)]
anv: don't emit 3DSTATE_BLEND_STATE_POINTERS in pipeline batch

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>

2 years agoanv: don't emit 3DSTATE_WM in pipeline batch
Lionel Landwerlin [Thu, 28 Apr 2022 06:26:39 +0000 (09:26 +0300)]
anv: don't emit 3DSTATE_WM in pipeline batch

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>

2 years agoanv: don't emit 3DSTATE_STREAMOUT in pipeline batch
Lionel Landwerlin [Thu, 28 Apr 2022 06:23:23 +0000 (09:23 +0300)]
anv: don't emit 3DSTATE_STREAMOUT in pipeline batch

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>

2 years agoanv: never emit 3DSTATE_CPS in the pipeline batch
Lionel Landwerlin [Thu, 28 Apr 2022 06:15:02 +0000 (09:15 +0300)]
anv: never emit 3DSTATE_CPS in the pipeline batch

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>

2 years agoanv: rework sample location
Lionel Landwerlin [Wed, 27 Apr 2022 20:44:40 +0000 (23:44 +0300)]
anv: rework sample location

On Gfx7 we can only give the sample location for a given multisample
number. This means everytime the multisampling value changes, we have
to re-emit the locations. It's fine because it's also where
(3DSTATE_MULTISAMPLE) the number of samples is stored.

On Gfx8+ though, 3DSTATE_MULTISAMPLE only holds the number of samples
and all the sample locations for all number of samples are located in
3DSTATE_SAMPLE_PATTERN. So to be more effecient there, we need to
track the locations for all sample numbers and compare new values with
the relevant sample count when touching the dynamic state.

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>

2 years agoRevert "anv: fix dynamic state emission"
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>

2 years agoanv: add missing logic op set in pipeline dyn state
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>

2 years agoanv: reset all dynamic state after secondary execution
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>

2 years agosrc/util/futex.h: fix build on 32-bit architectures using 64-bit time_t
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>

2 years agoradeonsi: remove si_create_surface_custom
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>

2 years agoradeonsi: remove si_create_sampler_view_custom and related code
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>

2 years agoradeonsi: remove compressed and subsampled gfx copy from resource_copy_region
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>

2 years agoradeonsi: improve the subsampled copy_image calculation
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>

2 years agoradeonsi: handle compressed formats in si_compute_copy_image
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>

2 years agoradeonsi/ci: update sienna_cichlid results
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>

2 years agoradeonsi/test_image_copy: test all formats
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>

2 years agoradeonsi/test_image_copy: test mipmaps
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>

2 years agoradeonsi/test_image_copy: test copying a block-compressed format
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>

2 years agoradeonsi/test_image_copy: test all interesting texture targets
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>

2 years agoradeonsi/test_image_copy: separate printing pipe_resource into a function
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>

2 years agoradeonsi/test_image_copy: separate generating a random pipe_resource
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>

2 years agoradeonsi/test_image_copy: simplify texture size generation
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>

2 years agoradeonsi/test_image_copy: remove special SDMA codepaths
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>

2 years agoradeonsi/test_image_copy: remove linear and power-of-two size testing
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>

2 years agoradeonsi/test_image_copy: remove whole image copies
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>

2 years agoradeonsi: rename si_test_blit -> si_test_image_copy_region
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>

2 years agoradeonsi: don't expose formats that CB supports, but not shaders
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>

2 years agoradeonsi: assert format support in si_compute_copy_image
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>

2 years agoradeonsi: cosmetic changes in si_compute_copy_image
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>

2 years agoradeonsi: implement compute_copy_image between 1D_ARRAY and other texture types
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>

2 years agoradeonsi: add color buffer support for R9G9B9E5_FLOAT on gfx10.3
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>

2 years agoradeonsi: add color buffer support for 2_10_10_10 pipe formats
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>

2 years agoradeonsi: don't allow broken compute image copies into A8R8_UNORM
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>

2 years agoradeonsi: don't report R64_*INT as a sampler format because it doesn't work
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>

2 years agoradeonsi: add si_can_use_compute_blit
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>

2 years agoradeonsi: code style fix
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>

2 years agoradeonsi: simplify setting COMPUTE_PGM_RSRC2.SCRATCH_EN
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>

2 years agoradeonsi: remove unused si_cs_shader_state::uses_scratch
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>

2 years agoradeonsi: align the tessellation ring address to 2MB
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>

2 years agoradeonsi: cleanup local includes
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>

2 years agoradeonsi: always print the lower-case GPU name for radeonsi-run-tests.py
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>

2 years agoac,radeonsi: report SCALED formats as unsupported by samplers and color buffers
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>

2 years agoac: support GR channel order in ac_choose_spi_color_formats
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>

2 years agoac/llvm: don't set ac_dlc in visit_intrinsic
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>

2 years agoac/llvm: set the correct cache policy for sparse buffer loads
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>

2 years agoac: remove really_needs_scratch, parameter from ac_parse_shader_binary_config
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>

2 years agoac/gpu_info: rework how num_se is derived
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>

2 years agopanfrost: Unit test "from legacy" helper
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>

2 years agopanfrost: Unit test stride calculations
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>

2 years agopanfrost: Unify row stride and AFBC row stride
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>

2 years agopanfrost: Remove line_stride
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>

2 years agolima,panfrost: Use row stride for tiling routines
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>

2 years agopanfrost: Use row_stride even for linear resources
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>

2 years agopanfrost: Adapt get_param for row strides
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>

2 years agopanfrost: Use row stride to calculate slice size
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>

2 years agopanfrost: Rename away from bytes_per_pixel
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>

2 years agopanfrost: Use row stride for explicit layouts
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>

2 years agopanfrost: Add helpers to work with legacy strides
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>

2 years agopanvk: Report row_stride in GetImageSubresourceLayout
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>

2 years agopanvk: Remove unused layout structs
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>

2 years agopan/decode: Print row strides, not line strides
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>

2 years agopvr: Add compute update kernel in vkCmdDispatch().
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>

2 years agopvr: Add compute update shared kernel in vkCmdDispatch().
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>

2 years agopvr: Add initial implementation of vkCmdDispatch().
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>

2 years agopvr: Add PVR_WORKGROUP_DIMENSIONS define.
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>

2 years agoanv: fix invalid utrace memcpy l3 config on gfx < 11
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>

2 years agollvmpipe: disable compute statistics queries if queries are disabled
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>

2 years agollvmpipe: remove misleading query comment
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>

2 years agollvmpipe: disable statistic queries during draw if queries are disabled
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>

2 years agoradeonsi: generate unique shader name in si_get_nir_shader
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>

2 years agoradeonsi: don't always strip NIR debug infos
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>

2 years agoaco: Use movk for AddressHi bits in vertex prolog
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>

2 years agoaco/ra: fix live-range splits of phi definitions
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>

2 years agoac/nir: Do not set cursor in try_extract_additions
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>

2 years agoradv: use 3D views for 3D internal operations on GFX6-8
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>

2 years agonir: fix sorting before assigning varying driver locations
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>

2 years agoutil: Add some unit tests of the half-float conversions.
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>

2 years agoutil: Keep quiet NaNs quiet when converting to half float.
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>

2 years agoiris: use new kernel uAPI to compute video memory
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>

2 years agopanvk: Add address/range helpers for panvk_buffer
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>

2 years agopanvk: Only write depth when depth test enabled
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>

2 years agopanvk: Lower image deref atomics
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>

2 years agopan/bi: Handle texture offset + index
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>

2 years agopanvk: Allocate stack for each thread
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>

2 years agopanvk: Lower global vars to local
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>

2 years agovenus: log performance envs upon instance creation with debug init
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>

2 years agovenus: add VN_RELAX_BASE_SLEEP_US env var for tuning cpu utils
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>

2 years agodrm-shim: Cleanup on device file close
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>