Alyssa Rosenzweig
93bf7104d0
panfrost: Don't allocate space for empty varyings
...
PIPE_FORMAT_NONE has a block size of 1, oddly, but we don't actually
need to allocate any space for it. This acts as a small optimization for
a few shaders with the new varying linker.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19363 >
2022-11-02 16:52:11 +00:00
Alyssa Rosenzweig
d0281fc16a
pan/mdg: Use bifrost_nir_lower_store_component
...
Move the pass from the Bifrost compiler to the Midgard/Bifrost common code
directory, and take advantage of it on Midgard, where it fixes the same
tests as it fixed originally on Bifrost.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19363 >
2022-11-02 16:52:11 +00:00
Alyssa Rosenzweig
17589be72b
pan/mdg: Use .u32 for flat shading
...
This is simple and matches what we do on Bifrost.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19363 >
2022-11-02 16:52:11 +00:00
Alyssa Rosenzweig
225a8f6e27
pan/mdg: Don't pair ST_VARY.a32 with other instrs
...
For some reason, LD_ATTR/ST_VARY.a32 bundles raise INSTR_INVALID_ENC, at
least on Mali-T860. Don't construct such pairs. This is a blunt hack but
I don't know where this curveball requirement is coming from and this
unblocks the rest of this series.
total instructions in shared programs: 99879 -> 99788 (-0.09%)
instructions in affected programs: 3179 -> 3088 (-2.86%)
helped: 49
HURT: 9
helped stats (abs) min: 1.0 max: 6.0 x̄: 2.04 x̃: 2
helped stats (rel) min: 0.93% max: 10.53% x̄: 5.46% x̃: 4.88%
HURT stats (abs) min: 1.0 max: 1.0 x̄: 1.00 x̃: 1
HURT stats (rel) min: 0.61% max: 2.13% x̄: 1.41% x̃: 1.14%
95% mean confidence interval for instructions value: -1.93 -1.20
95% mean confidence interval for instructions %-change: -5.37% -3.41%
Instructions are helped.
total bundles in shared programs: 43778 -> 45102 (3.02%)
bundles in affected programs: 10737 -> 12061 (12.33%)
helped: 10
HURT: 369
helped stats (abs) min: 1.0 max: 3.0 x̄: 1.50 x̃: 1
helped stats (rel) min: 2.90% max: 18.75% x̄: 6.93% x̃: 5.21%
HURT stats (abs) min: 1.0 max: 10.0 x̄: 3.63 x̃: 4
HURT stats (rel) min: 0.82% max: 44.44% x̄: 15.27% x̃: 13.33%
95% mean confidence interval for bundles value: 3.29 3.69
95% mean confidence interval for bundles %-change: 13.68% 15.69%
Bundles are HURT.
total quadwords in shared programs: 76783 -> 77914 (1.47%)
quadwords in affected programs: 18633 -> 19764 (6.07%)
helped: 9
HURT: 370
helped stats (abs) min: 1.0 max: 2.0 x̄: 1.22 x̃: 1
helped stats (rel) min: 0.87% max: 8.33% x̄: 3.71% x̃: 3.85%
HURT stats (abs) min: 1.0 max: 7.0 x̄: 3.09 x̃: 3
HURT stats (rel) min: 0.82% max: 35.00% x̄: 7.82% x̃: 6.11%
95% mean confidence interval for quadwords value: 2.82 3.15
95% mean confidence interval for quadwords %-change: 7.02% 8.06%
Quadwords are HURT.
total registers in shared programs: 7266 -> 7076 (-2.61%)
registers in affected programs: 1224 -> 1034 (-15.52%)
helped: 171
HURT: 25
helped stats (abs) min: 1.0 max: 3.0 x̄: 1.27 x̃: 1
helped stats (rel) min: 8.33% max: 50.00% x̄: 21.85% x̃: 20.00%
HURT stats (abs) min: 1.0 max: 2.0 x̄: 1.12 x̃: 1
HURT stats (rel) min: 10.00% max: 100.00% x̄: 35.73% x̃: 33.33%
95% mean confidence interval for registers value: -1.10 -0.84
95% mean confidence interval for registers %-change: -17.69% -11.32%
Registers are helped.
total threads in shared programs: 4956 -> 5019 (1.27%)
threads in affected programs: 99 -> 162 (63.64%)
helped: 43
HURT: 6
helped stats (abs) min: 1.0 max: 2.0 x̄: 1.74 x̃: 2
helped stats (rel) min: 100.00% max: 100.00% x̄: 100.00% x̃: 100.00%
HURT stats (abs) min: 2.0 max: 2.0 x̄: 2.00 x̃: 2
HURT stats (rel) min: 50.00% max: 50.00% x̄: 50.00% x̃: 50.00%
95% mean confidence interval for threads value: 0.91 1.66
95% mean confidence interval for threads %-change: 67.36% 95.90%
Threads are helped.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19363 >
2022-11-02 16:52:11 +00:00
Alyssa Rosenzweig
e04156b42a
pan/mdg: Disassemble the .a32 bit
...
Corresponds to .auto32 on Bifrost. This is helpful for a conformant
implementation of flat shading.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19363 >
2022-11-02 16:52:11 +00:00
Rob Clark
4087374deb
freedreno/a6xx: Mark gl45 supported
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19400 >
2022-11-02 15:42:14 +00:00
Rob Clark
bb52332b50
freedreno/a6xx: ARB_query_buffer_object support
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19400 >
2022-11-02 15:42:14 +00:00
Rob Clark
41455c6369
freedreno: Core ARB_query_buffer_object support
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19400 >
2022-11-02 15:42:14 +00:00
Rob Clark
27250d67e5
freedreno/batch: Add a global epilogue
...
Rename the existing one to make it clear that it is per-tile, and add a
new one that runs after all the tile passes. Will be needed in the next
commit.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19400 >
2022-11-02 15:42:14 +00:00
Rob Clark
c9b0cd6e80
freedreno/a5xx+a6xx: Add base class for query samples
...
For PIPE_CAP_QUERY_BUFFER_OBJECT we'll need to write on the GPU a flag
when the query result is available, which means the buffers used for
query results should have a header with availability flag.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19400 >
2022-11-02 15:42:14 +00:00
Rob Clark
46f84ce20a
freedreno/a6xx: Remove unused field
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19400 >
2022-11-02 15:42:14 +00:00
Rob Clark
5c5e4238ff
freedreno/a6xx: Fix occlusion queries
...
WFI is not a strong enough barrier, which shows up in piglit qbo tests
which do a single draw.
Fixes: 13fc03f4c0 ("freedreno/a6xx: Avoid stalling for occlusion queries")
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19400 >
2022-11-02 15:42:14 +00:00
Rob Clark
701c0fdca2
freedreno/a6xx: Enable ARB_shader_group_vote
...
Already supported for at least a6xx.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19400 >
2022-11-02 15:42:14 +00:00
Rob Clark
6edac0aaed
freedreno/ir3: Unconditionally lower subgroup ops
...
For devices that don't support getfiberid, we force the subgroup size
to 1 for things other than compute stage. This matches what zink does.
And fixes spec@arb_shader_group_vote@vs-eq-uniform once we expose
ARB_shader_group_vote.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19400 >
2022-11-02 15:42:14 +00:00
Rob Clark
5b50332a14
freedreno/a3xx+: Enable ARB_derivative_control
...
Also already supported by ir3.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19400 >
2022-11-02 15:42:14 +00:00
Rob Clark
5ceff032ad
freedreno/a3xx+: Enable ARB_shader_texture_image_samples
...
This is already supported for ir3
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19400 >
2022-11-02 15:42:14 +00:00
Rob Clark
7598db41ae
freedreno/a6xx: Implement ARB_clear_texture
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19400 >
2022-11-02 15:42:14 +00:00
Rob Clark
13946b8a6a
freedreno/a6xx: Use box to pass 2d clear params
...
Simplifies the interface slightly and makes it possible to re-use the
path for pctx->clear_texture() in the next commit. The z dimensions
still come from the surface.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19400 >
2022-11-02 15:42:14 +00:00
Rob Clark
cd181b6140
freedreno: Add ARB_gl_spirv support
...
All the heavy lifting is done in nir.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19400 >
2022-11-02 15:42:14 +00:00
Rhys Perry
5ca344252c
docs: update new_features.txt for non-extension additions to RADV
...
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/19469 >
2022-11-02 15:20:52 +00:00
Erik Faye-Lund
fe6a84729d
zink: put union fields into structs named by the shader-stages
...
This makes it easier to see that a field is only valid in a given stage,
to avoid undefined behavior.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19457 >
2022-11-02 15:01:11 +00:00
Erik Faye-Lund
090a111c5d
zink: do not read is_generated unless in tcs shader
...
It's undefined behavior in C to read a union member if another member
has been written to more recently. Let's be more careful here!
Fixes: a9d2b86c2c ("zink: store the spirv_shader to the zink_shader struct for generated tcs")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19457 >
2022-11-02 15:01:11 +00:00
Erik Faye-Lund
7d7e94066d
zink: consider polygon-mode for rast_prim
...
But because polygon-offset needs to consider the primitive-type *before*
overriding the type, add a zink_prim_type()-helper for the partially
resolved state.
Reviewed-by: Connor Abbott <cwabbott0@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19438 >
2022-11-02 14:30:58 +00:00
Erik Faye-Lund
1859941768
zink: only set line-width if drawing lines
...
This might seem like a premature optimization, but it's going to make a
bit more sense with the next commit, to prevent needlessly regressing
performance.
Reviewed-by: Connor Abbott <cwabbott0@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19438 >
2022-11-02 14:30:58 +00:00
Erik Faye-Lund
53721827ea
zink: correct depth-bias enable condition
...
This should be based on the fill_mode, not on the primitive type. We
*also* need to check if we'll rasterize triangles in the end, though.
Reviewed-by: Connor Abbott <cwabbott0@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19438 >
2022-11-02 14:30:58 +00:00
Adam Jackson
b78afc2c73
rusticl: meson devenv support
...
This gets 'meson devenv -C build clinfo' working on iris for me.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19451 >
2022-11-02 13:44:12 +00:00
Rhys Perry
a71d068fd0
radv/llvm: fix GS shaders on GFX8/9
...
6698753cdb switched our GS output stores to use MUBUF.
The stride doesn't matter for the ESGS descriptor (because idxen=false and
the index stride is 64), but this fixes it anyway.
This also changes ACO to use MUBUF store too, since MTBUF doesn't seem to
work correctly with an invalid data format in the descriptor.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Fixes: 6698753cdb ("ac/llvm: don't use tbuffer_store as a fallback for swizzled stores")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18885 >
2022-11-02 12:48:01 +00:00
Joan Bruguera
6014a642ae
nv50/ir/nir: ignore sampler for TXF/TXQ ops.
...
Recently, a regression was reported where videos in Firefox had shifted/
glitched colors on certain Kepler hardware. This was bisected to
bf02bffe15 , however, the issue already
existed but didn't hit users until TGSI was switched to NIR as default.
The issue was traced to a YUV-to-RGB fragment shader used by Firefox,
which uses three samplers for the Y/U/V components. The Y component was
handled correctly, but the U/V components were bogus, causing the issue.
After analysis, it appears the TXF/TXQ ops. should only handle the texture
(r) but not the sampler (s), see 63b850403c
and 346ce0b988 .
Similarly, handleTXQ/handleTXF on nv50_ir_from_tgsi always sets s=0.
Only Kepler was affected because other hardware ignores s at codegen.
Always set s=0 on NIR for TXF/TXQ, to keep TGSI behavior and fix the
regression.
Thanks: Karol Herbst and M Henning for help diagnosing the issue.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7416
Cc: mesa-stable
Suggested-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Signed-off-by: Joan Bruguera <joanbrugueram@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19453 >
2022-11-02 12:29:34 +00:00
Yonggang Luo
5ae744c598
android: -Ddri-drivers= is not needed anymore
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19462 >
2022-11-02 11:40:36 +00:00
Yonggang Luo
9c3c0320bd
docs: There is no more swrast driver
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19459 >
2022-11-02 11:10:15 +00:00
Yonggang Luo
110c1aa461
docs: There is only glx=xlib option now
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19459 >
2022-11-02 11:10:15 +00:00
Yonggang Luo
6d2ed45396
docs: -Ddri-drivers= option is deprecated, do not use it anymore
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19459 >
2022-11-02 11:10:15 +00:00
Erik Faye-Lund
b49c027e1f
docs: fixup rebase mistake
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19296 >
2022-11-02 10:49:58 +00:00
Pierre-Eric Pelloux-Prayer
4147add280
radeonsi: update db_eqaa even if msaa is disabled
...
This seems to fix rendering in application toggling MSAA on and
off between draw calls.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7537
Cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19326 >
2022-11-02 11:24:36 +01:00
Pierre-Eric Pelloux-Prayer
abf3dea738
radeonsi/gfx11: enable sdma copy DRI_PRIME
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19326 >
2022-11-02 11:24:05 +01:00
Erik Faye-Lund
74825d9c27
docs: nfs -> NFS
...
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19297 >
2022-11-02 10:16:44 +00:00
Erik Faye-Lund
8070a8c6e7
docs: spell ATI codenames in allcaps
...
This seems to be the official spelling from ATI/AMD as well.
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19297 >
2022-11-02 10:16:44 +00:00
Erik Faye-Lund
c35f5a8806
docs: nVidia -> NVIDIA
...
While we're at it, also spell the code-names in allcaps, like NVIDIA
does. One exception is Fermi, which is spelled like a proper noun.
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19297 >
2022-11-02 10:16:44 +00:00
Erik Faye-Lund
f748cf54c6
docs: gitlab -> GitLab
...
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19297 >
2022-11-02 10:16:44 +00:00
Erik Faye-Lund
b1f97a6620
docs: Android.mk -> ndk-build
...
Android.mk is the name of the build-files, but ndk-build is the tool that
builds it.
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19297 >
2022-11-02 10:16:44 +00:00
Erik Faye-Lund
7000154ba1
docs: link to replacement forum
...
This news forum no longer exists, and have been migrated to the Khronos
Community. Link there instead.
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19297 >
2022-11-02 10:16:44 +00:00
Erik Faye-Lund
0bf34192c6
docs: add links to usenet groups
...
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19297 >
2022-11-02 10:16:44 +00:00
Erik Faye-Lund
b43f3d364a
docs: add missing link to mesa3d.org
...
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19297 >
2022-11-02 10:16:44 +00:00
Erik Faye-Lund
73fdacbebf
docs: clean up labels
...
This updates the documentation of the labels to match with our actual
labels.
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19297 >
2022-11-02 10:16:44 +00:00
Erik Faye-Lund
27a7f243f9
docs: name correct driver
...
The two different swrast drivers we have at the moment are called
LLVMpipe and Softpipe. Let's name the latter instead of the generic
SWRast term that we use to cover *either* of the two.
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19297 >
2022-11-02 10:16:44 +00:00
Erik Faye-Lund
fdab007b1d
docs: do not mention classic swrast
...
It's been removed a while back, no need to talk about it anymore.
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19297 >
2022-11-02 10:16:44 +00:00
Erik Faye-Lund
48aa892eb8
docs: remove non-existent directory
...
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19297 >
2022-11-02 10:16:44 +00:00
Erik Faye-Lund
9fea95d907
docs: Adreno aXXX -> Adreno XXX
...
The names of these are "Adreno XXX" or "aXXX", not "Adreno aXXX".
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19297 >
2022-11-02 10:16:44 +00:00
Erik Faye-Lund
cf0b5a60f4
docs: xml -> XML
...
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19297 >
2022-11-02 10:16:44 +00:00
Erik Faye-Lund
d9a04acdba
docs: yml -> YAML
...
The name of the file-format is YAML, yml is the extension.
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19297 >
2022-11-02 10:16:44 +00:00