Lucas Stach [Fri, 9 Jun 2023 16:55:39 +0000 (18:55 +0200)]
etnaviv: query: remove incorrect comment
The allocated query buffer is always 4KB in size and can hold
a variable number of samples depending on the sample size.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23557>
Lucas Stach [Fri, 9 Jun 2023 16:51:05 +0000 (18:51 +0200)]
etnaviv: query: reset sample count on begin_query
ARB_occlusion_query specifies that the query is reset on BeginQueryARB,
not when the fetching the result of the query. This behavior also makes
a lot of sense for the perfmon queries.
CC: mesa-stable
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23557>
Lucas Stach [Fri, 9 Jun 2023 16:45:43 +0000 (18:45 +0200)]
etnaviv: query: move sample counter manipulation into query providers
Different query providers have different behavior on when they produce
samples: the perfmon provider provides a sample at the start and at the
end of the query, while the occlusion query provider only adds another
sample when the query is complete.
Move the sample count manipulation to the providers to be able to take
those differences into account. Removes a useless always-zero sample
for each OQ resume/suspend pair.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23557>
Timur Kristóf [Fri, 9 Jun 2023 14:17:34 +0000 (16:17 +0200)]
radv: Use RESET_FILTER_CAM for some mesh shading draws.
It's unclear why this is needed, but PAL uses RESET_FILTER_CAM
for some mesh shading draw packets:
- DISPATCH_MESH_INDIRECT_MULTI
- DISPATCH_TASKMESH_GFX
Let's do the same in radv.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23554>
Friedrich Vock [Sat, 10 Jun 2023 20:01:46 +0000 (22:01 +0200)]
radv: Always flush before writing acceleration structure properties
Equivalent of
284e604872 but for acceleration structure queries.
If an app inserts a barrier between AS builds and writing AS properties,
we must respect it or things will blow up.
Cc: mesa-stable
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23568>
Karol Herbst [Sat, 10 Jun 2023 21:04:30 +0000 (23:04 +0200)]
ac/llvm: set +cumode for radeonsi
radeonsi switched over to CU wavefront execution mode, but didn't tell
LLVM. This can lead to shaders requiring too many VGPRs to be executed in
CU mode and so cause GPU resets.
Pass along +cumode to LLVM so it properly spills VGPRs.
Fixes:
9d7eab2ab17 ("radeonsi: don't enable WGP_MODE because of high cost of workgroup mem coherency")
Signed-off-by: Karol Herbst <git@karolherbst.de>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23569>
Yonggang Luo [Tue, 6 Jun 2023 01:22:42 +0000 (09:22 +0800)]
ac: Replace the usage of pipe_compare_func with compare_func
PIPE_FUNC_ -> COMPARE_FUNC_
pipe_compare_func -> compare_func
Now include "pipe/p_state.h" is not needed and remove it in ac_nir.h
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23422>
Martin Roukala (né Peres) [Sun, 11 Jun 2023 05:50:12 +0000 (08:50 +0300)]
ci: bring back the valve farm
Valve infra is back online, sorry for the noise!
This is a partial revert of commit
628d21c5219178b29caec6ea9c21bed59a0a58ff.
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23571>
Sviatoslav Peleshko [Fri, 5 May 2023 07:00:48 +0000 (10:00 +0300)]
nir/lower_shader_calls: Fix cursor if broken after nir_cf_extract() call
Fixes:
e2dadda3 ("Revert "nir/lower_shader_calls: put inserted instructions into a dummy block")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8978
Signed-off-by: Sviatoslav Peleshko <sviatoslav.peleshko@globallogic.com>
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22884>
Konrad Dybcio [Sat, 10 Jun 2023 07:59:49 +0000 (09:59 +0200)]
freedreno: Partially decode CP_PROTECT_CNTL
Give bogus but meaningful names to the bitfields that we understand.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23467>
David Heidelberg [Sat, 10 Jun 2023 19:27:01 +0000 (21:27 +0200)]
ci: valve and freedreno farm is down
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23567>
norablackcat [Fri, 9 Jun 2023 08:58:07 +0000 (02:58 -0600)]
docs: rusticl envvars list supported drivers
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23544>
Yonggang Luo [Thu, 1 Jun 2023 16:02:48 +0000 (00:02 +0800)]
panfrost: Replace the usage of PIPE_BIND_* with PAN_BIND_*
PIPE_BIND_* belongs to gallium, do not use it in panvk
As pan_format.h also used ban panfrost gallium driver, so static_assert it equal
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23526>
Konstantin Seurer [Fri, 9 Jun 2023 08:34:30 +0000 (10:34 +0200)]
aco/rt: Do not initialize the next shader addr
The uniform one is already set and the raygen shader isn't guarded
anymore.
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23545>
Konstantin Seurer [Fri, 9 Jun 2023 08:26:26 +0000 (10:26 +0200)]
radv/rt: Clear NIR metadata after lowering the ABI
radv_nir_lower_rt_abi inserts instructions and control flow.
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23545>
Konstantin Seurer [Fri, 9 Jun 2023 08:16:39 +0000 (10:16 +0200)]
radv/rt: Do not guard the raygen shader
The condition will always evaluate to true because it's set this way by
the prolog.
Quake II RTX:
Totals from 7 (10.00% of 70) affected shaders:
Instrs: 30070 -> 30056 (-0.05%); split: -0.07%, +0.03%
CodeSize: 163476 -> 163420 (-0.03%); split: -0.06%, +0.03%
Latency: 80335 -> 83887 (+4.42%)
InvThroughput: 16870 -> 17603 (+4.34%)
Copies: 3191 -> 3215 (+0.75%)
Branches: 1273 -> 1266 (-0.55%)
PreSGPRs: 356 -> 354 (-0.56%)
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23545>
Karol Herbst [Wed, 10 May 2023 23:40:51 +0000 (01:40 +0200)]
ac/llvm: replace MESA_SHADER_COMPUTE checks with gl_shader_stage_is_compute
This will be required for OpenCL subgroup support on radeonsi, but also
fixes some regressions today as radeonsi started to use the subgroup id
for invocation_index calculation.
Fixes:
39da12b7c7c ("ac/llvm: clean up visit_load_local_invocation_index and visit_load_subgroup_id")
Signed-off-by: Karol Herbst <git@karolherbst.de>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23551>
Karol Herbst [Fri, 9 Jun 2023 13:27:18 +0000 (15:27 +0200)]
ac/llvm: support vec2 on b2i16
Since radeonsi sets the alu_to_scalar callback, frontends like Rusticl
might end up generating vec2 b2i16. Support this just like it's done for
b2f16.
Fixes:
d692d433f28 ("radeonsi: use nir_lower_alu_to_scalar correctly")
Signed-off-by: Karol Herbst <git@karolherbst.de>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23551>
Chia-I Wu [Tue, 6 Jun 2023 23:25:37 +0000 (16:25 -0700)]
radv: disable calibrated timestamps on raven/raven2
amdgpu enables gfxoff by default and the feature resets the RLC clock
counter on idle on raven/raven2. Querying AMDGPU_INFO_TIMESTAMP does
not work as expected on those platforms.
There was an attempt in amdgpu to read from the TSC register instead,
but it did not work without a firmware update[1]. Another possible
solution is to disable the clock counter reset by clearing
AMD_PG_SUPPORT_RLC_SMU_HS, but that causes a 0.2W increase of power
consumption on idle which is undesirable.
The clock counter reset affects vkCmdWriteTimestamp as well. The spec
is vague on whether that is allowed or not. The WG is aware of the
issue[2] but never really addresses it.
[1] https://lists.freedesktop.org/archives/amd-gfx/2023-May/093731.html
[2] https://github.com/KhronosGroup/Vulkan-Docs/issues/216
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23481>
Vinson Lee [Wed, 7 Jun 2023 06:16:19 +0000 (23:16 -0700)]
frontends/va: Fix missing unlock
Fix defect reported by Coverity Scan.
Missing unlock (LOCK)
missing_unlock: Returning without unlocking drv->mutex.
Fixes:
af695149e96 ("frontends/va: pass in film_grain_target as new output")
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23488>
Martin Roukala (né Peres) [Fri, 9 Jun 2023 13:47:50 +0000 (16:47 +0300)]
zink/ci: remove spec@nv_shader_atomic_int64@* from the fail lists
Fixes:
56eb83115538 ("aco: run nir_lower_int64 after nir_opt_uniform_atomics")
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23553>
Mark Janes [Wed, 8 Feb 2023 23:47:20 +0000 (15:47 -0800)]
intel: use generated helpers for Wa_1508744258
iris_disable_rhwo_optimization can only apply on gfxver 12.0, and has
a version check to that affect. Add an assertion to warn us if the
workaround ever applies to another version.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21742>
David Heidelberg [Fri, 9 Jun 2023 17:07:18 +0000 (19:07 +0200)]
ci/android: remove the artifact file just as we unpack it
At this point is not needed anymore, remove it.
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23527>
David Heidelberg [Fri, 9 Jun 2023 17:11:24 +0000 (19:11 +0200)]
ci/lava: rename rest local MINIO_ variables to S3_
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23527>
David Heidelberg [Fri, 9 Jun 2023 17:59:20 +0000 (19:59 +0200)]
ci: remove BUILD_PATH, always use S3_ARTIFACT_NAME
Since we use S3 artifacts for LAVA always, keep only one codepath.
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23527>
David Heidelberg [Fri, 9 Jun 2023 17:09:34 +0000 (19:09 +0200)]
ci: replace MINIO_RESULTS_UPLOAD with S3_RESULTS_UPLOAD
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23527>
David Heidelberg [Thu, 8 Jun 2023 15:38:22 +0000 (17:38 +0200)]
ci: rename MINIO_HOST variable to S3_HOST
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23527>
David Heidelberg [Thu, 8 Jun 2023 15:34:04 +0000 (17:34 +0200)]
ci: rename MINIO to S3
We don't use MINIO for a long time. Rename variable accordingly.
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23527>
David Heidelberg [Thu, 8 Jun 2023 15:22:13 +0000 (17:22 +0200)]
ci: rename S3 artifacts according to scheme mesa-$arch-$config-$buildtype
Make the S3 (previously MINIO) artifacts clearly identifiable by glance.
Also now we fail before compilation, if the job doesn't define
the BUILDTYPE variable to prevent confusion.
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23527>
David Heidelberg [Thu, 8 Jun 2023 15:42:44 +0000 (17:42 +0200)]
ci: explicitely state BUILDTYPE
Fail when a job gets introduced without build type.
It should be explicitly stated what job uses.
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23527>
Mykhailo Skorokhodov [Tue, 23 May 2023 20:26:43 +0000 (23:26 +0300)]
nir: Rematerialize derefs after opt_dead_cf
Adding `nir_rematerialize_derefs_in_use_blocks_impl`
solves some cases when 'opt_dead_cf()' generates
a phi instruction for the first argument
of the `deref_store` intrinsic.
Signed-off-by: Mykhailo Skorokhodov <mykhailo.skorokhodov@globallogic.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Lionel Landwerlin's avatarLionel Landwerlin <lionel.g.landwerlin@intel.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6742
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22983>
Filip Gawin [Tue, 30 May 2023 16:03:50 +0000 (18:03 +0200)]
anv: allow intel_clflush_range only on igpu
fixes:
521c216efcc0d0292ceedb3451c5a0a1ef956083
closes: #9106
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23320>
Caio Oliveira [Thu, 8 Jun 2023 22:31:11 +0000 (15:31 -0700)]
intel/compiler: Remove unused functions and declarations
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23539>
Pavel Ondračka [Tue, 6 Jun 2023 13:40:19 +0000 (15:40 +0200)]
CODEOWNERS: add r300 driver
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23468>
Christian Gmeiner [Fri, 29 Nov 2019 15:20:43 +0000 (16:20 +0100)]
etnaviv: Add support for conditional rendering
The hardware doesn't support native conditional rendering, so it is
implemented by software.
Code borrowed from Freedreno and Panfrost.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23392>
Lucas Stach [Fri, 9 Jun 2023 10:26:14 +0000 (12:26 +0200)]
etnaviv: optimize transfer flushes
Context flushes that are triggered by a pending write to the resource
don't need to realize visibility of the resource changes outside of
the context. Skip implicit resource flushes in those cases.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23549>
Friedrich Vock [Thu, 8 Jun 2023 16:56:43 +0000 (18:56 +0200)]
aco: Lower divergent bool phis iteratively
Avoids stack overflows with really large programs.
No fossil-db changes.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8760
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8701
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23531>
Alyssa Rosenzweig [Sun, 28 May 2023 01:57:35 +0000 (21:57 -0400)]
agx: Fold addressing math into atomics
Like our loads and stores, our global atomics support indexing with a 64-bit
base plus a 32-bit element index, zero- or sign-extended and multiplied by the
word size. Unlike the loads and stores, they do not support additional shifting
(it's not too useful), so that needs an explicit lowering.
Switch to using AGX variants of the atomics, running our address pattern
matching on global atomics in order to delete some ALU.
This cleans up the image atomic lowering nicely, since we get to take full
advantage of the shift + zero-extend + add on the atomic... The shift comes from
multiplying by the bytes per pixel.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Acked-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23529>
Alyssa Rosenzweig [Sun, 28 May 2023 01:51:00 +0000 (21:51 -0400)]
agx: Refactor expressions in agx_nir_lower_address
So we can add more instructions without duplication.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Acked-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23529>
Alyssa Rosenzweig [Sun, 28 May 2023 01:57:04 +0000 (21:57 -0400)]
nir: Add AGX atomic intrinsics
This is a piece of cake with unified atomics :-) This will let us do our
addressing math tricks nice and easily.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Acked-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23529>
Alyssa Rosenzweig [Mon, 29 May 2023 19:45:21 +0000 (15:45 -0400)]
ir2: Drop lower_locals_to_regs call
This is for producing (indirect) array register access. Since we don't handle
that, this is a no-op. Drop the call, it's pointless and misleading.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23529>
Alyssa Rosenzweig [Mon, 29 May 2023 19:45:01 +0000 (15:45 -0400)]
lima: Drop lower_locals_to_regs call
This is for producing (indirect) array register access. Since we don't handle
that, this is a no-op. Drop the call, it's pointless and misleading.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Erico Nunes <nunes.erico@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23529>
Alyssa Rosenzweig [Mon, 29 May 2023 19:43:31 +0000 (15:43 -0400)]
pan/mdg: Drop lower_locals_to_regs call
This is for producing (indirect) array register access. Since we don't handle
that, this is a no-op. Drop the call, it's pointless and misleading.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Italo Nicola <italonicola@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23529>
Martin Roukala (né Peres) [Fri, 9 Jun 2023 09:22:45 +0000 (12:22 +0300)]
amd/ci: add another test to the vkcts-vega10 flake list
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23547>
Martin Roukala (né Peres) [Fri, 9 Jun 2023 07:28:16 +0000 (10:28 +0300)]
zink/ci: add more QBO-related fails on RADV
These seem to have been forgotten during the original filing, probably
because more than 25 failures were found, and so deqp-runner limited
itself to 25.
References: #9174
Fixes:
dad91dc7c47c ("zink: update some radv qbo fails")
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23547>
Rhys Perry [Wed, 7 Jun 2023 15:37:51 +0000 (16:37 +0100)]
aco: run nir_lower_int64 after nir_opt_uniform_atomics
nir_opt_uniform_atomics can create 64-bit ALU instructions which need to
be lowered.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23502>
Karol Herbst [Sat, 3 Jun 2023 13:07:18 +0000 (15:07 +0200)]
rusticl/icd: use new proc macros
This drops quite a lot of boilerplate code as this is now all generated
via our proc macros.
Signed-off-by: Karol Herbst <git@karolherbst.de>
Reviewed by Nora Allen <blackcatgames@protonmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23413>
Karol Herbst [Sat, 3 Jun 2023 16:29:55 +0000 (18:29 +0200)]
rusticl/icd: make release return nothing
I don't even know why it was like that...
Signed-off-by: Karol Herbst <git@karolherbst.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23413>
Karol Herbst [Sat, 3 Jun 2023 12:59:41 +0000 (14:59 +0200)]
rusticl: add proc macro module for generating API stubs
Most of the API stubs are very very trivial to generate as the sole
purpose of those are to deconstruct the returned `Result` object.
Sadly we can't use external crates yet, so "syn" and "qoute" can't be used
for this :'(
The code is kinda hacky, but we also don't expose this to other people, so
we can keep this as a big hack until we can use external crates.
I wish there was a better solution here.
Signed-off-by: Karol Herbst <git@karolherbst.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23413>
Lucas Stach [Thu, 8 Jun 2023 20:03:41 +0000 (22:03 +0200)]
etnaviv: rs: unconditionally flush color and depth cache before using RS
When the RS uses the pixel pipes it seems to destroy/invalidate any
content sitting in the color and depth caches from a previous draw.
Always flush the color and depth cache before using the RS to make
sure that any cache content written by the PE is properly flushed
to memory.
Fixes spec@!opengl 1.0@gl-1.0-drawpixels-depth-test and probably a
few others that are suffering from corruption of PE writes.
CC: mesa-stable
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23530>
Lucas Stach [Thu, 8 Jun 2023 19:58:19 +0000 (21:58 +0200)]
etnaviv: rs: flush TS cache before making configuration changes
Move the TS cache flush into the same conditional block where
the TS setup is changed. TS cache always needs to be flushed
before making any changes to the TS setup.
CC: mesa-stable
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23530>
Hyunjun Ko [Thu, 8 Jun 2023 07:48:54 +0000 (09:48 +0200)]
anv/video: move video requirements to outarray.
Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23519>
Martin Roukala (né Peres) [Thu, 1 Jun 2023 10:25:33 +0000 (13:25 +0300)]
ci/b2c: update to mesa-trigger:2023-03-08.1
This should speed up job submission by 3 to 30 seconds depending on
the farm the machine is hosted in, and how busy it is.
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23361>
Gert Wollny [Wed, 14 Dec 2022 09:12:49 +0000 (10:12 +0100)]
rusticl: compile r600 driver
To really use the driver it still needs to be enabled with
export RUSTICL_ENABLE=r600
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20252>
Gert Wollny [Wed, 14 Dec 2022 09:59:47 +0000 (10:59 +0100)]
r600/sfn: Handle load_global in 64 to vec2 lowering
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20252>
Gert Wollny [Wed, 14 Dec 2022 09:59:04 +0000 (10:59 +0100)]
r600/sfn: Handle store_global when lowering 64 bit ops to vec2
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20252>
Gert Wollny [Fri, 9 Dec 2022 16:02:37 +0000 (17:02 +0100)]
r600/sfn: Add experimental support for load/store_global
This is needed for rusticl, but the results may be unexpected.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20252>
Lionel Landwerlin [Thu, 17 Nov 2022 21:32:21 +0000 (23:32 +0200)]
intel/nir: switch ray query state tracking to local variables uint16_t
We should be able to use uint8_t but there appears to be a backend
bug.
Q2RTX shader compute shader improvement with ray queries :
Totals:
Instrs: 102221 -> 101499 (-0.71%); split: -0.82%, +0.12%
Cycles: 4451260 -> 4396025 (-1.24%)
Send messages: 3587 -> 3585 (-0.06%)
Spill count: 717 -> 658 (-8.23%)
Fill count: 1248 -> 1214 (-2.72%); split: -3.21%, +0.48%
Scratch Memory Size: 21504 -> 16384 (-23.81%)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19982>
Dave Airlie [Fri, 9 Jun 2023 02:55:11 +0000 (12:55 +1000)]
radv/video: fix hevc scaling list order.
pps takes priority.
Fixes:
da54b57888cf ("radv/video: fix hevc scaling lists.")
Reviewed-by: Lynne <dev@lynne.ee>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23537>
Dave Airlie [Thu, 8 Jun 2023 03:07:09 +0000 (13:07 +1000)]
radv/video: report bad profile operation if h264 profile isn't supported.
Reviewed-by: Lynne <dev@lynne.ee>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23537>
Qiang Yu [Mon, 5 Jun 2023 09:31:23 +0000 (17:31 +0800)]
radeonsi: enable aco support for gs copy shader
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23433>
Qiang Yu [Thu, 1 Jun 2023 06:45:18 +0000 (14:45 +0800)]
radeonsi: enable aco for standalone gs
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23433>
Qiang Yu [Fri, 2 Jun 2023 08:25:47 +0000 (16:25 +0800)]
ac/llvm,radeonsi: lower nir_load_ring_gsvs_amd in abi
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23433>
Qiang Yu [Thu, 1 Jun 2023 07:12:50 +0000 (15:12 +0800)]
radeonsi: add scratch_offset arg for aco gs
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23433>
Qiang Yu [Tue, 23 May 2023 07:45:20 +0000 (15:45 +0800)]
radeonsi: enable aco support for standalone tes
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23433>
Qiang Yu [Tue, 23 May 2023 09:40:02 +0000 (17:40 +0800)]
radeonsi: update lds size for tes
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23433>
Qiang Yu [Tue, 23 May 2023 08:25:58 +0000 (16:25 +0800)]
radeonsi: init tes aco shader info fields
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23433>
Qiang Yu [Tue, 23 May 2023 07:44:01 +0000 (15:44 +0800)]
radeonsi: add scratch_offset arg for aco tes
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23433>
Qiang Yu [Tue, 23 May 2023 07:10:10 +0000 (15:10 +0800)]
radeonsi: enable aco support for mono standalone tcs
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23433>
Qiang Yu [Tue, 23 May 2023 06:58:37 +0000 (14:58 +0800)]
ac/llvm,radeonsi: lower nir_load_ring_tess_offchip_amd in abi
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23433>
Qiang Yu [Tue, 23 May 2023 05:50:22 +0000 (13:50 +0800)]
radeonsi: lower nir_load_tess_rel_patch_id_amd in abi for aco
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23433>
Qiang Yu [Tue, 23 May 2023 03:10:18 +0000 (11:10 +0800)]
radeonsi: add scratch_offset arg for aco tcs
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23433>
Qiang Yu [Wed, 31 May 2023 08:33:34 +0000 (16:33 +0800)]
ac/nir,radv: add 1 dword to ES/GS item size
This reduce LDS bank conflict and align with radeonsi,
so we don't assume LDS access 16 byte aligned for both
driver.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23314>
Qiang Yu [Tue, 30 May 2023 07:47:20 +0000 (15:47 +0800)]
ac/nir,radv: add 1 dword to LS/HS vertex stride
This reduce LDS bank conflict and align with radeonsi,
so we don't assume LDS access 16 byte aligned for both
driver.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23314>
Christian Gmeiner [Wed, 7 Jun 2023 07:48:26 +0000 (09:48 +0200)]
ci/etnaviv: add asan run
Has more a PoC state that it works and needs some time get stable.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23493>
Christian Gmeiner [Wed, 7 Jun 2023 07:42:24 +0000 (09:42 +0200)]
ci: add debian-arm32-asan
I want to have the possibility to use asan in for etnaviv ci. As lot
devices in the my CI farm are arm32 based lets do some prep work.
I had to skip the mesa:util suite as there are some asan problems
on 32bit platform with the hash_map. Once they got sorted out we can
enable the suite again.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23493>
Caio Oliveira [Tue, 6 Jun 2023 06:31:17 +0000 (23:31 -0700)]
intel/compiler: Refactor dump_instruction(s)
Delete unnecessary virtual functions, we need just two. Refactor code
so the 'default behavior' logic (stderr and/or creating file) is not
duplicated.
Rename the virtuals so overrides don't hide the common convenience
functions. Finally, provide a variant of dump_instructions() with
a `FILE *` parameter.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23457>
Caio Oliveira [Wed, 7 Jun 2023 18:08:36 +0000 (11:08 -0700)]
spirv: Use vtn_translate_scope for OpReadClockKHR
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23508>
Caio Oliveira [Wed, 7 Jun 2023 18:01:09 +0000 (11:01 -0700)]
spirv: Refactor and rename scope translation helper
This will make the change from nir_scope to mesa_scope
later less noisy.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23508>
Juston Li [Wed, 7 Jun 2023 17:59:10 +0000 (10:59 -0700)]
docs: venus: update extension support
Advertise support for the follow extensions:
- VK_EXT_non_seamless_cube_map
- VK_EXT_dynamic_rendering_unused_attachments
- VK_KHR_shader_clock
- VK_EXT_border_color_swizzle
- VK_EXT_fragment_shader_interlock
- VK_EXT_shader_subgroup_ballot
- VK_EXT_color_write_enable
Signed-off-by: Juston Li <justonli@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23510>
Juston Li [Wed, 7 Jun 2023 23:05:18 +0000 (16:05 -0700)]
venus: enable VK_EXT_color_write_enable
Signed-off-by: Juston Li <justonli@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23510>
Juston Li [Wed, 7 Jun 2023 22:46:20 +0000 (15:46 -0700)]
venus: enable VK_EXT_shader_subgroup_ballot
Signed-off-by: Juston Li <justonli@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23510>
Juston Li [Wed, 7 Jun 2023 22:33:33 +0000 (15:33 -0700)]
venus: enable VK_EXT_fragment_shader_interlock
Signed-off-by: Juston Li <justonli@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23510>
Juston Li [Wed, 7 Jun 2023 22:22:24 +0000 (15:22 -0700)]
venus: enable VK_EXT_border_color_swizzle
Signed-off-by: Juston Li <justonli@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23510>
Juston Li [Wed, 7 Jun 2023 21:49:39 +0000 (14:49 -0700)]
venus: enable VK_KHR_shader_clock
Signed-off-by: Juston Li <justonli@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23510>
Juston Li [Wed, 7 Jun 2023 21:32:12 +0000 (14:32 -0700)]
venus: enable VK_EXT_dynamic_rendering_unused_attachments
Signed-off-by: Juston Li <justonli@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23510>
Juston Li [Wed, 7 Jun 2023 17:56:55 +0000 (10:56 -0700)]
venus: enable VK_EXT_non_seamless_cube_map
Signed-off-by: Juston Li <justonli@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23510>
Juston Li [Wed, 7 Jun 2023 17:56:17 +0000 (10:56 -0700)]
venus: sync protocol for multiple extensions for zink
- VK_EXT_non_seamless_cube_map
- VK_EXT_dynamic_rendering_unused_attachments
- VK_KHR_shader_clock
- VK_EXT_border_color_swizzle
- VK_EXT_fragment_shader_interlock
- VK_EXT_shader_subgroup_ballot
- VK_EXT_color_write_enable
Signed-off-by: Juston Li <justonli@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23510>
Juston Li [Wed, 7 Jun 2023 20:54:25 +0000 (13:54 -0700)]
venus: sync to latest protocol header from v1.3.252
Signed-off-by: Juston Li <justonli@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23510>
Rhys Perry [Wed, 7 Jun 2023 11:13:22 +0000 (12:13 +0100)]
util/tests: add gc_alloc_size alignment tests
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23501>
Rhys Perry [Wed, 7 Jun 2023 11:04:49 +0000 (12:04 +0100)]
util: fix gc_alloc_size alignment
This was only aligning the gc_block_header. The returned pointer could be
incorrectly aligned.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Fixes:
69a9b343e8d ("util: add freelist allocator with mark/sweep")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9166
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23501>
Karol Herbst [Wed, 7 Jun 2023 21:14:18 +0000 (23:14 +0200)]
clc: relax spec constant validation
Multiple values can have multiple spec constants assigned and vtn handles
this just fine. So just drop that assert as we need it to run SyCL
kernels.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9037
Fixes:
a699844ffba ("microsoft/clc: Parse SPIR-V specialization consts into metadata")
Signed-off-by: Karol Herbst <git@karolherbst.de>
Acked-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23512>
Karol Herbst [Thu, 8 Jun 2023 12:42:00 +0000 (14:42 +0200)]
rusticl: fix clippy errors on image_slice_pitch change to usize
That field got changed from `unsigned` to `uintptr_t` on the C side, so
now we can drop a bit of code dealing with conversions to `usize`.
Fixes:
68735f4e860 ("treewide: use uint64_t / (u)intptr_t in image address calculations")
Signed-off-by: Karol Herbst <git@karolherbst.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23522>
Karol Herbst [Thu, 8 Jun 2023 11:40:03 +0000 (13:40 +0200)]
ci: add and use clippy for rusticl
Acked-by: Daniel Stone <daniels@collabora.com>
Signed-off-by: Karol Herbst <git@karolherbst.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23522>
Eric Engestrom [Thu, 8 Jun 2023 14:18:58 +0000 (16:18 +0200)]
docs: update calendar for 23.1.2
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23525>
Eric Engestrom [Thu, 8 Jun 2023 14:17:27 +0000 (16:17 +0200)]
docs/relnotes: add sha256sum for 23.1.2
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23525>
Eric Engestrom [Thu, 8 Jun 2023 10:57:01 +0000 (12:57 +0200)]
docs: add release notes for 23.1.2
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23525>
Marek Olšák [Wed, 31 May 2023 15:09:03 +0000 (11:09 -0400)]
mesa: fix glBitmap in display lists when width <= 0 || height <= 0
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8904
Fixes:
bb860f63 - mesa: create glBitmap textures while creating display lists
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23335>
Timur Kristóf [Mon, 17 Apr 2023 23:56:51 +0000 (01:56 +0200)]
radv: Clarify gang submit terminology.
This is done to better match the terminology used by the kernel
and also because the follower may not always be ACE in the future.
- Gang: a group of command streams that are submitted to
more than one HW queue at the same time.
- Leader: the main command stream of a command buffer that works
on the queue type of the command buffer.
- Follower: a command stream on a different HW queue that doesn't
have a separate command buffer state and is submitted together
with its leader.
During submission, a follower must always precede the leader in
the submitted command streams array.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23462>
Mike Blumenkrantz [Thu, 8 Jun 2023 13:27:13 +0000 (09:27 -0400)]
zink: update some radv qbo fails
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23511>