Mike Blumenkrantz [Tue, 2 Mar 2021 16:21:58 +0000 (11:21 -0500)]
zink: start using dynamic front face state
this doesn't actually do anything other than test the codepath since
the hashed pipeline state will still change on every frontface change,
but it's a start
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10508>
Mike Blumenkrantz [Tue, 2 Mar 2021 16:20:39 +0000 (11:20 -0500)]
zink: hook up dynamic dsa states
this is pretty straightforward, just adding some extra calls
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10508>
Mike Blumenkrantz [Tue, 19 Jan 2021 16:43:03 +0000 (11:43 -0500)]
zink: return current pipeline object if state hasn't changed
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10508>
Mike Blumenkrantz [Thu, 1 Apr 2021 20:36:01 +0000 (16:36 -0400)]
zink: flag pipeline for change more often when vbos change without dynamic state
this is always going to be bad for perf, but we still need to force updates anytime
we know for sure they'll be needed
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10508>
Mike Blumenkrantz [Thu, 1 Apr 2021 20:52:27 +0000 (16:52 -0400)]
zink: split vertex state pipeline hashing into its own value
by creating a separate hash value for vertex state, changes to the vbos and
bindings requires massively less overhead as it doesn't require the rest of
the pipeline state to be rehashed
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10508>
Mike Blumenkrantz [Thu, 1 Apr 2021 20:50:45 +0000 (16:50 -0400)]
zink: move more vertex state stuff into the hw state
this simplifies a lot of the hashing since only the vertex state pointer
needs to be hashed
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10508>
Mike Blumenkrantz [Fri, 8 Jan 2021 12:59:51 +0000 (07:59 -0500)]
zink: check descriptor layout support before creating it
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9965>
Mike Blumenkrantz [Fri, 1 Jan 2021 17:11:39 +0000 (12:11 -0500)]
zink: use explicit types during descriptor updates
less derefs
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9965>
Mike Blumenkrantz [Fri, 1 Jan 2021 16:20:43 +0000 (11:20 -0500)]
zink: abstract descriptor pool usage for programs
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9965>
Mike Blumenkrantz [Fri, 1 Jan 2021 16:06:25 +0000 (11:06 -0500)]
zink: abstract descriptor usage for programs
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9965>
Mike Blumenkrantz [Fri, 1 Jan 2021 15:57:30 +0000 (10:57 -0500)]
zink: abstract descriptor init
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9965>
Mike Blumenkrantz [Thu, 31 Dec 2020 15:38:09 +0000 (10:38 -0500)]
zink: unify pipeline layout creation functions
these codepaths are almost identical
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9965>
Mike Blumenkrantz [Tue, 5 Jan 2021 19:36:22 +0000 (14:36 -0500)]
zink: split off descriptor layout from descriptor pools
in theory we could have multiple pools per layout, but really it just makes
more sense to make the layouts persistent since they're more likely to be
reused
32bit compile fixes by Witold Baryluk
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9965>
Alyssa Rosenzweig [Fri, 9 Apr 2021 19:44:34 +0000 (15:44 -0400)]
panfrost: Enable 16-bit support on Bifrost
Remove the PAN_MESA_DEBUG=fp16 flag that was hiding it.
Skip two buggy dEQP tests. See linked discussion. We'll need to make
sure this gets sorted out before submitting conformance, but I don't see
a test with a fix in the pipeline as valid reason to hold back valid
code.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9239>
Alyssa Rosenzweig [Tue, 4 May 2021 20:05:38 +0000 (16:05 -0400)]
pan/bi: Enable mediump BLEND lowering
Other lowerings will wait until we iron out various missing features.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9239>
Alyssa Rosenzweig [Tue, 4 May 2021 19:52:08 +0000 (15:52 -0400)]
pan/bi: Garbage collect bifrost_nir.h
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9239>
Alyssa Rosenzweig [Tue, 13 Apr 2021 22:54:31 +0000 (18:54 -0400)]
pan/bi: Copyprop constants
Needed for constant folding to be effective. But don't copyprop into
instructions already reading from FAU, that will just end up adding more
moves!
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9239>
Alyssa Rosenzweig [Tue, 13 Apr 2021 17:22:18 +0000 (13:22 -0400)]
pan/bi: Fix int<-->float size converts
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9239>
Alyssa Rosenzweig [Thu, 31 Dec 2020 20:00:24 +0000 (15:00 -0500)]
pan/bi: Enable NIR vectorization
We don't vectorize transcendentals, since those are scalar only in
hardware. Also don't vectorize a few places where impedance mismatches
between NIR and the hardware make handling vectors infeasible for now.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9239>
Alyssa Rosenzweig [Thu, 6 May 2021 22:43:00 +0000 (18:43 -0400)]
pan/bi: Temporarily switch back to 0/~0 bools
Keeps things simpler while debugging vectorization woes.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9239>
Alyssa Rosenzweig [Thu, 6 May 2021 21:57:17 +0000 (17:57 -0400)]
pan/bi: Handle make_vec with 1-bit bools
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9239>
Alyssa Rosenzweig [Wed, 5 May 2021 16:51:30 +0000 (12:51 -0400)]
pan/bi: Adapt branching for 1-bit bools
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9239>
Alyssa Rosenzweig [Tue, 4 May 2021 16:01:06 +0000 (12:01 -0400)]
pan/bi: Change swizzled scalars to identity
Allows packing for things like IADD.v2s16
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9239>
Alyssa Rosenzweig [Wed, 5 May 2021 15:27:32 +0000 (11:27 -0400)]
panfrost: Fix typo handling blend types
This was right in my head.
Fixes:
93a176b6cff ("panfrost: Key blend shaders to the input types")
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9239>
Alyssa Rosenzweig [Thu, 6 May 2021 23:16:33 +0000 (19:16 -0400)]
pan/mdg: Model blend shader interference
Backport of
4439757db23 ("pan/bi: Use the interference mechanism
to describe blend shader reg use") to Midgard.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9239>
Adam Jackson [Thu, 6 May 2021 17:26:10 +0000 (13:26 -0400)]
mesa: s/malloc/calloc/ to silence a warning
gcc 11 warns:
[846/1506] Compiling C object src/mesa/libmesa_common.a.p/main_shaderapi.c.o
In function ‘shader_source’,
inlined from ‘_mesa_ShaderSource_no_error’ at ../src/mesa/main/shaderapi.c:2137:4:
../src/mesa/main/shaderapi.c:2095:25: warning: ‘*offsets_10 + _130’ may be used uninitialized [-Wmaybe-uninitialized]
2095 | totalLength = offsets[count - 1] + 2;
I can't really see how it's getting to that conclusion, but allocating
`offsets` with calloc is both natural to do here and guarantees
initialization.
Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10671>
Adam Jackson [Thu, 6 May 2021 16:04:33 +0000 (12:04 -0400)]
format/fxt1: Clean up fxt1_variance's argument list
gcc 11 warns:
../src/util/format/u_format_fxt1.c:940:22: warning: ‘fxt1_variance.constprop’ accessing 128 bytes in a region of size 64 [-Wstringop-overflow=]
940 | int32_t maxVarR = fxt1_variance(NULL, &input[N_TEXELS / 2], n_comp);
But, suspiciously, if you inline fxt1_variance the warning goes away.
What's happening is that the 2nd arg is uint8_t[N_TEXELS][MAX_COMP], so
it looks like we're passing too small of an array in since gcc knows
that `input` is also [N_TEXELS][MAX_COMP]. Fair enough. Fix the
signature to reflect what's actually going on, and remove some unused
arguments while we're at it.
Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10671>
Samuel Pitoiset [Mon, 15 Mar 2021 17:56:02 +0000 (18:56 +0100)]
radv: advertise VK_EXT_extended_dynamic_state2
This only implements dynamic primitive restart enable, depth bias
enable and rasterizer discard enable. I leave logic op and patch
control points for later.
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/10340>
Samuel Pitoiset [Mon, 15 Mar 2021 18:38:50 +0000 (19:38 +0100)]
radv: implement dynamic rasterizer discard enable
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/10340>
Samuel Pitoiset [Mon, 15 Mar 2021 17:51:28 +0000 (18:51 +0100)]
radv: implement dynamic primitive restart enable
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/10340>
Samuel Pitoiset [Mon, 15 Mar 2021 17:29:44 +0000 (18:29 +0100)]
radv: implement dynamic depth bias enable
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/10340>
Samuel Pitoiset [Mon, 15 Mar 2021 16:42:46 +0000 (17:42 +0100)]
radv: declare new dynamic states for VK_EXT_extended_dynamic_state2
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/10340>
Samuel Pitoiset [Mon, 15 Mar 2021 17:10:54 +0000 (18:10 +0100)]
radv: declare VK_EXT_extended_dynamic_state2 but leave it disabled
To declare new prototypes.
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/10340>
Emma Anholt [Wed, 5 May 2021 21:01:06 +0000 (14:01 -0700)]
ci/freedreno: Add another daily dose of a530 flakes.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10660>
Alyssa Rosenzweig [Thu, 22 Apr 2021 19:31:16 +0000 (15:31 -0400)]
panfrost/blend: Inline blend constants
If we're going to key them in NIR, we might as well get the benefit of
constant folding them too.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10652>
Alyssa Rosenzweig [Wed, 5 May 2021 14:34:53 +0000 (10:34 -0400)]
pan/mdg: Enable nir_opt_{move, sink}
I felt bad about the last patch regressing Midgard perf, so here's some
moar Midgard perf for you ^^
total instructions in shared programs: 97089 -> 97036 (-0.05%)
instructions in affected programs: 5230 -> 5177 (-1.01%)
helped: 53
HURT: 31
helped stats (abs) min: 1 max: 17 x̄: 4.40 x̃: 6
helped stats (rel) min: 0.61% max: 12.24% x̄: 7.74% x̃: 11.54%
HURT stats (abs) min: 1 max: 8 x̄: 5.81 x̃: 8
HURT stats (rel) min: 1.08% max: 13.79% x̄: 9.69% x̃: 11.11%
95% mean confidence interval for instructions value: -1.89 0.63
95% mean confidence interval for instructions %-change: -3.41% 0.80%
Inconclusive result (value mean confidence interval includes 0).
total bundles in shared programs: 45612 -> 45507 (-0.23%)
bundles in affected programs: 17331 -> 17226 (-0.61%)
helped: 139
HURT: 166
helped stats (abs) min: 1 max: 21 x̄: 3.76 x̃: 2
helped stats (rel) min: 0.85% max: 18.37% x̄: 6.38% x̃: 4.55%
HURT stats (abs) min: 1 max: 10 x̄: 2.51 x̃: 1
HURT stats (rel) min: 0.79% max: 31.25% x̄: 7.54% x̃: 4.55%
95% mean confidence interval for bundles value: -0.90 0.21
95% mean confidence interval for bundles %-change: 0.05% 2.34%
Inconclusive result (value mean confidence interval includes 0).
total quadwords in shared programs: 77275 -> 76952 (-0.42%)
quadwords in affected programs: 32314 -> 31991 (-1.00%)
helped: 142
HURT: 179
helped stats (abs) min: 1 max: 28 x̄: 4.38 x̃: 2
helped stats (rel) min: 0.34% max: 13.79% x̄: 4.29% x̃: 2.78%
HURT stats (abs) min: 1 max: 6 x̄: 1.67 x̃: 2
HURT stats (rel) min: 0.44% max: 16.67% x̄: 2.93% x̃: 2.63%
95% mean confidence interval for quadwords value: -1.56 -0.45
95% mean confidence interval for quadwords %-change: -0.78% 0.25%
Inconclusive result (%-change mean confidence interval includes 0).
total registers in shared programs: 7081 -> 6771 (-4.38%)
registers in affected programs: 2217 -> 1907 (-13.98%)
helped: 193
HURT: 75
helped stats (abs) min: 1 max: 6 x̄: 2.04 x̃: 1
helped stats (rel) min: 6.25% max: 62.50% x̄: 24.32% x̃: 20.00%
HURT stats (abs) min: 1 max: 3 x̄: 1.11 x̃: 1
HURT stats (rel) min: 7.14% max: 50.00% x̄: 17.17% x̃: 14.29%
95% mean confidence interval for registers value: -1.37 -0.94
95% mean confidence interval for registers %-change: -15.53% -9.89%
Registers are helped.
total threads in shared programs: 5036 -> 5152 (2.30%)
threads in affected programs: 185 -> 301 (62.70%)
helped: 93
HURT: 19
helped stats (abs) min: 1 max: 2 x̄: 1.49 x̃: 1
helped stats (rel) min: 100.00% max: 100.00% x̄: 100.00% x̃: 100.00%
HURT stats (abs) min: 1 max: 2 x̄: 1.21 x̃: 1
HURT stats (rel) min: 50.00% max: 50.00% x̄: 50.00% x̃: 50.00%
95% mean confidence interval for threads value: 0.82 1.25
95% mean confidence interval for threads %-change: 63.96% 85.14%
Threads are helped.
total loops in shared programs: 19 -> 19 (0.00%)
loops in affected programs: 0 -> 0
helped: 0
HURT: 0
total spills in shared programs: 2 -> 0
spills in affected programs: 2 -> 0
helped: 1
HURT: 0
total fills in shared programs: 15 -> 0
fills in affected programs: 15 -> 0
helped: 1
HURT: 0
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10652>
Alyssa Rosenzweig [Wed, 5 May 2021 14:28:44 +0000 (10:28 -0400)]
pan/mdg: Remove midgard_opt_copy_prop_reg
This is known broken code, and the fix is highly nontrivial. It isn't
doing terribly much for perf, so just rip off the band-aid. Prevents a
dEQP regression, and likely fixes bugs in real apps too.
total instructions in shared programs: 96640 -> 97089 (0.46%)
instructions in affected programs: 27831 -> 28280 (1.61%)
helped: 33
HURT: 301
helped stats (abs) min: 1 max: 6 x̄: 3.64 x̃: 5
helped stats (rel) min: 1.96% max: 10.00% x̄: 6.48% x̃: 7.94%
HURT stats (abs) min: 1 max: 18 x̄: 1.89 x̃: 1
HURT stats (rel) min: 0.46% max: 15.00% x̄: 3.17% x̃: 2.38%
95% mean confidence interval for instructions value: 1.09 1.59
95% mean confidence interval for instructions %-change: 1.80% 2.63%
Instructions are HURT.
total bundles in shared programs: 45615 -> 45612 (<.01%)
bundles in affected programs: 11257 -> 11254 (-0.03%)
helped: 121
HURT: 146
helped stats (abs) min: 1 max: 7 x̄: 2.34 x̃: 1
helped stats (rel) min: 1.22% max: 23.33% x̄: 7.85% x̃: 5.26%
HURT stats (abs) min: 1 max: 17 x̄: 1.92 x̃: 2
HURT stats (rel) min: 0.42% max: 25.00% x̄: 5.17% x̃: 3.85%
95% mean confidence interval for bundles value: -0.34 0.31
95% mean confidence interval for bundles %-change: -1.69% 0.23%
Inconclusive result (value mean confidence interval includes 0).
total quadwords in shared programs: 76662 -> 77275 (0.80%)
quadwords in affected programs: 20148 -> 20761 (3.04%)
helped: 28
HURT: 275
helped stats (abs) min: 1 max: 4 x̄: 1.54 x̃: 1
helped stats (rel) min: 0.43% max: 25.00% x̄: 4.89% x̃: 2.50%
HURT stats (abs) min: 1 max: 12 x̄: 2.39 x̃: 2
HURT stats (rel) min: 0.51% max: 28.57% x̄: 5.18% x̃: 4.26%
95% mean confidence interval for quadwords value: 1.80 2.25
95% mean confidence interval for quadwords %-change: 3.64% 4.86%
Quadwords are HURT.
total registers in shared programs: 7078 -> 7081 (0.04%)
registers in affected programs: 1028 -> 1031 (0.29%)
helped: 62
HURT: 70
helped stats (abs) min: 1 max: 2 x̄: 1.11 x̃: 1
helped stats (rel) min: 8.33% max: 50.00% x̄: 15.03% x̃: 12.50%
HURT stats (abs) min: 1 max: 2 x̄: 1.03 x̃: 1
HURT stats (rel) min: 8.33% max: 66.67% x̄: 20.13% x̃: 11.25%
95% mean confidence interval for registers value: -0.17 0.21
95% mean confidence interval for registers %-change: -0.14% 7.38%
Inconclusive result (value mean confidence interval includes 0).
total threads in shared programs: 5032 -> 5036 (0.08%)
threads in affected programs: 31 -> 35 (12.90%)
helped: 12
HURT: 6
helped stats (abs) min: 1 max: 2 x̄: 1.08 x̃: 1
helped stats (rel) min: 100.00% max: 100.00% x̄: 100.00% x̃: 100.00%
HURT stats (abs) min: 1 max: 2 x̄: 1.50 x̃: 1
HURT stats (rel) min: 50.00% max: 50.00% x̄: 50.00% x̃: 50.00%
95% mean confidence interval for threads value: -0.43 0.87
95% mean confidence interval for threads %-change: 13.82% 86.18%
Inconclusive result (value mean confidence interval includes 0).
total loops in shared programs: 19 -> 19 (0.00%)
loops in affected programs: 0 -> 0
helped: 0
HURT: 0
total spills in shared programs: 0 -> 2
spills in affected programs: 0 -> 2
helped: 0
HURT: 1
total fills in shared programs: 0 -> 15
fills in affected programs: 0 -> 15
helped: 0
HURT: 1
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10652>
Alyssa Rosenzweig [Wed, 5 May 2021 14:13:36 +0000 (10:13 -0400)]
pan/mdg: Use _output_ type for outmod printing
Fixes incorrect outmods printed for conversions.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10652>
Danylo Piliaiev [Thu, 6 May 2021 13:54:44 +0000 (16:54 +0300)]
docs: mark off VK_KHR_vulkan_memory_model for turnip
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10669>
Mike Blumenkrantz [Wed, 5 May 2021 13:29:41 +0000 (09:29 -0400)]
lavapipe: don't access pipeline blend state when it should be ignored
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10625>
Mike Blumenkrantz [Wed, 5 May 2021 13:29:25 +0000 (09:29 -0400)]
lavapipe: don't access pipeline dsa state when it should be ignored
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10625>
Mike Blumenkrantz [Wed, 5 May 2021 13:28:41 +0000 (09:28 -0400)]
lavapipe: don't access pipeline viewport state when it should be ignored
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10625>
Mike Blumenkrantz [Sat, 24 Apr 2021 17:17:34 +0000 (13:17 -0400)]
lavapipe: ignore tess pipeline info if no tess shaders in pipeline
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10625>
Mike Blumenkrantz [Wed, 5 May 2021 13:26:57 +0000 (09:26 -0400)]
lavapipe: don't unnecessarily flag dsa states for updating
these force a new dsa state to be created and bound, which isn't necessary
if the same value is being reset
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10625>
Mike Blumenkrantz [Wed, 5 May 2021 13:25:50 +0000 (09:25 -0400)]
lavapipe: zero out the blend state info and flag for updating on null blend state
this still needs to be updated if there's no pipeline info available
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10625>
Mike Blumenkrantz [Wed, 5 May 2021 13:25:50 +0000 (09:25 -0400)]
lavapipe: zero out the dsa state info and flag for updating on null dsa state
this still needs to be updated if there's no pipeline info available
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10625>
Mike Blumenkrantz [Wed, 5 May 2021 13:25:01 +0000 (09:25 -0400)]
lavapipe: update more states on null multisample pipeline info
these all need to be unset to ensure expected functionality
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10625>
Mike Blumenkrantz [Tue, 4 May 2021 15:58:43 +0000 (11:58 -0400)]
lavapipe: flag renderpasses as having color/zs attachments
it's useful to track this info for reuse
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10625>
Mike Blumenkrantz [Tue, 4 May 2021 15:58:09 +0000 (11:58 -0400)]
lavapipe: set events to the unsignalled state on creation
this is otherwise uninitialized and not compliant with spec
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10625>
Mike Blumenkrantz [Tue, 4 May 2021 15:57:41 +0000 (11:57 -0400)]
lavapipe: do not read sampler descriptor info during update if layout has immutables
this is illegal
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10625>
Mike Blumenkrantz [Tue, 4 May 2021 15:56:24 +0000 (11:56 -0400)]
lavapipe: handle buffer sizes better in CmdBindTransformFeedbackBuffersEXT
according to spec, the pSizes array member is only used if the array is non-null
and the value is not VK_WHOLE_SIZE, otherwise this value is calculated based
on the buffer size - the offset
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10625>
Icecream95 [Wed, 5 May 2021 21:02:02 +0000 (09:02 +1200)]
pan/bi: Add two tuples to a clause when needed with NOSCHED
Fixes SuperTuxKart with BIFROST_MESA_DEBUG=nosched.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10661>
Icecream95 [Sat, 1 May 2021 10:45:11 +0000 (22:45 +1200)]
panfrost: Always write reloaded tiles when making CRC data valid
If CRC data is currently invalid and the current batch will make it
valid, write even clean tiles to make sure CRC data is updated.
Fixes:
8ba2f9f6985 ("panfrost: Create a blitter library to replace the existing preload helpers")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10566>
Icecream95 [Sat, 1 May 2021 10:44:45 +0000 (22:44 +1200)]
panfrost: Make pan_select_crc_rt a non-static function
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10566>
Mike Blumenkrantz [Wed, 5 May 2021 18:14:13 +0000 (14:14 -0400)]
nir: add nir_isub_imm
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10654>
Mike Blumenkrantz [Wed, 5 May 2021 13:43:46 +0000 (09:43 -0400)]
gallium/inlines: remove atomic set from pipe_reference_init()
when an object is initialized with this, it should not be visible to any
other threads or contexts, so there should be no need to use an atomic set here
at the time of this commit, there are only two callers in the tree which pass
values != 1:
* zink uses a calculated number for framebuffer refcount on init (this is fine)
* aux/pb passes 0 on init (this is fine)
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10650>
Boris Brezillon [Tue, 4 May 2021 06:31:38 +0000 (08:31 +0200)]
Revert "gallium/util: Fix depth/stencil blit shaders"
This reverts commit
7ca72f172678116d29d254b786a9422b864aef3d.
Unlike what's stated in this commit, the depth or stencil components
have to be replicated on all channels, as specified in the
"Texture Sampling and Texture Formats" section of the TGSI doc
(docs/gallium/tgsi.rst).
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10649>
Mike Blumenkrantz [Wed, 5 May 2021 13:40:51 +0000 (09:40 -0400)]
zink: clamp zs samplers to XXXX swizzle for all non-zero/one swizzles
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10649>
Erik Faye-Lund [Fri, 9 Apr 2021 05:29:09 +0000 (07:29 +0200)]
zink: do not ask glsl-compiler to unroll
We don't really need loops unrolled, so let's just disable this. This is
generally recommended for NIR drivers, but we can do even better; not
even unroll in NIR. And since we don't set
nir_shader_compiler_options::max_unroll_iterations, we're already there.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10487>
Erik Faye-Lund [Mon, 3 May 2021 11:21:01 +0000 (13:21 +0200)]
lavapipe: emit correct textures_used for texture-arrays
When we lower a texture-lookup with a dynamic index, we need to mark the
entire array as used, because we don't know better.
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10487>
Iago Toral Quiroga [Mon, 3 May 2021 09:12:43 +0000 (11:12 +0200)]
v3d: enable NIR loop unrolling
The GL driver was getting loop unrolling from the GLSL compiler frontend,
but NIR unrolling is more sophisticated, so prefer that.
The only caveat is that loop unrolling is implemented in the Mesa state
tracker, so our backend won't have a chance to undo the optimization if
it causes us to lower thread count or spill, so we choose to be a bit more
conservative with the configuration than what we were doing with GLSL.
Shader-db results follow. Increase in instruction counts is expected due
to additional unrolling. We lose threads in very few shaders, but we
make up for this with the additional unrolling and reduced spilling. We
also managed to get 3 more shaders to compile successfully.
total instructions in shared programs:
13416427 ->
13461431 (0.34%)
instructions in affected programs: 96936 -> 141940 (46.43%)
helped: 58
HURT: 216
Instructions are HURT.
total threads in shared programs: 410626 -> 410598 (<.01%)
threads in affected programs: 56 -> 28 (-50.00%)
helped: 0
HURT: 14
Threads are HURT.
total loops in shared programs: 2121 -> 1708 (-19.47%)
loops in affected programs: 468 -> 55 (-88.25%)
helped: 446
HURT: 47
Loops are helped.
total uniforms in shared programs: 3676567 -> 3691185 (0.40%)
uniforms in affected programs: 25304 -> 39922 (57.77%)
helped: 23
HURT: 199
Uniforms are HURT.
total spills in shared programs: 5902 -> 5727 (-2.97%)
spills in affected programs: 285 -> 110 (-61.40%)
helped: 19
HURT: 0
total fills in shared programs: 13308 -> 13121 (-1.41%)
fills in affected programs: 301 -> 114 (-62.13%)
helped: 19
HURT: 0
total sfu-stalls in shared programs: 31860 -> 32856 (3.13%)
sfu-stalls in affected programs: 1692 -> 2688 (58.87%)
helped: 25
HURT: 196
Sfu-stalls are HURT.
total inst-and-stalls in shared programs:
13448287 ->
13494287 (0.34%)
inst-and-stalls in affected programs: 98404 -> 144404 (46.75%)
helped: 57
HURT: 217
Inst-and-stalls are HURT.
total nops in shared programs: 329276 -> 329551 (0.08%)
nops in affected programs: 2189 -> 2464 (12.56%)
helped: 58
HURT: 181
Nops are HURT.
LOST: 0
GAINED: 3
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10647>
Iago Toral Quiroga [Wed, 5 May 2021 09:26:13 +0000 (11:26 +0200)]
broadcom/compiler: specify maximum thread count in compile strategies
Once we have exhausted compile strategies at 4 threads and we start
enabling lower thread counts, there is no point in starting compiles
with 4 threads for them, we know these will fail, so let's start at
2 in these cases.
This also has another nice implication: if the driver compiles at 4
threads and fails to register allocate, we were allowing it to try
with 2 threads, but this would only retry the register allocation
process and would not really recompile the shader with 2 threads. This
is not optimal, because at 2 threads we have more TMU fifo space for
each thread and we can do more TMU pipelining, so we were missing that
opportunity.
This improves performance in Sponza by ~1.5% and also seems to help
UE4 slightly.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10647>
Iago Toral Quiroga [Mon, 3 May 2021 08:30:31 +0000 (10:30 +0200)]
broadcom/compiler: refactor compile strategies
Until now, if we can't compile at 4 threads we would lower thread count
with optimizations disabled, however, lowering thread count doubles the
amount of registers available per thread, so that alone is already a big
relief for register pressure so it makes sense to enable optimizations
when we do that, and progressively disable them until we enable spilling
as a last resort.
This can slightly improve performance for some applications. Sponza,
for example, gets a ~1.5% boost. I see several UE4 shaders that also get
compiled to better code at 2 threads with this, but it is more difficult
to assess how much this improves performance in practice due to the large
variance in frame times that we observe with UE4 demos.
Also, if a compiler strategy disables an optimization that did not make
any progress in the previous compile attempt, we would end up re-compiling
the exact same shader code and failing again. This, patch keeps track of
which strategies won't make progress and skips them in that case to save
some CPU time during shader compiles.
Care should be taken to ensure that we try to compile with the default
NIR scheduler at minimum thread count at least once though, so a specific
strategy for this is added, to prevent the scenario where no optimizations
are used and we skip directly to the fallback scheduler if the default
strategy fails at 4 threads.
Similarly, we now also explicitly specify which strategies are allowed to do
TMU spills and make sure we take this into account when deciding to skip
strategies. This prevents the case where no optimizations are used in a
shader and we skip directly to the fallback scheduler after failing
compilation at 2 threads with the default NIR scheduler but without trying
to spill first.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10647>
Iago Toral Quiroga [Mon, 3 May 2021 08:14:12 +0000 (10:14 +0200)]
broadcom/compiler: add a compiler strategy to disable loop unrolling
Loop unrolling can increase register pressure significantly, leading to
lower thread counts and spilling.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10647>
Iago Toral Quiroga [Mon, 3 May 2021 06:31:13 +0000 (08:31 +0200)]
v3d: move NIR compiler options to GL driver
The Vulkan driver was already creating and using its own set of options, so
the ones defined in the compiler are only used with GL, which is confusing.
Move them to the GL driver.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10647>
Iago Toral Quiroga [Mon, 3 May 2021 11:35:40 +0000 (13:35 +0200)]
v3dv: setup loop unrolling
We set the maximum at 16 iterations (the GL compiler chooses 32
iterations for the GLSL front-end loop unrolling pass) because we
have observed a bunch of shaders from Sascha Willems that spill
significantly with 32, leading to massive performance degradation,
while 16 avoids spilling and doesn't seem to cause visible
performance degradation compared to cases that unroll 32 without
spilling.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10647>
Iago Toral Quiroga [Mon, 3 May 2021 09:33:46 +0000 (11:33 +0200)]
broadcom/compiler: add a loop unrolling pass
Right now this is useful for Vulkan onnly, because GL gets loop
unrolling from the GLSL compiler and/or mesa state tracker
NIR front-ends.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10647>
Tomeu Vizoso [Thu, 6 May 2021 08:31:45 +0000 (10:31 +0200)]
Revert "CI: Disable Panfrost and radeonsi"
Lab is up and running again.
This reverts commit
de1a20f4bec789c690e5eeba728073ca9c9cfc08.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10663>
Samuel Pitoiset [Mon, 3 May 2021 15:56:27 +0000 (17:56 +0200)]
radv: fix missing ITERATE_256 for D/S MSAA images that are TC-compat HTILE
To make them readable by shaders, only needed on GFX10+.
This also fixes corruption with Control and MSAA.
Cc: 21.1 mesa-stable
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/10610>
Tapani Pälli [Wed, 5 May 2021 06:57:01 +0000 (09:57 +0300)]
i965: support only color formats with memory objects
There are issues with depth support and lack of support for
combined depth+stencil, let's support only color formats for now.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4712
Fixes:
f73aeca0ce3 ("i965: Initial implementation for EXT_memory_object_*")
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Rohan Garg <rohan.garg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10646>
Emma Anholt [Tue, 4 May 2021 20:32:53 +0000 (13:32 -0700)]
turnip: Move the extension tables to tu_device.c
Following intel's lead in
27d49670. In the dEQP-VK.info.* tests, this
bumps apiVersion from 1.1.128 to 1.1.177.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10635>
Emma Anholt [Tue, 4 May 2021 20:38:49 +0000 (13:38 -0700)]
turnip: Switch to the shared vulkan ICD generator.
One less python script to maintain.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10635>
Eric Anholt [Thu, 3 Dec 2020 23:18:45 +0000 (15:18 -0800)]
gallium/tgsi_exec: Simplify bounds checks on the const file.
We were doing two < 0 checks, when we can just treat the value as unsigned
and check against our unsigned size limit. Cuts 2k of text from the
various inlined copies of this function.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10605>
Eric Anholt [Tue, 4 May 2021 04:19:38 +0000 (21:19 -0700)]
tgsi_exec: Mark the store file default case as unreachable.
It isn't reached, and shouldn't be, and it's not like returning NULL
(instead of the &null case for TGSI_FILE_NULL) will do anything good.
Shaves another tiny bit of dead code off of release builds.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10605>
Eric Anholt [Tue, 4 May 2021 04:07:53 +0000 (21:07 -0700)]
tgsi_exec: Drop unused destination dimension support.
As you can see, nothing used the index2d value we computed. Turns out
this does remove some unused code from release builds.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10605>
Eric Anholt [Wed, 6 Jan 2021 21:06:55 +0000 (13:06 -0800)]
gallium/tgsi_exec: Drop the unused dst_datatypes from dest stores.
It was just for the disabled check_inf_or_nan debugging, and if you want
to do that then you should do it with an assert at the end of
exec_instruction using tgsi_opcode_infer_type().
Despite the fact that this operand was dead, it actually reduces generated
code in release builds.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10605>
Erik Faye-Lund [Mon, 19 Apr 2021 12:19:53 +0000 (14:19 +0200)]
zink: remove incorrect border-swizzle assumption
According to the Khronos issue[1], it seems like RADV and NVIDIA is in
the wrong, so let's turn the logic around here.
This makes us do the right thing for Lavapipe, and we should probablt
remove RADV from this list once !9731 lands.
[1]: https://github.com/KhronosGroup/Vulkan-Docs/issues/1421
Fixes:
cdb9a4775bf ("zink: set PIPE_CAP_TEXTURE_BORDER_COLOR_QUIRK")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10321>
Jesse Natalie [Fri, 30 Apr 2021 18:47:15 +0000 (11:47 -0700)]
vtn: Use relaxed 24bit opcodes for CL 24bit math
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10549>
Jesse Natalie [Fri, 30 Apr 2021 18:46:09 +0000 (11:46 -0700)]
nir: Add relaxed 24bit opcodes
These are equivalent to the 32bit opcodes if there are no more efficient
24bit opcodes available, but inputs are guaranteed to already be 24bit,
so the 24bit opcodes can be used instead if they exist and are efficient.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10549>
Jesse Natalie [Fri, 30 Apr 2021 22:42:38 +0000 (15:42 -0700)]
llvmpipe: Fix optimization loop to actually loop
Reviewed-by: Dave Airlie <airlied@redhat.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Acked-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10549>
Eric Anholt [Mon, 29 Mar 2021 21:11:28 +0000 (14:11 -0700)]
freedreno/a5xx: Fix up border color pointers.
We were forgetting to increment in the loop, but also it looks from blob
dumps on Pixel 2 like all the pointers it emitted were shifted up by 3
compared to our xml, and that's the same shift that a6xx uses for its
pointers. None of the tests seem to use more than one
border-color-requiring texture, so it's hard to tell.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9904>
Daniel Stone [Wed, 5 May 2021 20:47:58 +0000 (21:47 +0100)]
CI: Disable Panfrost and radeonsi
The Cambridge office is having connection difficulty; disable the jobs
until it comes back.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10658>
Rob Clark [Tue, 4 May 2021 16:03:43 +0000 (09:03 -0700)]
freedreno/tools: Fix async flush vs fdperf/computerator
They need to wait on the ready fence to ensure the submit has been
flushed to the kernel.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10626>
Jordan Justen [Mon, 26 Apr 2021 18:54:39 +0000 (11:54 -0700)]
mesa: NOTE! Default branch is now main
To update your local repository to use the new default branch, these
commands may help:
$ git fetch origin
$ git checkout master
$ git branch -m main
$ git branch --set-upstream-to=origin/main
$ git remote set-head origin --auto
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Jordan Justen [Mon, 26 Apr 2021 20:51:33 +0000 (13:51 -0700)]
docs: Rename master branch to main
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Jordan Justen [Mon, 26 Apr 2021 20:48:30 +0000 (13:48 -0700)]
docs/releasing.rst: Rename master branch to main
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Jordan Justen [Mon, 26 Apr 2021 20:17:49 +0000 (13:17 -0700)]
issue_templates/Bug Report: Rename master branch to main
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Jordan Justen [Mon, 26 Apr 2021 20:16:55 +0000 (13:16 -0700)]
.gitlab-ci.yml: Use main branch for gitlab ci
Reworks:
* Fix mesa/mesamaster typo to mesa/mesa main (anholt)
* Use $CI_DEFAULT_BRANCH (eric_engestrom)
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Jordan Justen [Mon, 26 Apr 2021 19:29:30 +0000 (12:29 -0700)]
bin/pick: Rename master branch to main
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Jordan Justen [Mon, 26 Apr 2021 19:18:51 +0000 (12:18 -0700)]
commit_in_branch_test.py: Rename branch master to main
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Erik Faye-Lund [Tue, 4 May 2021 08:56:48 +0000 (10:56 +0200)]
docs: remove doxygen support
It seems building the doxygen docs has bit-rotted over time, and now
generates a set of empty modules, apart from some basic descriptions.
Since Mesa is mostly implementing externally documented APIs, I don't
think it makes a whole lot of sense trying to fix this, and I think the
presence of these files might confuse users who try them out.
So let's just get rid of this.
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10611>
Emma Anholt [Tue, 4 May 2021 16:50:32 +0000 (09:50 -0700)]
ci/lavapipe: Add fractional NIR stress test job.
I think between the disk cache unit tests and testing that we can really
serialize/deserialize NIR, this covers what I cared about for testing disk
caching.
Closes: #3597
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10629>
Emma Anholt [Tue, 4 May 2021 16:48:35 +0000 (09:48 -0700)]
ci/llvmpipe: Add testing of gles3/31/gl.
llvmpipe is a pretty important driver, we should be fully testing it.
Also, enable some options to stress test some NIR internals.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10629>
Eric Anholt [Mon, 26 Apr 2021 18:24:58 +0000 (11:24 -0700)]
turnip: Demote API version to 1.1.
We don't support major 1.2 required extensions like timeline semaphores.
Fixes many complaints in the dEQP-VK.info.vulkan1p2.* group.
We were originally bumped to 1.2 in
75755e0eba17 ("turnip: Pretend to
support Vulkan 1.2") but hopefully that build issue has been fixed in the
entrypoint reworks since then.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10471>
Yiwei Zhang [Tue, 4 May 2021 23:35:06 +0000 (23:35 +0000)]
venus: populate VK_ERROR_OUT_OF_HOST_MEMORY if applied
Fix dEQP-VK.wsi.android.swapchain.simulate_oom.* failures.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10639>
Erik Faye-Lund [Wed, 5 May 2021 09:30:27 +0000 (11:30 +0200)]
freedreno/a5xx: Remove ppgtt hack
This should no longer be needed after !7773, which fixes the issue that
lead to the crash. Sorry for not fixing the issue earlier ;)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10645>
Mike Blumenkrantz [Sat, 24 Apr 2021 17:18:02 +0000 (13:18 -0400)]
aux/cso_cache: add handling for save/restore of compute states
just shader and samplers for now
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10616>
Boris Brezillon [Tue, 4 May 2021 06:44:35 +0000 (08:44 +0200)]
panfrost: Fix format definitions to match gallium expectations
Gallium wants the depth or stencil component replicated on all .XYZW.
That's easily done on pre-v7 since we can forge all the swizzles we
want, but Bifrost v7 only supports a few combinations, so we have to
combine the user swizzle with our own 'replicate' swizzle to make it
work. Note that v7 has a trick to make border color work when the GRBA
order is chosen: they apply the red border color to the green component.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10612>
Mauro Rossi [Mon, 3 May 2021 20:50:26 +0000 (22:50 +0200)]
android: pan/bi: add bi_opt_constant_fold.c to Makefile.sources
Fixes the following building error:
FAILED: out/target/product/x86_64/obj/SHARED_LIBRARIES/gallium_dri_intermediates/LINKED/gallium_dri.so
...
ld.lld: error: undefined symbol: bi_opt_constant_fold
>>> referenced by bifrost_compile.c:3105 (external/mesa/src/panfrost/bifrost/bifrost_compile.c:3105)
Fixes:
1cb11969bec0 ("pan/bi: Add simple constant folding pass")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10603>
Jason Ekstrand [Tue, 4 May 2021 15:40:55 +0000 (10:40 -0500)]
anv: Allow storage on all formats that support typed writes
In particular, this gives us B8G8R8A8_UNORM storage support which is
useful for writing WSI images from compute shaders. These formats can
only be accessed in a spec-compliant way by decorating the variable
NonReadable in the SPIR-V (writeonly in GLSL). If the client doesn't so
decorate the variable, it'll get the null surface state where reads
return 0 and writes are ignored.
Tested-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10624>