Mesa (master): 25 new commits
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Tue May 19 16:22:04 UTC 2020
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3c355f1ae8be2a7e1f9141c5433bdbb35fdcd7e6
Author: Rob Clark <robdclark at chromium.org>
Date: Sat May 16 13:32:14 2020 -0700
freedreno/ir3/validate: add checking for types and opcodes
For cases where instructions have a src and/or dst type, validate that
it matches the src/dst register types. And for cases where there are
different opcodes for half vs full, validate that the opcode matches.
Now that we maintain this properly throughout the stages of the ir, we
can drop the fixups from the RA pass.
Signed-off-by: Rob Clark <robdclark at chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f484d63617afe67f9eb8ba98f96e5c3617aa43c8
Author: Rob Clark <robdclark at chromium.org>
Date: Sat May 16 14:24:45 2020 -0700
freedreno/ir3: add helpers to deal with src/dst types
Add some helpers to properly maintain src/dst types, and in the cases
where opcode depends on src or dst type, maintain that as well.
Signed-off-by: Rob Clark <robdclark at chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3561d34fff44ae82283dc1d4352e87d47793c40e
Author: Rob Clark <robdclark at chromium.org>
Date: Fri May 15 16:14:47 2020 -0700
freedreno/ir3: add simple validate pass
We can add to this as we notice other things that are worth validating
between ir3 passes.
Signed-off-by: Rob Clark <robdclark at chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=554f3d54ca1abac21df7ab052c1b48d9d44e774c
Author: Rob Clark <robdclark at chromium.org>
Date: Sun May 17 10:28:52 2020 -0700
freedreno/ir3: fix mismatched wrmask for overlapping VS inputs
Signed-off-by: Rob Clark <robdclark at chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=16cd232dbc31fd594b8ce6b04576870b36d301f6
Author: Rob Clark <robdclark at chromium.org>
Date: Sat May 16 18:03:25 2020 -0700
freedreno/ir3/cp: fix cmps folding
When we start doing cp iteratively, we hit the case that we've already
`cmps.s.*` into a `cmps.s.ne p0.x, ...`.. when we try to do that again
we can invert the logic condition. So check specifically the condition
to prevent this.
TODO we could maybe be more clever about this to combine conditions.
But why isn't that happening in nir? For example, see
dEQP-GLES31.functional.ssbo.layout.single_basic_array.packed.bool
Signed-off-by: Rob Clark <robdclark at chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=39de27d3b9031af5115504893b5e1bd42756d3db
Author: Rob Clark <robdclark at chromium.org>
Date: Sat May 16 17:47:49 2020 -0700
freedreno/ir3/print: print cat2 condition
Signed-off-by: Rob Clark <robdclark at chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7b86b5ed7d355c97b5eb889637e9dd66d98a6e1d
Author: Rob Clark <robdclark at chromium.org>
Date: Sat May 16 15:58:04 2020 -0700
freedreno/ir3: fix immed type in create_addr0()
We can also remove a bunch of manual src/dst flag munging, since the
instruction builders handle this automatically now.
Signed-off-by: Rob Clark <robdclark at chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3474ba53b5e6560e758cef51b50d248b6fb806ec
Author: Rob Clark <robdclark at chromium.org>
Date: Fri May 15 17:12:25 2020 -0700
freedreno/ir3/cf: handle multiple cov's properly
There can be multiple (for ex.) f32f16's from a single source, in
particular appearing in different blocks. We need to update all uses
of the src which had conversion folded in, not all the uses of the
individual cov. Also, to avoid invalidating the ssa use info that was
gathered at the beginning of the pass, don't actually eliminate the
cov, but instead change it to a simple mov that the cp pass can gobble
up.
Signed-off-by: Rob Clark <robdclark at chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3db5d146e97e132e17fe7e3aca306c3523d14279
Author: Rob Clark <robdclark at chromium.org>
Date: Fri May 15 16:44:29 2020 -0700
freedreno/ir3: fix mismatched flags on split
We have to fixup the meta:split half flag, because `ir3_split_dest()` is
called before we fixup the dest type. But we should fixup both the
split src and dest, as well as the thing it is splitting.
Signed-off-by: Rob Clark <robdclark at chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b24b6a83653f1b53237288215cbff94ffeb2dc56
Author: Rob Clark <robdclark at chromium.org>
Date: Fri May 15 15:48:06 2020 -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 at chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=fcfe5eff63358371b10f1cb75964e3f930d4c858
Author: Rob Clark <robdclark at chromium.org>
Date: Sat May 16 12:15:23 2020 -0700
freedreno/ir3: make input/output iterators declare cursor ptr
Signed-off-by: Rob Clark <robdclark at chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c1d33eed417a78407d0955b603085f4e521d9edf
Author: Rob Clark <robdclark at chromium.org>
Date: Sat May 16 12:08:26 2020 -0700
freedreno/ir3: make foreach_ssa_src declar cursor ptr
Signed-off-by: Rob Clark <robdclark at chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=65f604e3b3b25bb95c96062675817a3828562e26
Author: Rob Clark <robdclark at chromium.org>
Date: Sat May 16 12:01:08 2020 -0700
freedreno/ir3: make foreach_src declare cursor ptr
To match how the newer iterators work.
Signed-off-by: Rob Clark <robdclark at chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=599fd861d4898a0e1c51c64f2a5ae2665e052b53
Author: Rob Clark <robdclark at chromium.org>
Date: Thu May 14 12:09:35 2020 -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 at chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b828929ac9d14309b56177350b37def3b001e8a6
Author: Rob Clark <robdclark at chromium.org>
Date: Thu May 14 14:28:52 2020 -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 at chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d0cfc06a2c3ab583ab8a29d9f365cb5ee417dfe3
Author: Rob Clark <robdclark at chromium.org>
Date: Thu May 14 12:02:54 2020 -0700
freedreno/ir3: add IR3_PASS() macro
Signed-off-by: Rob Clark <robdclark at chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c9e5605720f48b3094e708e5c762b340544ab3ff
Author: Rob Clark <robdclark at chromium.org>
Date: Thu May 14 16:09:07 2020 -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 at chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c953794cd6e4a5767b0739b1effc48b066e2a29c
Author: Rob Clark <robdclark at chromium.org>
Date: Thu May 14 16:02:55 2020 -0700
freedreno/ir3/legalize: report progress
It always does something. Just return true for IR3_PASS()
Signed-off-by: Rob Clark <robdclark at chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c3630c9d29b7bc7dbdf7d914d39782b4d02c5520
Author: Rob Clark <robdclark at chromium.org>
Date: Thu May 14 16:01:29 2020 -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 at chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=721147a05d47229252dc49460f6de1eec793bfc2
Author: Rob Clark <robdclark at chromium.org>
Date: Thu May 14 15:43:31 2020 -0700
freedreno/ir3/deps: report progress
Signed-off-by: Rob Clark <robdclark at chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e4ecfde2dd07494855631865da45a8863372c3ae
Author: Rob Clark <robdclark at chromium.org>
Date: Thu May 14 11:52:02 2020 -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 at chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=372e4663011e7388114d798ac1028da5dd72ab92
Author: Rob Clark <robdclark at chromium.org>
Date: Thu May 14 11:42:11 2020 -0700
freedreno/cf: report progress
Signed-off-by: Rob Clark <robdclark at chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b6d121502d8e66cd891f3386ccfb0aee0d8af310
Author: Rob Clark <robdclark at chromium.org>
Date: Thu May 14 11:39:14 2020 -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 at chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9beb2baaff4a2019aefe3dfc75187d75dba04286
Author: Rob Clark <robdclark at chromium.org>
Date: Thu May 14 11:36:05 2020 -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 at chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=947aa23eff7ac6cfb17eb7bc56df0bc9ed4bd2b9
Author: Rob Clark <robdclark at chromium.org>
Date: Thu May 14 15:35:28 2020 -0700
freedreno/ir3: remove Sethi-Ullman numbering pass
We haven't used this for a while.
Signed-off-by: Rob Clark <robdclark at chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>
More information about the mesa-commit
mailing list