platform/upstream/mesa.git
9 months agonir/lower_shader_calls: skip zero-sized qsort
Rhys Perry [Wed, 27 Sep 2023 13:23:09 +0000 (14:23 +0100)]
nir/lower_shader_calls: skip zero-sized qsort

Fixes UBSan:
src/compiler/nir/nir_lower_shader_calls.c:1681:7: runtime error: null pointer passed as argument 1, which is declared to never be null

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25853>

9 months agonir/serialize: fix signed integer overflow
Rhys Perry [Wed, 27 Sep 2023 13:01:21 +0000 (14:01 +0100)]
nir/serialize: fix signed integer overflow

Fixes UBSan error:
src/compiler/nir/nir_serialize.c:1277:70: runtime error: left shift of 524287 by 13 places cannot be represented in type 'int'

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25853>

9 months agonir/trivialize_registers: Handle obscure load hazard
Alyssa Rosenzweig [Tue, 24 Oct 2023 10:54:17 +0000 (06:54 -0400)]
nir/trivialize_registers: Handle obscure load hazard

Somebody less tired than me would add a unit test for this. Offending snippet:

        32    %58 = @load_reg (%55) (base=0, legacy_fabs=0, legacy_fneg=0)
        32    %57 = @load_reg (%55) (base=0, legacy_fabs=0, legacy_fneg=0)
        32    %21 = iadd %57, %15 (0x1)
                    @store_reg (%21, %55) (base=0, wrmask=x, legacy_fsat=0)
        32    %56 = @load_reg (%55) (base=0, legacy_fabs=0, legacy_fneg=0)
        32    %22 = i2f32 %56
        32    %23 = load_const (0x41000000 = 8.000000)
        32    %24 = fdiv %22, %23 (8.000000)
        32    %90 = mov %24
                    @store_reg_indirect (%90, %78, %58) (base=0, wrmask=x, legacy_fsat=0)

Closes: #10031
Fixes: d313eba94ef ("nir: Add pass for trivializing register access")
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reported-by: Timothy Arceri <tarceri@itsqueeze.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25865>

9 months agodocs/features: remove empty lines confusing mesamatrix
Karol Herbst [Wed, 25 Oct 2023 13:16:14 +0000 (15:16 +0200)]
docs/features: remove empty lines confusing mesamatrix

Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25886>

9 months agoradv: report the last GPUVM fault when a device lost is detected
Samuel Pitoiset [Tue, 10 Oct 2023 08:44:00 +0000 (10:44 +0200)]
radv: report the last GPUVM fault when a device lost is detected

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

9 months agoradv: query and report the last GPUVM fault with RADV_DEBUG=hang
Samuel Pitoiset [Tue, 10 Oct 2023 08:43:38 +0000 (10:43 +0200)]
radv: query and report the last GPUVM fault with RADV_DEBUG=hang

Tested with a small use-after-free Vulkan test. It's pretty basic
for now but I think I will add status decoding support to report
more useful information.

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

9 months agoradv/amdgpu: add support quering the last GPUVM fault
Samuel Pitoiset [Tue, 10 Oct 2023 08:43:21 +0000 (10:43 +0200)]
radv/amdgpu: add support quering the last GPUVM fault

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

9 months agoamd: add has_gpuvm_fault_query
Samuel Pitoiset [Thu, 25 May 2023 13:04:56 +0000 (15:04 +0200)]
amd: add has_gpuvm_fault_query

Whether the kernel allows to query the last GPUVM fault.

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

9 months agoamd: update amdgpu_drm.h
Samuel Pitoiset [Tue, 10 Oct 2023 08:37:16 +0000 (10:37 +0200)]
amd: update amdgpu_drm.h

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

9 months agoradv: remove outdated RADV_DEBUG=vmfaults support
Samuel Pitoiset [Tue, 24 Oct 2023 07:29:41 +0000 (09:29 +0200)]
radv: remove outdated RADV_DEBUG=vmfaults support

It's been a very long time since this was useless because dmesg
required sudo access for a while.

This will be replaced by the new GPUVM fault interface which allows
to query from the kernel directly instead of trying to parse dmesg.

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

9 months agozink: Fix SyntaxWarning in zink_extensions script
Seppo Yli-Olli [Wed, 25 Oct 2023 11:55:47 +0000 (11:55 +0000)]
zink: Fix SyntaxWarning in zink_extensions script

Fix regex pattern in zink_extensions to use proper escaping. While the original
code works, it relies on Python ignoring incorrect syntax and fallbacking to
passing through the escape. Current behaviour results in SyntaxWarning
whenever the code is used.

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

9 months agopanfrost: Add env variable for max AFBC packing ratio
Louis-Francis Ratté-Boulianne [Thu, 21 Sep 2023 15:19:23 +0000 (11:19 -0400)]
panfrost: Add env variable for max AFBC packing ratio

Add `PAN_MAX_AFBC_PACKING_RATIO` variable. If the ratio (size of the
packed resource) / (size of the sparse resource) * 100 is above that
value, we don't care about packing it.

Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25012>

9 months agopanfrost: Add some debug utility methods for resources
Louis-Francis Ratté-Boulianne [Fri, 1 Sep 2023 17:34:28 +0000 (13:34 -0400)]
panfrost: Add some debug utility methods for resources

Add a method to dump a specific superblock given its index (header
and few first bytes from the body) and a method to dump a resource
to a ppm file.

Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25012>

9 months agopanfrost: Add debug flag to force packing of AFBC textures on upload
Louis-Francis Ratté-Boulianne [Fri, 1 Sep 2023 17:31:19 +0000 (13:31 -0400)]
panfrost: Add debug flag to force packing of AFBC textures on upload

Add `forcepack` flag that will force conversion to AFBC-packed right
after a texture is uploaded when possible. We only pack 2D resources
larger than 32x32 as of now.

Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25012>

9 months agopanfrost: Don't force constant modifier after converting
Louis-Francis Ratté-Boulianne [Fri, 1 Sep 2023 15:26:02 +0000 (11:26 -0400)]
panfrost: Don't force constant modifier after converting

After converting a texture from one modifier to another, there is
no reason to force the modifier to stay constant afterwards. Set
back `modifier_constant` to false because it is changed by
`resource_setup` as it is causing issues when implementing AFBC
packing.

Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25012>

9 months agopanfrost: Legalize resource when attaching to a batch
Louis-Francis Ratté-Boulianne [Fri, 1 Sep 2023 15:22:05 +0000 (11:22 -0400)]
panfrost: Legalize resource when attaching to a batch

Make sure we don't convert the texture for nothing by only
legalizing when creating a batch instead of on surface creation.
Also, to avoid recursive blit, we need to legalize the destination
resource before blitting.

Finally, make sure the resource has a sparse memory layout if
AFBC compressed. The GPU doesn't support rendering to a AFBC-packed
texture.

Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25012>

9 months agopanfrost: Add support for AFBC packing
Louis-Francis Ratté-Boulianne [Fri, 1 Sep 2023 03:33:45 +0000 (23:33 -0400)]
panfrost: Add support for AFBC packing

When the GPU is converting a texture from linear/tiled to compressed
AFBC, it uses a sparse memory layout. That means that the
superblocks are stored starting at intervals equal to the size of an
uncompressed superblock. When memory usage needs to be optimized, it
is possible to pack the resource by trimming each superblock as much
as possible. The GPU will still be able to read from these packed
textures, but won't be able to write directly to them. If the
layout is AFBC-tiled, the packing process will also de-tile as
tiled+packed is not supported by Mali GPUs.

No new modifier flag has been added as the absence of the
`AFBC_FORMAT_MOD_SPARSE` flag means the resource will be packed.

Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25012>

9 months agopanfrost: Add method to get size of AFBC superblocks valid data
Louis-Francis Ratté-Boulianne [Mon, 11 Sep 2023 06:52:16 +0000 (02:52 -0400)]
panfrost: Add method to get size of AFBC superblocks valid data

The compute shader is going through all the AFBC header blocks and
calculating the size of valid data by summing up the subblock
sizes (and taking into account solid color, uncompressed mode and
copy blocks). The result is written into the given buffer (array
of `pan_afbc_block_info`).

The size is rounded up to the alignment parameter directly in the
shader.

Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25012>

9 months agopanfrost: Add infrastructure for internal AFBC compute shaders
Louis-Francis Ratté-Boulianne [Sat, 7 Oct 2023 01:19:45 +0000 (21:19 -0400)]
panfrost: Add infrastructure for internal AFBC compute shaders

A few compute shaders are needed to support AFBC-packing. Here is
just the boilerplate to create, compile and retrieve the shaders.

Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25012>

9 months agopanfrost: Split out internal of `panfrost_launch_grid`
Louis-Francis Ratté-Boulianne [Sat, 7 Oct 2023 01:19:10 +0000 (21:19 -0400)]
panfrost: Split out internal of `panfrost_launch_grid`

For an upcoming feature (AFBC packing), we're gonna run internal
compute shaders on resources. This commit just split the internal
of `panfrost_launch_grid` so we can run the shader on a given
batch.

Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25012>

9 months agopanfrost: Make panfrost_resource_create_with_modifier public
Louis-Francis Ratté-Boulianne [Thu, 31 Aug 2023 16:18:46 +0000 (12:18 -0400)]
panfrost: Make panfrost_resource_create_with_modifier public

It allows creating a resource when we already know which modifier
we're gonna use.

Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25012>

9 months agopanfrost: Add panfrost_batch_write_bo
Louis-Francis Ratté-Boulianne [Thu, 31 Aug 2023 15:47:48 +0000 (11:47 -0400)]
panfrost: Add panfrost_batch_write_bo

Needed when writing to a BO from a compute shader when the BO isn't
assigned to a resource yet.

Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25012>

9 months agopanfrost: Precalculate stride and nr of blocks for AFBC layouts
Louis-Francis Ratté-Boulianne [Thu, 31 Aug 2023 15:33:39 +0000 (11:33 -0400)]
panfrost: Precalculate stride and nr of blocks for AFBC layouts

For AFBC packing, we will need to have the stride of the resource
in terms of superblocks and the total number of blocks. It is
easier to pre-calculate once when initializing the resource layout.

Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25012>

9 months agopanfrost: Add method to get size of AFBC subblocks
Louis-Francis Ratté-Boulianne [Thu, 31 Aug 2023 15:31:42 +0000 (11:31 -0400)]
panfrost: Add method to get size of AFBC subblocks

Each AFBC superblock is subdivised into subblocks that are
compressed individually. For all formats that we currently support,
the subblocks are 4x4 pixels.

Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25012>

9 months agopanfrost: Add methods to determine slice and body alignment
Louis-Francis Ratté-Boulianne [Thu, 31 Aug 2023 15:19:45 +0000 (11:19 -0400)]
panfrost: Add methods to determine slice and body alignment

Those methods are needed to have the same alignment everywhere
without hard-coding the values

Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25012>

9 months agopanfrost: Fix error in comment
Louis-Francis Ratté-Boulianne [Thu, 31 Aug 2023 15:17:45 +0000 (11:17 -0400)]
panfrost: Fix error in comment

"linear" -> "tiled"

Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25012>

9 months agoegl: fix leaking drmDevicePtr in _eglFindDevice
Tapani Pälli [Mon, 23 Oct 2023 05:01:31 +0000 (08:01 +0300)]
egl: fix leaking drmDevicePtr in _eglFindDevice

Fixes: 3a9e1014e13 ("egl: Rename _eglAddDevice() to _eglFindDevice()")
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25524>

9 months agoanv: fixup 32bit build of internal shaders
Lionel Landwerlin [Tue, 24 Oct 2023 20:06:01 +0000 (23:06 +0300)]
anv: fixup 32bit build of internal shaders

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 11b4c23d19 ("anv: add ring buffer mode to generated draw optimization")
Fixes: db335d9b73 ("anv: factor out host/gpu internal shaders interfaces")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10037
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25870>

9 months agoetnaviv: Don't leak disk_cache
Christian Gmeiner [Wed, 25 Oct 2023 08:10:41 +0000 (10:10 +0200)]
etnaviv: Don't leak disk_cache

Fixes: 77af1ca690f ("etnaviv: add disk cache")
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Tomeu Vizoso <tomeu@tomeuvizoso.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25877>

9 months agoci: Bump PyYAML to 6.0.1
Christian Gmeiner [Wed, 25 Oct 2023 08:35:47 +0000 (10:35 +0200)]
ci: Bump PyYAML to 6.0.1

Fixes an issue I am seeing on Fedora 39. For more details
about the upstream fix see https://github.com/yaml/pyyaml/pull/702

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25878>

9 months agointel/dev: expand existing fix for all gfx12 with small EU count
Tapani Pälli [Mon, 23 Oct 2023 11:47:58 +0000 (14:47 +0300)]
intel/dev: expand existing fix for all gfx12 with small EU count

Commit 7db1b94e07f added a fix for ADL-N but this issue has been
reproduced also on RPL-S and is likely common with all gfx12 variants
with a small EU count.

cc: mesa-stable

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25861>

9 months agocompiler/types: Move comments and reorganize declarations
Caio Oliveira [Fri, 8 Sep 2023 21:55:58 +0000 (14:55 -0700)]
compiler/types: Move comments and reorganize declarations

Move comments from C++ member functions to the C functions.  In
some cases just delete comments or consolidate them together.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129>

9 months agocompiler/types: Remove warnings about potential fallthrough
Caio Oliveira [Fri, 8 Sep 2023 19:29:54 +0000 (12:29 -0700)]
compiler/types: Remove warnings about potential fallthrough

None of those cases are expected to fallthrough, but should be unreachable.
Just break them so they get to the unreachable entry at the end.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129>

9 months agocompiler/types: Rename glsl_types.cpp to glsl_types.c
Caio Oliveira [Fri, 8 Sep 2023 18:45:43 +0000 (11:45 -0700)]
compiler/types: Rename glsl_types.cpp to glsl_types.c

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129>

9 months agocompiler/types: Annotate extern "C" only once in glsl_types.cpp
Caio Oliveira [Fri, 8 Sep 2023 18:20:43 +0000 (11:20 -0700)]
compiler/types: Annotate extern "C" only once in glsl_types.cpp

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129>

9 months agocompiler/types: Remove usages of C++ members in glsl_types.cpp
Caio Oliveira [Fri, 8 Sep 2023 17:04:43 +0000 (10:04 -0700)]
compiler/types: Remove usages of C++ members in glsl_types.cpp

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129>

9 months agocompiler/types: Use C instead of C++ constants for builtin types
Caio Oliveira [Fri, 8 Sep 2023 17:46:11 +0000 (10:46 -0700)]
compiler/types: Use C instead of C++ constants for builtin types

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129>

9 months agocompiler/types: Add remaining type extraction functions and use them in C++
Caio Oliveira [Fri, 8 Sep 2023 16:50:45 +0000 (09:50 -0700)]
compiler/types: Add remaining type extraction functions and use them in C++

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129>

9 months agocompiler/types: Add glsl_simple_explicit_type() and simplify glsl_simple_type()
Caio Oliveira [Fri, 8 Sep 2023 15:42:31 +0000 (08:42 -0700)]
compiler/types: Add glsl_simple_explicit_type() and simplify glsl_simple_type()

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129>

9 months agocompiler/types: Implement glsl_type::field_type() in terms of existing functions
Caio Oliveira [Fri, 8 Sep 2023 03:15:35 +0000 (20:15 -0700)]
compiler/types: Implement glsl_type::field_type() in terms of existing functions

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129>

9 months agocompiler/types: Add glsl_get_explicit_*() functions and use them in C++
Caio Oliveira [Fri, 8 Sep 2023 03:35:31 +0000 (20:35 -0700)]
compiler/types: Add glsl_get_explicit_*() functions and use them in C++

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129>

9 months agocompiler/types: Add glsl_get_std430_array_stride() and use it in C++
Caio Oliveira [Fri, 8 Sep 2023 03:20:53 +0000 (20:20 -0700)]
compiler/types: Add glsl_get_std430_array_stride() and use it in C++

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129>

9 months agocompiler/types: Add glsl_type_uniform_locations() and use it in C++
Caio Oliveira [Fri, 8 Sep 2023 03:08:37 +0000 (20:08 -0700)]
compiler/types: Add glsl_type_uniform_locations() and use it in C++

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129>

9 months agocompiler/types: Add glsl_type_compare_no_precision() and use it in C++
Caio Oliveira [Fri, 8 Sep 2023 03:03:57 +0000 (20:03 -0700)]
compiler/types: Add glsl_type_compare_no_precision() and use it in C++

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129>

9 months agocompiler/types: Add glsl_get_mul_type() and use it in C++
Caio Oliveira [Fri, 8 Sep 2023 02:50:36 +0000 (19:50 -0700)]
compiler/types: Add glsl_get_mul_type() and use it in C++

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129>

9 months agocompiler/types: Add more glsl_contains_*() functions and use them in C++
Caio Oliveira [Fri, 8 Sep 2023 02:35:54 +0000 (19:35 -0700)]
compiler/types: Add more glsl_contains_*() functions and use them in C++

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129>

9 months agorusticl: Add bindings for glsl_vector_type()
Caio Oliveira [Sat, 16 Sep 2023 17:19:22 +0000 (10:19 -0700)]
rusticl: Add bindings for glsl_vector_type()

This is going to become inline functions, so add the corresponding
Rust bindings for it first.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129>

9 months agocompiler/types: Move remaining code from nir_types to glsl_types
Caio Oliveira [Fri, 8 Sep 2023 00:47:32 +0000 (17:47 -0700)]
compiler/types: Move remaining code from nir_types to glsl_types

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129>

9 months agocompiler/types: Flip wrapping of numeric type conversion functions
Caio Oliveira [Thu, 7 Sep 2023 03:34:49 +0000 (20:34 -0700)]
compiler/types: Flip wrapping of numeric type conversion functions

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129>

9 months agocompiler/types: Flip wrapping of remaining small data getters
Caio Oliveira [Sun, 3 Sep 2023 01:29:09 +0000 (18:29 -0700)]
compiler/types: Flip wrapping of remaining small data getters

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129>

9 months agocompiler/types: Flip wrapping of remaining non-trivial type getters
Caio Oliveira [Sun, 3 Sep 2023 01:09:17 +0000 (18:09 -0700)]
compiler/types: Flip wrapping of remaining non-trivial type getters

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129>

9 months agocompiler/types: Flip wrapping of get row/column type helpers
Caio Oliveira [Sun, 3 Sep 2023 01:00:42 +0000 (18:00 -0700)]
compiler/types: Flip wrapping of get row/column type helpers

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129>

9 months agocompiler/types: Flip wrapping of various get instance functions
Caio Oliveira [Sun, 3 Sep 2023 00:53:34 +0000 (17:53 -0700)]
compiler/types: Flip wrapping of various get instance functions

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129>

9 months agocompiler/types: Flip wrapping of texture/sampler/image get instance functions
Caio Oliveira [Sun, 3 Sep 2023 00:20:29 +0000 (17:20 -0700)]
compiler/types: Flip wrapping of texture/sampler/image get instance functions

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129>

9 months agocompiler/types: Flip wrapping of get_instance()
Caio Oliveira [Sun, 3 Sep 2023 00:12:56 +0000 (17:12 -0700)]
compiler/types: Flip wrapping of get_instance()

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129>

9 months agocompiler/types: Flip wrapping of record_compare
Caio Oliveira [Sat, 2 Sep 2023 20:01:52 +0000 (13:01 -0700)]
compiler/types: Flip wrapping of record_compare

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129>

9 months agocompiler/types: Flip wrapping of layout related functions
Caio Oliveira [Sat, 2 Sep 2023 19:53:32 +0000 (12:53 -0700)]
compiler/types: Flip wrapping of layout related functions

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129>

9 months agocompiler/types: Flip wrapping of interface related functions
Caio Oliveira [Sat, 2 Sep 2023 19:19:39 +0000 (12:19 -0700)]
compiler/types: Flip wrapping of interface related functions

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129>

9 months agocompiler/types: Flip wrapping of struct related functions
Caio Oliveira [Sat, 2 Sep 2023 18:39:23 +0000 (11:39 -0700)]
compiler/types: Flip wrapping of struct related functions

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129>

9 months agocompiler/types: Flip wrapping of size related functions
Caio Oliveira [Sat, 2 Sep 2023 18:25:49 +0000 (11:25 -0700)]
compiler/types: Flip wrapping of size related functions

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129>

9 months agocompiler/types: Flip wrapping of CL related functions
Caio Oliveira [Sat, 2 Sep 2023 18:04:49 +0000 (11:04 -0700)]
compiler/types: Flip wrapping of CL related functions

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129>

9 months agocompiler/types: Flip wrapping of cmat related functions
Caio Oliveira [Thu, 28 Sep 2023 19:17:45 +0000 (12:17 -0700)]
compiler/types: Flip wrapping of cmat related functions

Also add a missing `struct` related to cmat.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129>

9 months agocompiler/types: Flip wrapping of array related functions
Caio Oliveira [Sat, 2 Sep 2023 17:53:02 +0000 (10:53 -0700)]
compiler/types: Flip wrapping of array related functions

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129>

9 months agocompiler/types: Flip wrapping of "type contains?" predicate functions
Caio Oliveira [Sat, 2 Sep 2023 17:25:37 +0000 (10:25 -0700)]
compiler/types: Flip wrapping of "type contains?" predicate functions

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129>

9 months agoci_run_n_monitor: Always resolve --rev arguments for looking up pipelines.
Eric Anholt [Fri, 20 Oct 2023 10:11:13 +0000 (12:11 +0200)]
ci_run_n_monitor: Always resolve --rev arguments for looking up pipelines.

Otherwise you'd loop forever never finding it with --rev <paste from
gitlab UI> or --rev <branch name>

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

9 months agoradeonsi/vcn: Add encode support for H264 B-frames
David Rosca [Wed, 4 Oct 2023 14:55:47 +0000 (16:55 +0200)]
radeonsi/vcn: Add encode support for H264 B-frames

Tested with ffmpeg and gstreamer vah264enc.

References to B-frames (b_depth/b-pyramid) not supported.

Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25565>

9 months agofrontends/va: Fix parsing packed headers without emulation bytes
David Rosca [Thu, 5 Oct 2023 14:47:21 +0000 (16:47 +0200)]
frontends/va: Fix parsing packed headers without emulation bytes

Don't try to handle emulation bytes and only parse first NAL unit
if the packed header has no emulation bytes.

This fixes parsing packed headers from gstreamer.

Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25565>

9 months agoutil/vl: Fix vl_rbsp parser with bitstreams without emulation bytes
David Rosca [Thu, 5 Oct 2023 14:41:33 +0000 (16:41 +0200)]
util/vl: Fix vl_rbsp parser with bitstreams without emulation bytes

This is used for parsing VA packed headers and those can be without
emulation prevention bytes.
Add emulation_bytes argument to vl_rbsp_init and skip all emulation
bytes handling when set.

Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25565>

9 months agofrontends/va: Parse H264 SPS for max_num_reorder_frames
David Rosca [Wed, 4 Oct 2023 14:51:05 +0000 (16:51 +0200)]
frontends/va: Parse H264 SPS for max_num_reorder_frames

Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25565>

9 months agoanv: add gen9 astc workaround
Chia-I Wu [Tue, 17 Oct 2023 19:25:20 +0000 (12:25 -0700)]
anv: add gen9 astc workaround

gen9 does not handle denorms in void extent blocks correctly.  We need
to flush them to zero.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25800>

9 months agoanv: prep for gen9 astc workaround
Chia-I Wu [Wed, 18 Oct 2023 15:59:28 +0000 (08:59 -0700)]
anv: prep for gen9 astc workaround

We will reuse astc emu for gen9 astc workaround.  This commit contains
minor cleanups and has no functional change.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25800>

9 months agoradv: Support SDMA in si_cs_emit_write_event_eop.
Timur Kristóf [Fri, 20 Oct 2023 20:16:16 +0000 (22:16 +0200)]
radv: Support SDMA in si_cs_emit_write_event_eop.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25833>

9 months agoradv: Support SDMA in radv_cp_wait_mem.
Timur Kristóf [Fri, 20 Oct 2023 20:12:43 +0000 (22:12 +0200)]
radv: Support SDMA in radv_cp_wait_mem.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25833>

9 months agoradv: Support SDMA in radv_cs_write_data_head.
Timur Kristóf [Fri, 20 Oct 2023 20:10:50 +0000 (22:10 +0200)]
radv: Support SDMA in radv_cs_write_data_head.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25833>

9 months agonir: Add NVIDIA-specific geometry shader opcodes
Mary Guillemard [Fri, 22 Sep 2023 16:30:51 +0000 (18:30 +0200)]
nir: Add NVIDIA-specific geometry shader opcodes

Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25000>

9 months agonir: Add NVIDIA-specific I/O intrinsics
Faith Ekstrand [Sat, 30 Sep 2023 07:16:51 +0000 (02:16 -0500)]
nir: Add NVIDIA-specific I/O intrinsics

NVIDIA hardware doesn't take a vertex index for per-vertex I/O.
Instead, it takes an offset into the primitive.  This has to be fetched
using a combination of SR_INVOCATION_INFO and the ISBERD instruction.
To keep things simple and allow for maximum CSE, we do the lowering in
NIR and patch the load/store_per_vertex_input/output intrinsic.

Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25000>

9 months agonir: Add a range to most I/O intrinsics
Faith Ekstrand [Tue, 26 Sep 2023 20:01:03 +0000 (15:01 -0500)]
nir: Add a range to most I/O intrinsics

Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25000>

9 months agonir: Add an load_barycentric_at_offset_nv intrinsic
Faith Ekstrand [Fri, 15 Sep 2023 22:22:52 +0000 (17:22 -0500)]
nir: Add an load_barycentric_at_offset_nv intrinsic

NVIDIA hardware takes the offset as two 4.12 fixed-point values packed
into a single 32-bit value.

Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25000>

9 months agonir: Add NV-specific texture opcodes
Faith Ekstrand [Mon, 10 Apr 2023 22:23:32 +0000 (17:23 -0500)]
nir: Add NV-specific texture opcodes

These are for implementing various texture queries.

Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25000>

9 months agonir: Add a load_sysval_nv intrinsic
Faith Ekstrand [Tue, 19 Sep 2023 02:14:35 +0000 (21:14 -0500)]
nir: Add a load_sysval_nv intrinsic

Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25000>

9 months agonir/lower_tex: Add a lower_txd_clamp option
Faith Ekstrand [Mon, 10 Apr 2023 22:23:32 +0000 (17:23 -0500)]
nir/lower_tex: Add a lower_txd_clamp option

Some of us want to lower all TXD with min_lod regardless of whether or
not it's shadow or cube or whatever.

Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25000>

9 months agonir: Add convert_alu_types to divergence analysis
Faith Ekstrand [Mon, 10 Apr 2023 22:23:30 +0000 (17:23 -0500)]
nir: Add convert_alu_types to divergence analysis

Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25000>

9 months agonir: Add a nir_ssa_def_all_uses_are_fsat() helper
Faith Ekstrand [Fri, 28 Apr 2023 23:44:55 +0000 (18:44 -0500)]
nir: Add a nir_ssa_def_all_uses_are_fsat() helper

Extracted from nir_lower_to_source_mods, this is useful for back-ends
which don't want to rely on NIR source and destination modifiers.

Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25000>

9 months agoradv: enable mesh shader gs_fast_launch=2 and multi-row export
Rhys Perry [Fri, 1 Sep 2023 10:27:39 +0000 (11:27 +0100)]
radv: enable mesh shader gs_fast_launch=2 and multi-row export

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25040>

9 months agoradv: implement mesh shader multi-row export
Rhys Perry [Fri, 1 Sep 2023 16:15:49 +0000 (17:15 +0100)]
radv: implement mesh shader multi-row export

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25040>

9 months agoac/nir: implement mesh shader multi-row export
Rhys Perry [Thu, 19 Oct 2023 18:27:07 +0000 (19:27 +0100)]
ac/nir: implement mesh shader multi-row export

Unlike AMDVLK, this has separate loops for attribute stores and exports,
so that the stores from different rows can overlap.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25040>

9 months agoac/nir,radv: pass workgroup size to ac_nir_lower_ngg_ms
Rhys Perry [Thu, 19 Oct 2023 18:27:07 +0000 (19:27 +0100)]
ac/nir,radv: pass workgroup size to ac_nir_lower_ngg_ms

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25040>

9 months agoac/nir: add emit_ms_outputs helper
Rhys Perry [Fri, 1 Sep 2023 16:13:20 +0000 (17:13 +0100)]
ac/nir: add emit_ms_outputs helper

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25040>

9 months agoradv: implement mesh shader gs_fast_launch=2
Rhys Perry [Fri, 1 Sep 2023 10:25:00 +0000 (11:25 +0100)]
radv: implement mesh shader gs_fast_launch=2

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25040>

9 months agoac/nir: optimize mesh shader local_invocation_index
Rhys Perry [Thu, 7 Sep 2023 16:01:14 +0000 (17:01 +0100)]
ac/nir: optimize mesh shader local_invocation_index

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25040>

9 months agoac/nir: implement mesh shader gs_fast_launch=2
Rhys Perry [Fri, 1 Sep 2023 10:24:56 +0000 (11:24 +0100)]
ac/nir: implement mesh shader gs_fast_launch=2

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25040>

9 months agoac/nir: refactor mesh vertex/primitive export
Rhys Perry [Fri, 1 Sep 2023 10:22:42 +0000 (11:22 +0100)]
ac/nir: refactor mesh vertex/primitive export

To prepare for row export, move them into helpers with index and row
parameters.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25040>

9 months agoac/nir: remove dead code
Rhys Perry [Fri, 1 Sep 2023 10:29:57 +0000 (11:29 +0100)]
ac/nir: remove dead code

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25040>

9 months agoac/nir: add row parameter to helpers
Rhys Perry [Fri, 1 Sep 2023 10:18:38 +0000 (11:18 +0100)]
ac/nir: add row parameter to helpers

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25040>

9 months agoaco,nir: add export_row_amd intrinsic
Rhys Perry [Fri, 1 Sep 2023 10:16:29 +0000 (11:16 +0100)]
aco,nir: add export_row_amd intrinsic

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25040>

9 months agonir: improve ms_cross_invocation_output_access with local_invocation_id
Rhys Perry [Thu, 31 Aug 2023 19:35:25 +0000 (20:35 +0100)]
nir: improve ms_cross_invocation_output_access with local_invocation_id

Since GFX11, RADV doesn't need to lower local_invocation_id.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25040>

9 months agointel/compiler: Don't emit calls to validate() in release build
Caio Oliveira [Sun, 22 Oct 2023 21:36:03 +0000 (14:36 -0700)]
intel/compiler: Don't emit calls to validate() in release build

While the fs_visitor::validate() implementation is empty in release
build, we still emit calls to it since it is defined in a separate
compilation unit than its callers.  To fix this, just expose an inline
empty function in the header for the release mode.

Fossil run time differences in TGL laptop (difference at 95.0% confidence):

```
Rise of The Tomb Rider (Native) [n=7]
        -0.482857 +/- 0.010932
        -1.60608% +/- 0.0363621%

Cyberpunk 2077 (DXVK) [n=7]
        -0.987143 +/- 0.0904516
        -0.82996% +/- 0.076049%

Batman Arkham City (DXVK) [n=7]
        -7.74857 +/- 0.329561
        -1.46298% +/- 0.0622231%
```

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25847>

9 months agoac/gpu_info: fix querying the maximum number of IBs per ring
Samuel Pitoiset [Tue, 24 Oct 2023 14:52:41 +0000 (16:52 +0200)]
ac/gpu_info: fix querying the maximum number of IBs per ring

The kernel uses 32-bit and Mesa was using 8-bit...

Fixes: 96345ae2ed3 ("ac/gpu_info: query the maximum number of IBs per submit from the kernel")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25867>

9 months agoanv: selectively enable FCV optimization for DG2
Rohan Garg [Mon, 23 Oct 2023 10:02:32 +0000 (12:02 +0200)]
anv: selectively enable FCV optimization for DG2

Enabling FCV on MTL breaks a number of games and benchmarks. Let's
disable it for now till we can root cause the issue.

Closes: #9987
Fixes: 26c2c9 ('anv: enable FCV for Gen12.5')
Signed-off-by: Rohan Garg <rohan.garg@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25863>

9 months agoanv: turn off non zero fast clears for CCS_E
Rohan Garg [Wed, 11 Oct 2023 10:30:58 +0000 (12:30 +0200)]
anv: turn off non zero fast clears for CCS_E

This helps fix a performance regression on games such as F1 22 and RDR2.
Turning on non zero fast clears causes additional partial resolves for
these games that degrades performance. Let's turn off non zero fast
clears till we can eliminate the partial resolves.

Signed-off-by: Rohan Garg <rohan.garg@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25863>