Caio Oliveira [Sat, 27 May 2023 04:23:57 +0000 (21:23 -0700)]
compiler/types: Extract get_explicit_matrix_instance() function
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23281>
Caio Oliveira [Fri, 26 May 2023 20:52:17 +0000 (13:52 -0700)]
compiler/types: Use smaller keys for array_types table
Instead of building a string, build a short struct type and use
that as key. The only caveat here is ensure there either there's
no internal padding or the internal padding is always the same.
Use a static assert to ensure we are in the former case.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23281>
Caio Oliveira [Sat, 27 May 2023 00:30:37 +0000 (17:30 -0700)]
compiler/types: Use ralloc for the key in array_types
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23281>
Eric Engestrom [Sun, 20 Aug 2023 13:10:58 +0000 (14:10 +0100)]
ci/deqp: backport fix for dEQP-EGL.functional.wide_color.*_888_colorspace_*
Signed-off-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24808>
norablackcat [Wed, 17 May 2023 21:51:49 +0000 (15:51 -0600)]
rusticl: add cl_khr_expect_assume
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Tested-by: Andrey Alekseenko <al42and@gmail.com>
Tested-by: Yifeng Li <tomli@tomli.me>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23115>
norablackcat [Thu, 18 May 2023 21:42:19 +0000 (15:42 -0600)]
spirv/nir_to_spirv: add expect assume op codes
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23115>
Emma Anholt [Wed, 19 Jul 2023 00:05:41 +0000 (17:05 -0700)]
blorp: Disable unaligned partial HIZ fast clears for HIZ_CCS too.
Fixes MSAA scissored fast clears under zink and ANGLE.
Fixes:
e488773b29d9 ("anv: Fast clear depth/stencil surface in vkCmdClearAttachments")
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24225>
Konstantin Seurer [Sun, 6 Aug 2023 10:11:54 +0000 (12:11 +0200)]
radv: Stop updating the stack_size in insert_rt_case
There are two paths that call insert_rt_case:
- Traversal shader: The stack size is ignored.
- Monolithic raygen shader: The stack sizes of the inlined shaders are
accounted for in compute_rt_stack_size.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24809>
Konstantin Seurer [Sun, 16 Jul 2023 10:16:38 +0000 (12:16 +0200)]
aco: Do not fixup registers if there are no shader calls
Frees up some registers when using monolithic compilation.
Quake II RTX and Control (with monolithic compilation):
Totals from 10 (29.41% of 34) affected shaders:
MaxWaves: 77 -> 98 (+27.27%)
Instrs: 49047 -> 48984 (-0.13%); split: -0.16%, +0.03%
CodeSize: 260420 -> 259880 (-0.21%); split: -0.25%, +0.04%
VGPRs: 1328 -> 1104 (-16.87%)
Latency: 477134 -> 479377 (+0.47%); split: -0.05%, +0.52%
InvThroughput: 137763 -> 114108 (-17.17%)
VClause: 1318 -> 1286 (-2.43%); split: -2.66%, +0.23%
SClause: 1295 -> 1293 (-0.15%); split: -0.54%, +0.39%
Copies: 7838 -> 7782 (-0.71%); split: -0.82%, +0.10%
Branches: 2592 -> 2589 (-0.12%)
PreSGPRs: 874 -> 796 (-8.92%)
PreVGPRs: 1283 -> 1013 (-21.04%)
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24809>
Konstantin Seurer [Sun, 25 Jun 2023 08:49:36 +0000 (10:49 +0200)]
radv/rt: Split stage initialization and hashing
The dependency chain is: init stages -> compute pipeline key -> hash
stages.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24809>
Konstantin Seurer [Mon, 21 Aug 2023 11:30:12 +0000 (13:30 +0200)]
radv/rt: Insert rt_return_amd before lowering shader calls
Also skips running nir_lower_shader_calls for the traversal shader. This
will be used to skip the pass and the rt_return_amd insertion for
monolithic raygen shaders.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24809>
Konstantin Seurer [Sat, 24 Jun 2023 14:04:52 +0000 (16:04 +0200)]
radv/rt: Add and use radv_build_traversal
Moves most of the build code to a helper which will be useful for adding
inline traversal.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24809>
Konstantin Seurer [Sat, 24 Jun 2023 14:00:55 +0000 (16:00 +0200)]
radv/rt: Do not apply stack_ptr for non-recursive stages
stack_ptr is set to 0.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24809>
Konstantin Seurer [Sat, 24 Jun 2023 13:55:33 +0000 (15:55 +0200)]
radv/rt: Remove some dead code
- call_idx_base was used for resume shaders in the shader call loop
- hit attribs are lowered elsewhere
- stack_size is set in radv_pipeline_rt.c
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24809>
M Henning [Sat, 19 Aug 2023 17:18:39 +0000 (13:18 -0400)]
nv/codegen: Remove Function::buildDefSets
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24791>
M Henning [Sat, 19 Aug 2023 16:48:02 +0000 (12:48 -0400)]
nv/codegen: Delete periodicMask32
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24791>
M Henning [Sat, 19 Aug 2023 16:39:56 +0000 (12:39 -0400)]
nv/codegen: Delete unused OP_CONSTRAINT
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24791>
M Henning [Sat, 19 Aug 2023 16:22:07 +0000 (12:22 -0400)]
nv50_ir_ra: Delete unused functions
Wrap the file in an anonymous namespace and delete any code that
gcc warns is unused.
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24791>
M Henning [Sat, 19 Aug 2023 16:09:59 +0000 (12:09 -0400)]
nv/codegen: Remove unused clipVertexOutput var
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24791>
M Henning [Sat, 19 Aug 2023 16:08:01 +0000 (12:08 -0400)]
nv/codegen: Merge from_common into from_nir
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24791>
M Henning [Sat, 19 Aug 2023 15:51:53 +0000 (11:51 -0400)]
nv/codegen: Remove fragCoord variable.
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24791>
M Henning [Fri, 4 Aug 2023 03:22:14 +0000 (23:22 -0400)]
nv/codegen: Delete OP_EXP, OP_LOG
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24791>
M Henning [Fri, 4 Aug 2023 02:58:22 +0000 (22:58 -0400)]
nv/codegen: Delete OP_WRSV
It's never generated by anything.
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24791>
M Henning [Tue, 22 Aug 2023 02:36:24 +0000 (22:36 -0400)]
nv/codegen: Fix an uninitialized variable warning
The warning was actually a false positibe, but CI failed with:
error: 'nvirOp' may be used uninitialized [-Werror=maybe-uninitialized]
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24791>
Friedrich Vock [Sat, 19 Aug 2023 09:00:45 +0000 (11:00 +0200)]
nir/load_store_vectorize: Handle intrinsics with constant base
This includes nir_load_stack and nir_store_stack, which are vectorized
in nir_lower_shader_calls. If not adjusted, we end up loading from
the wrong base.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9596
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9587
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24789>
Tapani Pälli [Tue, 15 Aug 2023 07:37:25 +0000 (10:37 +0300)]
iris: implement a dummy depth flush for Wa_14016712196
Emit depth flush after state that sends implicit depth flush. These
states are:
3DSTATE_HIER_DEPTH_BUFFER
3DSTATE_STENCIL_BUFFER
3DSTATE_DEPTH_BUFFER
3DSTATE_CPSIZE_CONTROL_BUFFER
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24689>
Tapani Pälli [Tue, 15 Aug 2023 07:37:00 +0000 (10:37 +0300)]
anv: implement a dummy depth flush for Wa_14016712196
Emit depth flush after state that sends implicit depth flush. These
states are:
3DSTATE_HIER_DEPTH_BUFFER
3DSTATE_STENCIL_BUFFER
3DSTATE_DEPTH_BUFFER
3DSTATE_CPSIZE_CONTROL_BUFFER
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24689>
Georg Lehmann [Mon, 14 Aug 2023 17:34:08 +0000 (19:34 +0200)]
nir: unify lower_find_msb with has_{find_msb_rev,uclz}
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24662>
Georg Lehmann [Mon, 14 Aug 2023 17:21:52 +0000 (19:21 +0200)]
nir: unify lower_bitfield_extract with has_bfe
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24662>
Georg Lehmann [Mon, 14 Aug 2023 17:11:51 +0000 (19:11 +0200)]
nir: unify lower_bitfield_insert with has_{bfm,bfi,bitfield_select}
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24662>
Friedrich Vock [Fri, 28 Jul 2023 15:46:16 +0000 (17:46 +0200)]
ac/sqtt,radv/sqtt: Add and use marker for separate RT compilation
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24371>
Friedrich Vock [Fri, 28 Jul 2023 15:45:24 +0000 (17:45 +0200)]
radv/sqtt: Handle separately-compiled RT pipelines
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24371>
Friedrich Vock [Thu, 10 Aug 2023 11:53:18 +0000 (13:53 +0200)]
radv/sqtt: Write LDS size metadata in code objects
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24371>
Friedrich Vock [Fri, 28 Jul 2023 15:44:08 +0000 (17:44 +0200)]
radv/sqtt: Unregister records based on hash
RT pipelines have multiple hashes used in records, so don't always use
the pipeline hash.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24371>
Friedrich Vock [Fri, 28 Jul 2023 15:41:33 +0000 (17:41 +0200)]
radv/sqtt: Move record filling to helper function
RT shaders construct records differently, but this piece of code is
common to all types of pipelines.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24371>
Friedrich Vock [Fri, 28 Jul 2023 15:31:32 +0000 (17:31 +0200)]
ac/rgp: Add metadata for separate-compiled RT stages
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24371>
Friedrich Vock [Fri, 28 Jul 2023 16:13:48 +0000 (18:13 +0200)]
ac/rgp: Write lds_size metadata
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24371>
Friedrich Vock [Fri, 28 Jul 2023 15:26:53 +0000 (17:26 +0200)]
ac/sqtt,radv: Split internal and API hash in PSO correlations
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24371>
Friedrich Vock [Thu, 3 Aug 2023 10:33:21 +0000 (12:33 +0200)]
ac/msgpack: make fixstrs a const char
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24371>
Marek Vasut [Sun, 3 May 2020 23:34:53 +0000 (01:34 +0200)]
etnaviv: Fully replicate back stencil config
The blob replicates both the value mask as well as the stencil reference
of the back-facing stencil to the front-facing stencil. This fixes the
remaining failures in the following dEQPs:
dEQP-GLES2.functional.fbo.render.*_stencil_index8
Fixes:
c8ccd63911d ("etnaviv: Fix depth stencil ops on GC880/GC2000")
Signed-off-by: Marek Vasut <marex@denx.de>
Acked-by: Lucas Stach <l.stach@pengutronix.de>
Acked-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4867>
José Roberto de Souza [Tue, 15 Aug 2023 20:19:59 +0000 (13:19 -0700)]
anv: Update Wa_16014390852 for MTL
On MTL Wa_16014390852 is fixed on B0 stepping so we can't use a macro
check anymore for this workaround.
cc: mesa-stable
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24812>
Samuel Pitoiset [Thu, 17 Aug 2023 10:17:17 +0000 (12:17 +0200)]
aco: implement create_tcs_jump_to_epilog()
This implements jumping from the main TCS to the epilog.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24643>
Samuel Pitoiset [Fri, 11 Aug 2023 21:59:00 +0000 (23:59 +0200)]
aco: allow SGPRs operands with p_jump_to_epilog
For TCS epilogs, we will have to pass SGPRs.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24643>
Samuel Pitoiset [Thu, 17 Aug 2023 10:16:54 +0000 (12:16 +0200)]
aco: adjust TCS epilogs for RADV
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24643>
Samuel Pitoiset [Wed, 16 Aug 2023 14:25:11 +0000 (16:25 +0200)]
aco: fix jumping from main TCS to epilog on GFX9+
On GFX9+, VS is merged with TCS which means this function is called
twice and the epilog was emitted in both shader parts.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24643>
Samuel Pitoiset [Fri, 11 Aug 2023 22:01:47 +0000 (00:01 +0200)]
radv: add tcs_out_patch_fits_subgroup to radv_tcs_epilog_key
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24643>
Samuel Pitoiset [Fri, 11 Aug 2023 22:00:58 +0000 (00:00 +0200)]
radv: declare shader arguments for TCS epilogs
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24643>
Samuel Pitoiset [Fri, 11 Aug 2023 21:56:23 +0000 (23:56 +0200)]
radv: stop declaring the scratch offset argument for TCS epilogs
ACO skip it for epilogs now.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24643>
Samuel Pitoiset [Fri, 18 Aug 2023 16:02:52 +0000 (18:02 +0200)]
radv: use the maximum possible workgroup size for TCS epilogs
It's similar to when the patch control points value is dynamic.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24643>
Chia-I Wu [Fri, 18 Aug 2023 04:36:23 +0000 (21:36 -0700)]
ac/surface: limit RADEON_SURF_NO_TEXTURE to color surfaces
For z surfaces, flags.texture should be based on
RADEON_SURF_TC_COMPATIBLE_HTILE alone. Otherwise, addrlib could pick a
_X/_T swizzle mode for a MSAA depth texture, which is said to be broken:
When _X/_T swizzle mode was used for MSAA depth texture, TC will get zplane
equation from wrong address within memory range a tile covered and use the
garbage data for compressed Z reading which finally leads to corruption.
Fixes:
de0885cdb89 ("amd/surface: add RADEON_SURF_NO_TEXTURE flag")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24767>
Dave Airlie [Tue, 22 Aug 2023 00:32:11 +0000 (10:32 +1000)]
lavapipe: use vk_buffer_range common code.
trivial switch over.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24822>
Dave Airlie [Tue, 22 Aug 2023 00:27:19 +0000 (10:27 +1000)]
lavapipe: use vk_buffer common code.
This is a trivial swapover to the common runtime code for buffers.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24822>
Mike Blumenkrantz [Thu, 17 Aug 2023 16:40:52 +0000 (12:40 -0400)]
zink: handle patch variable locations for separate shaders better
these don't overlap with other locations so they can keep whatever their
current assignments are
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24757>
Mike Blumenkrantz [Mon, 21 Aug 2023 15:26:20 +0000 (11:26 -0400)]
zink: wait on async fence during ctx program removal
removed=true implies that no async jobs are outstanding
fixes #9580
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24811>
Dave Airlie [Wed, 2 Aug 2023 03:34:30 +0000 (13:34 +1000)]
llvmpipe/cs: drop tgsi for compute/mesh/task shader internals.
This drops the info from the compute shader infrastructure.
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24804>
Dave Airlie [Wed, 2 Aug 2023 03:24:05 +0000 (13:24 +1000)]
llvmpipe/cs: convert to using tgsi->nir
Step 1 to removing tgsi info from llvmpipe
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24804>
Dave Airlie [Wed, 2 Aug 2023 05:56:27 +0000 (15:56 +1000)]
llvmpipe/fs: move some tgsi checks in nir path to nir code.
This just does the equivalent checks using NIR instead of tgsi
translated info.
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24804>
Dave Airlie [Wed, 2 Aug 2023 04:54:21 +0000 (14:54 +1000)]
gallivm/nir: avoid using params->info
This shouldn't be needed.
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24804>
Dave Airlie [Wed, 2 Aug 2023 05:35:20 +0000 (15:35 +1000)]
llvmpipe/fs: drop cbuf 0 since it's lowered now.
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24804>
Dave Airlie [Wed, 2 Aug 2023 03:19:15 +0000 (13:19 +1000)]
gallivm: drop unused info parameter
This isn't used.
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24804>
David Heidelberg [Mon, 21 Aug 2023 22:25:59 +0000 (00:25 +0200)]
ci: disable Material Testers.x86_64_2020.04.08_13.38_frame799.rdc trace
This change will be revert as soon, as Collabora proxy gets fixed.
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24819>
Pavel Ondračka [Sun, 16 Jul 2023 05:26:51 +0000 (07:26 +0200)]
r300: remove the nrt main optimization loop
Most of it is already called during finalize_nir, so here we do just some final
polishing.
This brings some minor but reproducible compile-time speedups (dEQP on my RV370
and AMD Ryzen 9 3900X at 8 threads goes from 80s to 74s).
RV530 shader-db:
total instructions in shared programs: 130303 -> 130275 (-0.02%)
instructions in affected programs: 1661 -> 1633 (-1.69%)
helped: 9
HURT: 2
instructions helped: shaders/godot3.4/10-36.shader_test FS: 163 -> 162 (-0.61%)
instructions helped: shaders/tropics/240.shader_test VS: 144 -> 140 (-2.78%)
instructions helped: shaders/tropics/246.shader_test VS: 137 -> 133 (-2.92%)
instructions helped: shaders/tropics/222.shader_test VS: 131 -> 127 (-3.05%)
instructions helped: shaders/tropics/228.shader_test VS: 128 -> 124 (-3.12%)
instructions helped: shaders/tropics/252.shader_test VS: 126 -> 122 (-3.17%)
instructions helped: shaders/tropics/234.shader_test VS: 121 -> 117 (-3.31%)
instructions helped: shaders/tropics/216.shader_test VS: 104 -> 100 (-3.85%)
instructions helped: shaders/tropics/210.shader_test VS: 101 -> 97 (-3.96%)
instructions HURT: shaders/yofrankie/15.shader_test FS: 211 -> 213 (0.95%)
instructions HURT: shaders/yofrankie/42.shader_test FS: 295 -> 298 (1.02%)
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Filip Gawin <filip.gawin@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23437>
Pavel Ondračka [Mon, 17 Jul 2023 08:30:49 +0000 (10:30 +0200)]
r300: simplify ntr_get_gl_varying_semantic
We support TEXCOORDS since
d4b8e8a48144f4b899d48c271558f0dc613632cb
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Filip Gawin <filip.gawin@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23437>
Pavel Ondračka [Mon, 17 Jul 2023 08:09:14 +0000 (10:09 +0200)]
r300: remove unused barrier code from ntr
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Filip Gawin <filip.gawin@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23437>
Pavel Ondračka [Mon, 17 Jul 2023 07:01:08 +0000 (09:01 +0200)]
r300: remove some unsupported texture opcodes
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Filip Gawin <filip.gawin@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23437>
Pavel Ondračka [Thu, 1 Jun 2023 16:43:24 +0000 (18:43 +0200)]
r300: simplify ntr_try_store_in_tgsi_output
r300 doesn't support anything besides vertex and fragment shaders.
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Filip Gawin <filip.gawin@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23437>
Pavel Ondračka [Thu, 1 Jun 2023 11:29:16 +0000 (13:29 +0200)]
r300: simplify ntr_output_decl
We have no tesselation.
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Filip Gawin <filip.gawin@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23437>
Pavel Ondračka [Thu, 1 Jun 2023 11:30:10 +0000 (13:30 +0200)]
r300: simplify ntr_setup_uniforms
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Filip Gawin <filip.gawin@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23437>
Pavel Ondračka [Thu, 1 Jun 2023 16:23:27 +0000 (18:23 +0200)]
r300: remove some virglrenderer specifics from ntr
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Filip Gawin <filip.gawin@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23437>
Pavel Ondračka [Thu, 1 Jun 2023 16:22:25 +0000 (18:22 +0200)]
r300: simplify ntr_emit_load_input
r300 doesn't support anything besides vertex and fragment shaders.
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Filip Gawin <filip.gawin@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23437>
Pavel Ondračka [Wed, 31 May 2023 08:45:50 +0000 (10:45 +0200)]
r300: simplify ntr_emit_load_ubo
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Filip Gawin <filip.gawin@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23437>
Pavel Ondračka [Wed, 31 May 2023 08:45:36 +0000 (10:45 +0200)]
r300: remove ntr default options
r300 sets its own options.
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Filip Gawin <filip.gawin@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23437>
Pavel Ondračka [Thu, 1 Jun 2023 07:12:50 +0000 (09:12 +0200)]
r300: remove unused ntr default settings
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Filip Gawin <filip.gawin@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23437>
Pavel Ondračka [Thu, 1 Jun 2023 07:12:10 +0000 (09:12 +0200)]
r300: remove unneeded 64bit and atomic lowering passes
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Filip Gawin <filip.gawin@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23437>
Pavel Ondračka [Fri, 14 Jul 2023 13:20:20 +0000 (15:20 +0200)]
r300: remove the unneeded ntr_lower_vec_to_reg callback
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Filip Gawin <filip.gawin@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23437>
Pavel Ondračka [Thu, 1 Jun 2023 05:16:09 +0000 (07:16 +0200)]
r300: remove more ntr unused helpers
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Filip Gawin <filip.gawin@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23437>
Pavel Ondračka [Thu, 1 Jun 2023 05:12:49 +0000 (07:12 +0200)]
r300: simplify vectorization rules
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Filip Gawin <filip.gawin@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23437>
Pavel Ondračka [Thu, 1 Jun 2023 04:52:03 +0000 (06:52 +0200)]
r300: remove more unused 64-bit pieces from ntr
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Filip Gawin <filip.gawin@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23437>
Pavel Ondračka [Thu, 1 Jun 2023 04:44:37 +0000 (06:44 +0200)]
r300: remove ntr_tgsi_usage_mask
This is just u_bit_consecutive for non-64bit.
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Filip Gawin <filip.gawin@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23437>
Pavel Ondračka [Thu, 1 Jun 2023 07:09:34 +0000 (09:09 +0200)]
r300: remove unused integer support in ntr
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Filip Gawin <filip.gawin@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23437>
Pavel Ondračka [Thu, 1 Jun 2023 05:08:30 +0000 (07:08 +0200)]
r300: remove irrelevant opcodes in ntr
Remove anything unsupported by the hardware, including the 64bit
variants.
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Filip Gawin <filip.gawin@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23437>
Pavel Ondračka [Thu, 1 Jun 2023 05:00:45 +0000 (07:00 +0200)]
r300: remove unused intrinsics in ntr
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Filip Gawin <filip.gawin@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23437>
Pavel Ondračka [Wed, 31 May 2023 08:36:21 +0000 (10:36 +0200)]
r300: add lower_sqrt to nir option
This is now by default for ntt, but we will get rid of the default
definitions soon.
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Filip Gawin <filip.gawin@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23437>
Pavel Ondračka [Tue, 17 Jan 2023 07:58:17 +0000 (08:58 +0100)]
r300: copy ntt to r300 compiler
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Filip Gawin <filip.gawin@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23437>
Tatsuyuki Ishi [Mon, 21 Aug 2023 05:57:42 +0000 (14:57 +0900)]
radv/amdgpu: Do not pass in a BO handle when clearing PRT VA region.
This field is invalid to access for virtual BOs.
Fixes:
a931d5a4a4d ("radv/winsys: clear the PRT VA range when destroying a virtual BO")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24805>
M Henning [Sat, 19 Aug 2023 21:37:53 +0000 (17:37 -0400)]
nv/codegen: Delete OP_POW
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24796>
M Henning [Sat, 19 Aug 2023 20:44:57 +0000 (16:44 -0400)]
nv50_ir_from_nir: Use nir's lower_fpow
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24796>
George Ouzounoudis [Tue, 15 Aug 2023 16:40:26 +0000 (19:40 +0300)]
nouveau/codegen: Add a 4th optimization level for MemoryOpts
MemoryOpt optimization pass makes some tests in NVK fail. Until its
fixed in codegen or implemented on NIR instead, move it to a 4th level.
This affects the GL driver as well, but less often.
Fixes dEQP-VK.pipeline.monolithic.dynamic_control_points.change_output*
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24705>
Konstantin Seurer [Thu, 17 Aug 2023 16:11:01 +0000 (18:11 +0200)]
radv: Remove leaf_args::dst_offset
We can use first_id instead.
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24756>
Konstantin Seurer [Thu, 17 Aug 2023 16:06:29 +0000 (18:06 +0200)]
radv: Add internal_nodes_offset to scratch_layout
It shouldn't be a part of bvh_state.
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24756>
Samuel Pitoiset [Mon, 21 Aug 2023 07:42:06 +0000 (09:42 +0200)]
zink/ci: update list of expected failures for NAVI10
This matches recent VanGogh CI list changes.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24807>
Erik Faye-Lund [Wed, 16 Aug 2023 10:42:21 +0000 (12:42 +0200)]
docs: expand mobile-menu without js
Without javascript support, a user can't expand the menu. So let's
leave it always-expanded in that case.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24721>
Samuel Pitoiset [Wed, 16 Aug 2023 07:34:17 +0000 (09:34 +0200)]
radv/amdgpu: add support for submitting external IBs with the chained path
External IBs are currently only used for DGC. With the chained path,
these IBs will only be used to workaround missing IB2 packet on the
compute queue, which is rare enough to care about chaining inside CS.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24207>
Samuel Pitoiset [Mon, 26 Jun 2023 07:46:57 +0000 (09:46 +0200)]
radv/amdgpu: allow to execute external IBs on the compute queue
IB2 isn't supported on ACE, so external IBs should be submitted as IB1.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24207>
Samuel Pitoiset [Fri, 18 Aug 2023 14:20:32 +0000 (16:20 +0200)]
Revert "radv/amdgpu: skip adding per VM BOs for sparse during CS BO list build"
This reverts commit
51caece74cd54e99a5f89521e8feacd894781ca2.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24774>
Samuel Pitoiset [Fri, 18 Aug 2023 14:20:27 +0000 (16:20 +0200)]
Revert "radv/amdgpu: workaround a kernel bug when replacing sparse mappings"
This workaround was added temporarily but it can actually cause
stuttering in some games like Forza Horizon 5.
The kernel fix
(https://lists.freedesktop.org/archives/amd-gfx/2023-June/094648.html)
landed in some stable kernels (5.15.121+, 6.1.40+ and 6.4.5+). Sadly,
older stable kernels don't have it, so you might experiment random GPU
hangs in games that use sparse mapping. Please ensure your kernel is
up-to-date for the best experience.
This reverts commit
9b00867327c2b266fcdebcef8bc7e7497eaab06b.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9443
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24774>
Christian Gmeiner [Thu, 17 Aug 2023 13:19:41 +0000 (15:19 +0200)]
etnaviv: unbreak cmdline compiler
Fixes the following assert:
etnaviv_compiler: ../src/compiler/glsl_types.cpp:1219: static const glsl_type* glsl_type::get_array_instance(const glsl_type*, unsigned int, unsigned int): Assertion `glsl_type_users > 0' failed.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24753>
Eric Engestrom [Sat, 19 Aug 2023 01:50:21 +0000 (02:50 +0100)]
v3d/qpu: fix type of function argument
Fixes:
05c7d9715b8a419fd6fb ("broadcom: Add V3D 3.3 QPU instruction pack, unpack, and disasm.")
Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24787>
Eric Engestrom [Sat, 19 Aug 2023 01:46:25 +0000 (02:46 +0100)]
v3dv: fix shader stage name in error message
Fixes:
60145629a2bdcd4e7835 ("v3dv: initial CreateGraphicsPipeline/DestroyPipeline implementation")
Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24787>
Eric Engestrom [Sat, 19 Aug 2023 01:42:27 +0000 (02:42 +0100)]
v3dv: fix copy/pasted type of `sample`
And use the type in functions instead of a generic `uint32_t` to make it
easier to notice the wrong type.
Fixes:
47e02a2ef11237cf4c2c ("v3dv: add a fast path for vkCmdClearAttachments")
Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24787>