Jonathan Marek [Sun, 20 Sep 2020 00:24:07 +0000 (20:24 -0400)]
turnip: enable UBWC for NV12
Use the special format for accessing the Y plane of UBWC-enabled NV12, and
enable UBWC for NV12.
Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6792>
Connor Abbott [Tue, 19 Oct 2021 15:52:22 +0000 (17:52 +0200)]
tu: Emit GRAS_LRZ_MRT_BUF_INFO_0
The blob seems to always emit this, even though it seems to only be used
when rendering to the special planar formats (which we only do in the
blit path). Based on the LRZ prefix it might used in other cases though.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6792>
Connor Abbott [Tue, 19 Oct 2021 15:36:50 +0000 (17:36 +0200)]
freedreno/a6xx: Rename GRAS_2D_BLIT_INFO
It's not actually used for 2d blits, it's supposed to mirror
RB_MRT_BUF_INFO[0].COLOR_FORMAT and seems to be used only when rendering
to the special planar formats, although the blob name seems to suggest
it's connected to LRZ.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6792>
Jonathan Marek [Sat, 19 Sep 2020 19:56:40 +0000 (15:56 -0400)]
freedreno/layout: Fix the UBWC block size for the Y plane
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6792>
Matt Turner [Wed, 1 Sep 2021 23:03:39 +0000 (16:03 -0700)]
util/format: Add PIPE_FORMAT_Y8_UNORM as an "other" layout format
freedreno has a different layout for tiled Y8 planes from normal R8
textures, so we need to be able to talk about them separately.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6792>
Iago Toral Quiroga [Fri, 22 Oct 2021 09:29:44 +0000 (11:29 +0200)]
v3dv: refactor TFU jobs
We had an implementation for image copies and another for buffer to
image copies. Refactor the code so we have a single implementation
of this.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13481>
Tapani Pälli [Thu, 21 Oct 2021 08:02:34 +0000 (11:02 +0300)]
iris: clear bos_written when resetting a batch
This fixes dEQP-EGL.functional.sharing.gles2.multithread.* tests that
are hitting: "iris: Failed to submit batchbuffer: Invalid argument"
error.
v2: clear on reset rather than clear 'on-the-fly' (Kenneth Graunke)
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5537
Fixes:
e4c3d3efc7a ("iris: Defer construction of the validation (exec_object2) list")
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13464>
Samuel Pitoiset [Fri, 15 Oct 2021 12:27:38 +0000 (14:27 +0200)]
radv: re-emit prolog inputs when the nontrivial divisors state changed
If the application first uses nontrivial divisors, the driver emits
the vertex shader VA to the upload BO rather than directly via the
user SGPRs locations. But, if the vertex input dynamic state changes,
the driver might select a different VS prolog that no longer needs
nontrivial divisors.
In this case, the driver needs to re-emit the prolog inputs because
otherwise the VS prolog will jump to the PC that is emitted via the
user SGPR locations, and the previous one was somewhere in the
upload BO...
This fixes a GPU hang with Bioshock and Zink.
Fixes:
d9c7a175424 ("radv: enable VK_EXT_vertex_input_dynamic_state")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13377>
Samuel Pitoiset [Fri, 8 Oct 2021 14:14:15 +0000 (16:14 +0200)]
radv,aco: decouple shader_info/options from radv_shader_args
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/13287>
Kenneth Graunke [Thu, 21 Oct 2021 23:38:56 +0000 (16:38 -0700)]
crocus: Replace devinfo->ver[x10] checks with GFX_VER[x10]
These files are compiled per-generation, so we can just use the #define
instead of the actual field dereference to allow the compiler to dead
code eliminate whole paths.
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13475>
Iago Toral Quiroga [Thu, 21 Oct 2021 09:35:28 +0000 (11:35 +0200)]
broadcom/compiler: fix assert that current instruction must be in current block
This was not considering the possibility that the driver has called
nir_before_block() or nir_after_block() to update the cursor, in which
case the cursor link points to the instruction list header and not
to an actual instruction.
Fixes incorrect debug-assert crash in:
dEQP-VK.graphicsfuzz.cov-increment-vector-component-with-matrix-copy
Fixes:
265515fa62 ("broadcom/compiler: check instruction belongs to current block")
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13467>
Kenneth Graunke [Thu, 7 Oct 2021 19:38:03 +0000 (12:38 -0700)]
intel: Drop Tigerlake revision 0 workarounds
Tigerlake revision 0 is an early stepping that should not be used in
production anywhere, so this code was only used for hardware bringup.
We can drop the unnecessary workarounds. This also keeps them from
triggering on early steppings of other Gfx12 parts.
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13266>
Marek Olšák [Tue, 19 Oct 2021 02:25:25 +0000 (22:25 -0400)]
mesa: discard draws with count=0 to decrease overhead
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13445>
Nanley Chery [Tue, 20 Jul 2021 18:46:51 +0000 (11:46 -0700)]
iris: Refactor the assignment to possible_usages
* Make the outer if-ladder dependent on the has_* variables.
* Make the possible_usages assignments happen at the same nesting level.
* Move the combined HIZ/MCS assert closer to relevant if-else blocks.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11960>
Nanley Chery [Mon, 19 Jul 2021 17:16:56 +0000 (10:16 -0700)]
iris: Set DISABLE_AUX_BIT for AUX_USAGE_NONE modifiers
This avoids unnecessary surface padding on TGL+.
Also, drop some of the logic to handle modifiers in
iris_resource_configure_aux as the bit now causes it to be handled
implicitly.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11960>
Nanley Chery [Tue, 7 Sep 2021 15:08:32 +0000 (08:08 -0700)]
iris: Disable the MC_CCS modifier with norbc
We generally try to disable CCS whenever the norbc debug flag is set.
Also, this enables simplifying iris_resource_configure_aux later on.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11960>
Nanley Chery [Wed, 25 Aug 2021 17:34:20 +0000 (10:34 -0700)]
iris: Convert some mod_info checks to asserts
Depth and multisample images aren't supported with modifiers. So,
instead of checking for the absence of modifiers before adding HiZ or
MCS, simply assert that they aren't present at a more convenient time.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11960>
Rob Clark [Sun, 10 Oct 2021 16:33:46 +0000 (09:33 -0700)]
freedreno/ir3: Fix validation of subgroup macros
They don't need to enforce that src types are all the same.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13300>
Rob Clark [Sun, 5 Sep 2021 19:35:06 +0000 (12:35 -0700)]
freedreno/ir3: Get req_local_mem from pipe_compute_state
mesa/st initializes req_local_mem to shader->info.shared_size. But for
clover the shared size doesn't come from the shader.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13300>
Rob Clark [Sun, 29 Aug 2021 15:39:39 +0000 (08:39 -0700)]
freedreno/ir3: Add ihadd/uhadd
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13300>
Rob Clark [Sat, 16 Oct 2021 17:30:44 +0000 (10:30 -0700)]
freedreno/ir3: Add wide load/store lowering
Lower load/store for vectors wider than 4.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13300>
Rob Clark [Tue, 24 Aug 2021 00:18:55 +0000 (17:18 -0700)]
freedreno/ir3: Fix reg size validation
8b types also live in half-regs
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13300>
Rob Clark [Tue, 24 Aug 2021 00:18:53 +0000 (17:18 -0700)]
freedreno/ir3: Fix load/store_global_ir3 type
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13300>
Rob Clark [Tue, 24 Aug 2021 00:18:50 +0000 (17:18 -0700)]
freedreno/ir3: 8bit fixes
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13300>
Rob Clark [Thu, 9 Sep 2021 17:38:48 +0000 (10:38 -0700)]
freedreno/ir3: 16b bools
A create_immed_for_instr() type thing could be useful to make the immed
type match other src(s) for instruction..
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13300>
Rob Clark [Sat, 9 Oct 2021 18:16:29 +0000 (11:16 -0700)]
freedreno/ir3: Deal with zero-source instructions
Needed by the next patch, which starts treating bools as 16bit exposing
a bug that was previously accidentially hidden for instructions like
ELECT_MACRO. Needed for next patch.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13300>
Rob Clark [Sun, 22 Aug 2021 17:31:44 +0000 (10:31 -0700)]
freedreno: Fix set_global_binding
The gallium interface is a bit awkward, but pointer sizes are actually
64b despite what the API suggests.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13300>
Rob Clark [Sun, 22 Aug 2021 15:27:54 +0000 (08:27 -0700)]
freedreno/ir3: Move lower_idiv_options
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13300>
Rob Clark [Sun, 8 Aug 2021 20:31:54 +0000 (13:31 -0700)]
freedreno/ir3: Add support for load_kernel_input
Used for function arguments to compute kernels (ie. OpenCL).
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13300>
Rob Clark [Thu, 8 Mar 2018 19:22:45 +0000 (14:22 -0500)]
freedreno/ir3: implement load_work_dim intrinsic
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13300>
Rob Clark [Sun, 8 Aug 2021 19:45:58 +0000 (12:45 -0700)]
freedreno/ir3: vec8+vec16 support
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13300>
Rob Clark [Tue, 1 May 2018 20:03:58 +0000 (16:03 -0400)]
freedreno: implement set_compute_state()
This interface should really go away, but for now just implement it
to directly update constant state (ie. what clover *should* be doing
instead)
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13300>
Rob Clark [Sun, 8 Aug 2021 19:33:24 +0000 (12:33 -0700)]
freedreno/ir3: Handle MESA_SHADER_KERNEL
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13300>
Rob Clark [Sun, 8 Aug 2021 19:14:55 +0000 (12:14 -0700)]
freedreno: Skip built-in shaders for clover
Avoids assert:
../src/compiler/glsl_types.cpp:1134: static const glsl_type *glsl_type::get_array_instance(const glsl_type *, unsigned int, unsigned int): Assertion `glsl_type_users > 0' failed.
caused by us trying to compile built-in shaders (ie. clear, gmem<->mem,
etc) before clover has initialized glsl_types. But we don't need these
shaders for compute-only contexts.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13300>
Danylo Piliaiev [Mon, 1 Feb 2021 10:37:49 +0000 (12:37 +0200)]
isaspec: inherite parent's bitset gpu gen requirements
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13300>
Rob Clark [Thu, 21 Oct 2021 18:58:08 +0000 (11:58 -0700)]
isaspec: Fix gpu_id for default_options
We forgot to set this. It starts to matter in the next patch, otherwise
pre-pass to detect branch targets (needed for backwards jumps/branches)
will not work.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13300>
Danylo Piliaiev [Fri, 8 Oct 2021 15:36:43 +0000 (18:36 +0300)]
freedreno/ir3: use stg.a/ldg.a only if offset is reg or doesn't fit
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13300>
Rob Clark [Sun, 22 Aug 2021 16:53:56 +0000 (09:53 -0700)]
freedreno/ir3: Add load/store_global lowering
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13300>
Danylo Piliaiev [Fri, 8 Oct 2021 11:40:52 +0000 (14:40 +0300)]
freedreno/ir3: set proper dst size for {store,load}_{global,shared}_ir3
We want to pass 64b variables.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13300>
Danylo Piliaiev [Fri, 8 Oct 2021 15:30:11 +0000 (18:30 +0300)]
freedreno/ir3: disallow immediate addr/offset for ldg/ldg.a
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13300>
Rob Clark [Sun, 3 Oct 2021 16:36:07 +0000 (09:36 -0700)]
freedreno/ir3: Lower 64b phis
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13300>
Danylo Piliaiev [Mon, 11 Oct 2021 10:32:29 +0000 (13:32 +0300)]
ir3/freedreno: add 64b undef lowering
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13300>
Rob Clark [Sun, 22 Aug 2021 16:21:03 +0000 (09:21 -0700)]
freedreno/ir3: 64b intrinsic lowering
Both for OpenCL and VK_KHR_buffer_device_address
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13300>
Danylo Piliaiev [Tue, 26 Jan 2021 10:11:44 +0000 (12:11 +0200)]
nir/lower_amul: do not lower 64bit amul to imul24
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13300>
Sagar Ghuge [Wed, 20 Oct 2021 17:03:07 +0000 (10:03 -0700)]
intel/compiler: Set correct cache policy for A64 byte scattered read
This doesn't impact any performance since the previous typo value
matches the current cache control value.
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13458>
Marek Olšák [Wed, 22 Sep 2021 07:28:33 +0000 (03:28 -0400)]
amd/addrlib: cosmetic addrlib update
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13459>
Marek Olšák [Wed, 22 Sep 2021 07:03:47 +0000 (03:03 -0400)]
amd/addrlib: change how the license is formatted to match internal tree
It's the same MIT license.
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13459>
Sajeesh Sidharthan [Wed, 20 Oct 2021 16:00:38 +0000 (21:30 +0530)]
frontends/va/av1: handle multiple slice params
Multiple slice params in a single vaRenderPicture function call
is not handled. This patch will fix overwriting slice params
when multiple slice params received in one buffer.
Change-Id: I880df5bc35dfbd64382a178074482548882ee4af
Signed-off-by: Sajeesh Sidharthan <sajeesh.sidharthan@amd.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13463>
Samuel Pitoiset [Tue, 19 Oct 2021 07:16:20 +0000 (09:16 +0200)]
aco: fix loading 64-bit inputs with fragment shaders
Fixes a bunch of 64-bit IO tests with piglit and Zink.
Cc: 21.3 mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13454>
Iago Toral Quiroga [Thu, 21 Oct 2021 10:06:16 +0000 (12:06 +0200)]
broadcom/compiler: disallow tsy barrier in thrsw delay slots
A TSY barrier becomes effective at the point of the next thread switch,
so if we have one coming after a previous thread switch we need to
be careful not to emit it in its delay slots, or we would be effectively
moving the barrier earlier than intended.
Fixes simulator assert crash in:
dEQP-VK.graphicsfuzz.two-for-loops-with-barrier-function
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13468>
Emma Anholt [Tue, 5 Oct 2021 22:24:31 +0000 (15:24 -0700)]
turnip: Make copy_format() and tu6_plane_format() return pipe_format
[ Connor: Keep the argument to copy_format() a VkFormat, fold in
plane_format() conversion. ]
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13379>
Emma Anholt [Wed, 13 Oct 2021 23:39:05 +0000 (16:39 -0700)]
util: Move freedreno's snorm-to-unorm to util/, adding remaining cases.
I want it in turnip too.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13379>
Emma Anholt [Wed, 6 Oct 2021 04:06:13 +0000 (21:06 -0700)]
turnip: Switch format_to_ifmt() to take a pipe_format.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13379>
Emma Anholt [Wed, 6 Oct 2021 03:55:21 +0000 (20:55 -0700)]
turnip: Switch tu6_format_color() to a pipe_format.
To handle Y8 specially, we want a PIPE_FORMAT instead of VK_FORMAT. There
are some redundant vk-to-pipe conversions, but they're going to go away
shortly.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13379>
Emma Anholt [Wed, 6 Oct 2021 03:46:54 +0000 (20:46 -0700)]
turnip: Switch tu6_format_texture() to a pipe_format.
To handle Y8 specially, we want a PIPE_FORMAT instead of VK_FORMAT.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13379>
Connor Abbott [Fri, 15 Oct 2021 09:38:43 +0000 (11:38 +0200)]
tu/clear_blit: Move around copy_format()/tu6_plane_format()
We want these functions to take a Vulkan format and return a
pipe_format, but tu6_plane_format() was getting redundantly called on
the result of copy_format() and copy_format() was also getting called
twice with image to image copies. Pull these functions further up the
call chain so that they're only called once.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13379>
Iago Toral Quiroga [Tue, 7 Sep 2021 06:06:27 +0000 (08:06 +0200)]
v3dv: enable Vulkan 1.1
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13465>
Emma Anholt [Thu, 14 Oct 2021 21:15:18 +0000 (14:15 -0700)]
ci/piglit-runner: Fix funny indentation of the piglit-runner command.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13372>
Emma Anholt [Thu, 14 Oct 2021 21:05:20 +0000 (14:05 -0700)]
ci/deqp-runner: Move more non-suite logic under the non-suite 'if'.
Changing these variables won't do anything for you otherwise.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>.
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13372>
Emma Anholt [Thu, 14 Oct 2021 21:02:40 +0000 (14:02 -0700)]
ci/deqp-runner: Don't start GPU hang detection for making junit results.
It's just CPU-side post-processing, not running tests.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13372>
Emma Anholt [Thu, 14 Oct 2021 20:58:32 +0000 (13:58 -0700)]
ci/deqp-runner: Drop LD_LIBRARY_PATH=/usr/local for libkms workaround.
deqp hasn't been linking against that in quite some time.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13372>
Emma Anholt [Mon, 11 Oct 2021 23:07:23 +0000 (16:07 -0700)]
ci/deqp-runner: Move remaining asan runs to --env LD_PRELOAD=
This should improve their reliability and speed a little by getting
deqp-runner off of asan. This removes the last jobs setting
TEST_LD_PRELOAD, so remove passing that variable around from other
scripts.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13372>
Emma Anholt [Tue, 12 Oct 2021 17:37:43 +0000 (10:37 -0700)]
ci/deqp-runner: Drop silly CSV env vars.
One was unused, the other was used once.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13372>
Emma Anholt [Mon, 11 Oct 2021 23:27:25 +0000 (16:27 -0700)]
ci/deqp-runner: Use new deqp-runner's built-in renderer/version checks.
This is prettier in the log files, less shell code, and for non-suite mode
adds checking that the driver has the right git sha1. Also, no need for
suites to have a DEQP_VER to say which dEQP we should run for the renderer
check.
The version checks can help us make sure that GL version exposed doesn't
accidentally regress, and the ".*git" checks that we're using a git
version of Mesa rather than something that snuck in through distro
packages.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13372>
Emma Anholt [Mon, 11 Oct 2021 23:03:47 +0000 (16:03 -0700)]
ci/deqp-runner: Simplify the --jobs argument setup.
We can use the general "how parallel should we go on this runner?" env var
and save a bunch of massaging env var names. Fixes how PIGLIT_PARALLEL
looked like it was useful but actually wasn't passed through to HW
runners.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13372>
Emma Anholt [Mon, 11 Oct 2021 23:02:50 +0000 (16:02 -0700)]
ci/deqp-runner: Drop SUMMARY_LIMIT env var.
Nobody uses it any more, and you could just put it in DEQP_OPTIONS.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13372>
Vinson Lee [Mon, 18 Oct 2021 02:55:54 +0000 (19:55 -0700)]
radv: Fix memory leak on error path.
Fix defect reported by Coverity Scan.
Resource leak (RESOURCE_LEAK)
leaked_storage: Variable prolog going out of scope leaks the storage it points to
Fixes:
80841196b2d ("radv: implement dynamic vertex input state using vertex shader prologs")
Suggested-by: Rhys Perry <pendingchaos02@gmail.com>
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13402>
Samuel Pitoiset [Wed, 20 Oct 2021 07:09:04 +0000 (09:09 +0200)]
ac/rgp: remove useless code related to GFX6-7
RGP only supports GFX8+. RADV doesn't allow SQTT on < GFX8 and
RadeonSI only allows it on GFX9+.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13451>
Samuel Pitoiset [Thu, 14 Oct 2021 14:21:29 +0000 (16:21 +0200)]
radv: add an assertion to prevent GPU hangs when VRS isn't supported
Just hit this case with a buggy CTS test.
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/13361>
Caio Marcelo de Oliveira Filho [Thu, 21 Oct 2021 03:53:24 +0000 (20:53 -0700)]
util: Move test sources to tests/ directory
Acked-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13425>
Caio Marcelo de Oliveira Filho [Tue, 19 Oct 2021 16:51:59 +0000 (09:51 -0700)]
util: Convert sparse array multithread test to use gtest
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Acked-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13425>
Caio Marcelo de Oliveira Filho [Tue, 19 Oct 2021 16:34:45 +0000 (09:34 -0700)]
util: Convert roundeven_test to use gtest
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Acked-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13425>
Caio Marcelo de Oliveira Filho [Tue, 19 Oct 2021 16:19:27 +0000 (09:19 -0700)]
util: Convert rb_tree_test to gtest
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Acked-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13425>
Caio Marcelo de Oliveira Filho [Tue, 19 Oct 2021 16:11:21 +0000 (09:11 -0700)]
util: Convert mesa-sha1_test to use gtest
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Acked-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13425>
Caio Marcelo de Oliveira Filho [Tue, 19 Oct 2021 15:47:51 +0000 (08:47 -0700)]
util: Convert blob_test to use gtest
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Acked-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13425>
Caio Marcelo de Oliveira Filho [Mon, 18 Oct 2021 20:09:10 +0000 (13:09 -0700)]
util: Convert u_atomic_test to use gtest
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Acked-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13425>
Caio Marcelo de Oliveira Filho [Mon, 18 Oct 2021 21:00:14 +0000 (14:00 -0700)]
util: Move tests in single file directories to tests/
Acked-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Acked-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13425>
Caio Marcelo de Oliveira Filho [Mon, 18 Oct 2021 20:16:29 +0000 (13:16 -0700)]
util: Consolidate existing gtests in a single binary
Acked-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Acked-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13425>
Eric Engestrom [Wed, 20 Oct 2021 19:51:28 +0000 (20:51 +0100)]
docs: update calendar for 21.3.0-rc2
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13460>
Caio Marcelo de Oliveira Filho [Mon, 18 Oct 2021 15:50:15 +0000 (08:50 -0700)]
nir: Use a single binary for gtests
Less artifacts and less time running linker. The
load_store_vectorizer test is still split since we need to update
gitlab-ci scripts to skip certain tests in certain builds. Added a
TODO with the concrete suggestion.
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13414>
Caio Marcelo de Oliveira Filho [Mon, 18 Oct 2021 15:56:09 +0000 (08:56 -0700)]
spirv: Use a single binary for gtests
Less artifacts and less time running linker. Also set the guideline
for future tests to not create new binaries for extra gtests.
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13415>
Jason Ekstrand [Tue, 25 May 2021 15:30:49 +0000 (10:30 -0500)]
anv: Implement VK_EXT_global_priority_query
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11250>
Connor Abbott [Mon, 11 Oct 2021 14:43:10 +0000 (16:43 +0200)]
ir3: Use stp/ldp base offset for {load,store}_scratch
When we have a series of loads/stores we were creating a constant for
each one, which isn't great. Furthermore, because the nir pass puts the
offset constant at the top of the shader, it resulted in extra register
pressure and spilling when that happened inside a loop. Fix this by
using the base/offset form of stp and ldp.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13307>
Connor Abbott [Mon, 11 Oct 2021 14:29:48 +0000 (16:29 +0200)]
ir3/cse: Support mov instructions
This doesn't affect shader-db at all, but it will help clean up the
mov's emitted in the next commit when there are multiple ldp/stp.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13307>
Rhys Perry [Tue, 19 Oct 2021 13:27:50 +0000 (14:27 +0100)]
aco: simplify emit_stream_output()
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/13438>
Alejandro Piñeiro [Mon, 18 Oct 2021 12:58:38 +0000 (14:58 +0200)]
broadcom/compiler: remove unused macro and function definition
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13444>
Rhys Perry [Tue, 19 Oct 2021 09:43:03 +0000 (10:43 +0100)]
aco: disable mul(cndmask(0, 1, b), a) optimization sometimes
This optimization doesn't work for SDWA or DPP multiplications and we
can't do it if denormal flushing is required because v_cndmask_b32 doesn't
do that and we can't do it if we can't assume operands are finite because
0.0 * inf is NaN, not 0.
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/13434>
Mike Blumenkrantz [Tue, 19 Oct 2021 17:57:39 +0000 (13:57 -0400)]
zink: rescue surfaces/bufferviews for cache hits during deletion
this is a wild race condition, but it's possible for these to get their
final unref, enter their destructor, and then get a cache hit while waiting
on the lock to remove themselves from the cache
in such a scenario, a second, normal check of the refcount will suffice,
as the increment is atomic, and the value will otherwise be zero
fixes crashes in basemark
cc: mesa-stable
Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13442>
Emma Anholt [Mon, 18 Oct 2021 18:42:45 +0000 (11:42 -0700)]
freedreno/afuc: Disable the disassembler on 32-bit builds.
There's an mmap(2 << 32), which armhf can't handle.
Fixes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5514
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13421>
Mykhailo Skorokhodov [Tue, 28 Sep 2021 07:33:26 +0000 (10:33 +0300)]
Revert "iris: add tile cache flush to iris_copy_region"
This reverts commit
27534a49cf3872646cb8ef9371707d74a81b1986
Signed-off-by: Mykhailo Skorokhodov <mykhailo.skorokhodov@globallogic.com>
Reviewed-by: Felix DeGrood <felix.j.degrood@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12979>
Mykhailo Skorokhodov [Wed, 22 Sep 2021 13:03:23 +0000 (16:03 +0300)]
iris: Add missed tile flush flag
Without adding `PIPE_CONTROL_TILE_CACHE_FLUSH` into `iris_emit_pipe_control`
gen12+ (UHD 750 in my case) has issues with textures.
Related-to: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5029
Fixes:
c85ea824('iris: reduce redundant tile cache flushes')
Signed-off-by: Mykhailo Skorokhodov <mykhailo.skorokhodov@globallogic.com>
Reviewed-by: Felix DeGrood <felix.j.degrood@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12979>
Mike Blumenkrantz [Wed, 13 Oct 2021 13:56:06 +0000 (09:56 -0400)]
zink: stop leaking descriptor pool references
this never really mattered before, but now these need to actually
get freed
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13430>
Mike Blumenkrantz [Tue, 19 Oct 2021 14:19:48 +0000 (10:19 -0400)]
zink: don't clear descriptor pool cache on context destroy
the final ref on pools is owned by their program struct(s), and liveshader
cache can trigger shader deletion after a context is destroyed, so
attempting to prune pools here may end up deleting them before the
last ref is actually removed
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13430>
Mike Blumenkrantz [Thu, 14 Oct 2021 14:08:49 +0000 (10:08 -0400)]
zink: always invalidate descriptor sets on pool free
this used to be bad and only for debugging, but now it's good and useful
for saving memory
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13430>
Mike Blumenkrantz [Wed, 13 Oct 2021 14:15:37 +0000 (10:15 -0400)]
zink: unref descriptor pools in hybrid mode when they explode
these will no longer be used, so unref them so they can be deleted to
free up some vram in the driver
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13430>
Mike Blumenkrantz [Wed, 13 Oct 2021 14:15:07 +0000 (10:15 -0400)]
zink: remove descriptor pools from hash table on deletion
ensure these aren't just sitting around stale
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13430>
Mike Blumenkrantz [Wed, 13 Oct 2021 14:03:34 +0000 (10:03 -0400)]
zink: fix descriptor interface param for program_deinit
this should match the _init() method and take the context
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13430>
Mike Blumenkrantz [Wed, 13 Oct 2021 14:27:03 +0000 (10:27 -0400)]
zink: use ctx params for program ref/destroy functions
these are context objects, so destroy with the context
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13430>
Marek Olšák [Mon, 18 Oct 2021 12:16:39 +0000 (08:16 -0400)]
radeonsi: don't set inline_uniforms for viewperf because it's enabled by default
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13400>
Marek Olšák [Mon, 18 Oct 2021 04:40:54 +0000 (00:40 -0400)]
winsys/amdgpu: set max_ib_size and max_check_space_size later in cs_check_space
If there is enough CS space, don't update them. This eliminates some overhead.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13400>