platform/upstream/mesa.git
3 years agoci: Set GALLIVM_PERF=no_filter_hacks for llvmpipe-piglit-quick_gl
Michel Dänzer [Mon, 11 May 2020 09:24:29 +0000 (11:24 +0200)]
ci: Set GALLIVM_PERF=no_filter_hacks for llvmpipe-piglit-quick_gl

Gives us 13 more passed tests.

(GALLIVM_PERF=nopt breaks some tests here)

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Acked-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4986>

3 years agoci: Set GALLIVM_PERF=no_filter_hacks for llvmpipe-piglit-quick_shader
Michel Dänzer [Mon, 11 May 2020 09:22:54 +0000 (11:22 +0200)]
ci: Set GALLIVM_PERF=no_filter_hacks for llvmpipe-piglit-quick_shader

Gives us 1 more passed test.

(GALLIVM_PERF=nopt breaks some tests here)

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Acked-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4986>

3 years agoci: Disable two radeonsi jobs
Tomeu Vizoso [Tue, 9 Feb 2021 13:38:40 +0000 (14:38 +0100)]
ci: Disable two radeonsi jobs

The machine to which these boards are connected to is having trouble
keeping up when the rootfs are expanded. This is causing jobs to time
out and fail.

So as a mitigation measure reduce the load by disabling two of these
jobs until the root problem is solved.

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8930>

3 years agoradeon/vcn: enable dynamic dpb Tier2 support
Leo Liu [Mon, 8 Feb 2021 13:37:45 +0000 (08:37 -0500)]
radeon/vcn: enable dynamic dpb Tier2 support

On VCN3 with codec AV1 and VP9

Signed-off-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: James Zhu <James.Zhu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8916>

3 years agoradeon/vcn: implement dynamic dpb Tier2 support
Leo Liu [Mon, 8 Feb 2021 13:31:52 +0000 (08:31 -0500)]
radeon/vcn: implement dynamic dpb Tier2 support

Fill up the t2 message buffers based on reference lists, so to
avoid unnecessary allocation of the buffers.

Signed-off-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: James Zhu <James.Zhu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8916>

3 years agoradeon/vcn: add dynamic dpb Tier2 message buffer interface
Leo Liu [Mon, 8 Feb 2021 13:16:06 +0000 (08:16 -0500)]
radeon/vcn: add dynamic dpb Tier2 message buffer interface

Tier2 will dynamically manange the dpb buffers, so that can
save even more VRAMs

Signed-off-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: James Zhu <James.Zhu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8916>

3 years agoradv: fix printing the debug option names
Samuel Pitoiset [Tue, 9 Feb 2021 10:55:22 +0000 (11:55 +0100)]
radv: fix printing the debug option names

radv_dump_enabled_options() doesn't like holes. While we are at it,
use ull everywhere.

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/8925>

3 years agoaco: optimize AC_FETCH_FORMAT_SNORM alpha adjust
Rhys Perry [Mon, 8 Feb 2021 15:37:02 +0000 (15:37 +0000)]
aco: optimize AC_FETCH_FORMAT_SNORM alpha adjust

This looks like it was copied from LLVM, which didn't have a fmax
intrinsic.

fossil-db (GFX8):
Totals from 43 (0.03% of 140385) affected shaders:
CodeSize: 49660 -> 49488 (-0.35%)
Instrs: 10434 -> 10348 (-0.82%)
Cycles: 41736 -> 41392 (-0.82%)
VMEM: 13793 -> 13719 (-0.54%)

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8918>

3 years agoradv: Fix vram override with fully visible VRAM.
Bas Nieuwenhuizen [Mon, 8 Feb 2021 14:24:30 +0000 (15:24 +0100)]
radv: Fix vram override with fully visible VRAM.

Fixes: cf2eebdf4f1 ("radv,gallium: Add driconf option to reduce advertised VRAM size.")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8915>

3 years agogallium/tgsi-to-nir: Take property NUM_CLIPDIST_ENABLED into account
Gert Wollny [Sun, 31 Jan 2021 17:54:01 +0000 (18:54 +0100)]
gallium/tgsi-to-nir: Take property NUM_CLIPDIST_ENABLED into account

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8919>

3 years agogallium/tgsi_to_nir: Handle SAMPLE_MASK output in FS
Gert Wollny [Sun, 31 Jan 2021 12:40:14 +0000 (13:40 +0100)]
gallium/tgsi_to_nir: Handle SAMPLE_MASK output in FS

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8919>

3 years agoradv: use the global BO list from the winsys
Samuel Pitoiset [Thu, 4 Feb 2021 17:21:19 +0000 (18:21 +0100)]
radv: use the global BO list from the winsys

We had two different implements for the global BO list, one in RADV
and one in the winsys. This will also allow to make more BOs resident.

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/8868>

3 years agoradv/winsys: enable the global BO list unconditionally
Samuel Pitoiset [Thu, 4 Feb 2021 17:10:39 +0000 (18:10 +0100)]
radv/winsys: enable the global BO list unconditionally

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/8868>

3 years agoradv/winsys: add the resident BOs to the list of BOs at submit time
Samuel Pitoiset [Thu, 4 Feb 2021 17:08:34 +0000 (18:08 +0100)]
radv/winsys: add the resident BOs to the list of BOs at submit time

The number of resident BOs is currently 0.

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/8868>

3 years agoradv/winsys: add buffer_make_resident() to the API
Samuel Pitoiset [Thu, 4 Feb 2021 17:03:02 +0000 (18:03 +0100)]
radv/winsys: add buffer_make_resident() to the API

To make a BO resident (or to evict one).

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/8868>

3 years agoradv/winsys: set use_global_list to avoid adding a BO twice
Samuel Pitoiset [Mon, 8 Feb 2021 12:20:47 +0000 (13:20 +0100)]
radv/winsys: set use_global_list to avoid adding a BO twice

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/8868>

3 years agoradv/winsys: move the debug_all_bos check outside of the add/del helpers
Samuel Pitoiset [Thu, 4 Feb 2021 16:58:08 +0000 (17:58 +0100)]
radv/winsys: move the debug_all_bos check outside of the add/del helpers

The add/del helpers will be used to implement the global BO list
directly in the winsys.

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/8868>

3 years agopan/bi: Don't check liveness unless the index is valid
Icecream95 [Tue, 9 Feb 2021 07:32:23 +0000 (20:32 +1300)]
pan/bi: Don't check liveness unless the index is valid

Otherwise we will read out-of-bounds when the index is ~0.

Fixes: b8f042c9bb0 ("pan/bi: Dead code eliminate per-channel")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8923>

3 years agov3dv: initialize render_fd at the top of physical_device_init
Arcady Goldmints-Orlov [Sun, 7 Feb 2021 18:12:23 +0000 (13:12 -0500)]
v3dv: initialize render_fd at the top of physical_device_init

This fixes an uninitialized variable warning.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8902>

3 years agogallium/u_tests: test no-op fragment shader instead of NULL fragment shader
Marek Olšák [Mon, 8 Feb 2021 00:12:19 +0000 (19:12 -0500)]
gallium/u_tests: test no-op fragment shader instead of NULL fragment shader

radeonsi stopped supporting NULL fragment shaders. This makes the test pass.

Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8906>

3 years agotgsi_to_nir: translate FBFETCH
Marek Olšák [Mon, 8 Feb 2021 00:08:51 +0000 (19:08 -0500)]
tgsi_to_nir: translate FBFETCH

Tested by u_tests.

Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8906>

3 years agotgsi_to_nir: translate SAMPLEID
Marek Olšák [Mon, 8 Feb 2021 00:08:27 +0000 (19:08 -0500)]
tgsi_to_nir: translate SAMPLEID

Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8906>

3 years agost/mesa: do scissored clears on depth/stencil as well when supported
Ilia Mirkin [Sun, 7 Feb 2021 20:17:00 +0000 (15:17 -0500)]
st/mesa: do scissored clears on depth/stencil as well when supported

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Tested-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8905>

3 years agozink: support nir_intrinsic_memory_barrier_buffer
Mike Blumenkrantz [Fri, 5 Feb 2021 13:20:20 +0000 (08:20 -0500)]
zink: support nir_intrinsic_memory_barrier_buffer

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8884>

3 years agopanfrost: Fix clear color packing for 12-byte formats
Icecream95 [Wed, 3 Feb 2021 09:33:12 +0000 (22:33 +1300)]
panfrost: Fix clear color packing for 12-byte formats

Make the case for 6 bytes the same as for 8 while we're at it.

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8886>

3 years agoradv: Update JSON generator if Windows
James Park [Mon, 8 Feb 2021 02:38:58 +0000 (18:38 -0800)]
radv: Update JSON generator if Windows

Use vulkan_radeon.dll, and apply current working directory.

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

3 years agonv50,nvc0: add scissored clear support
Ilia Mirkin [Sun, 7 Feb 2021 17:20:00 +0000 (12:20 -0500)]
nv50,nvc0: add scissored clear support

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8901>

3 years agonv50: add PIPE_CAP_NIR_IMAGES_AS_DEREF to unsupported list
Ilia Mirkin [Sun, 7 Feb 2021 16:44:19 +0000 (11:44 -0500)]
nv50: add PIPE_CAP_NIR_IMAGES_AS_DEREF to unsupported list

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8901>

3 years agoradeonsi: don't use cp_dma prefetch on GFX6
Pierre-Eric Pelloux-Prayer [Mon, 8 Feb 2021 11:10:50 +0000 (12:10 +0100)]
radeonsi: don't use cp_dma prefetch on GFX6

It's not supported.

Fixes: 47587758f21 ("radeonsi: prefetch VB descriptors right after uploading")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4211
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/8914>

3 years agospirv: Allow variable pointers pointing to an array of blocks
Caio Marcelo de Oliveira Filho [Thu, 4 Feb 2021 04:58:31 +0000 (20:58 -0800)]
spirv: Allow variable pointers pointing to an array of blocks

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Cc: mesa-stable
Tested-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8864>

3 years agoci: Move out expect files from .gitlab-ci
Tomeu Vizoso [Wed, 27 Jan 2021 15:36:14 +0000 (16:36 +0100)]
ci: Move out expect files from .gitlab-ci

This way, when such a file is modified only the affected driver gets
tested.

It also helps to declutter the .gitlab-ci directory.

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Rohan Garg <rohan.garg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8757>

3 years agoci: Move container files into their own dir
Tomeu Vizoso [Wed, 27 Jan 2021 15:38:01 +0000 (16:38 +0100)]
ci: Move container files into their own dir

To be more consistent and to declutter the .gitlab-ci dir.

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Acked-by: Eric Anholt <eric@anholt.net>
Acked-by: Michel Dänzer <mdaenzer@redhat.com>
Reviewed-by: Andres Gomez <agomez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8757>

3 years agoci: Fix selection of linker in Android builds
Tomeu Vizoso [Thu, 28 Jan 2021 07:27:06 +0000 (08:27 +0100)]
ci: Fix selection of linker in Android builds

Otherwise, Clang will error out when it doesn't link:

Compiler stderr:
 clang: error: argument unused during compilation: '-fuse-ld=lld' [-Werror,-Wunused-command-line-argument]

When that happens when Meson is checking for the presence of macros in
sys/sysmacros.h, that file won't be included resulting in the following
errors:

ld.lld: error: undefined symbol: makedev
ld.lld: error: undefined symbol: major
ld.lld: error: undefined symbol: minor

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Acked-by: Michel Dänzer <mdaenzer@redhat.com>
Acked-by: Eric Anholt <eric@anholt.net>
Gitlab: #4137
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8757>

3 years agopan/bi: Add nosched debug option
Alyssa Rosenzweig [Wed, 20 Jan 2021 22:36:03 +0000 (17:36 -0500)]
pan/bi: Add nosched debug option

Forces a trivial schedule to replicate the old behaviour (for debugging
or benchmarking). Actually the new scheduler is still used, just highly
constrained; the net result should still do what's expected.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8354>

3 years agopan/bi: Remove older cube map lowering
Alyssa Rosenzweig [Wed, 6 Jan 2021 17:57:56 +0000 (12:57 -0500)]
pan/bi: Remove older cube map lowering

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8354>

3 years agopan/bi: Remove old FAU assignment code
Alyssa Rosenzweig [Fri, 5 Feb 2021 23:13:49 +0000 (18:13 -0500)]
pan/bi: Remove old FAU assignment code

Replaced by the scheduler.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8354>

3 years agopan/bi: Switch to new scheduler
Alyssa Rosenzweig [Wed, 6 Jan 2021 20:02:28 +0000 (15:02 -0500)]
pan/bi: Switch to new scheduler

Delete the old.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8354>

3 years agopan/bi: Schedule blocks
Alyssa Rosenzweig [Wed, 6 Jan 2021 19:59:56 +0000 (14:59 -0500)]
pan/bi: Schedule blocks

Replicate the pattern, greedily select clauses until we run out of
instructions.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8354>

3 years agopan/bi: Add constant modifier handling
Alyssa Rosenzweig [Sat, 6 Feb 2021 00:58:17 +0000 (19:58 -0500)]
pan/bi: Add constant modifier handling

Once we've merged the clauses' constants, we need to....

1. Swap where necessary so non-pcrel constants are correctly encoded.
2. Swap where necessary so pcrel constants are in canonical positions.
3. Force M1 values for pcrel constants and final single constants.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8354>

3 years agopan/bi: Add constant merging routines
Alyssa Rosenzweig [Sat, 6 Feb 2021 00:54:31 +0000 (19:54 -0500)]
pan/bi: Add constant merging routines

These work as you would expect: first handling paired constants
(swapping to a canonical form to deduplicate), then handling unpaired
constants (packing together in a canonical form). Most of the added
complexity is from pcrel handling, but we impose strict invariants on
pcrel (no more than one PC-relative constant per clause, only M1=4 mode)
without which the algorithm would be even uglier.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8354>

3 years agopan/bi: Add constant state constructor
Alyssa Rosenzweig [Sat, 6 Feb 2021 00:53:49 +0000 (19:53 -0500)]
pan/bi: Add constant state constructor

Based on the tuple state's constants, satisfying the pcrel invariant we
impose.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8354>

3 years agopan/bi: Add constant to passthrough rewrite
Alyssa Rosenzweig [Sat, 6 Feb 2021 00:53:09 +0000 (19:53 -0500)]
pan/bi: Add constant to passthrough rewrite

Mimicks the one previously done at pack time, but designed for schedule
time instead.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8354>

3 years agopan/bi: Add trivial rewrite helpers
Alyssa Rosenzweig [Sat, 6 Feb 2021 00:52:18 +0000 (19:52 -0500)]
pan/bi: Add trivial rewrite helpers

We need to do certain rewrites during scheduling before RA runs in order
to satsify scheduler post-conditions.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8354>

3 years agopan/bi: Derive M0 from pcrel_idx while packing
Alyssa Rosenzweig [Fri, 5 Feb 2021 23:17:06 +0000 (18:17 -0500)]
pan/bi: Derive M0 from pcrel_idx while packing

Assumes the usual M1=4 mode.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8354>

3 years agopan/bi: Add pcrel_idx to bi_clause
Alyssa Rosenzweig [Fri, 5 Feb 2021 23:16:45 +0000 (18:16 -0500)]
pan/bi: Add pcrel_idx to bi_clause

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8354>

3 years agopan/bi: Move bi_constant_field to bifrost.h
Alyssa Rosenzweig [Fri, 5 Feb 2021 23:12:59 +0000 (18:12 -0500)]
pan/bi: Move bi_constant_field to bifrost.h

It's a hardware invariant, and useful for the scheduler (not just
packing).

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8354>

3 years agopan/bi: Add bi_foreach_instr_and_src_in_tuple
Alyssa Rosenzweig [Fri, 5 Feb 2021 21:36:05 +0000 (16:36 -0500)]
pan/bi: Add bi_foreach_instr_and_src_in_tuple

Rather specialized but keeps down obnoxious indentation in scheduler
passes.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8354>

3 years agopan/bi: Extract bi_ec0_packed helper
Alyssa Rosenzweig [Fri, 8 Jan 2021 22:49:25 +0000 (17:49 -0500)]
pan/bi: Extract bi_ec0_packed helper

Useful for scheduling decisions as well as packing.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8354>

3 years agopan/bi: Add passthrough register rewriting helper
Alyssa Rosenzweig [Wed, 6 Jan 2021 19:57:36 +0000 (14:57 -0500)]
pan/bi: Add passthrough register rewriting helper

Passthroughs are _required_ for correct scheduling, so we have to handle
this now. The legitimacy of using passthroughs is justified by the
constraint checks and verified with asserts at pack time.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8354>

3 years agopan/bi: Destructively schedule a single instruction
Alyssa Rosenzweig [Wed, 6 Jan 2021 19:56:47 +0000 (14:56 -0500)]
pan/bi: Destructively schedule a single instruction

Wrapper to select the best legal instruction, pop it off the worklist,
update the clause/tuple states, and return it.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8354>

3 years agopan/bi: Choose instructions to schedule
Alyssa Rosenzweig [Wed, 6 Jan 2021 19:55:50 +0000 (14:55 -0500)]
pan/bi: Choose instructions to schedule

In the future we'll want a heuristic minimizing register pressure but
for in-order this will suffice.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8354>

3 years agopan/bi: Add bi_instr_schedulable predicate
Alyssa Rosenzweig [Wed, 6 Jan 2021 19:55:02 +0000 (14:55 -0500)]
pan/bi: Add bi_instr_schedulable predicate

Using the previously defined checks for architectural scheduling
constraints, define one top-level predicate to check if an instruction
on the worklist is ready for scheduling.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8354>

3 years agopan/bi: Add writes_reg predicate
Alyssa Rosenzweig [Wed, 6 Jan 2021 22:39:44 +0000 (17:39 -0500)]
pan/bi: Add writes_reg predicate

ATEST is a bit of a wrinkle in this, so let's keep it in one place.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8354>

3 years agopan/bi: Add T0/T1 constraint check
Alyssa Rosenzweig [Wed, 6 Jan 2021 21:16:37 +0000 (16:16 -0500)]
pan/bi: Add T0/T1 constraint check

Not visible on real shaders yet, but it will be when we schedule
out-of-order (or implement 64-bit multiplication).

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8354>

3 years agopan/bi: Validate reads_t
Alyssa Rosenzweig [Wed, 6 Jan 2021 19:54:18 +0000 (14:54 -0500)]
pan/bi: Validate reads_t

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8354>

3 years agopan/bi: Add bi_count_succ_reads helper
Alyssa Rosenzweig [Wed, 6 Jan 2021 19:50:03 +0000 (14:50 -0500)]
pan/bi: Add bi_count_succ_reads helper

The number of register writes in a tuple must be bounded by a number
based on the number of register reads in the succeeding tuple, since
writes and reads are interleaved. This helper calculates that number of
reads, noting that not every read actually counts - if the preceding
tuple writes to a read source, that will become a temporary instead of
consuming a register slot.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8354>

3 years agopan/bi: Add bi_tuple_is_new_src
Alyssa Rosenzweig [Wed, 6 Jan 2021 19:48:21 +0000 (14:48 -0500)]
pan/bi: Add bi_tuple_is_new_src

To determine the number of register reads in a tuple (which must be
bounded by 3, or 5 if you force writes), we need to count "new" sources:
those that are not already in a partially scheduled tuple.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8354>

3 years agopan/bi: Add FAU update helper
Alyssa Rosenzweig [Wed, 6 Jan 2021 19:45:32 +0000 (14:45 -0500)]
pan/bi: Add FAU update helper

This comes in destructive and nondestructive flavours, to be used to
insert an instruction into a tuple and check if an instruction is
insertable respectively. It is responsible for FAU slot matching.

It's annoying this sort of logic is duplicated in 3 places
(bi_lower_fau, here, and packing) but they each work with different sets
of assumptions...

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8354>

3 years agopan/bi: Add constant count estimates to scheduler
Alyssa Rosenzweig [Sat, 6 Feb 2021 00:49:31 +0000 (19:49 -0500)]
pan/bi: Add constant count estimates to scheduler

Needed to satisfy max constant constaints. These aren't precise but
they should be a good enough approximation for now.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8354>

3 years agopan/bi: Stub worklist routines
Alyssa Rosenzweig [Wed, 6 Jan 2021 19:23:41 +0000 (14:23 -0500)]
pan/bi: Stub worklist routines

In the near future we'll schedule out-of-order via a dependendency graph
and worklist. For now, emulate in-order operation.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8354>

3 years agopan/bi: Flatten block lists
Alyssa Rosenzweig [Wed, 6 Jan 2021 19:23:23 +0000 (14:23 -0500)]
pan/bi: Flatten block lists

From Midgard scheduler.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8354>

3 years agopan/bi: Add cubeface lowering
Alyssa Rosenzweig [Wed, 6 Jan 2021 19:18:16 +0000 (14:18 -0500)]
pan/bi: Add cubeface lowering

For the new schedule infrastructure. This supports multiple tuples per
clause, unlike the old hack lowering.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8354>

3 years agopan/bi: Add scheduler data structures
Alyssa Rosenzweig [Wed, 6 Jan 2021 19:16:40 +0000 (14:16 -0500)]
pan/bi: Add scheduler data structures

To satisfy the numerous architectural scheduler constraints, quite a bit
of state is required per-tuple, per-clause, and per-block. These data
structures allow maintaining this state separate from the main IR
data structures, allowing for partial constructions and nondestructive
operations.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8354>

3 years agopan/bi: Include ATEST datum in the instruction
Alyssa Rosenzweig [Tue, 19 Jan 2021 00:14:23 +0000 (19:14 -0500)]
pan/bi: Include ATEST datum in the instruction

Rather than doing this at pack time like before, or adding extra
constraints to the already overcomplicated scheduler, let's just include
it like a regular FAU source.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8354>

3 years agopan/bi: Dead code eliminate per-channel
Alyssa Rosenzweig [Fri, 5 Feb 2021 22:58:46 +0000 (17:58 -0500)]
pan/bi: Dead code eliminate per-channel

We already track the full liveness so this is a trivial optimization,
with an especial win for shaders reading only a subset of components of
gl_FragCoord.

More importantly, it's required for proper scheduling (in soft mode)
when vectors are used and some (but not all components) are promoted to
temporary registers.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8354>

3 years agopan/bi: Cleanup terminal block check
Alyssa Rosenzweig [Fri, 5 Feb 2021 21:25:25 +0000 (16:25 -0500)]
pan/bi: Cleanup terminal block check

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8354>

3 years agopan/bi: Print program size in shader-db
Alyssa Rosenzweig [Sat, 6 Feb 2021 01:25:39 +0000 (20:25 -0500)]
pan/bi: Print program size in shader-db

Less critical than other metrics, but still matters for instruction
cache hit rate, and worth being aware of.

And, fine, it makes the scheduler look like a bigger win on another
axis.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8354>

3 years agopan/bi: Fix shader prefetch size
Icecream95 [Thu, 28 Jan 2021 08:41:10 +0000 (21:41 +1300)]
pan/bi: Fix shader prefetch size

The prefetch buffer size is larger than first thought, but includes
the final clause, so subtract the size of the final clause from the
prefetch size.

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8354>

3 years agopan/bi: Return the size of the last clause from bi_pack
Icecream95 [Thu, 28 Jan 2021 08:38:41 +0000 (21:38 +1300)]
pan/bi: Return the size of the last clause from bi_pack

Will be used for calculating prefetch size.

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8354>

3 years agopan/bi: Lower transcendentals on G71
Alyssa Rosenzweig [Sat, 6 Feb 2021 02:53:11 +0000 (21:53 -0500)]
pan/bi: Lower transcendentals on G71

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Acked-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8894>

3 years agopan/bi: Lower FP32 transcendentals where required
Alyssa Rosenzweig [Fri, 15 Jan 2021 21:39:58 +0000 (16:39 -0500)]
pan/bi: Lower FP32 transcendentals where required

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Acked-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8894>

3 years agopan/bi: Fix bi quirks detection
Alyssa Rosenzweig [Sat, 6 Feb 2021 02:51:37 +0000 (21:51 -0500)]
pan/bi: Fix bi quirks detection

There is no Bifrost v8...

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Acked-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8894>

3 years agopan/bi: Rename NO_FP32_TRANSCENDENTALS quirk
Alyssa Rosenzweig [Fri, 15 Jan 2021 21:38:20 +0000 (16:38 -0500)]
pan/bi: Rename NO_FP32_TRANSCENDENTALS quirk

Make it more obvious what the issue is. "_FAST" is not a suffix on
Bifrost.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Acked-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8894>

3 years agopan/bi: Lower flog2 to a table and polynomial
Alyssa Rosenzweig [Fri, 15 Jan 2021 21:34:41 +0000 (16:34 -0500)]
pan/bi: Lower flog2 to a table and polynomial

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Acked-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8894>

3 years agopan/bi: Lower FEXP2 with a table
Alyssa Rosenzweig [Fri, 15 Jan 2021 21:02:46 +0000 (16:02 -0500)]
pan/bi: Lower FEXP2 with a table

Connor's code, not the blob's, amusingly.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Acked-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8894>

3 years agopan/bi: Lower frsq to Newton-Raphson
Alyssa Rosenzweig [Fri, 15 Jan 2021 20:46:39 +0000 (15:46 -0500)]
pan/bi: Lower frsq to Newton-Raphson

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Acked-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8894>

3 years agopan/bi: Lower frcp to Newton-Raphson
Alyssa Rosenzweig [Fri, 15 Jan 2021 20:38:35 +0000 (15:38 -0500)]
pan/bi: Lower frcp to Newton-Raphson

For G71 but should work on any Bifrost, probably overlaps some CL stuff.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Acked-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8894>

3 years agopan/bi: Fix FLOG_TABLE modifier handling
Alyssa Rosenzweig [Fri, 15 Jan 2021 21:35:07 +0000 (16:35 -0500)]
pan/bi: Fix FLOG_TABLE modifier handling

These should not be in a union together.

[Note: this does not need to be backported, since the affected
instruction is not emitted under any circumstances in the stable
branches]

Fixes: dd11e5076e6 ("pan/bi: Add new bi_instr data structure")
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Acked-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8894>

3 years agopan/bi: Add bi_fmul_f32 convenience method
Alyssa Rosenzweig [Sat, 6 Feb 2021 02:36:44 +0000 (21:36 -0500)]
pan/bi: Add bi_fmul_f32 convenience method

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Acked-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8894>

3 years agov3dv: add a perf trace when a device is created with robust buffer access
Iago Toral Quiroga [Mon, 8 Feb 2021 09:07:41 +0000 (10:07 +0100)]
v3dv: add a perf trace when a device is created with robust buffer access

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8913>

3 years agov3dv: serialize pipeline compilation when debugging shaders
Iago Toral Quiroga [Mon, 8 Feb 2021 08:52:14 +0000 (09:52 +0100)]
v3dv: serialize pipeline compilation when debugging shaders

It is possible to compile pipelines in multiple threads, but when we
are dumping debug information for shaders, we want all the outputs
serialized so we can make sense of it.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8913>

3 years agov3d/common: use spaces instead of TABs
Iago Toral Quiroga [Mon, 8 Feb 2021 08:43:53 +0000 (09:43 +0100)]
v3d/common: use spaces instead of TABs

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8913>

3 years agoCI: always expose docs artifacts
Erik Faye-Lund [Fri, 8 Jan 2021 21:08:56 +0000 (22:08 +0100)]
CI: always expose docs artifacts

This makes it easier to preview docs changes in merge-requests. Also
make sure we build the docs right away, rather than waiting for when
marge merges. This allows us to see the artifacts right away.

Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8398>

3 years agoradv: stop using VM_ALWAYS_VALID on APUs
Samuel Pitoiset [Tue, 2 Feb 2021 21:01:47 +0000 (22:01 +0100)]
radv: stop using VM_ALWAYS_VALID on APUs

It seems that VM_ALWAYS_VALID means that all BOs must fit in
memory (VRAM+GTT) for each submission. This is causing a lot of
troubles when the total allocated memory is greater than the
available memory, especially on APUs.

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/8779>

3 years agoradv: add radeon_winsys_bo::use_global_list
Samuel Pitoiset [Tue, 2 Feb 2021 17:43:45 +0000 (18:43 +0100)]
radv: add radeon_winsys_bo::use_global_list

This will allow us to use the global BO list even without
RADEON_FLAG_PREFER_LOCAL_BO which can cause a lot of troubles
on APUs.

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/8779>

3 years agonouveau: print warning about unhandled cap only once
Karol Herbst [Tue, 2 Feb 2021 15:27:43 +0000 (16:27 +0100)]
nouveau: print warning about unhandled cap only once

Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8831>

3 years agoradv: use less AMDGPU contexts by creating only one per queue priority
Samuel Pitoiset [Fri, 5 Feb 2021 13:15:19 +0000 (14:15 +0100)]
radv: use less AMDGPU contexts by creating only one per queue priority

It should be more efficient. Suggested by Bas.

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/8878>

3 years agoradv/winsys: stop zeroing radv_amdgpu_cs_request
Samuel Pitoiset [Fri, 5 Feb 2021 14:26:09 +0000 (15:26 +0100)]
radv/winsys: stop zeroing radv_amdgpu_cs_request

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/8859>

3 years agoradv/winsys: remove unused fields in radv_amdgpu_cs_request
Samuel Pitoiset [Fri, 5 Feb 2021 14:21:51 +0000 (15:21 +0100)]
radv/winsys: remove unused fields in radv_amdgpu_cs_request

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/8859>

3 years agoradv/winsys: simplify the user fence logic for submission
Samuel Pitoiset [Fri, 5 Feb 2021 13:59:03 +0000 (14:59 +0100)]
radv/winsys: simplify the user fence logic for submission

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/8859>

3 years agoradv/winsys: remove unused radeon_bo_usage enum
Samuel Pitoiset [Thu, 4 Feb 2021 14:12:51 +0000 (15:12 +0100)]
radv/winsys: remove unused radeon_bo_usage enum

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/8859>

3 years agoradv/winsys: remove useless is_local check in radv_amdgpu_cs_add_buffer()
Samuel Pitoiset [Wed, 3 Feb 2021 14:13:12 +0000 (15:13 +0100)]
radv/winsys: remove useless is_local check in radv_amdgpu_cs_add_buffer()

radv_cs_add_buffer() already guarantees that and virtual buffers
are added via radv_amdgpu_cs_add_virtual_buffer().

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/8859>

3 years agoradv/winsys: remove useless continue preamble CS for IBs path
Samuel Pitoiset [Wed, 3 Feb 2021 13:40:05 +0000 (14:40 +0100)]
radv/winsys: remove useless continue preamble CS for IBs path

It's only used for the sysmem path which is GFX6.

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/8859>

3 years agoradv/winsys: remove the radv_amdgpu_winsys_bo::ws indirection
Samuel Pitoiset [Wed, 3 Feb 2021 13:11:49 +0000 (14:11 +0100)]
radv/winsys: remove the radv_amdgpu_winsys_bo::ws indirection

This saves a 64-bit pointer from radv_amdgpu_winsys_bo and it's
also common to pass a winsys pointer as the first parameter.

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/8859>

3 years agoradv/winsys: use an array for the global BO list instead of a list
Samuel Pitoiset [Wed, 3 Feb 2021 09:47:08 +0000 (10:47 +0100)]
radv/winsys: use an array for the global BO list instead of a list

This allows to remove one 64-bit pointer from radv_amdgpu_winsys_bo.

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/8859>

3 years agoRevert "broadcom/compiler: improve generation of if conditions"
Arcady Goldmints-Orlov [Sun, 7 Feb 2021 18:17:03 +0000 (13:17 -0500)]
Revert "broadcom/compiler: improve generation of if conditions"

This reverts commit 93f8f83a95383e38769bca8cd3c236d3b1c4c87f.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8903>

3 years agoci/freedreno: Run a3xx gles3 in parallel and increase coverage.
Eric Anholt [Mon, 1 Feb 2021 22:27:50 +0000 (14:27 -0800)]
ci/freedreno: Run a3xx gles3 in parallel and increase coverage.

It seems that recent fixes have made its results stable (other than
existing flakiness in texturegrad), so we can use all the CPUs and a
couple more boards and get more coverage.

Acked-by: Daniel Stone <daniel@fooishbar.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8787>

3 years agoci/freedreno: bump VK coverage to 1/4 of the CTS.
Eric Anholt [Mon, 1 Feb 2021 22:24:31 +0000 (14:24 -0800)]
ci/freedreno: bump VK coverage to 1/4 of the CTS.

With the runner fixes, we were down to 2 minutes of boot time and 2
minutes of CTS time for a total of 4 minutes.  We've got plenty of time
budget now to increase our coverage.

Acked-by: Daniel Stone <daniel@fooishbar.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8787>

3 years agoci/deqp: Bump runner to 0.5.1 for recent runtime perf improvements.
Eric Anholt [Fri, 29 Jan 2021 20:58:38 +0000 (12:58 -0800)]
ci/deqp: Bump runner to 0.5.1 for recent runtime perf improvements.

3 commits in 0.5.0:

- 20-40s savings on many of our CI runs by dropping the clever test size
  scaling code.

- Even bigger savings (especially on deqp-vk runs) by increasing maximuim
  test group size (~1/4 of runtime was spawning deqp on cheza, that cost
  is cut by ~75%)

- No more needing to manually set MESA_DEBUG=silent

2 commits in 0.5.1:

- Fixed automatic thread pool sizing to keep all CPUs busy (thanks for
  catching that Bas!).

- Automatically size down test groups on short test lists and many CPUs,
  so split the list evenly between CPUs (such as on freedreno -options
  jobs).

Acked-by: Daniel Stone <daniel@fooishbar.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8787>

3 years agonir/algebraic: Partially revert 3f782cdd2591
Ian Romanick [Fri, 17 Jan 2020 21:33:20 +0000 (13:33 -0800)]
nir/algebraic: Partially revert 3f782cdd2591

I'm not sure what the logic was, but there is no opportunity for
anything to flush to zero here.  'a' is a Boolean value, and b2f
produces 1.0 or 0.0.

This was originally part of
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3765/.

Reviewed-by: Matt Turner <mattst88@gmail.com>
Cc: Andres Gomez <agomez@igalia.com>
Cc: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Cc: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8910>