mesa.git
4 years agofreedreno/ir3/group: fix for half-regs
Rob Clark [Fri, 15 May 2020 22:48:06 +0000 (15:48 -0700)]
freedreno/ir3/group: fix for half-regs

If we're inserting a mov to resolve a conflict between meta:collect's
(ie. for .zyx type swizzles, etc), we should use the correct precision.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>

4 years agofreedreno/ir3: make input/output iterators declare cursor ptr
Rob Clark [Sat, 16 May 2020 19:15:23 +0000 (12:15 -0700)]
freedreno/ir3: make input/output iterators declare cursor ptr

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>

4 years agofreedreno/ir3: make foreach_ssa_src declar cursor ptr
Rob Clark [Sat, 16 May 2020 19:08:26 +0000 (12:08 -0700)]
freedreno/ir3: make foreach_ssa_src declar cursor ptr

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>

4 years agofreedreno/ir3: make foreach_src declare cursor ptr
Rob Clark [Sat, 16 May 2020 19:01:08 +0000 (12:01 -0700)]
freedreno/ir3: make foreach_src declare cursor ptr

To match how the newer iterators work.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>

4 years agofreedreno/ir3: be iterative
Rob Clark [Thu, 14 May 2020 19:09:35 +0000 (12:09 -0700)]
freedreno/ir3: be iterative

It does pick up a few more cf/cp opportunities, according to sharder-db.
But don't think it will be measurable.

But this will allow some future simplification to cp by pulling out it's
internal iteration.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>

4 years agofreedreno/ir3: move where we preserve binning pass inputs
Rob Clark [Thu, 14 May 2020 21:28:52 +0000 (14:28 -0700)]
freedreno/ir3: move where we preserve binning pass inputs

For a6xx, since we use same VBO state for binning and VS, we need to
preserve potentially unused inputs.  This needs to be done before DCE.
So move it before we add earlier DCE passes.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>

4 years agofreedreno/ir3: add IR3_PASS() macro
Rob Clark [Thu, 14 May 2020 19:02:54 +0000 (12:02 -0700)]
freedreno/ir3: add IR3_PASS() macro

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>

4 years agofreedreno/ir3/postsched: report progress
Rob Clark [Thu, 14 May 2020 23:09:07 +0000 (16:09 -0700)]
freedreno/ir3/postsched: report progress

Or do the easy thing and claim we always changed something.  It is kinda
hard and not worth the effort to determine for real.

Also rip out unused error handling.  This pass should never fail.  And
we weren't even actually checking the return.

And while we're at it, switch over to taking the 'struct ir3 ir*`
instead of ctx, to standardize with the other passes.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>

4 years agofreedreno/ir3/legalize: report progress
Rob Clark [Thu, 14 May 2020 23:02:55 +0000 (16:02 -0700)]
freedreno/ir3/legalize: report progress

It always does something.  Just return true for IR3_PASS()

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>

4 years agofreedreno/ir3/group: report progress
Rob Clark [Thu, 14 May 2020 23:01:29 +0000 (16:01 -0700)]
freedreno/ir3/group: report progress

Not iterative, but this will let IR3_PASS() macro know if there are any
changes to print.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>

4 years agofreedreno/ir3/deps: report progress
Rob Clark [Thu, 14 May 2020 22:43:31 +0000 (15:43 -0700)]
freedreno/ir3/deps: report progress

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>

4 years agofreedreno/ir3/cp: report progress
Rob Clark [Thu, 14 May 2020 18:52:02 +0000 (11:52 -0700)]
freedreno/ir3/cp: report progress

Later when we do this pass iteratively, we can drop some of the internal
iteration and just rely on this pass getting run until there is no more
progress.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>

4 years agofreedreno/cf: report progress
Rob Clark [Thu, 14 May 2020 18:42:11 +0000 (11:42 -0700)]
freedreno/cf: report progress

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>

4 years agofreedreno/ir3/dce: report progress
Rob Clark [Thu, 14 May 2020 18:39:14 +0000 (11:39 -0700)]
freedreno/ir3/dce: report progress

Eventually we'll pull the iteration out of the pass itself, but the
first step is to just report progress.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>

4 years agofreedreno/ir3: juggle around ir3_debug_print()
Rob Clark [Thu, 14 May 2020 18:36:05 +0000 (11:36 -0700)]
freedreno/ir3: juggle around ir3_debug_print()

In a later patch, this will get folded into an IR3_PASS() macro, at
least for most passes.  But to do that, it is better to standardize
on printing the ir3 after the pass.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>

4 years agofreedreno/ir3: remove Sethi-Ullman numbering pass
Rob Clark [Thu, 14 May 2020 22:35:28 +0000 (15:35 -0700)]
freedreno/ir3: remove Sethi-Ullman numbering pass

We haven't used this for a while.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>

4 years agoradv: fix missing break in radv_GetPhysicalDeviceProperties2()
Samuel Pitoiset [Tue, 19 May 2020 09:53:13 +0000 (11:53 +0200)]
radv: fix missing break in radv_GetPhysicalDeviceProperties2()

Fixes: 57e796a12a8 ("radv: Implement VK_EXT_custom_border_color")
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/5097>

4 years agoaco: fix disassembly with LLVM 11
Rhys Perry [Fri, 15 May 2020 20:31:35 +0000 (21:31 +0100)]
aco: fix disassembly with LLVM 11

SymbolInfoTy was modified in LLVM 11. It is also in MCDisassembler.h now
and we don't have to duplicate it anymore.

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

4 years agor600/sfn: Fix printing ALU op without dest
Gert Wollny [Mon, 18 May 2020 18:34:06 +0000 (20:34 +0200)]
r600/sfn: Fix printing ALU op without dest

e.g. GROUP_BARRIER doesn't have a dest.

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>

4 years agor600/sfn: Don't reorder outputs by location
Gert Wollny [Wed, 6 May 2020 22:01:11 +0000 (00:01 +0200)]
r600/sfn: Don't reorder outputs by location

This was wrong, if anything it should be sorted by device_location, and NIR usually
provides this.

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>

4 years agor600/sfn: Fix splitting constants that come from different kcache banks.
Gert Wollny [Sat, 16 May 2020 18:39:45 +0000 (20:39 +0200)]
r600/sfn: Fix splitting constants that come from different kcache banks.

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>

4 years agor600/sfn: Fix clip vertex output as possible stream variable
Gert Wollny [Sat, 16 May 2020 14:44:27 +0000 (16:44 +0200)]
r600/sfn: Fix clip vertex output as possible stream variable

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>

4 years agor600/sfn: SSBO: Fix query of dest components
Gert Wollny [Sun, 10 May 2020 18:19:25 +0000 (20:19 +0200)]
r600/sfn: SSBO: Fix query of dest components

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>

4 years agor600/sfn: use the per shader atomic base
Gert Wollny [Sat, 9 May 2020 17:39:40 +0000 (19:39 +0200)]
r600/sfn: use the per shader atomic base

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>

4 years agor600/sfn: Add support for texture_samples
Gert Wollny [Sat, 9 May 2020 13:21:01 +0000 (15:21 +0200)]
r600/sfn: Add support for texture_samples

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>

4 years agor600/sfn: support indirect sampler buffer reads.
Gert Wollny [Sat, 9 May 2020 08:40:58 +0000 (10:40 +0200)]
r600/sfn: support indirect sampler buffer reads.

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>

4 years agor600/sfn: assert when alu dest is missing
Gert Wollny [Fri, 8 May 2020 15:46:49 +0000 (17:46 +0200)]
r600/sfn: assert when alu dest is missing

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>

4 years agor600/sfn: remove pointless check
Gert Wollny [Fri, 8 May 2020 14:24:37 +0000 (16:24 +0200)]
r600/sfn: remove pointless check

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>

4 years agor600/sfn: Don't reject VARYING_SLOT_PCNT
Gert Wollny [Thu, 7 May 2020 17:19:32 +0000 (19:19 +0200)]
r600/sfn: Don't reject VARYING_SLOT_PCNT

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>

4 years agor600/sfn: Add FS output sample_mask
Gert Wollny [Wed, 6 May 2020 22:09:02 +0000 (00:09 +0200)]
r600/sfn: Add FS output sample_mask

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>

4 years agor600/sfn: Handle loading sample_pos
Gert Wollny [Wed, 6 May 2020 22:03:29 +0000 (00:03 +0200)]
r600/sfn: Handle loading sample_pos

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>

4 years agor600/sfn: Take FOGC, and backcolors into account im GS outputs
Gert Wollny [Wed, 6 May 2020 22:01:48 +0000 (00:01 +0200)]
r600/sfn: Take FOGC, and backcolors into account im GS outputs

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>

4 years agor600/sfn: Add support for viewport index output
Gert Wollny [Wed, 6 May 2020 21:59:34 +0000 (23:59 +0200)]
r600/sfn: Add support for viewport index output

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>

4 years agor600/sfn: Make 3vec loads skip possible moves
Gert Wollny [Wed, 6 May 2020 21:58:25 +0000 (23:58 +0200)]
r600/sfn: Make 3vec loads skip possible moves

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>

4 years agor600/sfn: Fix handling of output register index
Gert Wollny [Wed, 6 May 2020 21:55:56 +0000 (23:55 +0200)]
r600/sfn: Fix handling of output register index

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>

4 years agor600/sfn: Make allocate_reserved_registers forward to a virtual function
Gert Wollny [Wed, 6 May 2020 21:54:38 +0000 (23:54 +0200)]
r600/sfn: Make allocate_reserved_registers forward to a virtual function

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>

4 years agor600/sfn: Fix RAT instruction assembly emission
Gert Wollny [Wed, 6 May 2020 21:51:42 +0000 (23:51 +0200)]
r600/sfn: Fix RAT instruction assembly emission

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>

4 years agor600/sfn: Fix GDS assembly emission
Gert Wollny [Wed, 6 May 2020 21:51:09 +0000 (23:51 +0200)]
r600/sfn: Fix GDS assembly emission

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>

4 years agor600/sfn: Fix RING instruction assembly emission
Gert Wollny [Wed, 6 May 2020 21:50:38 +0000 (23:50 +0200)]
r600/sfn: Fix RING instruction assembly emission

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>

4 years agor600/sfn: Fix memring print output
Gert Wollny [Wed, 6 May 2020 21:39:06 +0000 (23:39 +0200)]
r600/sfn: Fix memring print output

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>

4 years agor600/sfn: skip copying LOD if the target register is is the same
Gert Wollny [Wed, 6 May 2020 21:38:40 +0000 (23:38 +0200)]
r600/sfn: skip copying LOD if the target register is is the same

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>

4 years agor600/sfn: re-use an allocated register in lookup
Gert Wollny [Wed, 6 May 2020 21:38:01 +0000 (23:38 +0200)]
r600/sfn: re-use an allocated register in lookup

For texture coordinates we always allocate all four components so that
we can use these for LOD and, compare etc.

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>

4 years agor600/sfn: Skip move instructions if they are only ssa and without modifiers
Gert Wollny [Wed, 6 May 2020 21:28:30 +0000 (23:28 +0200)]
r600/sfn: Skip move instructions if they are only ssa and without modifiers

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>

4 years agor600/sfn: rework getting a vector and uniforms from the value pool
Gert Wollny [Wed, 6 May 2020 21:36:14 +0000 (23:36 +0200)]
r600/sfn: rework getting a vector and uniforms from the value pool

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>

4 years agor600/sfn: Handle CF index loading from non-X channel
Gert Wollny [Wed, 6 May 2020 21:49:41 +0000 (23:49 +0200)]
r600/sfn: Handle CF index loading from non-X channel

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>

4 years agor600: Add support for loading index register from other than chan X
Gert Wollny [Wed, 6 May 2020 21:20:49 +0000 (23:20 +0200)]
r600: Add support for loading index register from other than chan X

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>

4 years agor600: Lower lerp after tgsi_to_nir
Gert Wollny [Sat, 9 May 2020 16:03:52 +0000 (18:03 +0200)]
r600: Lower lerp after tgsi_to_nir

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>

4 years agor600: Lower int64 ops from TGSI-to-NIR shaders too
Gert Wollny [Wed, 6 May 2020 21:25:03 +0000 (23:25 +0200)]
r600: Lower int64 ops from TGSI-to-NIR shaders too

r600 uses a TGSI shaders with 64 bit ints for a query compute shader.

v2: Use screen version of tgsi_to_nir and fix compile error

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>

4 years agor600/sfn: Fix printing vertex fetch instruction flags
Gert Wollny [Wed, 6 May 2020 21:15:28 +0000 (23:15 +0200)]
r600/sfn: Fix printing vertex fetch instruction flags

Fixes: f718ac62688b555a933c7112f656944288d04edb
    r600/sfn: Add a basic nir shader backend

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>

4 years agor600/sfn: Unify semantic name and index query and use TEXCOORD semantic
Gert Wollny [Mon, 18 May 2020 12:36:10 +0000 (14:36 +0200)]
r600/sfn: Unify semantic name and index query and use TEXCOORD semantic

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>

4 years agoRevert "gallium/gallivm: fix compilation issues with llvm 11"
Michel Dänzer [Mon, 18 May 2020 11:52:45 +0000 (13:52 +0200)]
Revert "gallium/gallivm: fix compilation issues with llvm 11"

This reverts commit e2a7436dd10df70ba14d18ab7cf8ad538f80e653.

The corresponding LLVM changes were reverted.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2983
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5087>

4 years agoRevert "ac,radeonsi: fix compilations issues with LLVM 11"
Michel Dänzer [Mon, 18 May 2020 11:53:30 +0000 (13:53 +0200)]
Revert "ac,radeonsi: fix compilations issues with LLVM 11"

This reverts commit 42b1696ef627a5bfee29911a780fa0a4dbf04610.

The corresponding LLVM changes were reverted.

Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5087>

4 years agonir: Consider atomic counter intrinsics when setting writes_memory
Caio Marcelo de Oliveira Filho [Tue, 19 May 2020 00:43:34 +0000 (17:43 -0700)]
nir: Consider atomic counter intrinsics when setting writes_memory

In i965 these get lowered after gather info, so let's consider them
too.  Fixes

    piglit.spec.arb_framebuffer_no_attachments.arb_framebuffer_no_attachments-atomic

in Gen9, HSW and IVB.

Fixes: 6a6c36e9776 ("intel/fs: Use writes_memory from shader_info")
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5093>

4 years agollvmpipe: add gl_SampleMaskIn support.
Dave Airlie [Thu, 26 Mar 2020 02:32:35 +0000 (12:32 +1000)]
llvmpipe: add gl_SampleMaskIn support.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5050>

4 years agogallivm/nir: add sample_mask_in support
Dave Airlie [Thu, 26 Mar 2020 02:32:24 +0000 (12:32 +1000)]
gallivm/nir: add sample_mask_in support

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5050>

4 years agollvmpipe/fs: hook up the interpolation APIs.
Dave Airlie [Fri, 27 Mar 2020 06:35:20 +0000 (16:35 +1000)]
llvmpipe/fs: hook up the interpolation APIs.

This hooks the nir code to the interp code.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5050>

4 years agollvmpipe: add interp instruction support
Dave Airlie [Fri, 27 Mar 2020 06:34:27 +0000 (16:34 +1000)]
llvmpipe: add interp instruction support

This allows interpolating an attribute at offset/sample/centroid
locations.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5050>

4 years agollvmpipe/interp: refactor out centroid calculations
Dave Airlie [Tue, 12 May 2020 20:49:07 +0000 (06:49 +1000)]
llvmpipe/interp: refactor out centroid calculations

These will be reused in the interp instruction code.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5050>

4 years agollvmpipe/interp: refactor out use of pixel center offset
Dave Airlie [Tue, 12 May 2020 20:47:14 +0000 (06:47 +1000)]
llvmpipe/interp: refactor out use of pixel center offset

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5050>

4 years agogallivm/nir: add an interpolation interface.
Dave Airlie [Fri, 27 Mar 2020 06:33:28 +0000 (16:33 +1000)]
gallivm/nir: add an interpolation interface.

This supports interpolating at a certain location, offsets,
sample or centroid.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5050>

4 years agollvmpipe: remove non-simple interpolation paths.
Dave Airlie [Thu, 7 May 2020 22:36:59 +0000 (08:36 +1000)]
llvmpipe: remove non-simple interpolation paths.

These are broken since adding multisample, and unused for
quite a while.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5050>

4 years agollvmpipe/interp: fix interpolating frag pos for sample shading
Dave Airlie [Thu, 16 Apr 2020 06:10:34 +0000 (16:10 +1000)]
llvmpipe/interp: fix interpolating frag pos for sample shading

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5050>

4 years agollvmpipe: use per-sample position not sample id for interp
Dave Airlie [Thu, 7 May 2020 01:25:01 +0000 (11:25 +1000)]
llvmpipe: use per-sample position not sample id for interp

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5050>

4 years agollvmpipe: don't use sample mask with 0 samples
Dave Airlie [Mon, 6 Apr 2020 06:57:47 +0000 (16:57 +1000)]
llvmpipe: don't use sample mask with 0 samples

piglit:
spec/arb_sample_shading/builtin-gl-sample-mask 0
spec/arb_sample_shading/builtin-gl-sample-mask-simple 0
CTS:
KHR-GL45.sample_variables.mask.rgba8.samples_0.mask_zero

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5050>

4 years agor600/sfn: add emit if start cayman support
Dave Airlie [Mon, 18 May 2020 06:40:55 +0000 (16:40 +1000)]
r600/sfn: add emit if start cayman support

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

4 years agor600/sfn: add callstack non-evergreen support
Dave Airlie [Mon, 18 May 2020 06:36:46 +0000 (16:36 +1000)]
r600/sfn: add callstack non-evergreen support

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

4 years agor600/sfn: cayman fix int trans op2
Dave Airlie [Mon, 18 May 2020 06:28:10 +0000 (16:28 +1000)]
r600/sfn: cayman fix int trans op2

Fix integer multiplies

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

4 years agor600/sfn: fix cayman float instruction emission.
Dave Airlie [Mon, 18 May 2020 05:43:16 +0000 (15:43 +1000)]
r600/sfn: fix cayman float instruction emission.

This is enough to get glxgears working.

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

4 years agor600/sfn: plumb the chip class into the instruction emission
Dave Airlie [Mon, 18 May 2020 05:14:35 +0000 (15:14 +1000)]
r600/sfn: plumb the chip class into the instruction emission

In order to emit the correct instruction sequences for cayman
we need this info.

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

4 years agoanv:gpu_memcpy: Emit 3DSTATE_VF_INDEXING on Gen8+
Jason Ekstrand [Fri, 24 Apr 2020 17:27:21 +0000 (12:27 -0500)]
anv:gpu_memcpy: Emit 3DSTATE_VF_INDEXING on Gen8+

If this gets run right after something which uses
VK_VERTEX_INPUT_RATE_INSTANCE on its first vertex binding, we could end
up in serious trouble.

Fixes: 3d9747780b "anv: Add a helper for doing buffer copies with..."
Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5090>

4 years agointel/fs: Use writes_memory from shader_info
Caio Marcelo de Oliveira Filho [Wed, 29 Apr 2020 20:48:58 +0000 (13:48 -0700)]
intel/fs: Use writes_memory from shader_info

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

4 years agonir: Use deref intrinsics to set writes_memory when gathering info
Caio Marcelo de Oliveira Filho [Tue, 5 May 2020 15:57:12 +0000 (08:57 -0700)]
nir: Use deref intrinsics to set writes_memory when gathering info

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

4 years agor600: enable TEXCOORD semantic for TGSI.
Dave Airlie [Mon, 18 May 2020 04:04:10 +0000 (14:04 +1000)]
r600: enable TEXCOORD semantic for TGSI.

This should make intergrating with NIR easier

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

4 years agoci: Switch the baremetal runner to be an x86 docker image.
Eric Anholt [Wed, 13 May 2020 18:08:08 +0000 (11:08 -0700)]
ci: Switch the baremetal runner to be an x86 docker image.

The runner is an x86 system, so running the ARM image meant doing
everything at runtime under qemu, and for the xz of the test rootfs that
was quite expensive.  Also, we can rebuild x86 images much faster than we
can rebuild arm images for container development, which will help unblock
some of the other feature parity work I have to do versus the old docker
system that cheza is using.

Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5033>

4 years agoci: Update versions of packages to remove from rootfses.
Eric Anholt [Wed, 13 May 2020 23:58:26 +0000 (16:58 -0700)]
ci: Update versions of packages to remove from rootfses.

testing's versions have updated, and the apt one was pretty big in the
stripped rootfs.

Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5033>

4 years agoci: Make the create-rootfs more resilient.
Eric Anholt [Wed, 13 May 2020 21:36:36 +0000 (14:36 -0700)]
ci: Make the create-rootfs more resilient.

If the file doesn't exist, fine.  We didn't happen to get that package
dragged in.

Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5033>

4 years agoci: Make cmake toolchain file for deqp cross build setup.
Eric Anholt [Thu, 14 May 2020 17:38:12 +0000 (10:38 -0700)]
ci: Make cmake toolchain file for deqp cross build setup.

This adds a few more variables that we found we needed for x86-to-arm dEQP
cross builds.  Also note that we're now fixed to use ccache in the dEQP
builds.

Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5033>

4 years agoci: Autodetect whether we need cross setup in lava_arm builds.
Eric Anholt [Wed, 13 May 2020 19:14:39 +0000 (12:14 -0700)]
ci: Autodetect whether we need cross setup in lava_arm builds.

The x86 baremetal build would have an armhf cross file, and need the
kernel env setup.

Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5033>

4 years agoci: Move cross file generation to a shared script.
Eric Anholt [Wed, 13 May 2020 18:54:04 +0000 (11:54 -0700)]
ci: Move cross file generation to a shared script.

We're going to do this in another container soon, and it would also be
nice to consolidate cmake cross setup.

Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5033>

4 years agoiris: Initialise stub iris_seqno to 0
Chris Wilson [Tue, 12 May 2020 08:17:04 +0000 (09:17 +0100)]
iris: Initialise stub iris_seqno to 0

We create a stub never-signaled seqno to force the iris_fence to use the
fence fd, but we need to fully initialise the iris_seqno struct so that
the unset pointers are NULL and we do not try to destroy them later.

  ==38644== Conditional jump or move depends on uninitialised value(s)
  ==38644==    at 0xF7FBFAA: pipe_resource_reference (u_inlines.h:142)
  ==38644==    by 0xF7FC22F: iris_seqno_destroy (iris_seqno.c:38)
  ==38644==    by 0xF7E8930: iris_seqno_reference (iris_seqno.h:89)
  ==38644==    by 0xF7E8BC3: iris_fence_destroy (iris_fence.c:131)
  ==38644==    by 0xF7E8C41: iris_fence_reference (iris_fence.c:143)
  ==38644==    by 0xEF24525: dri2_destroy_fence (dri_helpers.c:176)
  ==38644==    by 0x4865DC2: dri2_egl_unref_sync (egl_dri2.c:3302)
  ==38644==    by 0x48661E8: dri2_destroy_sync (egl_dri2.c:3433)
  ==38644==    by 0x4855BA4: _eglDestroySync (eglapi.c:1952)
  ==38644==    by 0x4855CF5: eglDestroySyncKHR (eglapi.c:1972)
  ==38644==    by 0x402628: test_cleanup (egl_khr_fence_sync.c:232)
  ==38644==    by 0x40421E: test_eglCreateSyncKHR_native_from_fd (egl_khr_fence_sync.c:1521)

Closes: #2909
Fixes: fd1907efb385a6f66897 ("iris: Convert fences to using lightweight seqno")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-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/5004>

4 years agofreedreno/drm: handle ancient kernels
Rob Clark [Sun, 17 May 2020 23:16:43 +0000 (16:16 -0700)]
freedreno/drm: handle ancient kernels

Older kernels did not support `MSM_INFO_GET_IOVA`.  But this is only
required for (a) clover (ie. `fd_set_global_binding()`) and drm paths
that are limited to newer kernels.  So move the location of the assert
to fix new userspace on old kernels.

Fixes: c9e8df61dc8 ("freedreno: Initialize the bo's iova at creation time.")
Signed-off-by: Rob Clark <robdclark@chromium.org>
Tested-by: Ilia Mirkin <imirkin@alum.mit.edu>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5081>

4 years agofreedreno/drm: don't pass thru 'DUMP' flag on older kernels
Rob Clark [Sun, 17 May 2020 20:01:30 +0000 (13:01 -0700)]
freedreno/drm: don't pass thru 'DUMP' flag on older kernels

"softpin" mode was introduced in the same kernel as the 'DUMP' flag.  So
if we are using the legacy non-softpin path, clear the dump flag.  OTOH
the 'DUMP' flag isn't quite so needed on older kernels, since we would
get all cmdstream, even SDS stateobjs, dumped regardless, as they would
have cmd table entries.

Fixes: b2c23b1e48f ("freedreno: Mark all ringbuffer BOs as to be dumped on crash.")
Signed-off-by: Rob Clark <robdclark@chromium.org>
Tested-by: Ilia Mirkin <imirkin@alum.mit.edu>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5081>

4 years agofreedreno/a3xx: fix rasterizer discard
Ilia Mirkin [Sun, 17 May 2020 23:50:08 +0000 (19:50 -0400)]
freedreno/a3xx: fix rasterizer discard

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5080>

4 years agofreedreno/fdperf: add dependency on generated headers
Rob Clark [Mon, 18 May 2020 17:14:21 +0000 (10:14 -0700)]
freedreno/fdperf: add dependency on generated headers

To fix an issue reported here:
https://bugs.chromium.org/p/chromium/issues/detail?id=1083815

Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5088>

4 years agoci: Fix TypoError error when traces in traces.yml is an empty list
Pablo Saavedra [Wed, 13 May 2020 14:44:30 +0000 (16:44 +0200)]
ci: Fix TypoError error when traces in traces.yml is an empty list

v2: Python's nitpick (Andres)

In case of an empty list of traces, the results.yml will contain an empty
curly braces. In YAML, an associative array can also be specified by text
enclosed in curly braces ({}),

This commit also adds the corresponding test to check the behavior of
tracie when no traces are added in the traces.yml file.

Signed-off-by: Pablo Saavedra <psaavedra@igalia.com>
Reviewed-by: Andres Gomez <agomez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4916>

4 years agoci: Split test_tracie_skips_traces_without_checksum in separate cases
Pablo Saavedra [Wed, 13 May 2020 18:48:32 +0000 (20:48 +0200)]
ci: Split test_tracie_skips_traces_without_checksum in separate cases

test_tracie_skips_traces_without_checksum does the logic previous to
the commit 8546d1dd789b58bd0aff5ca0a231efb35c09c1ac. The traces.yml includes
several traces, only the one without checksum is ignored by tracie.

As a complementary action, this change adds an new test
(test_tracie_only_traces_without_checksum) to verify the behavior for
cases where the traces.yml only contains traces without checksum.

Finally, test_tracie_skips_traces_without_checksum is renamed as
test_tracie_traces_with_and_without_checksum

Signed-off-by: Pablo Saavedra <psaavedra@igalia.com>
Reviewed-by: Andres Gomez <agomez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4916>

4 years agoci: Migrate tracie tests done in shell script to pytest
Pablo Saavedra [Mon, 4 May 2020 16:11:08 +0000 (18:11 +0200)]
ci: Migrate tracie tests done in shell script to pytest

v2: Verbatim translation from the original shell script
    Make the corrections visible in explicit commits (Andres)
    Remove redundant code (Alexandros)
    Code style nitpick (Rohan)

Reimplementation of the tracie's self-tests using a pythonic test suit
(pytest).

The new tracie/test.py module is almost a direct translation of the
tests defined in the tracie/test.sh. This new implementation of the
test provides a more common framework where define the tests.
Also allows a better introspection for the tests results and/or
resulting errors.

This patch also adds python3-pytest as dependency for the built images
and adapts the tracie-runner scripts to run the self-test using pytest.

Signed-off-by: Pablo Saavedra <psaavedra@igalia.com>
Reviewed-by: Alexandros Frantzis <alexandros.frantzis@collabora.com> [v1]
Reviewed-by: Andres Gomez <agomez@igalia.com>
Reviewed-by: Rohan Garg <rohan.garg@collabora.com> [v1]
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4916>

4 years agoci: ArgumentParser receives the args from the main parameters
Pablo Saavedra [Tue, 5 May 2020 13:08:04 +0000 (15:08 +0200)]
ci: ArgumentParser receives the args from the main parameters

Change the main function to receive the args parameter from
sys.argv[1:]. The args parameter will be passed to the
ArgumentParser.parse_args() function as argument.

This change provides an easier  main() function signature to use
with pythonic testsuites.

Signed-off-by: Pablo Saavedra <psaavedra@igalia.com>
Reviewed-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
Reviewed-by: Andres Gomez <agomez@igalia.com>
Reviewed-by: Rohan Garg <rohan.garg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4916>

4 years agoci: TRACES_DB_PATH and RESULTS_PATH defined as relative paths
Pablo Saavedra [Tue, 5 May 2020 07:07:34 +0000 (09:07 +0200)]
ci: TRACES_DB_PATH and RESULTS_PATH defined as relative paths

RESULTS_PATH and RESULTS_PATH, as variables in the module context, are
resolved one single time, only during the first module loading. If the
the Python code in execution changes the current dir at some point,
those paths are not going to be updated anymore keeping the paths
wrongly pointing to the old working dir.

This change modify the definition of those variables to use simply
relative paths.

Signed-off-by: Pablo Saavedra <psaavedra@igalia.com>
Reviewed-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
Reviewed-by: Andres Gomez <agomez@igalia.com>
Reviewed-by: Rohan Garg <rohan.garg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4916>

4 years agoetnaviv: don't expose timer queries
Lucas Stach [Mon, 18 May 2020 13:50:36 +0000 (15:50 +0200)]
etnaviv: don't expose timer queries

We don't support any timer queries, so stop lying about our
ability to do so.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5086>

4 years agofreedreno/a3xx: parameterize ubo optimization
Ilia Mirkin [Sun, 17 May 2020 22:08:11 +0000 (18:08 -0400)]
freedreno/a3xx: parameterize ubo optimization

A3xx apparently has higher alignment requirements than later gens for
indirect const uploads. It also has fewer of them. Add compiler
parameters for both settings, and set accordingly for a3xx and a4xx+.
This fixes all the ubo test failures caused by this optimization.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5077>

4 years agofreedreno: fix off-by-one in assertions checking for const sizes
Ilia Mirkin [Sun, 17 May 2020 05:42:06 +0000 (01:42 -0400)]
freedreno: fix off-by-one in assertions checking for const sizes

Caused assertions to trip even though everything was fine. The number of
constants can be equal to length, so we need less-than-or-equal.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5077>

4 years agofreedreno/a3xx: fix const footprint
Ilia Mirkin [Sun, 17 May 2020 22:05:42 +0000 (18:05 -0400)]
freedreno/a3xx: fix const footprint

In commit 5d8f40a53a5, the change was done incorrectly, switching from
max_const to constlen + 1. Instead it should have been constlen - 1,
which is the analog to the former max_const.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5077>

4 years agofreedreno/ir3: avoid applying (sat) on bary.f
Ilia Mirkin [Sun, 17 May 2020 03:59:40 +0000 (23:59 -0400)]
freedreno/ir3: avoid applying (sat) on bary.f

This causes failures on a3xx resulting in the non-sensical dEQP failures
on packUnorm2x16. The same test uses ldlv on a4xx+, so just disallow
(sat) on bary.f on all generations.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5074>

4 years agofreedreno/a3xx: reinstate rgb10_a2ui texture format
Ilia Mirkin [Sun, 17 May 2020 01:39:09 +0000 (21:39 -0400)]
freedreno/a3xx: reinstate rgb10_a2ui texture format

Rendering doesn't work, but having the format in place avoids an assert
when selecting the texture format in st_format. I believe it's required
for GLES3, so more tracing is required to determine what bit we're
missing to make rendering work.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5073>

4 years agofreedreno/a3xx: there's no r8i/ui rb format, only rg8i/rg8ui
Ilia Mirkin [Sun, 17 May 2020 01:37:53 +0000 (21:37 -0400)]
freedreno/a3xx: there's no r8i/ui rb format, only rg8i/rg8ui

This fixes a number of dEQP tests:

  dEQP-GLES3.functional.fbo.blit.conversion.r8*
  dEQP-GLES3.texture.specification.basic_teximage2d.r8*

and others. The reason why this enum showed up in traces for R8 is that
it was an "upgraded" texture to R8G8.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5073>

4 years agoradv: use util_float_to_half_rtz
Christopher Egert [Fri, 15 May 2020 14:41:15 +0000 (16:41 +0200)]
radv: use util_float_to_half_rtz

Since commit 8b8af6d398a94cb07015c695fdfdb5c157aa72cf there is a
performance regression in dirt 4 on picasso APUs.

The game ends up feeding a large value into this which overflows on the
conversion to 16bit float. With the old implementation (which now lives
in util_float_to_half_rtz) it would be clamped to inf-1, while the new
one returns inf. This causes a performance hit somehow at some point
down the line.

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Fixes: 8b8af6d398a "gallium/util: Switch util_float_to_half to _mesa_float_to_half()'s impl."
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5062>

4 years agolima/ppir: optimize tex loads with single successor
Erico Nunes [Thu, 23 Apr 2020 18:12:01 +0000 (20:12 +0200)]
lima/ppir: optimize tex loads with single successor

These don't need a mov, and can be used directly with pipeline output.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4975>

4 years agolima/ppir: rework tex lowering
Erico Nunes [Sun, 19 Apr 2020 17:36:57 +0000 (19:36 +0200)]
lima/ppir: rework tex lowering

Move steps from lowering to emit, since they can be done earlier in a
single place, rather than in two-steps.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4975>

4 years agolima/ppir: improve handling for successors in other blocks
Erico Nunes [Sun, 10 May 2020 14:08:13 +0000 (16:08 +0200)]
lima/ppir: improve handling for successors in other blocks

ppir doesn't register successors in other blocks, and causes
ppir_node_has_single_succ to be unreliable as it might return true for
nodes with successors in other blocks.
This is bad for optimization passes that try to pipeline registers or
avoid insertion of movs, as that can generally only be done for nodes
with a single user.
As of now, ppir can't just start adding successors in other blocks as
that breaks the scheduling code.
So this patch is a little hacky but enables pipelining optimizations
during lowering. It can hopefully be removed during future scheduler
rework.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4975>